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.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<SysMessage> 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);
}

@ -31,4 +31,7 @@ public interface ISysOrderNoRuleService {
@ApiOperation(value = "根据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);
/**
*
* @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);
}

@ -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());
}
}
}

@ -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);
}
}
}

@ -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);

@ -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);
}
}
}

@ -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<SysMessage> 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);
}
}
}

@ -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);
}
}
}

@ -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());
}

@ -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());
}

@ -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());
}
}
}

@ -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) {

@ -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);

@ -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());
}

@ -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<CommonTreeModel> findOrganizeDepartment(long parentId) {
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){
@ -357,7 +362,11 @@ public class CoreTreeService implements ICoreTreeService {
if(bean instanceof SysOrganize){
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){
for (SysOrganize org : organizeList) {
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){
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<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){
for (SysDepartment dep : departmentList) {
treeModel = new CommonTreeModel();

@ -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);
}
}

@ -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<SysMessage> 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);
}
}

@ -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);
}

@ -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<SysUser> list() {
LOGGER.debug("平台用户 SYS_USER find All");
return sysUserRDao.findByProperty("isValid", CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
}
@Override
@ApiOperation(value = "账号分页查询", notes = "组合查询")
public ListPager<SysUser> 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<SysRefUserRole> 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 {
}
}
}

@ -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;
}

@ -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<DemoWebSocket> webSocketSet = new CopyOnWriteArraySet<DemoWebSocket>();
private static CopyOnWriteArraySet<DemoWebSocket> webSocketMap = new CopyOnWriteArraySet<DemoWebSocket>();
//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) {

@ -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>
<!-- %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="info_pattern">[%p] %d{HH:mm:ss-SSS} (%c:%L)%M ==》 %m%n</Property>
<Property name="system_log_pattern">[SYS-%p] %m (%F:%M:%L %d{HH:mm:ss-SSS})%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(%M:%L) 信息:%m%n</Property>
<Property name="system_log_pattern">[SYS-%p] 系统:%m (%d{HH:mm:ss-SSS} %F -> %M:%L)%n</Property>
</Properties>
<Loggers>
<Root level="${log4j2.level}">

@ -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));

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

Loading…
Cancel
Save