若依代码总结

SpringBoot项目的classpath包含三个:

src/main/java路径
src/main/resouces路径
第三方jar包的根路径

若依判断字符串非空,时间大小,后台格式判断,还有一种通过@validated校验注解

ObjectUtils.isNotEmpty(platCustomer)
Assert.isTrue(ObjectUtils.isNotEmpty(oeDeviceinfo.getClientId()),"clientId 不能为空");
Assert.isTrue(ObjectUtils.isNotEmpty(object),"没有数据不能导出");
Assert.isTrue(trainCourse.getStartTime().getTime()>new Date().getTime(),"开始时间不能小于当前时间");
StringUtils.isNotNull("asdfasd")
public Result mobilelogin (HttpServletRequest request)
{
    String username = request.getParameter("username");
}
//后台判断
if (tctDistributor.getPhonenumber() == null) throw new RuntimeException("手机号不能为空");
if (tctDistributor.getContactsName() == null) throw new RuntimeException("联系人姓名不能为空");
//手机号校验
String reg = "1[3456789][0-9]{9}";
if (!(tctDistributor.getPhonenumber().matches(reg))) throw new RuntimeException("请输入正确的手机号");
//用户手机号查询
SysUser sysUser = userMapper.findByPhone(tctDistributor.getPhonenumber(), "0");
if (sysUser != null) throw new RuntimeException("用户手机号已存,请从新输入");
//查询账号是否重复
SysUser sysUserNameUser = tctDistributorMapper.findByUserName(tctDistributor.getUserName(), "0");
if (sysUserNameUser != null) throw new RuntimeException("登陆账号已经存在请从新输入");
//邮箱校验
String erg = "[a-zA-Z0-9_]+@[a-z0-9]+(\\.[a-z]+){1,2}";
boolean matches = tctDistributor.getEmail().matches(erg);
if (!matches) throw new RuntimeException("请输入正确的邮箱格式");

获取当前登陆者

getLoginUser().getUser().

校验唯一性

impl层
  /**
     * 校验部门名称是否唯一
     * 
     * @param dept 部门信息
     * @return 结果
     */
    @Override
    public String checkDeptNameUnique(SysDept dept)
    {
        Long deptId = StringUtils.isNull(dept.getDeptId()) ? -1L : dept.getDeptId();
        SysDept info = deptMapper.checkDeptNameUnique(dept.getDeptName(), dept.getParentId());
        if (StringUtils.isNotNull(info) && info.getDeptId().longValue() != deptId.longValue())
        {
            return UserConstants.NOT_UNIQUE;
        }
        return UserConstants.UNIQUE;
    }
mapper层
	    <include refid="selectDeptVo"/>
		where dept_name=#{deptName} and parent_id = #{parentId} limit 1


@Service
public class SysUserServiceImpl extends BaseServiceImpl<SysUserMapper, SysUser> implements ISysUserService
{

 */
public interface SysUserMapper extends BaseMapper<SysUser>

@EqualsAndHashCode(callSuper = true)
public class SysUser extends BaseEntity<SysUser> {
/**
 * 校验角色编码是否存在
 */
@PreAuthorize("@ss.hasPermi('system:user:edit')")
@Log(title = "用户管理", businessType = BusinessType.CHECK)
@GetMapping("/checkUserNameUnique")
public R checkUserNameUnique(SysUser user) {
    Map<String, String> checkMap = new HashMap<String, String>(1);
    try {
        userService.checkUserNameUnique(user);
        checkMap.put("code", "1");
    } catch (Exception e) {
        checkMap.put("code", "2");
    }
    return R.data(checkMap);
}

    /**
     * 校验用户名称是否唯一
     *
     * @param user 用户名称
     * @return 结果
     */
    public void checkUserNameUnique(SysUser user);


    /**
     * 校验用户名称是否唯一
     *
     * @param user 用户名称
     * @return 结果
     */
    @Override
    public void checkUserNameUnique(SysUser user)
    {
        SysUser sysUserUnique = new SysUser();
        sysUserUnique.setNotEqualId(user.getId());
        sysUserUnique.setUserName(user.getUserName());
        if (!CollectionUtils.isEmpty(mapper.findListWithUnique(sysUserUnique))) {
            throw new BizException(SysErrorCode.B_SYSUSER_UserNameAlreadyExist);
        }
    }
 

引入redis,从bean获取redis来使用

       <!-- redis 缓存操作 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
service层
    @Autowired
    private RedisCache redisCache;
redisCache有一些方法

    @Autowired
    private RedisCache redisCache;
redisCache.setCacheList()
SpringUtils.getBean(RedisCache.class).setCacheObject("arrange"+rotateInfo.getId(),0);


log日志文件输出(两种方式)

@Slf4j
log.info("");

private final Logger logger = LoggerFactory.getLogger(LoggerTest.class);
logger.info("====关闭后台任务任务线程池====");
logger.error(e.getMessage(), e);
private Logger log = LoggerFactory.getLogger(CampusSyncoperationServiceImpl.class);
log.info(e.getMessage());

配置配置类注解

需要有get set方法配合使用

@Data
@ConfigurationProperties(prefix = "mqtt")

导入excel配置

@Excel(name = "是否可配置老师 可以/不可以", readConverterExp = "0=不可以,1=可以")
@Excels({
        @Excel(name = "部门名称", targetAttr = "deptName", type = Type.EXPORT),
        @Excel(name = "部门负责人", targetAttr = "leader", type = Type.EXPORT)
})

导入模板

Controller层======================
    @Log(title = "用户管理", businessType = BusinessType.IMPORT)
    @PreAuthorize("@ss.hasPermi('system:user:import')")
    @PostMapping("/importData")
    public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception {
        ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
        List<SysUser> userList = util.importExcel(file.getInputStream());
        LoginUser loginUser = getLoginUser();
        String operName = loginUser.getUsername();
        String message = userService.importUser(userList, updateSupport, operName);
        return AjaxResult.success(message);
    }
===================service层=================
@Override
    @Transactional(readOnly = false)
    public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName)
    {
        if (StringUtils.isNull(userList) || userList.size() == 0)
        {
            throw new CustomException("导入用户数据不能为空!");
        }
        int successNum = 0;
        int failureNum = 0;
        StringBuilder successMsg = new StringBuilder();
        StringBuilder failureMsg = new StringBuilder();
        String password = ConfigUtils.getConfigValueByKey("sys.user.initPassword","123456");
        for (SysUser user : userList)
        {
            try
            {
                // 验证是否存在这个用户
                SysUser u = mapper.selectUserByUserName(user.getUserName(), BaseEntity.DEL_FLAG_NORMAL);
                if (StringUtils.isNull(u))
                {
                    user.setPassword(SecurityUtils.encryptPassword(password));
                    user.setCreateBy(operName);
                    this.insertUser(user);
                    successNum++;
                    successMsg.append("<br/>" + successNum + "、账号 " + user.getUserName() + " 导入成功");
                }
                else if (isUpdateSupport)
                {
                    user.setUpdateBy(operName);
                    this.updateUser(user);
                    successNum++;
                    successMsg.append("<br/>" + successNum + "、账号 " + user.getUserName() + " 更新成功");
                }
                else
                {
                    failureNum++;
                    failureMsg.append("<br/>" + failureNum + "、账号 " + user.getUserName() + " 已存在");
                }
            }
            catch (Exception e)
            {
                failureNum++;
                String msg = "<br/>" + failureNum + "、账号 " + user.getUserName() + " 导入失败:";
                failureMsg.append(msg + e.getMessage());
                log.error(msg, e);
            }
        }
        if (failureNum > 0)
        {
            failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:");
            throw new CustomException(failureMsg.toString());
        }
        else
        {
            successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:");
        }
        return successMsg.toString();
    }
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值