diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysMessageService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysMessageService.java index 9b7003e..f595bbc 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysMessageService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysMessageService.java @@ -4,6 +4,7 @@ import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.platform.bean.SysMessage; import cn.estsh.i3plus.pojo.platform.bean.SysRefUserMessage; +import io.swagger.annotations.ApiOperation; import java.util.List; @@ -20,31 +21,36 @@ public interface ISysMessageService { * 添加消息 * @param sysMessage */ + @ApiOperation(value = "添加消息") SysMessage insertSysMessage(SysMessage sysMessage); /** * 删除消息 * @param id */ + @ApiOperation(value = "删除消息") void deleteSysMessageById(Long id); /** * 修改消息 * @param sysMessage */ + @ApiOperation(value = "修改消息") void updateSysMessage(SysMessage sysMessage); /** * 查询全部信息 * @return */ + @ApiOperation(value = "查询全部信息") List listSysMessage(); /** - * 根据id查询消息*标记已读 + * 根据id查询消息 * @param id * @return */ + @ApiOperation(value = "根据id查询消息") SysMessage getSysMessageById(Long id); /** @@ -53,32 +59,21 @@ public interface ISysMessageService { * @param pager * @return */ + @ApiOperation(value = "系统消息复杂查询,分页,排序") ListPager querySysMessageByPager(SysMessage sysMessage, Pager pager); -// /** -// * 根据id修改消息状态 -// * @param id -// * @param status -// */ -// void updateSysMessageStatusById(String id,Integer status); - /** * 批量删除系统消息 * @param ids */ + @ApiOperation(value = "批量删除消息") void deleteSysMessageByIds(Long[] ids); -// /** -// * 批量修改消息状态 -// * @param ids -// * @param status -// */ -// void updateSysMessageStatusByIds(String[] ids,Integer status); - /** - * 添加用户消息关系表 + * 添加用户消息关系 * @param refUserMessage */ + @ApiOperation(value = "添加用户消息关系") SysRefUserMessage insertSysRefUserMessage(SysRefUserMessage refUserMessage); /** @@ -86,5 +81,45 @@ public interface ISysMessageService { * @param sysMessage * @return */ + @ApiOperation(value = "添加消息并发送") void doSendSysMessage(SysMessage sysMessage); + + /** + * 分页查询用户消息表 + * @return + */ + @ApiOperation(value = "分页查询用户消息表") + ListPager querySysRefUserMessageByPager(SysRefUserMessage sysRefUserMessage, Pager pager); + + /** + * 根据用户id和消息状态和查询用户消息表 + * @param userId + * @param status + * @return + */ + @ApiOperation(value = "根据用户id和消息状态和查询用户消息") + List findSysRefUserMessageByUserIdAndStatus(Long userId,Integer status); + + /** + * 根据id查询用户消息 + * @param id + * @return + */ + @ApiOperation(value = "根据id查询用户消息") + SysMessage getSysMessageByRefUserMessageId(Long id); + + /** + * 批量修改用户消息状态 + * @param ids + * @param status + */ + @ApiOperation(value = "根据id查询用户消息") + void updateSysRefUserMessageStatusByIds(Long[] ids,Integer status); + + /** + * 批量删除用户消息 + * @param ids + */ + @ApiOperation(value = "批量删除用户消息") + void deleteSysRefUserMessageStatusByIds(Long[] ids); } diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysOrderNoRuleService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysOrderNoRuleService.java index 8bc6802..4666a1f 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysOrderNoRuleService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysOrderNoRuleService.java @@ -31,4 +31,7 @@ public interface ISysOrderNoRuleService { @ApiOperation(value = "根据code查询单号规则") SysOrderNoRule getSysOrderNoRuleCode(String code); + + @ApiOperation(value = "根据id修改用户状态") + void updateSysOrderNoRuleCodeStatusById(Long id,Integer status); } diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserService.java index 581380e..a1e5cb9 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserService.java @@ -126,6 +126,20 @@ public interface ISysUserService { SysUser getSysUserByLoginName(String loginName); /** + * 根据手机号查询账号 + * @param email + * @return + */ + SysUser getSysUserByEmail(String email); + + /** + * 根据手机号查询账号 + * @param phone + * @return + */ + SysUser getSysUserByPhone(String phone); + + /** * 查出用户角色关系 * @param userId * @return @@ -138,5 +152,27 @@ public interface ISysUserService { * @param id * @return */ - boolean checkLoginName(String userLoginName,long id); + boolean checkSysUserLoginName(String userLoginName, long id); + + /** + * 判断邮箱是否存在 + * @param email + * @param id + * @return + */ + boolean checkSysUserEmail(String email,long id); + + /** + * 判断手机是否存在 + * @param phone + * @param id + * @return + */ + boolean checkSysUserPhone(String phone,long id); + + /** + * 用户唯一教研 + * @param user + */ + void checkSysUserOnly(SysUser user); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/AuthController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/AuthController.java index 972af9b..311f2c4 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/AuthController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/AuthController.java @@ -4,8 +4,10 @@ import cn.estsh.i3plus.core.api.iservice.base.ISystemLoginService; import cn.estsh.i3plus.core.api.iservice.busi.ICoreTreeService; import cn.estsh.i3plus.core.api.iservice.busi.ISysUserService; import cn.estsh.i3plus.core.apiservice.controller.DemoAuthController; +import cn.estsh.i3plus.core.apiservice.serviceimpl.busi.SysLocaleLanguageService; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SessionUser; +import cn.estsh.i3plus.pojo.platform.bean.SysLocaleLanguage; import cn.estsh.i3plus.pojo.platform.bean.SysMenu; import cn.estsh.impp.framework.base.controller.BaseController; import cn.estsh.impp.framework.base.controller.CoreBaseController; @@ -20,9 +22,7 @@ import org.apache.shiro.authc.AuthenticationException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.util.List; @@ -51,6 +51,9 @@ public class AuthController extends CoreBaseController { @Autowired private ICoreTreeService coreTreeService; + @Autowired + private SysLocaleLanguageService localeLanguageService; + @GetMapping(value="/login") @ApiOperation(value="登陆",notes="登陆") public ResultBean login(HttpServletRequest request, String loginName, String loginPwd, String languageCode){ @@ -68,7 +71,9 @@ public class AuthController extends CoreBaseController { result.setUrl("/"); return result; }catch (AuthenticationException e) { - return new ResultBean(false,e.getMessage()); + ResultBean result = ResultBean.fail(e.getMessage()).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); + result.setErrorMsg(e.getMessage()); + return result; }catch (ImppBusiException e) { return ResultBean.fail(e); }catch (Exception e){ @@ -86,7 +91,7 @@ public class AuthController extends CoreBaseController { LOGGER.info("用户退出..."); try { AuthUtil.logout(); - return new ResultBean(true,""); + return new ResultBean(true,"").build(); } catch (ImppBusiException e) { return new ResultBean(false,e.getErrorDetail() + ",so:" + e.getErrorSolution()); } @@ -144,4 +149,24 @@ public class AuthController extends CoreBaseController { } } + @PutMapping(value = "/update-language") + @ApiOperation(value="修改语言",notes="修改用户会话语言") + public ResultBean updateLanguage(String code){ + try { + SysLocaleLanguage language = localeLanguageService.getSysLocaleLanguageByCode(code); + if(language != null){ + AuthUtil.setSessionLanguage(language.getLanguageCode()); + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }else { + return ResultBean.fail("操作失败").setCode(ResourceEnumUtil.MESSAGE.FAIL.getCode()).setErrorMsg("语言信息不存在"); + } + }catch(ImppBusiException busExcep){ + LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); + return ResultBean.fail(busExcep); + }catch(Exception e){ + LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); + return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); + } + } + } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysConfigController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysConfigController.java index f8d9fa1..f0ce24b 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysConfigController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysConfigController.java @@ -1,9 +1,11 @@ package cn.estsh.i3plus.core.apiservice.controller.busi; import cn.estsh.i3plus.core.api.iservice.busi.ISysConfigService; +import cn.estsh.i3plus.core.apiservice.util.MailUtil; import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SessionUser; import cn.estsh.i3plus.pojo.platform.bean.SysConfig; @@ -36,7 +38,9 @@ public class SysConfigController extends CoreBaseController { public static final Logger LOGGER = LoggerFactory.getLogger(SysConfigController.class); @Autowired - public ISysConfigService sysConfigService; + private ISysConfigService sysConfigService; + @Autowired + private MailUtil mailUtil; @PostMapping("/insert") @ApiOperation(value = "添加系统参数",notes = "添加系统参数") @@ -122,6 +126,8 @@ public class SysConfigController extends CoreBaseController { @ApiOperation(value = "根据id查询系统参数",notes = "根据id查询系统参数") public ResultBean getSysConfigById(@PathVariable("id") String id){ try { + ValidatorBean.checkNotNull(id,"id不能为空"); + SysConfig sysConfig = sysConfigService.getSysConfigById(Long.parseLong(id)); if (sysConfig != null) { return ResultBean.success("查询成功") @@ -141,9 +147,7 @@ public class SysConfigController extends CoreBaseController { public ResultBean querySysConfigByPager(SysConfig sysConfig,Pager pager) { try { ListPager sysConfigListPager = sysConfigService.querySysConfigByPager(sysConfig,pager); - return ResultBean.success("查询成功") - .setListPager(sysConfigListPager) - .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + return ResultBean.success("查询成功").setListPager(sysConfigListPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ return ResultBean.fail(busExcep); }catch(Exception e){ @@ -155,6 +159,8 @@ public class SysConfigController extends CoreBaseController { @ApiOperation(value = "根据代码获取系统配置") public ResultBean getSysConfigByCode(@PathVariable("code") String code){ try { + ValidatorBean.checkNotNull(code,"配置项代码不能为空"); + SysConfig sysConfig = sysConfigService.getSysConfigByCode(code); if(sysConfig == null){ return ResultBean.fail("数据不存在").setCode(ResourceEnumUtil.MESSAGE.EMPTY.getCode()); @@ -186,10 +192,14 @@ public class SysConfigController extends CoreBaseController { } @PostMapping("/update-code/{code}/{value}") + @ApiOperation(value = "根据code修改系统配置") public ResultBean updateSysConfigByCode(@PathVariable("code") String code,@PathVariable("value") String value){ try{ -// sysConfigService.update - return null; + ValidatorBean.checkNotNull(code,"配置项代码不能为空"); + ValidatorBean.checkNotNull(value,"值不能为空"); + + sysConfigService.updateSysConfigByCode(code,value); + return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ return ResultBean.fail(busExcep); }catch(Exception e){ @@ -197,4 +207,23 @@ public class SysConfigController extends CoreBaseController { } } + @GetMapping("/send-test-mail/{to}") + @ApiOperation(value = "邮件测试") + public ResultBean sendTestMail(@PathVariable("to") String to){ + try { + ValidatorBean.checkNotNull(to,"收件人不能为空"); + + mailUtil.init(); + mailUtil.setSubject("测试邮件"); + mailUtil.setContentType(ImppEnumUtil.MESSAGE_TYPE_CONTENT.HTML.getDescription()); + mailUtil.setBody("测试邮件"); + mailUtil.setTo(to); + mailUtil.send(); + return ResultBean.success("测试邮件已发送").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDepartmentController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDepartmentController.java index 3603d7f..fbde097 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDepartmentController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDepartmentController.java @@ -56,8 +56,9 @@ public class SysDepartmentController extends CoreBaseController { //新增初始化 ConvertBean.modelInitialize(department, user); - if(department.getParentId() == null || department.getParentId().intValue() == 0){ + if(department.getParentId() == null || department.getParentId() <= 0){ department.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue()); + department.setParentNameRdd("顶级部门"); } departmentService.insertSysDepartment(department); @@ -86,8 +87,9 @@ public class SysDepartmentController extends CoreBaseController { .checkNotZero("organizeId",department.getOrganizeId()); ConvertBean.modelUpdate(department, user); - if(department.getParentId() == null || department.getParentId().intValue() == 0){ + if(department.getParentId() == null || department.getParentId() <= 0){ department.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue()); + department.setParentNameRdd("顶级部门"); } departmentService.updateSysDepartment(department); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogExceptionController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogExceptionController.java index d1bb494..7f866e1 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogExceptionController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogExceptionController.java @@ -34,16 +34,16 @@ public class SysLogExceptionController { @Autowired private ISysLogExceptionService sysLogExceptionService; - @GetMapping(value = "/query") - @ApiOperation(value = "异常日志复杂查询,分页,排序",notes = "异常日志复杂查询,分页,排序") - public ResultBean querySysLogOperateByPager(SysLogException sysLogException, Pager pager){ - try { - ListPager logExceptionList = sysLogExceptionService.querySysLogExceptionByPager(sysLogException, pager); - return ResultBean.success("查询成功").setListPager(logExceptionList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); - }catch(ImppBusiException busExcep){ - return ResultBean.fail(busExcep); - }catch(Exception e){ - return ImppExceptionBuilder.newInstance().buildExceptionResult(e); - } + @GetMapping(value = "/query") + @ApiOperation(value = "异常日志复杂查询,分页,排序",notes = "异常日志复杂查询,分页,排序") + public ResultBean querySysLogOperateByPager(SysLogException sysLogException, Pager pager){ + try { + ListPager logExceptionList = sysLogExceptionService.querySysLogExceptionByPager(sysLogException, pager); + return ResultBean.success("查询成功").setListPager(logExceptionList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMessageController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMessageController.java index 7e7673e..1b350ed 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMessageController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMessageController.java @@ -10,6 +10,7 @@ import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SessionUser; import cn.estsh.i3plus.pojo.platform.bean.SysMessage; +import cn.estsh.i3plus.pojo.platform.bean.SysRefUserMessage; import cn.estsh.impp.framework.base.controller.CoreBaseController; import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppBusiException; @@ -36,7 +37,7 @@ import java.util.List; * @Modify : **/ @RestController -@RequestMapping(CoreBaseController.BASE_URL + "/sys-message") +@RequestMapping(CoreBaseController.BASE_URL) @Api(description = "消息管理服务") public class SysMessageController extends CoreBaseController { public static final Logger LOGGER = LoggerFactory.getLogger(SysMessageController.class); @@ -44,7 +45,7 @@ public class SysMessageController extends CoreBaseController { @Autowired private ISysMessageService sysMessageService; - @PostMapping(value = "/insert") + @PostMapping(value = "/sys-message/insert") @ApiOperation(value = "新增消息",notes = "新增消息") public ResultBean insertSysMessage(SysMessage sysMessage){ try { @@ -67,15 +68,13 @@ public class SysMessageController extends CoreBaseController { sysMessageService.doSendSysMessage(sysMessage); return ResultBean.success("添加成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); return ResultBean.fail(busExcep); }catch(Exception e){ - LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); - return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } - @DeleteMapping("/delete/{id}") + @DeleteMapping("/sys-message/delete/{id}") @ApiOperation(value = "根据id删除消息",notes = "根据id删除消息") public ResultBean deleteSysMessageById(@PathVariable("id") String id){ try { @@ -85,15 +84,13 @@ public class SysMessageController extends CoreBaseController { sysMessageService.deleteSysMessageById(Long.parseLong(id)); return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); return ResultBean.fail(busExcep); }catch(Exception e){ - LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); - return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } - @PutMapping("/update") + @PutMapping("/sys-message/update") @ApiOperation(value = "修改信息",notes = "修改信息") public ResultBean updateSysMessage(SysMessage sysMessage){ try { @@ -109,82 +106,56 @@ public class SysMessageController extends CoreBaseController { sysMessageService.updateSysMessage(sysMessage); return ResultBean.success("修改成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); return ResultBean.fail(busExcep); }catch(Exception e){ - LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); - return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } - @GetMapping(value = "/list") + @GetMapping(value = "/sys-message/list") @ApiOperation(value = "查询全部消息",notes = "查询全部消息") - public ResultBean findSysConfigAll(){ + public ResultBean findSysMessageAll(){ try { List sysMessageList = sysMessageService.listSysMessage(); return ResultBean.success("查询成功").setResultList(sysMessageList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); return ResultBean.fail(busExcep); }catch(Exception e){ - LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); - return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } - @GetMapping(value = "/get/{id}") + @GetMapping(value = "/sys-message/get/{id}") @ApiOperation(value = "根据id查询消息",notes = "根据id查询消息") - public ResultBean getSysConfigById(String id){ + public ResultBean getSysMessageById(@PathVariable("id") String idStr){ try { - SysMessage sysMessageList = sysMessageService.getSysMessageById(Long.parseLong(id)); + SysMessage sysMessageList = sysMessageService.getSysMessageById(Long.parseLong(idStr)); if (sysMessageList != null) { return ResultBean.success("查询成功").setResultObject(sysMessageList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }else { return ResultBean.fail("数据不存在").setCode(ResourceEnumUtil.MESSAGE.EMPTY.getCode()); } }catch(ImppBusiException busExcep){ - LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); return ResultBean.fail(busExcep); }catch(Exception e){ - LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); - return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } - @GetMapping(value = "/query") + @GetMapping(value = "/sys-message/query") @ApiOperation(value = "消息复杂查询,分页,排序",notes = "消息复杂查询,分页,排序") public ResultBean querySysMessageByPager(SysMessage sysMessage, Pager pager){ try { ListPager sysMessageListPager = sysMessageService.querySysMessageByPager(sysMessage,pager); return ResultBean.success("查询成功").setListPager(sysMessageListPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); return ResultBean.fail(busExcep); }catch(Exception e){ - LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); - return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } -// @PutMapping("/status") -// public ResultBean updateSysMessageStatusById(String id,Integer status){ -// try { -// // 条件校验 -// ValidatorBean.checkNotNull(id,"id不能为空"); -// ValidatorBean.checkNotZero(status,"修改状态值不能为空"); -// -// sysMessageService.updateSysMessageStatusById(id,status); -// return ResultBean.success("修改成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); -// }catch(ImppBusiException busExcep){ -// LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); -// return ResultBean.fail(busExcep); -// }catch(Exception e){ -// LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); -// return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); -// } -// } - - @DeleteMapping("/batch-delete") + @DeleteMapping("/sys-message/batch-delete") @ApiOperation(value = "批量删除消息",notes = "批量删除消息") public ResultBean deleteSysMessageByIds(String[] ids){ try{ @@ -200,36 +171,124 @@ public class SysMessageController extends CoreBaseController { sysMessageService.deleteSysMessageByIds(StringTool.getArrayLong(ids)); return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); return ResultBean.fail(busExcep); }catch(Exception e){ - LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); - return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } -// @PutMapping("/batch-status") -// @ApiOperation(value = "批量切换消息状态",notes = "批量切换消息状态") -// public ResultBean updateSysMessageStatusByIds(String[] ids,Integer status){ -// try{ -// // 条件判断 -// ValidatorBean.checkNotZero(status,"状态不能为空"); -// ids = ConvertBean.modelSafeArrayNumber(ids,true); -// if(ids.length == 0){ -// throw ImppExceptionBuilder.newInstance() -// .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) -// .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) -// .setErrorDetail("请选择需要操作的资源。") -// .build(); -// } -// sysMessageService.updateSysMessageStatusByIds(ids,status); -// return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); -// }catch(ImppBusiException busExcep){ -// LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); -// return ResultBean.fail(busExcep); -// }catch(Exception e){ -// LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); -// return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); -// } -// } + @GetMapping(value = "/user-message/query-inbox") + @ApiOperation(value = "查询用户收件箱,分页,排序") + public ResultBean queryInboxByPager(SysRefUserMessage sysRefUserMessage,Pager pager){ + try { + // 设置消息类型为站内信 + sysRefUserMessage.setMessageTypeRdd(ImppEnumUtil.MESSAGE_TYPE.LETTER.getValue()); + sysRefUserMessage.setReceiverId(getSessionUser().getUser().getId()); + + ListPager userMessageList = sysMessageService.querySysRefUserMessageByPager(sysRefUserMessage,pager); + return ResultBean.success("查询成功").setListPager(userMessageList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @GetMapping(value = "/user-message/query-outbox") + @ApiOperation(value = "查询用户发件箱,分页,排序") + public ResultBean querySysRefUserMessageByPager(SysMessage sysMessage,Pager pager){ + try { + // 发件人为当前用户 + sysMessage.setMessageSenderId(getSessionUser().getUser().getId()); + + ListPager sysMessageListPager = sysMessageService.querySysMessageByPager(sysMessage,pager); + return ResultBean.success("查询成功").setListPager(sysMessageListPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @GetMapping(value = "/user-message/find-unread") + @ApiOperation(value = "查看用户未读站内信") + public ResultBean findUnreadUserMessage(){ + try { + List userMessageList = sysMessageService.findSysRefUserMessageByUserIdAndStatus(getSessionUser().getUserInfo().getId(), + ImppEnumUtil.MESSAGE_STATUS.UNREAD.getValue()); + return ResultBean.success("查询成功").setResultList(userMessageList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @GetMapping(value = "/user-message/get/{id}") + @ApiOperation(value = "根据id查询消息",notes = "根据id查询消息") + public ResultBean getUserMessageById(@PathVariable("id") String idStr){ + try { + ValidatorBean.checkNotNull(idStr,"id"); + + SysMessage userMessage =sysMessageService.getSysMessageByRefUserMessageId(Long.parseLong(idStr)); + if (userMessage != null) { + return ResultBean.success("查询成功").setResultObject(userMessage).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }else { + return ResultBean.fail("数据不存在").setCode(ResourceEnumUtil.MESSAGE.EMPTY.getCode()); + } + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @PutMapping("/user-message/batch-status") + @ApiOperation(value = "批量切换消息状态",notes = "批量切换消息状态") + public ResultBean updateSysMessageStatusByIds(String[] ids,Integer status){ + try{ + // 条件判断 + ValidatorBean.checkNotZero(status,"状态不能为空"); + ids = ConvertBean.modelSafeArrayNumber(ids,true); + if(ids.length == 0){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("请选择需要操作的资源。") + .build(); + } + sysMessageService.updateSysRefUserMessageStatusByIds(StringTool.getArrayLong(ids),status); + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @DeleteMapping(value = "/user-message/delete-inbox/{id}") + @ApiOperation(value = "根据id删除用户消息") + public ResultBean deleteUserMessageById(@PathVariable("id") String idStr){ + try { + sysMessageService.deleteSysRefUserMessageStatusByIds(new Long[]{Long.parseLong(idStr)}); + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @DeleteMapping(value = "/user-message/batch-delete-inbox") + @ApiOperation(value = "根据id批量删除用户消息") + public ResultBean deleteUserMessageByIds(String[] idsStr){ + try { + sysMessageService.deleteSysRefUserMessageStatusByIds(StringTool.getArrayLong(idsStr)); + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrderNoRuleController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrderNoRuleController.java index 6f040fa..d8782ac 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrderNoRuleController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrderNoRuleController.java @@ -1,7 +1,9 @@ package cn.estsh.i3plus.core.apiservice.controller.busi; import cn.estsh.i3plus.core.api.iservice.busi.ISysOrderNoRuleService; -import cn.estsh.i3plus.core.apiservice.util.OrderNoMakeUtil; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SysOrderNoRule; import cn.estsh.impp.framework.base.controller.CoreBaseController; @@ -42,6 +44,9 @@ public class SysOrderNoRuleController { .checkNotZero("serialNoLength",sysOrderNoRule.getSerialNoLength()) .checkNotZero("isCycle",sysOrderNoRule.getIsCycle()); + sysOrderNoRule.setOrderNoRuleStatus(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); + sysOrderNoRule.setSerialNo(CommonEnumUtil.PARENT.DEFAULT.getValue()); + sysOrderNoRuleService.insertSysOrderNoRule(sysOrderNoRule); return ResultBean.success("操作成功").setResultObject(sysOrderNoRule).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ @@ -115,12 +120,6 @@ public class SysOrderNoRuleController { ValidatorBean.checkNotNull(code,"code不能为空"); SysOrderNoRule sysOrderNoRule = sysOrderNoRuleService.getSysOrderNoRuleCode(code); - if (sysOrderNoRule == null) { - return ResultBean.fail("单号规则不存在").setCode(ResourceEnumUtil.MESSAGE.EMPTY.getCode()); - }else { - sysOrderNoRule = OrderNoMakeUtil.next(sysOrderNoRule); - sysOrderNoRuleService.updateSysOrderNoRule(sysOrderNoRule); - } return ResultBean.success("查询成功").setResultObject(sysOrderNoRule).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ return ResultBean.fail(busExcep); @@ -129,4 +128,32 @@ public class SysOrderNoRuleController { } } + @GetMapping(value = "/query") + @ApiOperation(value = "单号规则复杂查询,分页,排序") + public ResultBean querySysOrderNoRuleByPager(SysOrderNoRule sysOrderNoRule, Pager pager){ + try { + ListPager sysOrderNoRuleList = sysOrderNoRuleService.querySysOrderNoRuleByPager(sysOrderNoRule, pager); + return ResultBean.success("查询成功").setListPager(sysOrderNoRuleList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep.getErrorShow()); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @PutMapping(value = "/update-status/{id}/{status}") + @ApiOperation(value = "单号规则复杂查询,分页,排序") + public ResultBean updateSysOrderNoRuleStatusById(@PathVariable("id") String id,@PathVariable("status") Integer status){ + try { + ValidatorBean.checkNotNull(id,"code不能为空"); + ValidatorBean.checkNotZero(status,"code不能为空"); + + sysOrderNoRuleService.updateSysOrderNoRuleCodeStatusById(Long.parseLong(id),status); + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep.getErrorShow()); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrganizeController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrganizeController.java index 8c80bbb..9f8c712 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrganizeController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrganizeController.java @@ -53,7 +53,7 @@ public class SysOrganizeController extends CoreBaseController{ //新增初始化 ConvertBean.modelInitialize(organize, AuthUtil.getSessionUser()); - if(organize.getParentId() == null || organize.getParentId().intValue() == 0){ + if(organize.getParentId() == null || organize.getParentId() == 0){ organize.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue()); } @@ -61,7 +61,7 @@ public class SysOrganizeController extends CoreBaseController{ return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(organize); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep).build(); + return ResultBean.fail(busExcep); } catch (Exception e) { return ResultBean.fail(e.getMessage()).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); } @@ -79,7 +79,7 @@ public class SysOrganizeController extends CoreBaseController{ .notNull("organizeType", organize.getOrganizeType()); ConvertBean.modelUpdate(organize, AuthUtil.getSessionUser()); - if(organize.getParentId() == null || organize.getParentId().intValue() == 0){ + if(organize.getParentId() == null || organize.getParentId() == 0){ organize.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue()); } @@ -87,7 +87,7 @@ public class SysOrganizeController extends CoreBaseController{ return ResultBean.success("修改成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); - return ResultBean.fail(busExcep).build(); + return ResultBean.fail(busExcep); } catch (Exception e) { return ResultBean.fail(e.getMessage()).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysPositionController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysPositionController.java index 7b419bf..4b675fa 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysPositionController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysPositionController.java @@ -54,7 +54,7 @@ public class SysPositionController extends CoreBaseController { .notNull("positionCode",position.getPositionCode()); ConvertBean.modelInitialize(position,user); - if(position.getParentId() == null || position.getParentId().intValue() == 0){ + if(position.getParentId() == null || position.getParentId() == 0){ position.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue()); } @@ -85,7 +85,7 @@ public class SysPositionController extends CoreBaseController { //修改初始化 ConvertBean.modelUpdate(position,user); - if(position.getParentId() == null || position.getParentId().intValue() == 0){ + if(position.getParentId() == null || position.getParentId() == 0){ position.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue()); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java index fbfd4ca..d5f2815 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java @@ -6,6 +6,7 @@ import cn.estsh.i3plus.core.api.iservice.busi.ISysUserService; import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.tool.EncryptTool; import cn.estsh.i3plus.platform.common.tool.StringTool; +import cn.estsh.i3plus.platform.common.util.CommonConstWords; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; @@ -17,16 +18,19 @@ import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; +import cn.estsh.impp.framework.boot.util.ImppRedis; import cn.estsh.impp.framework.boot.util.ResultBean; import cn.estsh.impp.framework.boot.util.ValidatorBean; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; import org.apache.commons.lang3.RandomStringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import java.util.List; /** @@ -43,6 +47,9 @@ public class SysUserController extends CoreBaseController{ public static final Logger LOGGER = LoggerFactory.getLogger(SysUserController.class); + @Resource(name="redisCore") + private ImppRedis redisCore; + @Autowired private ISysUserService sysUserService; @@ -72,6 +79,9 @@ public class SysUserController extends CoreBaseController{ .build(); } + // 用户唯一校验 + sysUserService.checkSysUserOnly(sysUser); + SysUserInfo userInfo = sysUserInfoService.getSysUserInfoById(sysUser.getUserInfoId()); if(userInfo == null){ throw ImppExceptionBuilder.newInstance() @@ -126,13 +136,8 @@ public class SysUserController extends CoreBaseController{ .build(); } - if (sysUserService.checkLoginName(sysUser.getUserLoginName(), sysUser.getId())) { - throw ImppExceptionBuilder.newInstance() - .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) - .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("用户名已存在") - .build(); - } + // 用户唯一校验 + sysUserService.checkSysUserOnly(sysUser); // 用户信息封装 SysUserInfo userInfo = sysUserService.getSysUserInfoById(sysUser.getUserInfoId()); @@ -339,7 +344,7 @@ public class SysUserController extends CoreBaseController{ } } - @DeleteMapping("/reset-pwd/{id}") + @PostMapping("/reset-pwd/{id}") @ApiOperation(value = "密码重置",notes = "根据id重置用户密码") public ResultBean updateResetPassword(@PathVariable String id){ try { @@ -382,4 +387,90 @@ public class SysUserController extends CoreBaseController{ } } + @GetMapping("/verification/get-email") + @ApiOperation(value = "发送验证码",notes = "发送邮件验证码") + public ResultBean getEmailVerification(String email){ + try { + + SysUser user = sysUserService.getSysUserByEmail(email); + if(user != null){ + String verification = RandomStringUtils.random(6, true, false); + + String redisKey = CommonConstWords.SESSION_VERIFICATION_USER_EMAIL + "_" + getSessionUser().getUserId(); + redisCore.putObject(redisKey, verification + "-" + email, 180); + + String content = "系统提示:\n" + + "\t密码找回验证码:【"+verification+"】"; + + SysMessage message = new SysMessage(); + message.setMessageTitle("验证码"); + message.setMessageContent(content); + message.setMessageType(ImppEnumUtil.MESSAGE_TYPE.MAIL.getValue()); + message.setMessageContentType(ImppEnumUtil.MESSAGE_TYPE_CONTENT.TEXT.getValue()); + message.setMessageSenderId(getSessionUser().getUser().getId()); + message.setMessageSenderNameRdd(getSessionUser().getUserName()); + message.setMessageReceiversId(user.getId().toString()); + message.setMessageReceiversNameRdd(user.getUserName()); + + sysMessageService.doSendSysMessage(message); + + LOGGER.info("系统提示:\t 密码找回验证码【{}】",verification); + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }else{ + return ResultBean.success("操作失败") + .setCode(ResourceEnumUtil.MESSAGE.FAIL.getCode()) + .setErrorMsg("用户不存在"); + } + } catch (ImppBusiException busExcep) { + LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); + return ResultBean.fail(busExcep); + } catch (Exception e) { + LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); + return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); + } + } + + + @PostMapping("/password/update-verification") + @ApiOperation(value = "修改密码",notes = "通过邮箱的验证码修改密码") + public ResultBean getEmailVerification(String password,String email,String verification){ + try { + ValidatorBean.checkNotNull(verification,"验证码不能为空"); + ValidatorBean.checkNotNull(password,"新密码不能为空"); + ValidatorBean.checkNotNull(email,"邮件不能为空"); + + String redisKey = CommonConstWords.SESSION_VERIFICATION_USER_EMAIL + "_" + getSessionUser().getUserId(); + Object redisValue = redisCore.getObject(redisKey); + if(redisValue != null){ + if(redisValue.toString().indexOf(verification) >= 0 ){ + if(redisValue.toString().indexOf(email) >= 0 ){ + SysUser user = sysUserService.getSysUserByEmail(email); + user.setUserLoginPassword(EncryptTool.hexMD5(password)); + sysUserService.updateSysUser(user); + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }else { + return ResultBean.success("操作失败") + .setCode(ResourceEnumUtil.MESSAGE.FAIL.getCode()) + .setErrorMsg("请勿修改邮箱信息"); + } + }else { + return ResultBean.success("操作失败") + .setCode(ResourceEnumUtil.MESSAGE.FAIL.getCode()) + .setErrorMsg("验证码错误请重新输入"); + } + }else { + return ResultBean.success("操作失败") + .setCode(ResourceEnumUtil.MESSAGE.FAIL.getCode()) + .setErrorMsg("验证码已过期"); + } + } catch (ImppBusiException busExcep) { + LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); + return ResultBean.fail(busExcep); + } catch (Exception e) { + LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); + return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); + } + } + + } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/LetterQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/LetterQueueReceiver.java index d29d207..da8aab6 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/LetterQueueReceiver.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/LetterQueueReceiver.java @@ -2,19 +2,24 @@ package cn.estsh.i3plus.core.apiservice.mq; import cn.estsh.i3plus.core.api.iservice.busi.ISysMessageService; import cn.estsh.i3plus.core.api.iservice.busi.ISysUserService; +import cn.estsh.i3plus.core.apiservice.websocket.MessageWebSocket; import cn.estsh.i3plus.platform.common.tool.TimeTool; +import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SysMessage; import cn.estsh.i3plus.pojo.platform.bean.SysRefUserMessage; import cn.estsh.i3plus.pojo.platform.bean.SysUser; +import com.alibaba.fastjson.JSON; import com.rabbitmq.client.Channel; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.amqp.core.Message; +import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.io.IOException; +import java.util.List; /** * @Description : 站内信队列处理 @@ -39,7 +44,7 @@ public class LetterQueueReceiver { * @param message * 发送:rabbitTemplate.convertAndSend(I3CoreQueueConfig.IMPP_MESSAGE_QUEUE, new SysMessage(....)); */ - //@RabbitListener(queues = I3CoreQueueConfig.IMPP_MESSAGE_LETTER_QUEUE) + @RabbitListener(queues = I3CoreQueueConfig.IMPP_MESSAGE_LETTER_QUEUE) public void processImppMessage(SysMessage msg, Channel channel, Message message) { try { LOGGER.info("【MQ-IMPP_MESSAGE_LETTER_QUEUE】数据接收成功:{}",msg); @@ -52,6 +57,7 @@ public class LetterQueueReceiver { SysRefUserMessage refUserMessage; SysUser sysUser; + List userMessage; for (int i = 0; i < messageReceiver.length; i++) { sysUser = sysUserService.getSysUserById(Long.parseLong(messageReceiver[i])); @@ -61,16 +67,25 @@ public class LetterQueueReceiver { refUserMessage.setMessageId(msg.getId()); refUserMessage.setMessageTitleRdd(msg.getMessageTitle()); refUserMessage.setMessageTypeRdd(msg.getMessageType()); - refUserMessage.setReceiverId(sysUser.getId()); + refUserMessage.setMessageSenderNameRdd(msg.getMessageSenderNameRdd()); + refUserMessage.setReceiverId(sysUser.getUserInfoId()); refUserMessage.setReceiverNameRdd(sysUser.getUserName()); + refUserMessage.setMessageStatus(ImppEnumUtil.MESSAGE_STATUS.UNREAD.getValue()); refUserMessage.setReceiverTime(TimeTool.getNowTime(true)); sysMessageService.insertSysRefUserMessage(refUserMessage); + + userMessage = sysMessageService.findSysRefUserMessageByUserIdAndStatus(sysUser.getUserInfoId(), + ImppEnumUtil.MESSAGE_STATUS.UNREAD.getValue()); + MessageWebSocket.sendMessage(sysUser.getUserInfoId(), + JSON.toJSONString(userMessage) + ); } msg.setMessageSenderNameRdd(StringUtils.join(receiverName, ",")); sysMessageService.updateSysMessage(msg); + //信息已处理 channel.basicAck(message.getMessageProperties().getDeliveryTag(),false); } catch (IOException e) { diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MailQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MailQueueReceiver.java index 79ebe7f..587584a 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MailQueueReceiver.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MailQueueReceiver.java @@ -13,7 +13,6 @@ import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.amqp.core.Message; -import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -45,8 +44,7 @@ public class MailQueueReceiver { // @RabbitListener(queues = I3CoreQueueConfig.IMPP_MESSAGE_MAIL_QUEUE) public void processImppMail(SysMessage msg, Channel channel, Message message) { try { - LOGGER.info("【MQ-IMPP_MESSAGE_MAIL_QUEUE】数据接收成功:{}",msg); - msg = sysMessageService.insertSysMessage(msg); + LOGGER.info("【MQ-IMPP_MESSAGE_MAIL_QUEUE】数据接收成功:{}",msg);msg = sysMessageService.insertSysMessage(msg); mailUtil.init(); // 收件人信息 @@ -64,8 +62,10 @@ public class MailQueueReceiver { refUserMessage.setMessageId(msg.getId()); refUserMessage.setMessageTitleRdd(msg.getMessageTitle()); refUserMessage.setMessageTypeRdd(msg.getMessageType()); + refUserMessage.setMessageSenderNameRdd(msg.getMessageSenderNameRdd()); refUserMessage.setReceiverId(sysUser.getId()); refUserMessage.setReceiverNameRdd(sysUser.getUserName()); + refUserMessage.setMessageStatus(ImppEnumUtil.MESSAGE_STATUS.UNREAD.getValue()); refUserMessage.setReceiverTime(TimeTool.getNowTime(true)); sysMessageService.insertSysRefUserMessage(refUserMessage); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/schedulejob/DemoJob.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/schedulejob/DemoJob.java index 08fd19a..18f3bf9 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/schedulejob/DemoJob.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/schedulejob/DemoJob.java @@ -1,16 +1,11 @@ package cn.estsh.i3plus.core.apiservice.schedulejob; -import cn.estsh.i3plus.core.api.iservice.busi.ISysTaskTimeService; import cn.estsh.impp.framework.base.schedule.BaseImppScheduleJob; import cn.estsh.impp.framework.boot.init.ApplicationProperties; import io.swagger.annotations.ApiOperation; import org.quartz.JobExecutionContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; - -import java.text.SimpleDateFormat; -import java.util.Date; /** * @Description : 定时任务 @@ -23,20 +18,12 @@ import java.util.Date; public class DemoJob extends BaseImppScheduleJob { public static final Logger LOGGER = LoggerFactory.getLogger(DemoJob.class); - @Autowired - private ISysTaskTimeService taskTimeService; - public DemoJob() { super(DemoJob.class,"定时任务demo"); } @Override public void executeImppJob(JobExecutionContext context, ApplicationProperties applicationProperties) { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:dd"); - - taskTimeService.doSysTaskTimeLastDateByNameAndGroupName(sdf.format(new Date()), - context.getJobDetail().getKey().getName(), - context.getJobDetail().getKey().getGroup()); System.out.println("定时任务被执行"); LOGGER.info("projectName:{},port:{}",applicationProperties.getApplicationName(),applicationProperties.getServerPort()); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/CoreTreeService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/CoreTreeService.java index 0b37e2e..31c1573 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/CoreTreeService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/CoreTreeService.java @@ -4,6 +4,7 @@ import cn.estsh.i3plus.core.api.iservice.busi.ICoreTreeService; import cn.estsh.i3plus.pojo.base.bean.BaseBean; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ModelEnumUtil; +import cn.estsh.i3plus.pojo.base.tool.HqlPack; import cn.estsh.i3plus.pojo.model.platform.CommonTreeModel; import cn.estsh.i3plus.pojo.platform.bean.SysDepartment; import cn.estsh.i3plus.pojo.platform.bean.SysMenu; @@ -313,7 +314,11 @@ public class CoreTreeService implements ICoreTreeService { @Override public List findOrganizeDepartment(long parentId) { List result = new ArrayList<>(); - List list = organizeRDao.findByProperty("parentId", parentId); + + StringBuffer hql = new StringBuffer(); + HqlPack.getNumEqualPack(parentId,"parentId",hql); + HqlPack.getOrderByPack(new Object[]{2}, new String[]{"organizeSort"}, hql); + List list = organizeRDao.findByHqlWhere(hql.toString()); // 循环设置子集 if(list != null && list.size() > 0){ @@ -357,7 +362,11 @@ public class CoreTreeService implements ICoreTreeService { if(bean instanceof SysOrganize){ SysOrganize organize = (SysOrganize) bean; - List organizeList = organizeRDao.findByProperty("parentId", organize.getId()); + StringBuffer hql = new StringBuffer(); + HqlPack.getNumEqualPack(organize.getId(),"parentId",hql); + HqlPack.getOrderByPack(new Object[]{2}, new String[]{"organizeSort"}, hql); + List organizeList = organizeRDao.findByHqlWhere(hql.toString()); + if(organizeList != null && organizeList.size() > 0){ for (SysOrganize org : organizeList) { treeModel = new CommonTreeModel(); @@ -370,7 +379,11 @@ public class CoreTreeService implements ICoreTreeService { } } - List departmentList = departmentRDao.findByProperty("organizeId", organize.getId()); + StringBuffer depHQL = new StringBuffer(); + HqlPack.getNumEqualPack(organize.getId(),"organizeId",depHQL); + HqlPack.getOrderByPack(new Object[]{2}, new String[]{"departmentSort"}, depHQL); + List departmentList = departmentRDao.findByHqlWhere(depHQL.toString()); + if(departmentList != null && departmentList.size() > 0){ for (SysDepartment department : departmentList) { if(department.getParentId() != null && department.getParentId() < 0){ @@ -387,7 +400,12 @@ public class CoreTreeService implements ICoreTreeService { LOGGER.info("【{}】包含子集:{},步长:{}", parent.getBean().getClass().getName(), parent.getChildList().size(), step); }else if(bean instanceof SysDepartment){ SysDepartment department = (SysDepartment) bean; - List departmentList = departmentRDao.findByProperty("parentId", department.getId()); + + StringBuffer depHQL = new StringBuffer(); + HqlPack.getNumEqualPack(department.getId(),"parentId",depHQL); + HqlPack.getOrderByPack(new Object[]{2}, new String[]{"departmentSort"}, depHQL); + List departmentList = departmentRDao.findByHqlWhere(depHQL.toString()); + if(departmentList != null && departmentList.size() > 0){ for (SysDepartment dep : departmentList) { treeModel = new CommonTreeModel(); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysConfigService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysConfigService.java index 7819c50..745b9cf 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysConfigService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysConfigService.java @@ -100,8 +100,9 @@ public class SysConfigService implements ISysConfigService { } @Override + @ApiOperation(value = "根据code修改系统配置") public void updateSysConfigByCode(String code, String value) { - SysConfigRDao.updateByProperties("configCode",value,"",value); + SysConfigRDao.updateByProperties("configCode",value,"configValue",value); } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMessageService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMessageService.java index bbddcb7..3b4d9d6 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMessageService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMessageService.java @@ -2,16 +2,22 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; import cn.estsh.i3plus.core.api.iservice.busi.ISysMessageService; import cn.estsh.i3plus.core.apiservice.mq.I3CoreQueueConfig; +import cn.estsh.i3plus.platform.common.tool.StringTool; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.PagerHelper; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; +import cn.estsh.i3plus.pojo.base.tool.HqlPack; import cn.estsh.i3plus.pojo.platform.bean.SysMessage; import cn.estsh.i3plus.pojo.platform.bean.SysRefUserMessage; import cn.estsh.i3plus.pojo.platform.repository.SysMessageRepository; import cn.estsh.i3plus.pojo.platform.repository.SysRefUserMessageRepository; import cn.estsh.i3plus.pojo.platform.repository.SysUserRepository; import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; +import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.amqp.rabbit.core.RabbitTemplate; @@ -36,7 +42,7 @@ public class SysMessageService implements ISysMessageService { private SysMessageRepository sysMessageRDao; @Autowired - private SysRefUserMessageRepository refUserMessageRDao; + private SysRefUserMessageRepository sysRefUserMessageRDao; @Autowired private SysUserRepository sysUserRDao; @@ -48,36 +54,42 @@ public class SysMessageService implements ISysMessageService { private RabbitTemplate rabbitTemplate; @Override + @ApiOperation(value = "添加消息") public SysMessage insertSysMessage(SysMessage sysMessage) { return sysMessageRDao.insert(sysMessage); } @Override + @ApiOperation(value = "删除消息") public void deleteSysMessageById(Long id) { LOGGER.info("消息 SYS_MESSAGE id:{}",id); - refUserMessageRDao.deleteByProperty("messageId",id); + sysRefUserMessageRDao.deleteByProperty("messageId",id); sysMessageRDao.deleteById(id); } @Override + @ApiOperation(value = "修改消息") public void updateSysMessage(SysMessage sysMessage){ LOGGER.info("消息 SYS_MESSAGE :{}",sysMessage); sysMessageRDao.update(sysMessage); } @Override + @ApiOperation(value = "查询全部信息") public List listSysMessage(){ LOGGER.info("消息 SYS_MESSAGE list"); return sysMessageRDao.list(); } @Override + @ApiOperation(value = "根据id查询消息") public SysMessage getSysMessageById(Long id) { LOGGER.info("消息 SYS_MESSAGE id:{}",id); return sysMessageRDao.getById(id); } @Override + @ApiOperation(value = "系统消息复杂查询,分页,排序") public ListPager querySysMessageByPager(SysMessage sysMessage, Pager pager) { LOGGER.info("消息 SYS_MESSAGE SysMessage:{},Pager:{}",sysMessage,pager); if(sysMessage == null) { @@ -90,33 +102,21 @@ public class SysMessageService implements ISysMessageService { } } -// @Override -// public void updateSysMessageStatusById(String id, Integer status) { -// LOGGER.info("消息 SYS_MESSAGE id:{},status:{}",id,status); -// sysMessageRDao.updateByProperties("id",Long.parseLong(id),"messageStatusId", status); -// } - @Override + @ApiOperation(value = "批量删除消息") public void deleteSysMessageByIds(Long[] ids) { LOGGER.info("消息 SYS_MESSAGE ids:{}", ids.toString()); sysMessageRDao.deleteByIds(ids); } -// @Override -// public void updateSysMessageStatusByIds(String[] ids,Integer status) { -// LOGGER.info("消息 SYS_MESSAGE ids:{},status:{}",ids,status); -// StringBuffer where = new StringBuffer(); -// HqlPack.getInPack(String.join(",", ids), "id", where); -// -// sysMessageRDao.updateByHqlWhere(where.toString(), "messageStatusId", status); -// } - @Override + @ApiOperation(value = "添加用户消息关系") public SysRefUserMessage insertSysRefUserMessage(SysRefUserMessage refUserMessage) { - return refUserMessageRDao.insert(refUserMessage); + return sysRefUserMessageRDao.insert(refUserMessage); } @Override + @ApiOperation(value = "添加消息并发送") public void doSendSysMessage(SysMessage sysMessage) { // 判断消息类型推送到对应的队列 if(ImppEnumUtil.MESSAGE_TYPE.MAIL.getValue() == sysMessage.getMessageType().intValue()){ @@ -125,4 +125,53 @@ public class SysMessageService implements ISysMessageService { rabbitTemplate.convertAndSend(I3CoreQueueConfig.IMPP_MESSAGE_LETTER_QUEUE,sysMessage); } } + + @Override + @ApiOperation(value = "分页查询用户消息表") + public ListPager querySysRefUserMessageByPager(SysRefUserMessage sysRefUserMessage, Pager pager) { + if(sysRefUserMessage == null) { + pager = PagerHelper.getPager(pager, sysRefUserMessageRDao.listCount()); + return new ListPager(sysRefUserMessageRDao.listPager(pager),pager); + }else { + String hqlPack = CoreHqlPack.packHqlSysRefUserMessage(sysRefUserMessage); + pager = PagerHelper.getPager(pager, sysRefUserMessageRDao.findByHqlWhereCount(hqlPack)); + return new ListPager(sysRefUserMessageRDao.findByHqlWherePage(hqlPack + sysRefUserMessage.orderBy(),pager),pager); + } + } + + @Override + @ApiOperation(value = "根据用户id和消息状态和查询用户消息表") + public List findSysRefUserMessageByUserIdAndStatus(Long userId, Integer status) { + return sysRefUserMessageRDao.findByProperty(new String[]{"receiverId","messageStatus","messageTypeRdd"}, + new Object[]{userId,status,ImppEnumUtil.MESSAGE_TYPE.LETTER.getValue()}); + } + + @Override + @ApiOperation(value = "根据id查询用户消息") + public SysMessage getSysMessageByRefUserMessageId(Long id) { + SysRefUserMessage sysRefUserMessage = sysRefUserMessageRDao.getById(id); + if (sysRefUserMessage == null){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) + .setErrorDetail("数据不存在") + .build(); + } + sysRefUserMessage.setMessageStatus(ImppEnumUtil.MESSAGE_STATUS.READ.getValue()); + sysRefUserMessageRDao.update(sysRefUserMessage); + + return sysMessageRDao.getById(sysRefUserMessage.getMessageId()); + } + + @Override + public void updateSysRefUserMessageStatusByIds(Long[] ids, Integer status) { + StringBuffer where = new StringBuffer(); + HqlPack.getInPack(String.join(",", StringTool.getArrayString(ids)), "id", where); + sysRefUserMessageRDao.updateByHqlWhere(where.toString(), "messageStatus", status); + } + + @Override + public void deleteSysRefUserMessageStatusByIds(Long[] ids) { + sysRefUserMessageRDao.deleteByIds(ids); + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrderNoRuleService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrderNoRuleService.java index 1d7c5ec..a5eed4d 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrderNoRuleService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrderNoRuleService.java @@ -1,6 +1,7 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; import cn.estsh.i3plus.core.api.iservice.busi.ISysOrderNoRuleService; +import cn.estsh.i3plus.core.apiservice.util.OrderNoMakeUtil; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.PagerHelper; @@ -82,8 +83,33 @@ public class SysOrderNoRuleService implements ISysOrderNoRuleService { } @Override - public SysOrderNoRule getSysOrderNoRuleCode(String code) { - return sysOrderNoRuleRDao.getByProperty("code",code); + public synchronized SysOrderNoRule getSysOrderNoRuleCode(String code) { + SysOrderNoRule sysOrderNoRule = sysOrderNoRuleRDao.getByProperty("orderNoRuleCode",code); + + if (sysOrderNoRule == null) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) + .setErrorDetail("规则代码不存在存在") + .setErrorSolution("请重新输入规则代码") + .build(); + }else if(sysOrderNoRule.getOrderNoRuleStatus() == CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("单号规则已禁用") + .setErrorSolution("请重新输入规则代码") + .build(); + }else { + sysOrderNoRule = OrderNoMakeUtil.next(sysOrderNoRule); + sysOrderNoRuleRDao.update(sysOrderNoRule); + return sysOrderNoRule; + } + } + + @Override + public void updateSysOrderNoRuleCodeStatusById(Long id, Integer status) { + sysOrderNoRuleRDao.updateByProperties("id",id,"orderNoRuleStatus",status); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java index a6dafe0..7fb2785 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java @@ -17,6 +17,7 @@ import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack; import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; +import io.swagger.annotations.ApiOperation; import org.apache.shiro.authc.AuthenticationException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -24,7 +25,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; -import java.util.HashSet; import java.util.List; /** @@ -73,6 +73,7 @@ public class SysUserService implements ISysUserService { private SysPositionRepository sysPositionRDao; @Override + @ApiOperation(value = "用户登录", notes = "用户登录功能实现") public SessionUser queryUserLogin(String loginName, String password, String languageCode) throws AuthenticationException { LOGGER.debug("平台用户 SYS_USER loginName:{} \t password:{} \t languageCode:{}", loginName, password, languageCode); @@ -96,6 +97,7 @@ public class SysUserService implements ISysUserService { } @Override + @ApiOperation(value = "修改账号", notes = "修改账号状态") public void updateSysUserStatus(Long id, int status, SessionUser user) { LOGGER.debug("平台用户 SYS_USER id:{} status:{} modifyUser:{}", id, status, user.getUserName()); SysUser sysUser = sysUserRDao.getById(id); @@ -105,6 +107,7 @@ public class SysUserService implements ISysUserService { } @Override + @ApiOperation(value = "修改账号", notes = "批量修改账号状态") public void updateBatchSysUserStatus(Long[] ids, int status, SessionUser user) { LOGGER.debug("平台用户 SYS_USER DELETE By ids :{} status:{}, SessionUser :{}", ids,status,user); @@ -121,12 +124,14 @@ public class SysUserService implements ISysUserService { } @Override + @ApiOperation(value = "修改账号", notes = "修改账号信息") public void updateSysUser(SysUser sysUser) throws Exception{ LOGGER.debug("平台用户 SYS_USER SysUser :{}", sysUser); sysUserRDao.save(sysUser); } @Override + @ApiOperation(value = "修改账号", notes = "修改账号登录密码") public void updateSysUserPassword(Long userId, String password, String newPwd) throws Exception { LOGGER.debug("平台用户 SYS_USER Override:{} password:{} newPwd:{}", userId,password,newPwd); SysUser user = sysUserRDao.getById(userId); @@ -154,6 +159,7 @@ public class SysUserService implements ISysUserService { } @Override + @ApiOperation(value = "刷新账号", notes = "刷新账号登录信息") public void refreshUserLoginInformation(Long userId) { SysUser user = sysUserRDao.getById(userId); SysUserInfo userInfo = sysUserInfoRDao.getById(user.getUserInfoId()); @@ -168,6 +174,7 @@ public class SysUserService implements ISysUserService { } @Override + @ApiOperation(value = "新增账号", notes = "新增账号信息") public SysUser insertSysUser(SysUser sysUser)throws Exception { LOGGER.debug("平台用户 SYS_USER SysUser:{}", sysUser); @@ -188,6 +195,7 @@ public class SysUserService implements ISysUserService { } @Override + @ApiOperation(value = "新增账号", notes = "新增账号信息") public void refreshSysRefUserRole(SysUser sysUser, Long[] roleIds, String userName) { LOGGER.debug("平台用户 SYS_USER SysUser:{}", sysUser); LOGGER.debug("平台用户 SYS_USER String[] :{}", roleIds); @@ -230,6 +238,7 @@ public class SysUserService implements ISysUserService { } @Override + @ApiOperation(value = "删除账号", notes = "删除账号信息,逻辑删除,账号关系业务物理删除") public void deleteSysUserById(Long id) { LOGGER.debug("平台用户 SYS_USER DELETE By id :{}", id); sysUserRDao.updateByProperties("id", id, "isValid", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); @@ -241,6 +250,7 @@ public class SysUserService implements ISysUserService { } @Override + @ApiOperation(value = "删除账号", notes = "批量删除账号信息,逻辑删除,账号关系业务物理删除") public void deleteBatchSysUserById(Long[] ids,SessionUser user) { LOGGER.debug("平台用户 SYS_USER DELETE By ids :{}", ids); @@ -258,12 +268,14 @@ public class SysUserService implements ISysUserService { } @Override + @ApiOperation(value = "账号查询", notes = "查询所有账号信息") public List list() { LOGGER.debug("平台用户 SYS_USER find All"); return sysUserRDao.findByProperty("isValid", CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); } @Override + @ApiOperation(value = "账号分页查询", notes = "组合查询") public ListPager querySysUserByPager(SysUser user, Pager pager) { LOGGER.debug("系统用户 SysUser find user :{} page :{}", user, pager); @@ -274,17 +286,20 @@ public class SysUserService implements ISysUserService { } @Override + @ApiOperation(value = "账号查询", notes = "根据ID 查询账号信息") public SysUser getSysUserById(Long id) { LOGGER.debug("平台用户 SYS_USER get By id :{}", id); return sysUserRDao.getById(id); } @Override + @ApiOperation(value = "用户查询", notes = "根据ID 查询用户信息") public SysUserInfo getSysUserInfoById(Long id) { return sysUserInfoRDao.getByProperty("id",id); } @Override + @ApiOperation(value = "账号查询", notes = "根据登录名查询用户信息") public SysUser getSysUserByLoginName(String loginName) { LOGGER.debug("平台用户 SYS_USER find By Login Name :{}", loginName); return sysUserRDao.getByProperty(new String[]{"userLoginName", "isValid"}, @@ -292,12 +307,28 @@ public class SysUserService implements ISysUserService { } @Override + @ApiOperation(value = "账号查询", notes = "根据邮箱查询用户信息") + public SysUser getSysUserByEmail(String email) { + return sysUserRDao.getByProperty(new String[]{"userEmail", "isValid"}, + new Object[]{email, CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()}); + } + + @Override + @ApiOperation(value = "账号查询", notes = "根据手机号查询用户信息") + public SysUser getSysUserByPhone(String phone) { + return sysUserRDao.getByProperty(new String[]{"userPhone", "isValid"}, + new Object[]{phone, CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()}); + } + + @Override + @ApiOperation(value = "账号角色", notes = "根据账号ID查询账号角色关系") public List findSysRefUserRoleByUserId(Long userId) { return refUserRoleRDao.findByProperty("userId",userId); } @Override - public boolean checkLoginName(String userLoginName, long id) { + @ApiOperation(value = "检查-账号登录名", notes = "判断账号是否存在") + public boolean checkSysUserLoginName(String userLoginName, long id) { int count; if(id > 0){ StringBuffer sw = new StringBuffer(); @@ -311,6 +342,74 @@ public class SysUserService implements ISysUserService { return count <= 0 ; } + @Override + @ApiOperation(value = "检查-账号邮箱", notes = "判断邮箱是否存在") + public boolean checkSysUserEmail(String email, long id) { + int count; + if(id > 0){ + StringBuffer sw = new StringBuffer(); + HqlPack.getStringEqualPackOr(email,"userEmail",sw); + HqlPack.getNumNOEqualPack(id,"id",sw); + count = sysUserRDao.findByHqlWhereCount(sw.toString()); + + }else{ + count = sysUserRDao.findByPropertyCount("userEmail",email); + } + return count <= 0 ; + } + + @Override + @ApiOperation(value = "检查-账号手机", notes = "判断手机是否存在") + public boolean checkSysUserPhone(String phone, long id) { + int count; + if(id > 0){ + StringBuffer sw = new StringBuffer(); + HqlPack.getStringEqualPackOr(phone,"userPhone",sw); + HqlPack.getNumNOEqualPack(id,"id",sw); + count = sysUserRDao.findByHqlWhereCount(sw.toString()); + + }else{ + count = sysUserRDao.findByPropertyCount("userPhone",phone); + } + return count <= 0 ; + } + + @Override + @ApiOperation(value = "检查-账号唯一", notes = "账号唯一性校验") + public void checkSysUserOnly(SysUser user) { + if(user != null){ + // 登录名唯一教研 + if(checkSysUserLoginName(user.getUserLoginName(),user.getId())){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) + .setErrorDetail("用户名已存在") + .setErrorSolution("请重新输入用户名") + .build(); + } + + // 登录名唯一教研 + if(checkSysUserEmail(user.getUserEmail(),user.getId())){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) + .setErrorDetail("邮箱已存在") + .setErrorSolution("请重新输入邮箱") + .build(); + } + + // 登录名唯一教研 + if(checkSysUserPhone(user.getUserPhone(),user.getId())){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) + .setErrorDetail("手机号已存在") + .setErrorSolution("请重新输入手机号") + .build(); + } + } + } + /** * 封装用户登陆信息 * @@ -456,6 +555,4 @@ public class SysUserService implements ISysUserService { } } - - } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/OrderNoMakeUtil.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/OrderNoMakeUtil.java index ebda193..ba90f91 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/OrderNoMakeUtil.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/OrderNoMakeUtil.java @@ -30,21 +30,21 @@ public class OrderNoMakeUtil { // 流水号长度补全 String serialNumberFormatStr = MessageFormat.format(PlatformConstWords.SERIAL_NO_FORMAT, orderNoRule.getSerialNoLength()); - if (orderNoRule.getLastMakeSerialNo() > 0) { - int serialNo = orderNoRule.getLastMakeSerialNo() + orderNoRule.getSerialNoIncrement(); + if (orderNoRule.getSerialNo() > 0) { + Long serialNo = orderNoRule.getSerialNo() + orderNoRule.getSerialNoIncrement(); // 达到最大值后循环或继续 if(orderNoRule.getSerialNoLength().intValue() < String.valueOf(serialNo).length() && orderNoRule.getIsCycle() == CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()){ - orderNoRule.setLastMakeSerialNo(orderNoRule.getSerialNoSeed()); + orderNoRule.setSerialNo(orderNoRule.getSerialNoSeed()); } else { - orderNoRule.setLastMakeSerialNo(orderNoRule.getLastMakeSerialNo() + orderNoRule.getSerialNoIncrement()); + orderNoRule.setSerialNo(orderNoRule.getSerialNo() + orderNoRule.getSerialNoIncrement()); } } else { - orderNoRule.setLastMakeSerialNo(orderNoRule.getSerialNoSeed()); + orderNoRule.setSerialNo(orderNoRule.getSerialNoSeed()); } - replace(orderNo, PlatformConstWords.SERIAL_NO, String.format(serialNumberFormatStr, orderNoRule.getLastMakeSerialNo())); + replace(orderNo, PlatformConstWords.SERIAL_NO, String.format(serialNumberFormatStr, orderNoRule.getSerialNo())); - orderNoRule.setLastMakeOrderNo(orderNo.toString()); + orderNoRule.setOrderNo(orderNo.toString()); return orderNoRule; } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/websocket/DemoWebSocket.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/websocket/DemoWebSocket.java index a342b37..1e67d14 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/websocket/DemoWebSocket.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/websocket/DemoWebSocket.java @@ -4,10 +4,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; -import javax.websocket.OnClose; -import javax.websocket.OnMessage; -import javax.websocket.OnOpen; -import javax.websocket.Session; +import javax.websocket.*; import javax.websocket.server.PathParam; import javax.websocket.server.ServerEndpoint; import java.io.IOException; @@ -29,7 +26,7 @@ public class DemoWebSocket { private static int onlineCount = 0; //concurrent线程安全集合,存放客户端websocket对象 - private static CopyOnWriteArraySet webSocketSet = new CopyOnWriteArraySet(); + private static CopyOnWriteArraySet webSocketMap = new CopyOnWriteArraySet(); //websocket会话 private Session session; @@ -37,7 +34,7 @@ public class DemoWebSocket { @OnOpen public void onOpen(@PathParam("userName")String userName, Session session){ this.session = session; - webSocketSet.add(this); //加入set中 + webSocketMap.add(this); //加入set中 addOnlineCount(); //在线数加1 LOGGER.info("{}加入!当前在线人数为{}",userName,getOnlineCount()); try { @@ -52,7 +49,7 @@ public class DemoWebSocket { */ @OnClose public void onClose() { - webSocketSet.remove(this); //从set中删除 + webSocketMap.remove(this); //从set中删除 subOnlineCount(); //在线数减1 LOGGER.info("有一连接关闭!当前在线人数为" + getOnlineCount()); } @@ -66,7 +63,7 @@ public class DemoWebSocket { LOGGER.info("来自客户端的消息:" + message); //群发消息 - for (DemoWebSocket item : webSocketSet) { + for (DemoWebSocket item : webSocketMap) { try { item.sendMessage(message); } catch (IOException e) { @@ -79,6 +76,7 @@ public class DemoWebSocket { * 发生错误时调用 * @OnError */ + @OnError public void onError(Session session, Throwable error) { LOGGER.info("发生错误"); error.printStackTrace(); @@ -93,7 +91,7 @@ public class DemoWebSocket { * 群发自定义消息 * */ public static void sendInfo(String message) throws IOException { - for (DemoWebSocket item : webSocketSet) { + for (DemoWebSocket item : webSocketMap) { try { item.sendMessage(message); } catch (IOException e) { diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/websocket/MessageWebSocket.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/websocket/MessageWebSocket.java new file mode 100644 index 0000000..61ab42d --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/websocket/MessageWebSocket.java @@ -0,0 +1,101 @@ +package cn.estsh.i3plus.core.apiservice.websocket; + +import cn.estsh.impp.framework.base.controller.CoreBaseController; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; + +import javax.websocket.*; +import javax.websocket.server.PathParam; +import javax.websocket.server.ServerEndpoint; +import java.io.IOException; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; + +/** + * @Description : 消息 + * @Reference : + * @Author : yunhao + * @CreateDate : 2018-11-24 16:57 + * @Modify: + **/ +@ServerEndpoint(value= CoreBaseController.BASE_URL + "/message-websocket/{userId}") +@Component +public class MessageWebSocket { + + private static final Logger LOGGER = LoggerFactory.getLogger(MessageWebSocket.class); + + private long userId = 1L; + //websocket会话 + private Session session; // 当前对象会话 + private static int sendCount = 1; + //concurrent线程安全集合,存放客户端websocket对象 + private static ConcurrentMap webSocketSet = new ConcurrentHashMap(); + + @OnOpen + public void onOpen(@PathParam("userId")long userId, Session session){ + this.userId = userId; + this.session = session; + + webSocketSet.put(userId,this); //在线人数添加 + LOGGER.info("{}加入!当前在线人数为{}",userId,getOnlineCount()); + } + + /** + * 连接关闭调用的方法 + */ + @OnClose + public void onClose() { + subOnlineUser(this.userId); + LOGGER.info("有一连接关闭!当前在线人数为" + getOnlineCount()); + } + + /** + * 收到客户端消息后调用的方法 + * + * @param message 客户端发送过来的消息*/ + @OnMessage + public void onMessage(@PathParam("userId")Long userId,String message) { + // 心跳 + if("heartBit".equals(message)){ + this.sendMessage(userId,"heartBit"); + }else{ + LOGGER.info("来自客户端的消息:" , message); + } + } + + /** + * 发生错误时调用 + * @OnError + */ + @OnError + public void onError(Session session, Throwable error) { + LOGGER.info("发生错误"); + error.printStackTrace(); + } + + /** + * 发送消息 + * @param message + * @throws IOException + */ + public static void sendMessage(Long userId, String message){ + try { + MessageWebSocket websocket = webSocketSet.get(userId); + if (websocket != null){ + websocket.session.getBasicRemote().sendText(message + "=" + sendCount); + sendCount++; + } + } catch (IOException e) { + e.printStackTrace(); + } + } + + public static synchronized int getOnlineCount() { + return webSocketSet.size(); + } + + public synchronized void subOnlineUser(long userId) { + webSocketSet.remove(userId); + } +} diff --git a/modules/i3plus-core-apiservice/src/main/resources/init/permission.xlsx b/modules/i3plus-core-apiservice/src/main/resources/init/permission.xlsx index de22f25..19fd927 100644 Binary files a/modules/i3plus-core-apiservice/src/main/resources/init/permission.xlsx and b/modules/i3plus-core-apiservice/src/main/resources/init/permission.xlsx differ diff --git a/modules/i3plus-core-apiservice/src/main/resources/log4j2.xml b/modules/i3plus-core-apiservice/src/main/resources/log4j2.xml index 0ab7ca1..cf4275c 100644 --- a/modules/i3plus-core-apiservice/src/main/resources/log4j2.xml +++ b/modules/i3plus-core-apiservice/src/main/resources/log4j2.xml @@ -3,9 +3,9 @@ - [%p] %d{yyyy-MM-dd HH:mm:ss-SSS} %l:%m%n - [%p] %d{HH:mm:ss-SSS} (%c:%L)%M ==》 %m%n - [SYS-%p] %m (%F:%M:%L %d{HH:mm:ss-SSS})%n + [%p] %d{yyyy-MM-dd HH:mm:ss-SSS} %l 信息:%m%n + [%p] %d{HH:mm:ss-SSS} %c(%M:%L) 信息:%m%n + [SYS-%p] 系统:%m (%d{HH:mm:ss-SSS} %F -> %M:%L)%n diff --git a/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/util/TestOrderNoMakeUtil.java b/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/util/TestOrderNoMakeUtil.java index 2195fc7..e592865 100644 --- a/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/util/TestOrderNoMakeUtil.java +++ b/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/util/TestOrderNoMakeUtil.java @@ -14,14 +14,14 @@ import org.junit.Test; public class TestOrderNoMakeUtil extends TestBase { @Test - public void TestMakeOrderNO() { + public void TestMakeOrderNo() { SysOrderNoRule sysOrderNoRule = new SysOrderNoRule(); sysOrderNoRule.setName("一号单据"); sysOrderNoRule.setOrderNoRule("GG-{yyyy}{MM}{dd}{serialNo}"); - sysOrderNoRule.setSerialNoSeed(1); - sysOrderNoRule.setSerialNoIncrement(1); - sysOrderNoRule.setSerialNoLength(4); - sysOrderNoRule.setLastMakeSerialNo(9999); + sysOrderNoRule.setSerialNoSeed(1L); + sysOrderNoRule.setSerialNoIncrement(1L); + sysOrderNoRule.setSerialNoLength(4L); + sysOrderNoRule.setSerialNo(9999L); sysOrderNoRule.setIsCycle(1); System.out.println(OrderNoMakeUtil.next(sysOrderNoRule)); diff --git a/pom.xml b/pom.xml index f9d07bc..23426f8 100644 --- a/pom.xml +++ b/pom.xml @@ -21,7 +21,7 @@ - + i3core UTF-8 UTF-8