frin.fei 7 years ago
commit 4374746bf3

@ -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.base.common.Pager;
import cn.estsh.i3plus.pojo.platform.bean.SysMessage; import cn.estsh.i3plus.pojo.platform.bean.SysMessage;
import cn.estsh.i3plus.pojo.platform.bean.SysRefUserMessage; import cn.estsh.i3plus.pojo.platform.bean.SysRefUserMessage;
import io.swagger.annotations.ApiOperation;
import java.util.List; import java.util.List;
@ -20,31 +21,36 @@ public interface ISysMessageService {
* *
* @param sysMessage * @param sysMessage
*/ */
@ApiOperation(value = "添加消息")
SysMessage insertSysMessage(SysMessage sysMessage); SysMessage insertSysMessage(SysMessage sysMessage);
/** /**
* *
* @param id * @param id
*/ */
@ApiOperation(value = "删除消息")
void deleteSysMessageById(Long id); void deleteSysMessageById(Long id);
/** /**
* *
* @param sysMessage * @param sysMessage
*/ */
@ApiOperation(value = "修改消息")
void updateSysMessage(SysMessage sysMessage); void updateSysMessage(SysMessage sysMessage);
/** /**
* *
* @return * @return
*/ */
@ApiOperation(value = "查询全部信息")
List<SysMessage> listSysMessage(); List<SysMessage> listSysMessage();
/** /**
* id* * id
* @param id * @param id
* @return * @return
*/ */
@ApiOperation(value = "根据id查询消息")
SysMessage getSysMessageById(Long id); SysMessage getSysMessageById(Long id);
/** /**
@ -53,32 +59,21 @@ public interface ISysMessageService {
* @param pager * @param pager
* @return * @return
*/ */
@ApiOperation(value = "系统消息复杂查询,分页,排序")
ListPager querySysMessageByPager(SysMessage sysMessage, Pager pager); ListPager querySysMessageByPager(SysMessage sysMessage, Pager pager);
// /**
// * 根据id修改消息状态
// * @param id
// * @param status
// */
// void updateSysMessageStatusById(String id,Integer status);
/** /**
* *
* @param ids * @param ids
*/ */
@ApiOperation(value = "批量删除消息")
void deleteSysMessageByIds(Long[] ids); void deleteSysMessageByIds(Long[] ids);
// /**
// * 批量修改消息状态
// * @param ids
// * @param status
// */
// void updateSysMessageStatusByIds(String[] ids,Integer status);
/** /**
* *
* @param refUserMessage * @param refUserMessage
*/ */
@ApiOperation(value = "添加用户消息关系")
SysRefUserMessage insertSysRefUserMessage(SysRefUserMessage refUserMessage); SysRefUserMessage insertSysRefUserMessage(SysRefUserMessage refUserMessage);
/** /**
@ -86,5 +81,45 @@ public interface ISysMessageService {
* @param sysMessage * @param sysMessage
* @return * @return
*/ */
@ApiOperation(value = "添加消息并发送")
void doSendSysMessage(SysMessage sysMessage); 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);
} }

@ -31,4 +31,7 @@ public interface ISysOrderNoRuleService {
@ApiOperation(value = "根据code查询单号规则") @ApiOperation(value = "根据code查询单号规则")
SysOrderNoRule getSysOrderNoRuleCode(String code); SysOrderNoRule getSysOrderNoRuleCode(String code);
@ApiOperation(value = "根据id修改用户状态")
void updateSysOrderNoRuleCodeStatusById(Long id,Integer status);
} }

@ -126,6 +126,20 @@ public interface ISysUserService {
SysUser getSysUserByLoginName(String loginName); SysUser getSysUserByLoginName(String loginName);
/** /**
*
* @param email
* @return
*/
SysUser getSysUserByEmail(String email);
/**
*
* @param phone
* @return
*/
SysUser getSysUserByPhone(String phone);
/**
* *
* @param userId * @param userId
* @return * @return
@ -138,5 +152,27 @@ public interface ISysUserService {
* @param id * @param id
* @return * @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);
} }

@ -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.ICoreTreeService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysUserService; import cn.estsh.i3plus.core.api.iservice.busi.ISysUserService;
import cn.estsh.i3plus.core.apiservice.controller.DemoAuthController; 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.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser; 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.i3plus.pojo.platform.bean.SysMenu;
import cn.estsh.impp.framework.base.controller.BaseController; import cn.estsh.impp.framework.base.controller.BaseController;
import cn.estsh.impp.framework.base.controller.CoreBaseController; 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.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.List; import java.util.List;
@ -51,6 +51,9 @@ public class AuthController extends CoreBaseController {
@Autowired @Autowired
private ICoreTreeService coreTreeService; private ICoreTreeService coreTreeService;
@Autowired
private SysLocaleLanguageService localeLanguageService;
@GetMapping(value="/login") @GetMapping(value="/login")
@ApiOperation(value="登陆",notes="登陆") @ApiOperation(value="登陆",notes="登陆")
public ResultBean login(HttpServletRequest request, String loginName, String loginPwd, String languageCode){ public ResultBean login(HttpServletRequest request, String loginName, String loginPwd, String languageCode){
@ -68,7 +71,9 @@ public class AuthController extends CoreBaseController {
result.setUrl("/"); result.setUrl("/");
return result; return result;
}catch (AuthenticationException e) { }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) { }catch (ImppBusiException e) {
return ResultBean.fail(e); return ResultBean.fail(e);
}catch (Exception e){ }catch (Exception e){
@ -86,7 +91,7 @@ public class AuthController extends CoreBaseController {
LOGGER.info("用户退出..."); LOGGER.info("用户退出...");
try { try {
AuthUtil.logout(); AuthUtil.logout();
return new ResultBean(true,""); return new ResultBean(true,"").build();
} catch (ImppBusiException e) { } catch (ImppBusiException e) {
return new ResultBean(false,e.getErrorDetail() + ",so:" + e.getErrorSolution()); 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());
}
}
} }

@ -1,9 +1,11 @@
package cn.estsh.i3plus.core.apiservice.controller.busi; package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysConfigService; 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.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager; 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.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser; import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import cn.estsh.i3plus.pojo.platform.bean.SysConfig; 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); public static final Logger LOGGER = LoggerFactory.getLogger(SysConfigController.class);
@Autowired @Autowired
public ISysConfigService sysConfigService; private ISysConfigService sysConfigService;
@Autowired
private MailUtil mailUtil;
@PostMapping("/insert") @PostMapping("/insert")
@ApiOperation(value = "添加系统参数",notes = "添加系统参数") @ApiOperation(value = "添加系统参数",notes = "添加系统参数")
@ -122,6 +126,8 @@ public class SysConfigController extends CoreBaseController {
@ApiOperation(value = "根据id查询系统参数",notes = "根据id查询系统参数") @ApiOperation(value = "根据id查询系统参数",notes = "根据id查询系统参数")
public ResultBean getSysConfigById(@PathVariable("id") String id){ public ResultBean getSysConfigById(@PathVariable("id") String id){
try { try {
ValidatorBean.checkNotNull(id,"id不能为空");
SysConfig sysConfig = sysConfigService.getSysConfigById(Long.parseLong(id)); SysConfig sysConfig = sysConfigService.getSysConfigById(Long.parseLong(id));
if (sysConfig != null) { if (sysConfig != null) {
return ResultBean.success("查询成功") return ResultBean.success("查询成功")
@ -141,9 +147,7 @@ public class SysConfigController extends CoreBaseController {
public ResultBean querySysConfigByPager(SysConfig sysConfig,Pager pager) { public ResultBean querySysConfigByPager(SysConfig sysConfig,Pager pager) {
try { try {
ListPager sysConfigListPager = sysConfigService.querySysConfigByPager(sysConfig,pager); ListPager sysConfigListPager = sysConfigService.querySysConfigByPager(sysConfig,pager);
return ResultBean.success("查询成功") return ResultBean.success("查询成功").setListPager(sysConfigListPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
.setListPager(sysConfigListPager)
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){ }catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep); return ResultBean.fail(busExcep);
}catch(Exception e){ }catch(Exception e){
@ -155,6 +159,8 @@ public class SysConfigController extends CoreBaseController {
@ApiOperation(value = "根据代码获取系统配置") @ApiOperation(value = "根据代码获取系统配置")
public ResultBean getSysConfigByCode(@PathVariable("code") String code){ public ResultBean getSysConfigByCode(@PathVariable("code") String code){
try { try {
ValidatorBean.checkNotNull(code,"配置项代码不能为空");
SysConfig sysConfig = sysConfigService.getSysConfigByCode(code); SysConfig sysConfig = sysConfigService.getSysConfigByCode(code);
if(sysConfig == null){ if(sysConfig == null){
return ResultBean.fail("数据不存在").setCode(ResourceEnumUtil.MESSAGE.EMPTY.getCode()); return ResultBean.fail("数据不存在").setCode(ResourceEnumUtil.MESSAGE.EMPTY.getCode());
@ -186,10 +192,14 @@ public class SysConfigController extends CoreBaseController {
} }
@PostMapping("/update-code/{code}/{value}") @PostMapping("/update-code/{code}/{value}")
@ApiOperation(value = "根据code修改系统配置")
public ResultBean updateSysConfigByCode(@PathVariable("code") String code,@PathVariable("value") String value){ public ResultBean updateSysConfigByCode(@PathVariable("code") String code,@PathVariable("value") String value){
try{ try{
// sysConfigService.update ValidatorBean.checkNotNull(code,"配置项代码不能为空");
return null; ValidatorBean.checkNotNull(value,"值不能为空");
sysConfigService.updateSysConfigByCode(code,value);
return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){ }catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep); return ResultBean.fail(busExcep);
}catch(Exception e){ }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);
}
}
} }

@ -56,8 +56,9 @@ public class SysDepartmentController extends CoreBaseController {
//新增初始化 //新增初始化
ConvertBean.modelInitialize(department, user); 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.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue());
department.setParentNameRdd("顶级部门");
} }
departmentService.insertSysDepartment(department); departmentService.insertSysDepartment(department);
@ -86,8 +87,9 @@ public class SysDepartmentController extends CoreBaseController {
.checkNotZero("organizeId",department.getOrganizeId()); .checkNotZero("organizeId",department.getOrganizeId());
ConvertBean.modelUpdate(department, user); 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.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue());
department.setParentNameRdd("顶级部门");
} }
departmentService.updateSysDepartment(department); departmentService.updateSysDepartment(department);

@ -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.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser; import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import cn.estsh.i3plus.pojo.platform.bean.SysMessage; 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.base.controller.CoreBaseController;
import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppBusiException;
@ -36,7 +37,7 @@ import java.util.List;
* @Modify : * @Modify :
**/ **/
@RestController @RestController
@RequestMapping(CoreBaseController.BASE_URL + "/sys-message") @RequestMapping(CoreBaseController.BASE_URL)
@Api(description = "消息管理服务") @Api(description = "消息管理服务")
public class SysMessageController extends CoreBaseController { public class SysMessageController extends CoreBaseController {
public static final Logger LOGGER = LoggerFactory.getLogger(SysMessageController.class); public static final Logger LOGGER = LoggerFactory.getLogger(SysMessageController.class);
@ -44,7 +45,7 @@ public class SysMessageController extends CoreBaseController {
@Autowired @Autowired
private ISysMessageService sysMessageService; private ISysMessageService sysMessageService;
@PostMapping(value = "/insert") @PostMapping(value = "/sys-message/insert")
@ApiOperation(value = "新增消息",notes = "新增消息") @ApiOperation(value = "新增消息",notes = "新增消息")
public ResultBean insertSysMessage(SysMessage sysMessage){ public ResultBean insertSysMessage(SysMessage sysMessage){
try { try {
@ -67,15 +68,13 @@ public class SysMessageController extends CoreBaseController {
sysMessageService.doSendSysMessage(sysMessage); sysMessageService.doSendSysMessage(sysMessage);
return ResultBean.success("添加成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); return ResultBean.success("添加成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){ }catch(ImppBusiException busExcep){
LOGGER.error(busExcep.getErrorMsg() + "{}",busExcep.getErrorDetail(),busExcep);
return ResultBean.fail(busExcep); return ResultBean.fail(busExcep);
}catch(Exception e){ }catch(Exception e){
LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + "{}",e.getMessage(),e); return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode());
} }
} }
@DeleteMapping("/delete/{id}") @DeleteMapping("/sys-message/delete/{id}")
@ApiOperation(value = "根据id删除消息",notes = "根据id删除消息") @ApiOperation(value = "根据id删除消息",notes = "根据id删除消息")
public ResultBean deleteSysMessageById(@PathVariable("id") String id){ public ResultBean deleteSysMessageById(@PathVariable("id") String id){
try { try {
@ -85,15 +84,13 @@ public class SysMessageController extends CoreBaseController {
sysMessageService.deleteSysMessageById(Long.parseLong(id)); sysMessageService.deleteSysMessageById(Long.parseLong(id));
return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){ }catch(ImppBusiException busExcep){
LOGGER.error(busExcep.getErrorMsg() + "{}",busExcep.getErrorDetail(),busExcep);
return ResultBean.fail(busExcep); return ResultBean.fail(busExcep);
}catch(Exception e){ }catch(Exception e){
LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + "{}",e.getMessage(),e); return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode());
} }
} }
@PutMapping("/update") @PutMapping("/sys-message/update")
@ApiOperation(value = "修改信息",notes = "修改信息") @ApiOperation(value = "修改信息",notes = "修改信息")
public ResultBean updateSysMessage(SysMessage sysMessage){ public ResultBean updateSysMessage(SysMessage sysMessage){
try { try {
@ -109,82 +106,56 @@ public class SysMessageController extends CoreBaseController {
sysMessageService.updateSysMessage(sysMessage); sysMessageService.updateSysMessage(sysMessage);
return ResultBean.success("修改成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); return ResultBean.success("修改成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){ }catch(ImppBusiException busExcep){
LOGGER.error(busExcep.getErrorMsg() + "{}",busExcep.getErrorDetail(),busExcep);
return ResultBean.fail(busExcep); return ResultBean.fail(busExcep);
}catch(Exception e){ }catch(Exception e){
LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + "{}",e.getMessage(),e); return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode());
} }
} }
@GetMapping(value = "/list") @GetMapping(value = "/sys-message/list")
@ApiOperation(value = "查询全部消息",notes = "查询全部消息") @ApiOperation(value = "查询全部消息",notes = "查询全部消息")
public ResultBean findSysConfigAll(){ public ResultBean findSysMessageAll(){
try { try {
List<SysMessage> sysMessageList = sysMessageService.listSysMessage(); List<SysMessage> sysMessageList = sysMessageService.listSysMessage();
return ResultBean.success("查询成功").setResultList(sysMessageList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); return ResultBean.success("查询成功").setResultList(sysMessageList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){ }catch(ImppBusiException busExcep){
LOGGER.error(busExcep.getErrorMsg() + "{}",busExcep.getErrorDetail(),busExcep);
return ResultBean.fail(busExcep); return ResultBean.fail(busExcep);
}catch(Exception e){ }catch(Exception e){
LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + "{}",e.getMessage(),e); return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode());
} }
} }
@GetMapping(value = "/get/{id}") @GetMapping(value = "/sys-message/get/{id}")
@ApiOperation(value = "根据id查询消息",notes = "根据id查询消息") @ApiOperation(value = "根据id查询消息",notes = "根据id查询消息")
public ResultBean getSysConfigById(String id){ public ResultBean getSysMessageById(@PathVariable("id") String idStr){
try { try {
SysMessage sysMessageList = sysMessageService.getSysMessageById(Long.parseLong(id)); SysMessage sysMessageList = sysMessageService.getSysMessageById(Long.parseLong(idStr));
if (sysMessageList != null) { if (sysMessageList != null) {
return ResultBean.success("查询成功").setResultObject(sysMessageList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); return ResultBean.success("查询成功").setResultObject(sysMessageList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}else { }else {
return ResultBean.fail("数据不存在").setCode(ResourceEnumUtil.MESSAGE.EMPTY.getCode()); return ResultBean.fail("数据不存在").setCode(ResourceEnumUtil.MESSAGE.EMPTY.getCode());
} }
}catch(ImppBusiException busExcep){ }catch(ImppBusiException busExcep){
LOGGER.error(busExcep.getErrorMsg() + "{}",busExcep.getErrorDetail(),busExcep);
return ResultBean.fail(busExcep); return ResultBean.fail(busExcep);
}catch(Exception e){ }catch(Exception e){
LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + "{}",e.getMessage(),e); return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode());
} }
} }
@GetMapping(value = "/query") @GetMapping(value = "/sys-message/query")
@ApiOperation(value = "消息复杂查询,分页,排序",notes = "消息复杂查询,分页,排序") @ApiOperation(value = "消息复杂查询,分页,排序",notes = "消息复杂查询,分页,排序")
public ResultBean querySysMessageByPager(SysMessage sysMessage, Pager pager){ public ResultBean querySysMessageByPager(SysMessage sysMessage, Pager pager){
try { try {
ListPager sysMessageListPager = sysMessageService.querySysMessageByPager(sysMessage,pager); ListPager sysMessageListPager = sysMessageService.querySysMessageByPager(sysMessage,pager);
return ResultBean.success("查询成功").setListPager(sysMessageListPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); return ResultBean.success("查询成功").setListPager(sysMessageListPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){ }catch(ImppBusiException busExcep){
LOGGER.error(busExcep.getErrorMsg() + "{}",busExcep.getErrorDetail(),busExcep);
return ResultBean.fail(busExcep); return ResultBean.fail(busExcep);
}catch(Exception e){ }catch(Exception e){
LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + "{}",e.getMessage(),e); return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); }
} }
}
@DeleteMapping("/sys-message/batch-delete")
// @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")
@ApiOperation(value = "批量删除消息",notes = "批量删除消息") @ApiOperation(value = "批量删除消息",notes = "批量删除消息")
public ResultBean deleteSysMessageByIds(String[] ids){ public ResultBean deleteSysMessageByIds(String[] ids){
try{ try{
@ -200,36 +171,124 @@ public class SysMessageController extends CoreBaseController {
sysMessageService.deleteSysMessageByIds(StringTool.getArrayLong(ids)); sysMessageService.deleteSysMessageByIds(StringTool.getArrayLong(ids));
return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){ }catch(ImppBusiException busExcep){
LOGGER.error(busExcep.getErrorMsg() + "{}",busExcep.getErrorDetail(),busExcep);
return ResultBean.fail(busExcep); return ResultBean.fail(busExcep);
}catch(Exception e){ }catch(Exception e){
LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + "{}",e.getMessage(),e); return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); }
} }
}
@GetMapping(value = "/user-message/query-inbox")
// @PutMapping("/batch-status") @ApiOperation(value = "查询用户收件箱,分页,排序")
// @ApiOperation(value = "批量切换消息状态",notes = "批量切换消息状态") public ResultBean queryInboxByPager(SysRefUserMessage sysRefUserMessage,Pager pager){
// public ResultBean updateSysMessageStatusByIds(String[] ids,Integer status){ try {
// try{ // 设置消息类型为站内信
// // 条件判断 sysRefUserMessage.setMessageTypeRdd(ImppEnumUtil.MESSAGE_TYPE.LETTER.getValue());
// ValidatorBean.checkNotZero(status,"状态不能为空"); sysRefUserMessage.setReceiverId(getSessionUser().getUser().getId());
// ids = ConvertBean.modelSafeArrayNumber(ids,true);
// if(ids.length == 0){ ListPager userMessageList = sysMessageService.querySysRefUserMessageByPager(sysRefUserMessage,pager);
// throw ImppExceptionBuilder.newInstance() return ResultBean.success("查询成功").setListPager(userMessageList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
// .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) }catch(ImppBusiException busExcep){
// .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) return ResultBean.fail(busExcep);
// .setErrorDetail("请选择需要操作的资源。") }catch(Exception e){
// .build(); return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
// } }
// sysMessageService.updateSysMessageStatusByIds(ids,status); }
// return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
// }catch(ImppBusiException busExcep){ @GetMapping(value = "/user-message/query-outbox")
// LOGGER.error(busExcep.getErrorMsg() + "{}",busExcep.getErrorDetail(),busExcep); @ApiOperation(value = "查询用户发件箱,分页,排序")
// return ResultBean.fail(busExcep); public ResultBean querySysRefUserMessageByPager(SysMessage sysMessage,Pager pager){
// }catch(Exception e){ try {
// LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + "{}",e.getMessage(),e); // 发件人为当前用户
// return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); 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);
}
}
} }

@ -1,7 +1,9 @@
package cn.estsh.i3plus.core.apiservice.controller.busi; package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysOrderNoRuleService; 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.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysOrderNoRule; import cn.estsh.i3plus.pojo.platform.bean.SysOrderNoRule;
import cn.estsh.impp.framework.base.controller.CoreBaseController; import cn.estsh.impp.framework.base.controller.CoreBaseController;
@ -42,6 +44,9 @@ public class SysOrderNoRuleController {
.checkNotZero("serialNoLength",sysOrderNoRule.getSerialNoLength()) .checkNotZero("serialNoLength",sysOrderNoRule.getSerialNoLength())
.checkNotZero("isCycle",sysOrderNoRule.getIsCycle()); .checkNotZero("isCycle",sysOrderNoRule.getIsCycle());
sysOrderNoRule.setOrderNoRuleStatus(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
sysOrderNoRule.setSerialNo(CommonEnumUtil.PARENT.DEFAULT.getValue());
sysOrderNoRuleService.insertSysOrderNoRule(sysOrderNoRule); sysOrderNoRuleService.insertSysOrderNoRule(sysOrderNoRule);
return ResultBean.success("操作成功").setResultObject(sysOrderNoRule).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); return ResultBean.success("操作成功").setResultObject(sysOrderNoRule).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){ }catch(ImppBusiException busExcep){
@ -115,12 +120,6 @@ public class SysOrderNoRuleController {
ValidatorBean.checkNotNull(code,"code不能为空"); ValidatorBean.checkNotNull(code,"code不能为空");
SysOrderNoRule sysOrderNoRule = sysOrderNoRuleService.getSysOrderNoRuleCode(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()); return ResultBean.success("查询成功").setResultObject(sysOrderNoRule).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){ }catch(ImppBusiException busExcep){
return ResultBean.fail(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);
}
}
} }

@ -53,7 +53,7 @@ public class SysOrganizeController extends CoreBaseController{
//新增初始化 //新增初始化
ConvertBean.modelInitialize(organize, AuthUtil.getSessionUser()); 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()); 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); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(organize);
} catch (ImppBusiException busExcep) { } catch (ImppBusiException busExcep) {
LOGGER.error(busExcep.getErrorMsg() + "{}", busExcep.getErrorDetail(), busExcep); LOGGER.error(busExcep.getErrorMsg() + "{}", busExcep.getErrorDetail(), busExcep);
return ResultBean.fail(busExcep).build(); return ResultBean.fail(busExcep);
} catch (Exception e) { } catch (Exception e) {
return ResultBean.fail(e.getMessage()).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); return ResultBean.fail(e.getMessage()).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode());
} }
@ -79,7 +79,7 @@ public class SysOrganizeController extends CoreBaseController{
.notNull("organizeType", organize.getOrganizeType()); .notNull("organizeType", organize.getOrganizeType());
ConvertBean.modelUpdate(organize, AuthUtil.getSessionUser()); 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()); organize.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue());
} }
@ -87,7 +87,7 @@ public class SysOrganizeController extends CoreBaseController{
return ResultBean.success("修改成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); return ResultBean.success("修改成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) { } catch (ImppBusiException busExcep) {
LOGGER.error(busExcep.getErrorMsg() + "{}", busExcep.getErrorDetail(), busExcep); LOGGER.error(busExcep.getErrorMsg() + "{}", busExcep.getErrorDetail(), busExcep);
return ResultBean.fail(busExcep).build(); return ResultBean.fail(busExcep);
} catch (Exception e) { } catch (Exception e) {
return ResultBean.fail(e.getMessage()).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); return ResultBean.fail(e.getMessage()).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode());
} }

@ -54,7 +54,7 @@ public class SysPositionController extends CoreBaseController {
.notNull("positionCode",position.getPositionCode()); .notNull("positionCode",position.getPositionCode());
ConvertBean.modelInitialize(position,user); 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()); position.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue());
} }
@ -85,7 +85,7 @@ public class SysPositionController extends CoreBaseController {
//修改初始化 //修改初始化
ConvertBean.modelUpdate(position,user); 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()); position.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue());
} }

@ -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.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.tool.EncryptTool; import cn.estsh.i3plus.platform.common.tool.EncryptTool;
import cn.estsh.i3plus.platform.common.tool.StringTool; 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.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; 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.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; 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.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean; import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.RandomStringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List; import java.util.List;
/** /**
@ -43,6 +47,9 @@ public class SysUserController extends CoreBaseController{
public static final Logger LOGGER = LoggerFactory.getLogger(SysUserController.class); public static final Logger LOGGER = LoggerFactory.getLogger(SysUserController.class);
@Resource(name="redisCore")
private ImppRedis redisCore;
@Autowired @Autowired
private ISysUserService sysUserService; private ISysUserService sysUserService;
@ -72,6 +79,9 @@ public class SysUserController extends CoreBaseController{
.build(); .build();
} }
// 用户唯一校验
sysUserService.checkSysUserOnly(sysUser);
SysUserInfo userInfo = sysUserInfoService.getSysUserInfoById(sysUser.getUserInfoId()); SysUserInfo userInfo = sysUserInfoService.getSysUserInfoById(sysUser.getUserInfoId());
if(userInfo == null){ if(userInfo == null){
throw ImppExceptionBuilder.newInstance() throw ImppExceptionBuilder.newInstance()
@ -126,13 +136,8 @@ public class SysUserController extends CoreBaseController{
.build(); .build();
} }
if (sysUserService.checkLoginName(sysUser.getUserLoginName(), sysUser.getId())) { // 用户唯一校验
throw ImppExceptionBuilder.newInstance() sysUserService.checkSysUserOnly(sysUser);
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("用户名已存在")
.build();
}
// 用户信息封装 // 用户信息封装
SysUserInfo userInfo = sysUserService.getSysUserInfoById(sysUser.getUserInfoId()); 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重置用户密码") @ApiOperation(value = "密码重置",notes = "根据id重置用户密码")
public ResultBean updateResetPassword(@PathVariable String id){ public ResultBean updateResetPassword(@PathVariable String id){
try { 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());
}
}
} }

@ -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.ISysMessageService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysUserService; 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.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.SysMessage;
import cn.estsh.i3plus.pojo.platform.bean.SysRefUserMessage; import cn.estsh.i3plus.pojo.platform.bean.SysRefUserMessage;
import cn.estsh.i3plus.pojo.platform.bean.SysUser; import cn.estsh.i3plus.pojo.platform.bean.SysUser;
import com.alibaba.fastjson.JSON;
import com.rabbitmq.client.Channel; import com.rabbitmq.client.Channel;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.amqp.core.Message; import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.io.IOException; import java.io.IOException;
import java.util.List;
/** /**
* @Description : * @Description :
@ -39,7 +44,7 @@ public class LetterQueueReceiver {
* @param message * @param message
* rabbitTemplate.convertAndSend(I3CoreQueueConfig.IMPP_MESSAGE_QUEUE, new SysMessage(....)); * 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) { public void processImppMessage(SysMessage msg, Channel channel, Message message) {
try { try {
LOGGER.info("【MQ-IMPP_MESSAGE_LETTER_QUEUE】数据接收成功{}",msg); LOGGER.info("【MQ-IMPP_MESSAGE_LETTER_QUEUE】数据接收成功{}",msg);
@ -52,6 +57,7 @@ public class LetterQueueReceiver {
SysRefUserMessage refUserMessage; SysRefUserMessage refUserMessage;
SysUser sysUser; SysUser sysUser;
List userMessage;
for (int i = 0; i < messageReceiver.length; i++) { for (int i = 0; i < messageReceiver.length; i++) {
sysUser = sysUserService.getSysUserById(Long.parseLong(messageReceiver[i])); sysUser = sysUserService.getSysUserById(Long.parseLong(messageReceiver[i]));
@ -61,16 +67,25 @@ public class LetterQueueReceiver {
refUserMessage.setMessageId(msg.getId()); refUserMessage.setMessageId(msg.getId());
refUserMessage.setMessageTitleRdd(msg.getMessageTitle()); refUserMessage.setMessageTitleRdd(msg.getMessageTitle());
refUserMessage.setMessageTypeRdd(msg.getMessageType()); refUserMessage.setMessageTypeRdd(msg.getMessageType());
refUserMessage.setReceiverId(sysUser.getId()); refUserMessage.setMessageSenderNameRdd(msg.getMessageSenderNameRdd());
refUserMessage.setReceiverId(sysUser.getUserInfoId());
refUserMessage.setReceiverNameRdd(sysUser.getUserName()); refUserMessage.setReceiverNameRdd(sysUser.getUserName());
refUserMessage.setMessageStatus(ImppEnumUtil.MESSAGE_STATUS.UNREAD.getValue());
refUserMessage.setReceiverTime(TimeTool.getNowTime(true)); refUserMessage.setReceiverTime(TimeTool.getNowTime(true));
sysMessageService.insertSysRefUserMessage(refUserMessage); 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, ",")); msg.setMessageSenderNameRdd(StringUtils.join(receiverName, ","));
sysMessageService.updateSysMessage(msg); sysMessageService.updateSysMessage(msg);
//信息已处理 //信息已处理
channel.basicAck(message.getMessageProperties().getDeliveryTag(),false); channel.basicAck(message.getMessageProperties().getDeliveryTag(),false);
} catch (IOException e) { } catch (IOException e) {

@ -13,7 +13,6 @@ import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.amqp.core.Message; import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -45,8 +44,7 @@ public class MailQueueReceiver {
// @RabbitListener(queues = I3CoreQueueConfig.IMPP_MESSAGE_MAIL_QUEUE) // @RabbitListener(queues = I3CoreQueueConfig.IMPP_MESSAGE_MAIL_QUEUE)
public void processImppMail(SysMessage msg, Channel channel, Message message) { public void processImppMail(SysMessage msg, Channel channel, Message message) {
try { try {
LOGGER.info("【MQ-IMPP_MESSAGE_MAIL_QUEUE】数据接收成功{}",msg); LOGGER.info("【MQ-IMPP_MESSAGE_MAIL_QUEUE】数据接收成功{}",msg);msg = sysMessageService.insertSysMessage(msg);
msg = sysMessageService.insertSysMessage(msg);
mailUtil.init(); mailUtil.init();
// 收件人信息 // 收件人信息
@ -64,8 +62,10 @@ public class MailQueueReceiver {
refUserMessage.setMessageId(msg.getId()); refUserMessage.setMessageId(msg.getId());
refUserMessage.setMessageTitleRdd(msg.getMessageTitle()); refUserMessage.setMessageTitleRdd(msg.getMessageTitle());
refUserMessage.setMessageTypeRdd(msg.getMessageType()); refUserMessage.setMessageTypeRdd(msg.getMessageType());
refUserMessage.setMessageSenderNameRdd(msg.getMessageSenderNameRdd());
refUserMessage.setReceiverId(sysUser.getId()); refUserMessage.setReceiverId(sysUser.getId());
refUserMessage.setReceiverNameRdd(sysUser.getUserName()); refUserMessage.setReceiverNameRdd(sysUser.getUserName());
refUserMessage.setMessageStatus(ImppEnumUtil.MESSAGE_STATUS.UNREAD.getValue());
refUserMessage.setReceiverTime(TimeTool.getNowTime(true)); refUserMessage.setReceiverTime(TimeTool.getNowTime(true));
sysMessageService.insertSysRefUserMessage(refUserMessage); sysMessageService.insertSysRefUserMessage(refUserMessage);

@ -1,16 +1,11 @@
package cn.estsh.i3plus.core.apiservice.schedulejob; 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.base.schedule.BaseImppScheduleJob;
import cn.estsh.impp.framework.boot.init.ApplicationProperties; import cn.estsh.impp.framework.boot.init.ApplicationProperties;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.quartz.JobExecutionContext; import org.quartz.JobExecutionContext;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import java.text.SimpleDateFormat;
import java.util.Date;
/** /**
* @Description : * @Description :
@ -23,20 +18,12 @@ import java.util.Date;
public class DemoJob extends BaseImppScheduleJob { public class DemoJob extends BaseImppScheduleJob {
public static final Logger LOGGER = LoggerFactory.getLogger(DemoJob.class); public static final Logger LOGGER = LoggerFactory.getLogger(DemoJob.class);
@Autowired
private ISysTaskTimeService taskTimeService;
public DemoJob() { public DemoJob() {
super(DemoJob.class,"定时任务demo"); super(DemoJob.class,"定时任务demo");
} }
@Override @Override
public void executeImppJob(JobExecutionContext context, ApplicationProperties applicationProperties) { 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("定时任务被执行"); System.out.println("定时任务被执行");
LOGGER.info("projectName{},port:{}",applicationProperties.getApplicationName(),applicationProperties.getServerPort()); LOGGER.info("projectName{},port:{}",applicationProperties.getApplicationName(),applicationProperties.getServerPort());
} }

@ -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.bean.BaseBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ModelEnumUtil; 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.model.platform.CommonTreeModel;
import cn.estsh.i3plus.pojo.platform.bean.SysDepartment; import cn.estsh.i3plus.pojo.platform.bean.SysDepartment;
import cn.estsh.i3plus.pojo.platform.bean.SysMenu; import cn.estsh.i3plus.pojo.platform.bean.SysMenu;
@ -313,7 +314,11 @@ public class CoreTreeService implements ICoreTreeService {
@Override @Override
public List<CommonTreeModel> findOrganizeDepartment(long parentId) { public List<CommonTreeModel> findOrganizeDepartment(long parentId) {
List<CommonTreeModel> result = new ArrayList<>(); List<CommonTreeModel> result = new ArrayList<>();
List<SysOrganize> list = organizeRDao.findByProperty("parentId", parentId);
StringBuffer hql = new StringBuffer();
HqlPack.getNumEqualPack(parentId,"parentId",hql);
HqlPack.getOrderByPack(new Object[]{2}, new String[]{"organizeSort"}, hql);
List<SysOrganize> list = organizeRDao.findByHqlWhere(hql.toString());
// 循环设置子集 // 循环设置子集
if(list != null && list.size() > 0){ if(list != null && list.size() > 0){
@ -357,7 +362,11 @@ public class CoreTreeService implements ICoreTreeService {
if(bean instanceof SysOrganize){ if(bean instanceof SysOrganize){
SysOrganize organize = (SysOrganize) bean; SysOrganize organize = (SysOrganize) bean;
List<SysOrganize> 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<SysOrganize> organizeList = organizeRDao.findByHqlWhere(hql.toString());
if(organizeList != null && organizeList.size() > 0){ if(organizeList != null && organizeList.size() > 0){
for (SysOrganize org : organizeList) { for (SysOrganize org : organizeList) {
treeModel = new CommonTreeModel(); treeModel = new CommonTreeModel();
@ -370,7 +379,11 @@ public class CoreTreeService implements ICoreTreeService {
} }
} }
List<SysDepartment> 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<SysDepartment> departmentList = departmentRDao.findByHqlWhere(depHQL.toString());
if(departmentList != null && departmentList.size() > 0){ if(departmentList != null && departmentList.size() > 0){
for (SysDepartment department : departmentList) { for (SysDepartment department : departmentList) {
if(department.getParentId() != null && department.getParentId() < 0){ 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); LOGGER.info("【{}】包含子集:{},步长:{}", parent.getBean().getClass().getName(), parent.getChildList().size(), step);
}else if(bean instanceof SysDepartment){ }else if(bean instanceof SysDepartment){
SysDepartment department = (SysDepartment) bean; SysDepartment department = (SysDepartment) bean;
List<SysDepartment> 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<SysDepartment> departmentList = departmentRDao.findByHqlWhere(depHQL.toString());
if(departmentList != null && departmentList.size() > 0){ if(departmentList != null && departmentList.size() > 0){
for (SysDepartment dep : departmentList) { for (SysDepartment dep : departmentList) {
treeModel = new CommonTreeModel(); treeModel = new CommonTreeModel();

@ -100,8 +100,9 @@ public class SysConfigService implements ISysConfigService {
} }
@Override @Override
@ApiOperation(value = "根据code修改系统配置")
public void updateSysConfigByCode(String code, String value) { public void updateSysConfigByCode(String code, String value) {
SysConfigRDao.updateByProperties("configCode",value,"",value); SysConfigRDao.updateByProperties("configCode",value,"configValue",value);
} }
} }

@ -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.api.iservice.busi.ISysMessageService;
import cn.estsh.i3plus.core.apiservice.mq.I3CoreQueueConfig; 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.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper; 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.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.SysMessage;
import cn.estsh.i3plus.pojo.platform.bean.SysRefUserMessage; import cn.estsh.i3plus.pojo.platform.bean.SysRefUserMessage;
import cn.estsh.i3plus.pojo.platform.repository.SysMessageRepository; import cn.estsh.i3plus.pojo.platform.repository.SysMessageRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysRefUserMessageRepository; import cn.estsh.i3plus.pojo.platform.repository.SysRefUserMessageRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysUserRepository; import cn.estsh.i3plus.pojo.platform.repository.SysUserRepository;
import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack; 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.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.rabbit.core.RabbitTemplate;
@ -36,7 +42,7 @@ public class SysMessageService implements ISysMessageService {
private SysMessageRepository sysMessageRDao; private SysMessageRepository sysMessageRDao;
@Autowired @Autowired
private SysRefUserMessageRepository refUserMessageRDao; private SysRefUserMessageRepository sysRefUserMessageRDao;
@Autowired @Autowired
private SysUserRepository sysUserRDao; private SysUserRepository sysUserRDao;
@ -48,36 +54,42 @@ public class SysMessageService implements ISysMessageService {
private RabbitTemplate rabbitTemplate; private RabbitTemplate rabbitTemplate;
@Override @Override
@ApiOperation(value = "添加消息")
public SysMessage insertSysMessage(SysMessage sysMessage) { public SysMessage insertSysMessage(SysMessage sysMessage) {
return sysMessageRDao.insert(sysMessage); return sysMessageRDao.insert(sysMessage);
} }
@Override @Override
@ApiOperation(value = "删除消息")
public void deleteSysMessageById(Long id) { public void deleteSysMessageById(Long id) {
LOGGER.info("消息 SYS_MESSAGE id:{}",id); LOGGER.info("消息 SYS_MESSAGE id:{}",id);
refUserMessageRDao.deleteByProperty("messageId",id); sysRefUserMessageRDao.deleteByProperty("messageId",id);
sysMessageRDao.deleteById(id); sysMessageRDao.deleteById(id);
} }
@Override @Override
@ApiOperation(value = "修改消息")
public void updateSysMessage(SysMessage sysMessage){ public void updateSysMessage(SysMessage sysMessage){
LOGGER.info("消息 SYS_MESSAGE :{}",sysMessage); LOGGER.info("消息 SYS_MESSAGE :{}",sysMessage);
sysMessageRDao.update(sysMessage); sysMessageRDao.update(sysMessage);
} }
@Override @Override
@ApiOperation(value = "查询全部信息")
public List<SysMessage> listSysMessage(){ public List<SysMessage> listSysMessage(){
LOGGER.info("消息 SYS_MESSAGE list"); LOGGER.info("消息 SYS_MESSAGE list");
return sysMessageRDao.list(); return sysMessageRDao.list();
} }
@Override @Override
@ApiOperation(value = "根据id查询消息")
public SysMessage getSysMessageById(Long id) { public SysMessage getSysMessageById(Long id) {
LOGGER.info("消息 SYS_MESSAGE id:{}",id); LOGGER.info("消息 SYS_MESSAGE id:{}",id);
return sysMessageRDao.getById(id); return sysMessageRDao.getById(id);
} }
@Override @Override
@ApiOperation(value = "系统消息复杂查询,分页,排序")
public ListPager querySysMessageByPager(SysMessage sysMessage, Pager pager) { public ListPager querySysMessageByPager(SysMessage sysMessage, Pager pager) {
LOGGER.info("消息 SYS_MESSAGE SysMessage:{}Pager:{}",sysMessage,pager); LOGGER.info("消息 SYS_MESSAGE SysMessage:{}Pager:{}",sysMessage,pager);
if(sysMessage == null) { 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 @Override
@ApiOperation(value = "批量删除消息")
public void deleteSysMessageByIds(Long[] ids) { public void deleteSysMessageByIds(Long[] ids) {
LOGGER.info("消息 SYS_MESSAGE ids:{}", ids.toString()); LOGGER.info("消息 SYS_MESSAGE ids:{}", ids.toString());
sysMessageRDao.deleteByIds(ids); 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 @Override
@ApiOperation(value = "添加用户消息关系")
public SysRefUserMessage insertSysRefUserMessage(SysRefUserMessage refUserMessage) { public SysRefUserMessage insertSysRefUserMessage(SysRefUserMessage refUserMessage) {
return refUserMessageRDao.insert(refUserMessage); return sysRefUserMessageRDao.insert(refUserMessage);
} }
@Override @Override
@ApiOperation(value = "添加消息并发送")
public void doSendSysMessage(SysMessage sysMessage) { public void doSendSysMessage(SysMessage sysMessage) {
// 判断消息类型推送到对应的队列 // 判断消息类型推送到对应的队列
if(ImppEnumUtil.MESSAGE_TYPE.MAIL.getValue() == sysMessage.getMessageType().intValue()){ 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); 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);
}
} }

@ -1,6 +1,7 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysOrderNoRuleService; 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.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper; import cn.estsh.i3plus.pojo.base.common.PagerHelper;
@ -82,8 +83,33 @@ public class SysOrderNoRuleService implements ISysOrderNoRuleService {
} }
@Override @Override
public SysOrderNoRule getSysOrderNoRuleCode(String code) { public synchronized SysOrderNoRule getSysOrderNoRuleCode(String code) {
return sysOrderNoRuleRDao.getByProperty("code",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);
} }

@ -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.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authc.AuthenticationException; import org.apache.shiro.authc.AuthenticationException;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -24,7 +25,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashSet;
import java.util.List; import java.util.List;
/** /**
@ -73,6 +73,7 @@ public class SysUserService implements ISysUserService {
private SysPositionRepository sysPositionRDao; private SysPositionRepository sysPositionRDao;
@Override @Override
@ApiOperation(value = "用户登录", notes = "用户登录功能实现")
public SessionUser queryUserLogin(String loginName, String password, String languageCode) throws AuthenticationException { public SessionUser queryUserLogin(String loginName, String password, String languageCode) throws AuthenticationException {
LOGGER.debug("平台用户 SYS_USER loginName:{} \t password:{} \t languageCode:{}", loginName, password, languageCode); LOGGER.debug("平台用户 SYS_USER loginName:{} \t password:{} \t languageCode:{}", loginName, password, languageCode);
@ -96,6 +97,7 @@ public class SysUserService implements ISysUserService {
} }
@Override @Override
@ApiOperation(value = "修改账号", notes = "修改账号状态")
public void updateSysUserStatus(Long id, int status, SessionUser user) { public void updateSysUserStatus(Long id, int status, SessionUser user) {
LOGGER.debug("平台用户 SYS_USER id:{} status:{} modifyUser:{}", id, status, user.getUserName()); LOGGER.debug("平台用户 SYS_USER id:{} status:{} modifyUser:{}", id, status, user.getUserName());
SysUser sysUser = sysUserRDao.getById(id); SysUser sysUser = sysUserRDao.getById(id);
@ -105,6 +107,7 @@ public class SysUserService implements ISysUserService {
} }
@Override @Override
@ApiOperation(value = "修改账号", notes = "批量修改账号状态")
public void updateBatchSysUserStatus(Long[] ids, int status, SessionUser user) { public void updateBatchSysUserStatus(Long[] ids, int status, SessionUser user) {
LOGGER.debug("平台用户 SYS_USER DELETE By ids :{} status:{}, SessionUser :{}", ids,status,user); LOGGER.debug("平台用户 SYS_USER DELETE By ids :{} status:{}, SessionUser :{}", ids,status,user);
@ -121,12 +124,14 @@ public class SysUserService implements ISysUserService {
} }
@Override @Override
@ApiOperation(value = "修改账号", notes = "修改账号信息")
public void updateSysUser(SysUser sysUser) throws Exception{ public void updateSysUser(SysUser sysUser) throws Exception{
LOGGER.debug("平台用户 SYS_USER SysUser :{}", sysUser); LOGGER.debug("平台用户 SYS_USER SysUser :{}", sysUser);
sysUserRDao.save(sysUser); sysUserRDao.save(sysUser);
} }
@Override @Override
@ApiOperation(value = "修改账号", notes = "修改账号登录密码")
public void updateSysUserPassword(Long userId, String password, String newPwd) throws Exception { public void updateSysUserPassword(Long userId, String password, String newPwd) throws Exception {
LOGGER.debug("平台用户 SYS_USER Override:{} password:{} newPwd:{}", userId,password,newPwd); LOGGER.debug("平台用户 SYS_USER Override:{} password:{} newPwd:{}", userId,password,newPwd);
SysUser user = sysUserRDao.getById(userId); SysUser user = sysUserRDao.getById(userId);
@ -154,6 +159,7 @@ public class SysUserService implements ISysUserService {
} }
@Override @Override
@ApiOperation(value = "刷新账号", notes = "刷新账号登录信息")
public void refreshUserLoginInformation(Long userId) { public void refreshUserLoginInformation(Long userId) {
SysUser user = sysUserRDao.getById(userId); SysUser user = sysUserRDao.getById(userId);
SysUserInfo userInfo = sysUserInfoRDao.getById(user.getUserInfoId()); SysUserInfo userInfo = sysUserInfoRDao.getById(user.getUserInfoId());
@ -168,6 +174,7 @@ public class SysUserService implements ISysUserService {
} }
@Override @Override
@ApiOperation(value = "新增账号", notes = "新增账号信息")
public SysUser insertSysUser(SysUser sysUser)throws Exception { public SysUser insertSysUser(SysUser sysUser)throws Exception {
LOGGER.debug("平台用户 SYS_USER SysUser:{}", sysUser); LOGGER.debug("平台用户 SYS_USER SysUser:{}", sysUser);
@ -188,6 +195,7 @@ public class SysUserService implements ISysUserService {
} }
@Override @Override
@ApiOperation(value = "新增账号", notes = "新增账号信息")
public void refreshSysRefUserRole(SysUser sysUser, Long[] roleIds, String userName) { public void refreshSysRefUserRole(SysUser sysUser, Long[] roleIds, String userName) {
LOGGER.debug("平台用户 SYS_USER SysUser:{}", sysUser); LOGGER.debug("平台用户 SYS_USER SysUser:{}", sysUser);
LOGGER.debug("平台用户 SYS_USER String[] :{}", roleIds); LOGGER.debug("平台用户 SYS_USER String[] :{}", roleIds);
@ -230,6 +238,7 @@ public class SysUserService implements ISysUserService {
} }
@Override @Override
@ApiOperation(value = "删除账号", notes = "删除账号信息,逻辑删除,账号关系业务物理删除")
public void deleteSysUserById(Long id) { public void deleteSysUserById(Long id) {
LOGGER.debug("平台用户 SYS_USER DELETE By id :{}", id); LOGGER.debug("平台用户 SYS_USER DELETE By id :{}", id);
sysUserRDao.updateByProperties("id", id, "isValid", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); sysUserRDao.updateByProperties("id", id, "isValid", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
@ -241,6 +250,7 @@ public class SysUserService implements ISysUserService {
} }
@Override @Override
@ApiOperation(value = "删除账号", notes = "批量删除账号信息,逻辑删除,账号关系业务物理删除")
public void deleteBatchSysUserById(Long[] ids,SessionUser user) { public void deleteBatchSysUserById(Long[] ids,SessionUser user) {
LOGGER.debug("平台用户 SYS_USER DELETE By ids :{}", ids); LOGGER.debug("平台用户 SYS_USER DELETE By ids :{}", ids);
@ -258,12 +268,14 @@ public class SysUserService implements ISysUserService {
} }
@Override @Override
@ApiOperation(value = "账号查询", notes = "查询所有账号信息")
public List<SysUser> list() { public List<SysUser> list() {
LOGGER.debug("平台用户 SYS_USER find All"); LOGGER.debug("平台用户 SYS_USER find All");
return sysUserRDao.findByProperty("isValid", CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); return sysUserRDao.findByProperty("isValid", CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
} }
@Override @Override
@ApiOperation(value = "账号分页查询", notes = "组合查询")
public ListPager<SysUser> querySysUserByPager(SysUser user, Pager pager) { public ListPager<SysUser> querySysUserByPager(SysUser user, Pager pager) {
LOGGER.debug("系统用户 SysUser find user :{} page :{}", user, pager); LOGGER.debug("系统用户 SysUser find user :{} page :{}", user, pager);
@ -274,17 +286,20 @@ public class SysUserService implements ISysUserService {
} }
@Override @Override
@ApiOperation(value = "账号查询", notes = "根据ID 查询账号信息")
public SysUser getSysUserById(Long id) { public SysUser getSysUserById(Long id) {
LOGGER.debug("平台用户 SYS_USER get By id :{}", id); LOGGER.debug("平台用户 SYS_USER get By id :{}", id);
return sysUserRDao.getById(id); return sysUserRDao.getById(id);
} }
@Override @Override
@ApiOperation(value = "用户查询", notes = "根据ID 查询用户信息")
public SysUserInfo getSysUserInfoById(Long id) { public SysUserInfo getSysUserInfoById(Long id) {
return sysUserInfoRDao.getByProperty("id",id); return sysUserInfoRDao.getByProperty("id",id);
} }
@Override @Override
@ApiOperation(value = "账号查询", notes = "根据登录名查询用户信息")
public SysUser getSysUserByLoginName(String loginName) { public SysUser getSysUserByLoginName(String loginName) {
LOGGER.debug("平台用户 SYS_USER find By Login Name :{}", loginName); LOGGER.debug("平台用户 SYS_USER find By Login Name :{}", loginName);
return sysUserRDao.getByProperty(new String[]{"userLoginName", "isValid"}, return sysUserRDao.getByProperty(new String[]{"userLoginName", "isValid"},
@ -292,12 +307,28 @@ public class SysUserService implements ISysUserService {
} }
@Override @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<SysRefUserRole> findSysRefUserRoleByUserId(Long userId) { public List<SysRefUserRole> findSysRefUserRoleByUserId(Long userId) {
return refUserRoleRDao.findByProperty("userId",userId); return refUserRoleRDao.findByProperty("userId",userId);
} }
@Override @Override
public boolean checkLoginName(String userLoginName, long id) { @ApiOperation(value = "检查-账号登录名", notes = "判断账号是否存在")
public boolean checkSysUserLoginName(String userLoginName, long id) {
int count; int count;
if(id > 0){ if(id > 0){
StringBuffer sw = new StringBuffer(); StringBuffer sw = new StringBuffer();
@ -311,6 +342,74 @@ public class SysUserService implements ISysUserService {
return count <= 0 ; 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 {
} }
} }
} }

@ -30,21 +30,21 @@ public class OrderNoMakeUtil {
// 流水号长度补全 // 流水号长度补全
String serialNumberFormatStr = MessageFormat.format(PlatformConstWords.SERIAL_NO_FORMAT, orderNoRule.getSerialNoLength()); String serialNumberFormatStr = MessageFormat.format(PlatformConstWords.SERIAL_NO_FORMAT, orderNoRule.getSerialNoLength());
if (orderNoRule.getLastMakeSerialNo() > 0) { if (orderNoRule.getSerialNo() > 0) {
int serialNo = orderNoRule.getLastMakeSerialNo() + orderNoRule.getSerialNoIncrement(); Long serialNo = orderNoRule.getSerialNo() + orderNoRule.getSerialNoIncrement();
// 达到最大值后循环或继续 // 达到最大值后循环或继续
if(orderNoRule.getSerialNoLength().intValue() < String.valueOf(serialNo).length() if(orderNoRule.getSerialNoLength().intValue() < String.valueOf(serialNo).length()
&& orderNoRule.getIsCycle() == CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()){ && orderNoRule.getIsCycle() == CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()){
orderNoRule.setLastMakeSerialNo(orderNoRule.getSerialNoSeed()); orderNoRule.setSerialNo(orderNoRule.getSerialNoSeed());
} else { } else {
orderNoRule.setLastMakeSerialNo(orderNoRule.getLastMakeSerialNo() + orderNoRule.getSerialNoIncrement()); orderNoRule.setSerialNo(orderNoRule.getSerialNo() + orderNoRule.getSerialNoIncrement());
} }
} else { } 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; return orderNoRule;
} }

@ -4,10 +4,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.websocket.OnClose; import javax.websocket.*;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.PathParam; import javax.websocket.server.PathParam;
import javax.websocket.server.ServerEndpoint; import javax.websocket.server.ServerEndpoint;
import java.io.IOException; import java.io.IOException;
@ -29,7 +26,7 @@ public class DemoWebSocket {
private static int onlineCount = 0; private static int onlineCount = 0;
//concurrent线程安全集合存放客户端websocket对象 //concurrent线程安全集合存放客户端websocket对象
private static CopyOnWriteArraySet<DemoWebSocket> webSocketSet = new CopyOnWriteArraySet<DemoWebSocket>(); private static CopyOnWriteArraySet<DemoWebSocket> webSocketMap = new CopyOnWriteArraySet<DemoWebSocket>();
//websocket会话 //websocket会话
private Session session; private Session session;
@ -37,7 +34,7 @@ public class DemoWebSocket {
@OnOpen @OnOpen
public void onOpen(@PathParam("userName")String userName, Session session){ public void onOpen(@PathParam("userName")String userName, Session session){
this.session = session; this.session = session;
webSocketSet.add(this); //加入set中 webSocketMap.add(this); //加入set中
addOnlineCount(); //在线数加1 addOnlineCount(); //在线数加1
LOGGER.info("{}加入!当前在线人数为{}",userName,getOnlineCount()); LOGGER.info("{}加入!当前在线人数为{}",userName,getOnlineCount());
try { try {
@ -52,7 +49,7 @@ public class DemoWebSocket {
*/ */
@OnClose @OnClose
public void onClose() { public void onClose() {
webSocketSet.remove(this); //从set中删除 webSocketMap.remove(this); //从set中删除
subOnlineCount(); //在线数减1 subOnlineCount(); //在线数减1
LOGGER.info("有一连接关闭!当前在线人数为" + getOnlineCount()); LOGGER.info("有一连接关闭!当前在线人数为" + getOnlineCount());
} }
@ -66,7 +63,7 @@ public class DemoWebSocket {
LOGGER.info("来自客户端的消息:" + message); LOGGER.info("来自客户端的消息:" + message);
//群发消息 //群发消息
for (DemoWebSocket item : webSocketSet) { for (DemoWebSocket item : webSocketMap) {
try { try {
item.sendMessage(message); item.sendMessage(message);
} catch (IOException e) { } catch (IOException e) {
@ -79,6 +76,7 @@ public class DemoWebSocket {
* *
* @OnError * @OnError
*/ */
@OnError
public void onError(Session session, Throwable error) { public void onError(Session session, Throwable error) {
LOGGER.info("发生错误"); LOGGER.info("发生错误");
error.printStackTrace(); error.printStackTrace();
@ -93,7 +91,7 @@ public class DemoWebSocket {
* *
* */ * */
public static void sendInfo(String message) throws IOException { public static void sendInfo(String message) throws IOException {
for (DemoWebSocket item : webSocketSet) { for (DemoWebSocket item : webSocketMap) {
try { try {
item.sendMessage(message); item.sendMessage(message);
} catch (IOException e) { } catch (IOException e) {

@ -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<Long,MessageWebSocket> webSocketSet = new ConcurrentHashMap<Long,MessageWebSocket>();
@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);
}
}

@ -3,9 +3,9 @@
<!--全局参数--> <!--全局参数-->
<Properties> <Properties>
<!-- %d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n --> <!-- %d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n -->
<Property name="pattern">[%p] %d{yyyy-MM-dd HH:mm:ss-SSS} %l:%m%n</Property> <Property name="pattern">[%p] %d{yyyy-MM-dd HH:mm:ss-SSS} %l 信息:%m%n</Property>
<Property name="info_pattern">[%p] %d{HH:mm:ss-SSS} (%c:%L)%M ==》 %m%n</Property> <Property name="info_pattern">[%p] %d{HH:mm:ss-SSS} %c(%M:%L) 信息:%m%n</Property>
<Property name="system_log_pattern">[SYS-%p] %m (%F:%M:%L %d{HH:mm:ss-SSS})%n</Property> <Property name="system_log_pattern">[SYS-%p] 系统:%m (%d{HH:mm:ss-SSS} %F -> %M:%L)%n</Property>
</Properties> </Properties>
<Loggers> <Loggers>
<Root level="${log4j2.level}"> <Root level="${log4j2.level}">

@ -14,14 +14,14 @@ import org.junit.Test;
public class TestOrderNoMakeUtil extends TestBase { public class TestOrderNoMakeUtil extends TestBase {
@Test @Test
public void TestMakeOrderNO() { public void TestMakeOrderNo() {
SysOrderNoRule sysOrderNoRule = new SysOrderNoRule(); SysOrderNoRule sysOrderNoRule = new SysOrderNoRule();
sysOrderNoRule.setName("一号单据"); sysOrderNoRule.setName("一号单据");
sysOrderNoRule.setOrderNoRule("GG-{yyyy}{MM}{dd}{serialNo}"); sysOrderNoRule.setOrderNoRule("GG-{yyyy}{MM}{dd}{serialNo}");
sysOrderNoRule.setSerialNoSeed(1); sysOrderNoRule.setSerialNoSeed(1L);
sysOrderNoRule.setSerialNoIncrement(1); sysOrderNoRule.setSerialNoIncrement(1L);
sysOrderNoRule.setSerialNoLength(4); sysOrderNoRule.setSerialNoLength(4L);
sysOrderNoRule.setLastMakeSerialNo(9999); sysOrderNoRule.setSerialNo(9999L);
sysOrderNoRule.setIsCycle(1); sysOrderNoRule.setIsCycle(1);
System.out.println(OrderNoMakeUtil.next(sysOrderNoRule)); System.out.println(OrderNoMakeUtil.next(sysOrderNoRule));

@ -21,7 +21,7 @@
</parent> </parent>
<properties> <properties>
<!--项目名称,需要修改,参照CommonEnumUtil.SOFT_TYPE--> <!--项目名称,参照CommonEnumUtil.SOFT_TYPE-->
<project.name>i3core</project.name> <project.name>i3core</project.name>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

Loading…
Cancel
Save