Merge remote-tracking branch 'origin/dev' into test

yun-zuoyi
jenkins 6 years ago
commit 88c3c6b685

@ -131,12 +131,12 @@ public interface ISysMessageService {
* @param id
*/
@ApiOperation(value = "删除用户消息")
void deleteSysRefUserMessageStatusById(Long id);
void deleteSysRefUserMessageById(Long id);
/**
*
* @param ids
*/
@ApiOperation(value = "批量删除用户消息")
void deleteSysRefUserMessageStatusByIds(Long[] ids);
void deleteSysRefUserMessageByIds(Long[] ids);
}

@ -0,0 +1,19 @@
package cn.estsh.i3plus.core.api.iservice.busi;
import io.swagger.annotations.ApiOperation;
/**
* @Description :
* @Reference :
* @Author : alwaysfrin
* @CreateDate : 2019-04-29 17:16
* @Modify:
**/
public interface ITestTransService {
@ApiOperation(value = "两类dao混用测试entityManager")
void testListTran(int type,String name);
@ApiOperation(value = "自定义dao混用")
void testListTranSec(int type,String name);
}

@ -0,0 +1,52 @@
package cn.estsh.i3plus.core.apiservice.controller;
import cn.estsh.i3plus.core.api.iservice.busi.ITestTransService;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.impp.framework.base.controller.CoreBaseController;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.fastdfs.FastDFSClient;
import cn.estsh.impp.framework.boot.fastdfs.FastDFSFile;
import cn.estsh.impp.framework.boot.util.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
/**
* @Description : entityManager
* @Reference :
* @Author : alwaysfrin
* @CreateDate : 2019-04-29 17:20
* @Modify:
**/
@RestController
@Api(description="对事务以及entityManager的操作演示")
@RequestMapping(PlatformConstWords.BASE_URL + "/demo-trans")
public class DemoTransactionController extends CoreBaseController{
private static final Logger LOGGER = LoggerFactory.getLogger(DemoTransactionController.class);
@Autowired
private ITestTransService transService;
@PostMapping("/test1")
@ApiOperation(value = "dao混合调用")
public ResultBean transTest1(int type,String name) {
transService.testListTran(type,name);
return ResultBean.success("测试成功");
}
@PostMapping("/test2")
@ApiOperation(value = "dao混合调用2")
public ResultBean transTest2(int type,String name) {
transService.testListTranSec(type,name);
return ResultBean.success("测试成功");
}
}

@ -5,7 +5,6 @@ import cn.estsh.i3plus.core.api.iservice.busi.ISysUserService;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
@ -13,11 +12,9 @@ import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.model.platform.MessagePagerModel;
import cn.estsh.i3plus.pojo.model.platform.RefUserMessagePagerModel;
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;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
@ -43,7 +40,7 @@ import java.util.stream.Collectors;
* @Modify :
**/
@RestController
@RequestMapping(PlatformConstWords.BASE_URL)
@RequestMapping("/impp")
@Api(description = "消息管理服务")
public class SysMessageController extends CoreBaseController {
public static final Logger LOGGER = LoggerFactory.getLogger(SysMessageController.class);
@ -54,9 +51,273 @@ public class SysMessageController extends CoreBaseController {
@Autowired
private ISysUserService sysUserService;
@PostMapping(value = "/sys-message/insert")
/*************************************************** 平台系统消息 **************************************************/
/**
* CORE -
* @param sysMessage
* @return
*/
@PostMapping(value = "/operate/sys-message/insert")
@ApiOperation(value = "新增消息",notes = "新增消息")
public ResultBean<SysMessage> insertSysMessage(SysMessage sysMessage){
public ResultBean<SysMessage> insertSysMessage(@RequestBody SysMessage sysMessage){
sysMessage = sysMessage == null ? new SysMessage() : sysMessage;
sysMessage.setMessageSoftType(CommonEnumUtil.SOFT_TYPE.CORE.getValue());
return basaeInsertSysMessage(sysMessage);
}
/**
* CORE -
* @param id
* @return
*/
@DeleteMapping("/operate/sys-message/delete/{id}")
@ApiOperation(value = "根据id删除消息",notes = "根据id删除消息")
public ResultBean deleteSysMessageById(@PathVariable("id") String id){
return baseDeleteSysMessageById(id);
}
/**
* CORE -
* @param sysMessage
* @return
*/
@PutMapping("/operate/sys-message/update")
@ApiOperation(value = "修改信息",notes = "修改信息")
public ResultBean updateSysMessage(SysMessage sysMessage){
sysMessage = sysMessage == null ? new SysMessage() : sysMessage;
sysMessage.setMessageSoftType(CommonEnumUtil.SOFT_TYPE.CORE.getValue());
return baseUpdateSysMessage(sysMessage);
}
/**
*
* @return
*/
@GetMapping(value = "/operate/sys-message/list")
@ApiOperation(value = "查询全部消息",notes = "查询全部消息")
public ResultBean findSysMessageAll(){
try {
List<SysMessage> sysMessageList = sysMessageService.listSysMessage();
return ResultBean.success("操作成功").setResultList(sysMessageList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
* CORE - id
* @param idStr id
* @return
*/
@GetMapping(value = "/operate/sys-message/get/{id}")
@ApiOperation(value = "根据id查询消息",notes = "根据id查询消息")
public ResultBean<SysMessage> getSysMessageById(@PathVariable("id") String idStr){
return baseGetSysMessageById(idStr);
}
/**
* CORE -
* @param messagePagerModel
* @return
*/
@PostMapping(value = "/operate/sys-message/query")
@ApiOperation(value = "消息复杂查询,分页,排序",notes = "消息复杂查询,分页,排序")
public ResultBean<SysMessage> querySysMessageByPager(@RequestBody MessagePagerModel messagePagerModel){
return baseQuerySysMessageByPager(messagePagerModel);
}
/**
* CORE -
* @param ids ids
* @return
*/
@DeleteMapping("/operate/sys-message/batch-delete")
@ApiOperation(value = "批量删除消息",notes = "批量删除消息")
public ResultBean deleteSysMessageByIds(String[] ids){
return baseDeleteSysMessageByIds(ids);
}
/*********************************************** 平台用户系统消息 *********************************************/
/**
* CORE -
* @param sysRefUserMessage
* @param pager
* @return
*/
@GetMapping(value = "/operate/user-message/query-inbox")
@ApiOperation(value = "查询用户收件箱,分页,排序")
public ResultBean<SysMessage> 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);
}
}
/**
* CORE -
* @param sysMessage
* @param pager
* @return
*/
@GetMapping(value = "/operate/user-message/query-outbox")
@ApiOperation(value = "查询用户发件箱,分页,排序")
public ResultBean<SysMessage> queryOutboxByPager(SysMessage sysMessage,Pager pager){
try {
// 发件人为当前用户
sysMessage.setMessageType(ImppEnumUtil.MESSAGE_TYPE.LETTER.getValue());
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);
}
}
/**
* CORE -
* @return
*/
@GetMapping(value = "/operate/user-message/find-unread")
@ApiOperation(value = "查看用户未读站内信")
public ResultBean<SysRefUserMessage> findUnreadUserMessage(){
try {
List<SysRefUserMessage> userMessageList = sysMessageService.findSysRefUserMessageByUserIdAndStatus(
getSessionUser().getUser().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);
}
}
/**
* CORE - id
* @param idStr
* @return
*/
@GetMapping(value = "/operate/user-message/get/{id}")
@ApiOperation(value = "根据用户消息id查询消息",notes = "根据用户消息id查询消息")
public ResultBean<SysMessage> getUserMessageById(@PathVariable("id") String idStr){
return baseGetUserMessageById(idStr);
}
/**
* CORE -
* @param ids ids
* @param status
* @return
*/
@PutMapping("/operate/user-message/batch-status")
@ApiOperation(value = "批量切换消息状态",notes = "批量切换消息状态")
public ResultBean updateSysMessageStatusByIds(String[] ids,Integer status){
return baseUpdateSysMessageStatusByIds(ids, status);
}
/**
* id
* @param idStr id
* @return
*/
@DeleteMapping(value = "/operate/user-message/delete-inbox/{id}")
@ApiOperation(value = "根据id删除用户消息")
public ResultBean deleteUserMessageById(@PathVariable("id") String idStr){
try {
sysMessageService.deleteSysRefUserMessageById(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 = "/operate/user-message/batch-delete-inbox")
@ApiOperation(value = "根据id批量删除用户消息")
public ResultBean deleteUserMessageByIds(String[] idsStr){
try {
sysMessageService.deleteSysRefUserMessageByIds(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);
}
}
@PostMapping(value = "/operate/user-message/insert")
@ApiOperation(value = "用户新增消息",notes = "用户新增消息")
public ResultBean insertUserMessage(SysMessage sysMessage) {
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 条件校验
ValidatorBean.beginValid(sysMessage)
.notNull("messageTitle",sysMessage.getMessageTitle())
.notNull("messageContent",sysMessage.getMessageContent())
.notNull("messageReceiversId",sysMessage.getMessageReceiversId());
// 设置发件人名称
sysMessage.setMessageType(ImppEnumUtil.MESSAGE_TYPE.LETTER.getValue());
sysMessage.setMessageSenderId(getSessionUser().getUser().getId());
sysMessage.setMessageSenderNameRdd(getSessionUser().getUserName());
sysMessage.setMessageSendTime(sdf.format(new Date()));
sysMessage.setMessageContentType(ImppEnumUtil.MESSAGE_TYPE_CONTENT.HTML.getValue());
sysMessage.setMessageReceiverType(ImppEnumUtil.MESSAGE_RECEIVER_TYPE.INTERNAL.getValue());
sysMessageService.doSendSysMessage(sysMessage);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
*
* @param refUserMessagePagerModel
* @return
*/
@PostMapping(value = "/operate/user-message/query")
@ApiOperation(value = "消息复杂查询,分页,排序",notes = "消息复杂查询,分页,排序")
public ResultBean<SysRefUserMessage> querySysRefUserMessageByPager(@RequestBody RefUserMessagePagerModel refUserMessagePagerModel){
return baseQuerySysRefUserMessageByPager(refUserMessagePagerModel);
}
/**
*
* @param idStr id
* @return
*/
@DeleteMapping(value = "/operate/user-message/delete/{id}")
@ApiOperation(value = "消息复杂查询,分页,排序",notes = "消息复杂查询,分页,排序")
public ResultBean<SysRefUserMessage> deleteSysRefUserMessageById(@PathVariable("id") String idStr){
return baseDeleteSysRefUserMessageById(idStr);
}
/*********************************************** 系统消息通用方法 ***********************************************/
/**
* - -
* @param sysMessage
* @return
*/
private ResultBean basaeInsertSysMessage(SysMessage sysMessage){
try {
// 条件校验
ValidatorBean.beginValid(sysMessage)
@ -98,9 +359,12 @@ public class SysMessageController extends CoreBaseController {
}
}
@DeleteMapping("/sys-message/delete/{id}")
@ApiOperation(value = "根据id删除消息",notes = "根据id删除消息")
public ResultBean deleteSysMessageById(@PathVariable("id") String id){
/**
* - - id
* @param id
* @return
*/
private ResultBean baseDeleteSysMessageById(String id){
try {
// 条件校验
ValidatorBean.checkNotNull(id,"id不能为空");
@ -114,9 +378,12 @@ public class SysMessageController extends CoreBaseController {
}
}
@PutMapping("/sys-message/update")
@ApiOperation(value = "修改信息",notes = "修改信息")
public ResultBean updateSysMessage(SysMessage sysMessage){
/**
* - -
* @param sysMessage
* @return
*/
private ResultBean baseUpdateSysMessage(SysMessage sysMessage){
try {
// 条件校验
ValidatorBean.beginValid(sysMessage)
@ -133,22 +400,12 @@ public class SysMessageController extends CoreBaseController {
}
}
@GetMapping(value = "/sys-message/list")
@ApiOperation(value = "查询全部消息",notes = "查询全部消息")
public ResultBean findSysMessageAll(){
try {
List<SysMessage> sysMessageList = sysMessageService.listSysMessage();
return ResultBean.success("操作成功").setResultList(sysMessageList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping(value = "/sys-message/get/{id}")
@ApiOperation(value = "根据id查询消息",notes = "根据id查询消息")
public ResultBean<SysMessage> getSysMessageById(@PathVariable("id") String idStr){
/**
* - - id
* @param idStr
* @return
*/
private ResultBean<SysMessage> baseGetSysMessageById(String idStr){
try {
SysMessage sysMessage = sysMessageService.getSysMessageById(Long.parseLong(idStr));
if (sysMessage != null) {
@ -163,9 +420,12 @@ public class SysMessageController extends CoreBaseController {
}
}
@PostMapping(value = "/sys-message/query")
@ApiOperation(value = "消息复杂查询,分页,排序",notes = "消息复杂查询,分页,排序")
public ResultBean<SysMessage> querySysMessageByPager(@RequestBody MessagePagerModel messagePagerModel){
/**
* - -
* @param messagePagerModel
* @return
*/
private ResultBean<SysMessage> baseQuerySysMessageByPager(@RequestBody MessagePagerModel messagePagerModel){
try {
ListPager sysMessageListPager = sysMessageService.querySysMessageByPager(messagePagerModel.getSysMessage(),
messagePagerModel.getPager());
@ -177,9 +437,12 @@ public class SysMessageController extends CoreBaseController {
}
}
@DeleteMapping("/sys-message/batch-delete")
@ApiOperation(value = "批量删除消息",notes = "批量删除消息")
public ResultBean deleteSysMessageByIds(String[] ids){
/**
* - -
* @param ids id
* @return
*/
public ResultBean baseDeleteSysMessageByIds(String[] ids){
try{
// 条件判断
ids = ConvertBean.modelSafeArrayNumber(ids,true);
@ -199,57 +462,14 @@ public class SysMessageController extends CoreBaseController {
}
}
@GetMapping(value = "/user-message/query-inbox")
@ApiOperation(value = "查询用户收件箱,分页,排序")
public ResultBean<SysMessage> 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<SysMessage> queryOutboxByPager(SysMessage sysMessage,Pager pager){
try {
// 发件人为当前用户
sysMessage.setMessageType(ImppEnumUtil.MESSAGE_TYPE.LETTER.getValue());
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<SysRefUserMessage> findUnreadUserMessage(){
try {
List<SysRefUserMessage> userMessageList = sysMessageService.findSysRefUserMessageByUserIdAndStatus(
getSessionUser().getUser().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<SysMessage> getUserMessageById(@PathVariable("id") String idStr){
/**
* - id
* @param idStr
* @return
*/
private ResultBean<SysMessage> baseGetUserMessageById(String idStr){
try {
ValidatorBean.checkNotNull(idStr,"id");
@ -266,9 +486,13 @@ public class SysMessageController extends CoreBaseController {
}
}
@PutMapping("/user-message/batch-status")
@ApiOperation(value = "批量切换消息状态",notes = "批量切换消息状态")
public ResultBean updateSysMessageStatusByIds(String[] ids,Integer status){
/**
* -
* @param ids ids
* @param status
* @return
*/
private ResultBean baseUpdateSysMessageStatusByIds(String[] ids,Integer status){
try{
// 条件判断
ValidatorBean.checkNotZero(status,"状态不能为空");
@ -289,68 +513,12 @@ public class SysMessageController extends CoreBaseController {
}
}
@DeleteMapping(value = "/user-message/delete-inbox/{id}")
@ApiOperation(value = "根据id删除用户消息")
public ResultBean deleteUserMessageById(@PathVariable("id") String idStr){
try {
sysMessageService.deleteSysRefUserMessageStatusById(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);
}
}
@PostMapping(value = "/user-message/insert")
@ApiOperation(value = "用户新增消息",notes = "用户新增消息")
public ResultBean insertUserMessage(SysMessage sysMessage) {
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 条件校验
ValidatorBean.beginValid(sysMessage)
.notNull("messageTitle",sysMessage.getMessageTitle())
.notNull("messageContent",sysMessage.getMessageContent())
.notNull("messageReceiversId",sysMessage.getMessageReceiversId());
// 设置发件人名称
sysMessage.setMessageType(ImppEnumUtil.MESSAGE_TYPE.LETTER.getValue());
sysMessage.setMessageSenderId(getSessionUser().getUser().getId());
sysMessage.setMessageSenderNameRdd(getSessionUser().getUserName());
sysMessage.setMessageSendTime(sdf.format(new Date()));
sysMessage.setMessageContentType(ImppEnumUtil.MESSAGE_TYPE_CONTENT.HTML.getValue());
sysMessage.setMessageReceiverType(ImppEnumUtil.MESSAGE_RECEIVER_TYPE.INTERNAL.getValue());
sysMessageService.doSendSysMessage(sysMessage);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
*
* -
* @param refUserMessagePagerModel
* @return
*/
@PostMapping(value = "/user-message/query")
@ApiOperation(value = "消息复杂查询,分页,排序",notes = "消息复杂查询,分页,排序")
public ResultBean<SysRefUserMessage> querySysRefUserMessageByPager(@RequestBody RefUserMessagePagerModel refUserMessagePagerModel){
public ResultBean<SysRefUserMessage> baseQuerySysRefUserMessageByPager(RefUserMessagePagerModel refUserMessagePagerModel){
try {
ListPager sysMessageListPager = sysMessageService.querySysRefUserMessageByPager(
refUserMessagePagerModel.getSysRefUserMessage(),refUserMessagePagerModel.getPager());
@ -363,15 +531,13 @@ public class SysMessageController extends CoreBaseController {
}
/**
*
* - id
* @param idStr id
* @return
*/
@DeleteMapping(value = "/user-message/delete/{id}")
@ApiOperation(value = "消息复杂查询,分页,排序",notes = "消息复杂查询,分页,排序")
public ResultBean<SysRefUserMessage> deleteSysRefUserMessageById(@PathVariable("id") String idStr){
public ResultBean<SysRefUserMessage> baseDeleteSysRefUserMessageById(String idStr){
try {
sysMessageService.deleteSysRefUserMessageStatusById(Long.parseLong(idStr));
sysMessageService.deleteSysRefUserMessageById(Long.parseLong(idStr));
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);

@ -0,0 +1,25 @@
package cn.estsh.i3plus.core.apiservice.dao;
import cn.estsh.i3plus.pojo.platform.bean.SysTool;
import cn.estsh.i3plus.pojo.platform.bean.SysUser;
import cn.estsh.i3plus.pojo.platform.bean.SysUserInfo;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : alwaysfrin
* @CreateDate : 2019-04-29 17:19
* @Modify:
**/
public interface ITestTransDao {
List listUser(String name);
SysUserInfo getUser(String name);
SysTool getSysTool(String name);
List listSysTool(String name);
}

@ -0,0 +1,26 @@
package cn.estsh.i3plus.core.apiservice.dao;
import cn.estsh.i3plus.pojo.platform.bean.SysTool;
import cn.estsh.i3plus.pojo.platform.bean.SysUserInfo;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : alwaysfrin
* @CreateDate : 2019-04-29 17:20
* @Modify:
**/
@Repository
public interface ITransDaoSec extends CrudRepository<SysTool,Long> {
List<SysTool> findByName(String name);
//按位查询
@Query("select u from SysTool u where name = :uname")
List<SysTool> findSysToolByName(String uname);
}

@ -0,0 +1,114 @@
package cn.estsh.i3plus.core.apiservice.daoimpl;
import cn.estsh.i3plus.core.apiservice.dao.ITestTransDao;
import cn.estsh.i3plus.pojo.platform.bean.SysTool;
import cn.estsh.i3plus.pojo.platform.bean.SysUser;
import cn.estsh.i3plus.pojo.platform.bean.SysUserInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import javax.persistence.metamodel.EntityType;
import javax.persistence.metamodel.ManagedType;
import javax.persistence.metamodel.Metamodel;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : alwaysfrin
* @CreateDate : 2019-04-29 17:31
* @Modify:
**/
@Service
public class TestTransDaoImpl implements ITestTransDao {
@Autowired
private EntityManager entityManager;
@Override
public List listUser(String name) {
System.out.println("======listUser=====");
Metamodel mm = entityManager.getMetamodel();
for(EntityType<?> s : mm.getEntities()){
System.out.println("entityType : " + s.getName());
}
for(ManagedType<?> s : mm.getEntities()){
System.out.println("ManagedType : " + s.getPersistenceType().name());
}
System.out.println(entityManager.getDelegate() + "====" + entityManager);
System.out.println("======listUser end=====");
String hql = "select m from SysUserInfo m where m.name = :name";
Query query = entityManager.createQuery(hql,SysUserInfo.class);
query.setParameter("name", name);
return query.getResultList();
}
@Override
public SysUserInfo getUser(String name) {
System.out.println("======getUser=====");
Metamodel mm = entityManager.getMetamodel();
for(EntityType<?> s : mm.getEntities()){
System.out.println("entityType : " + s.getName());
}
for(ManagedType<?> s : mm.getEntities()){
System.out.println("ManagedType : " + s.getPersistenceType().name());
}
System.out.println(entityManager.getDelegate() + "====" + entityManager);
System.out.println("======getUser end=====");
String hql = "select m from SysUserInfo m where m.name = :name";
Query query = entityManager.createQuery(hql,SysUserInfo.class);
query.setParameter("name", name);
return (SysUserInfo) query.getSingleResult();
}
@Override
public List listSysTool(String name) {
System.out.println("======listSysTool=====");
Metamodel mm = entityManager.getMetamodel();
for(EntityType<?> s : mm.getEntities()){
System.out.println("entityType : " + s.getName());
}
for(ManagedType<?> s : mm.getEntities()){
System.out.println("ManagedType : " + s.getPersistenceType().name());
}
System.out.println(entityManager.getDelegate() + "====" + entityManager);
System.out.println("======listSysTool end=====");
String hql = "select m from SysTool m where m.name = :name";
Query query = entityManager.createQuery(hql,SysTool.class);
query.setParameter("name", name);
return query.getResultList();
}
@Override
public SysTool getSysTool(String name) {
System.out.println("======getSysTool=====");
Metamodel mm = entityManager.getMetamodel();
for(EntityType<?> s : mm.getEntities()){
System.out.println("entityType : " + s.getName());
}
for(ManagedType<?> s : mm.getEntities()){
System.out.println("ManagedType : " + s.getPersistenceType().name());
}
System.out.println(entityManager.getDelegate() + "====" + entityManager);
System.out.println("======getSysTool end=====");
String hql = "select m from SysTool m where m.name = :name";
Query query = entityManager.createQuery(hql,SysTool.class);
query.setParameter("name", name);
return (SysTool) query.getSingleResult();
}
}

@ -66,8 +66,8 @@ public class MessageLetterQueueReceiver {
@RabbitListener(queues = PlatformConstWords.IMPP_MESSAGE_LETTER_QUEUE)
public void processImppMessage(String data, Channel channel, Message message) {
LOGGER.info("【MQ-{}】 数据接收成功:{}", PlatformConstWords.IMPP_MESSAGE_LETTER_QUEUE, data);
try {
SysMessage msg = JsonUtilTool.decode(data, SysMessage.class);
try {
msg = sysMessageService.insertSysMessage(msg);
if (!StringUtils.isBlank(msg.getMessageReceiversId())) {
@ -114,9 +114,11 @@ public class MessageLetterQueueReceiver {
channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
} catch (IOException e) {
printErrorMessage(e, Exception.class, data);
try {
// 未成功处理,重新发送
if(msg.getId() != null) {
sysMessageService.deleteSysMessageById(msg.getId());
}
channel.basicNack(message.getMessageProperties().getDeliveryTag(), false, true);
} catch (IOException e1) {
e1.printStackTrace();

@ -56,8 +56,8 @@ public class MessageMailQueueReceiver {
*/
@RabbitListener(queues = PlatformConstWords.IMPP_MESSAGE_MAIL_QUEUE)
public void processImppMail(String data, Channel channel, Message message) {
try {
SysMessage msg = JsonUtilTool.decode(data, SysMessage.class);
try {
LOGGER.info("【MQ-IMPP_MESSAGE_MAIL_QUEUE】数据接收成功{}", msg);
if (msg.getMessageSendTime() == null) {
msg.setMessageSendTime(TimeTool.getNowTime(true));
@ -119,6 +119,9 @@ public class MessageMailQueueReceiver {
LOGGER.error("【MQ-IMPP_MESSAGE_MAIL_QUEUE】处理出错{}", e.getMessage(), e);
//丢弃这条消息
try {
if(msg.getId() != null) {
sysMessageService.deleteSysMessageById(msg.getId());
}
// 未成功处理,重新发送
//channel.basicNack(message.getMessageProperties().getDeliveryTag(),false,true);
//todo 此处对邮件持久化,通过参数设置,是否还需要重复重新发送

@ -14,6 +14,8 @@ import cn.estsh.i3plus.pojo.platform.bean.SysFileAttach;
import cn.estsh.i3plus.pojo.platform.bean.SysMessage;
import cn.estsh.i3plus.pojo.platform.bean.SysRefUserMessage;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONException;
import com.alibaba.fastjson.JSONObject;
import com.rabbitmq.client.Channel;
import org.apache.commons.lang3.StringUtils;
@ -60,9 +62,9 @@ public class MessageSWebNoticeQueueReceiver {
@RabbitListener(queues = PlatformConstWords.SWEB_NOTICE_QUEUE)
public void processImppMail(String data, Channel channel, Message message) {
LOGGER.info("【MQ-{}】 数据接收成功:{}", PlatformConstWords.SWEB_NOTICE_QUEUE, data);
try {
// 添加消息
SysMessage msg = JsonUtilTool.decode(data, SysMessage.class);
try {
msg = sysMessageService.insertSysMessage(msg);
// 添加附件信息
@ -85,36 +87,60 @@ public class MessageSWebNoticeQueueReceiver {
// 添加消息明细信息
if (StringUtils.isNotBlank(msg.getMessageReceiversId())) {
// 获取供应商信息 由string转换为json对象
JSONObject userJsonObject = JSON.parseObject(msg.getMessageReceiversId());
JSONArray userJsonArray = new JSONArray();
try {
userJsonArray = JSON.parseArray(msg.getMessageReceiversId());
}catch (JSONException e){
LOGGER.error(" JSON转换错误【{0}】:{1}", msg.getMessageReceiversId(), e.getMessage());
}
JSONObject userJsonObject;
List<SysRefUserMessage> insertList = new ArrayList<>(userJsonObject.size());
List<SysRefUserMessage> insertList = new ArrayList<>(userJsonArray.size());
List<String> receiversId = new ArrayList();
List<String> receiversName = new ArrayList();
SysRefUserMessage refUserMessage;
for (String user : userJsonObject.keySet()) {
for (Object user : userJsonArray) {
// 约定格式:[{'id':'111','name':'张三'},{'id':'121','name':'张三2'}]
userJsonObject = ( JSONObject )user;
receiversId.add(userJsonObject.get("id").toString());
receiversName.add(userJsonObject.get("name").toString());
refUserMessage = new SysRefUserMessage();
refUserMessage.setMessageId(msg.getId());
refUserMessage.setMessageSoftType(msg.getMessageSoftType());
refUserMessage.setMessageTitleRdd(msg.getMessageTitle());
refUserMessage.setMessageTypeRdd(msg.getMessageType());
refUserMessage.setMessageSenderNameRdd(msg.getMessageSenderNameRdd());
refUserMessage.setReceiverId(Long.parseLong(user));
refUserMessage.setReceiverNameRdd(userJsonObject.get(user).toString());
refUserMessage.setReceiverId(Long.parseLong(userJsonObject.get("id").toString()));
refUserMessage.setReceiverNameRdd(userJsonObject.get("name").toString());
refUserMessage.setMessageStatus(ImppEnumUtil.MESSAGE_STATUS.UNREAD.getValue());
refUserMessage.setReceiverTime(TimeTool.getNowTime(true));
refUserMessage.setIsUrgent(msg.getIsUrgent());
// 初始数据
ConvertBean.serviceModelInitialize(refUserMessage, msg.getCreateUser());
insertList.add(refUserMessage);
}
sysMessageService.insertSysRefUserMessage(insertList);
// 设置收件人名称及id
msg.setMessageReceiversId(StringUtils.join(receiversId,","));
msg.setMessageReceiversNameRdd(StringUtils.join(receiversName,","));
sysMessageService.updateSysMessage(msg);
}
// 消息处理完成
LOGGER.info("【MQ-{}】站内信{} DeliveryTag:{} 处理成功", PlatformConstWords.IMPP_MESSAGE_LETTER_QUEUE,
msg, message.getMessageProperties().getDeliveryTag());
channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
} catch (IOException e) {
} catch (Exception e) {
e.printStackTrace();
try {
if(msg.getId() != null) {
sysMessageService.deleteSysMessageById(msg.getId());
}
// 未成功处理,重新发送
channel.basicNack(message.getMessageProperties().getDeliveryTag(), false, true);
} catch (IOException e1) {

@ -245,13 +245,13 @@ public class SysMessageService implements ISysMessageService {
@Override
@ApiOperation(value = "删除用户消息")
public void deleteSysRefUserMessageStatusById(Long id) {
public void deleteSysRefUserMessageById(Long id) {
sysRefUserMessageRDao.deleteById(id);
}
@Override
@ApiOperation(value = "批量删除用户消息")
public void deleteSysRefUserMessageStatusByIds(Long[] ids) {
public void deleteSysRefUserMessageByIds(Long[] ids) {
sysRefUserMessageRDao.deleteByIds(ids);
}

@ -0,0 +1,137 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ITestTransService;
import cn.estsh.i3plus.core.apiservice.dao.ITestTransDao;
import cn.estsh.i3plus.core.apiservice.dao.ITransDaoSec;
import cn.estsh.i3plus.pojo.platform.bean.SysDepartment;
import cn.estsh.i3plus.pojo.platform.bean.SysTool;
import cn.estsh.i3plus.pojo.platform.bean.SysUser;
import cn.estsh.i3plus.pojo.platform.bean.SysUserInfo;
import cn.estsh.i3plus.pojo.platform.repository.SysDepartmentRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysUserInfoRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysUserRepository;
import com.netflix.discovery.converters.Auto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : alwaysfrin
* @CreateDate : 2019-04-29 17:18
* @Modify:
**/
@Service
public class TestTransService implements ITestTransService {
@Autowired
private SysDepartmentRepository sysDepartmentRDao;
@Autowired
private SysUserInfoRepository sysUserInfoRDao;
@Autowired
private SysUserRepository sysUerRDao;
@Autowired
private ITestTransDao testTransDao;
@Autowired
private ITransDaoSec testTransSecDao;
@Override
public void testListTran(int type,String name) {
if(type == 1) {
List<SysUserInfo> userList = testTransDao.listUser(name);
System.out.println("===userList===" + userList.size());
System.out.println("方式一RDAO + dao");
List<SysDepartment> depList = sysDepartmentRDao.findByProperty("name", name);
System.out.println("===depList===" + depList.size());
}else if(type == 2) {
System.out.println("方式一2RDAO + dao");
List<SysDepartment> depList = sysDepartmentRDao.findByProperty("name", name);
System.out.println("===depList===" + depList.size());
List<SysTool> toolList = testTransSecDao.findByName(name);
System.out.println("===toolList===" + toolList.size());
}else if(type == 3){
System.out.println("方式三RDAO + idao-query");
List<SysDepartment> depList = sysDepartmentRDao.findByProperty("name",name);
System.out.println("===depList===" + depList.size());
List<SysTool> toolList = testTransSecDao.findByName(name);
System.out.println("===toolList===" + toolList.size());
}else if(type == 4){
System.out.println("方式四dao + idao");
List<SysDepartment> depList = sysDepartmentRDao.findByProperty("name",name);
System.out.println("===depList===" + depList.size());
List<SysTool> toolList = testTransSecDao.findByName(name);
System.out.println("===toolList===" + toolList.size());
}else if(type == 5){
System.out.println("方式五dao + idao-query");
List<SysDepartment> depList = sysDepartmentRDao.findByProperty("name",name);
System.out.println("===depList===" + depList.size());
List<SysTool> toolList = testTransSecDao.findByName(name);
System.out.println("===toolList===" + toolList.size());
}else if(type == 6) {
System.out.println("方式六:主键重复");
SysDepartment dep = sysDepartmentRDao.getByProperty("name", name);
System.out.println(dep.getId() + "===dep===" + dep);
SysUserInfo userinfo = testTransDao.getUser(name);
System.out.println(userinfo.getId() + "===userList===" + userinfo);
}else if(type == 7) {
SysUserInfo userinfo = testTransDao.getUser(name);
System.out.println(userinfo.getId() + "===userList===" + userinfo);
SysTool sysTool = testTransDao.getSysTool(name);
System.out.println(sysTool.getId() + "===sysTool===" + sysTool);
}else if(type == 8) {
SysUserInfo userinfo = testTransDao.getUser(name);
System.out.println(userinfo.getId() + "===userinfo===" + userinfo);
List userinfoList = testTransDao.listUser(name);
System.out.println("===userList===" + userinfoList);
SysTool sysTool = testTransDao.getSysTool(name);
System.out.println(sysTool.getId() + "===sysTool===" + sysTool);
List sysToolList = testTransDao.listSysTool(name);
System.out.println("===sysToolList===" + sysToolList);
}else if(type == 9) {
SysUserInfo userinfo = sysUserInfoRDao.getByProperty("name",name);
System.out.println(userinfo.getId() + "===userinfo===" + userinfo);
SysTool sysTool = testTransDao.getSysTool(name);
System.out.println(sysTool.getId() + "===sysTool===" + sysTool);
SysDepartment sysDepartment = sysDepartmentRDao.getByProperty("name",name);
System.out.println(sysDepartment.getId() + "===sysDepartment===" + sysDepartment);
SysUser user = sysUerRDao.getByProperty("userName",name);
System.out.println(user.getId() + "===userName===" + user);
List userinfoList = testTransDao.listUser(name);
System.out.println("===userList===" + userinfoList);
List sysToolList = testTransDao.listSysTool(name);
System.out.println("===sysToolList===" + sysToolList);
} else if(type == 10) {
SysUserInfo userinfo = sysUserInfoRDao.getByProperty("name",name);
System.out.println(userinfo.getId() + "===userinfo===" + userinfo);
SysDepartment sysDepartment = sysDepartmentRDao.getByProperty("name",name);
System.out.println(sysDepartment.getId() + "===sysDepartment===" + sysDepartment);
SysUser user = sysUerRDao.getByProperty("userName",name);
System.out.println(user.getId() + "===userName===" + user);
}
}
@Override
public void testListTranSec(int type,String name) {
}
}

@ -56,6 +56,74 @@ public class TestUser extends TestBase{
String TEXT = "飓风黑兹尔是1954年大西洋飓风季期间造成死亡人数最多、经济损失最惨重的飓风。这场风暴夺走了海地多达1000人的生命然后又以四级飓风强度从南、北卡罗莱纳州边境附近袭击美国造成95人丧生。之后黑兹尔转变成温带风暴但仍然致使81人遇难其中大部分来自多伦多。由于风暴造成了重大人员伤亡和财产损失其名称“黑兹尔”因此从大西洋风暴命名名单上退役。黑兹尔摧毁了海地40%的咖啡树和50%的可可作物对当地经济的影响持续了数年之久。飓风在南、北卡罗莱纳州登陆冲击点附近的大部分海滨住宅被毁。气旋从北卡罗莱纳州沿大西洋海岸北上先后影响了弗吉尼亚州、西弗吉尼亚州、马里兰州、特拉华州、新泽西州、宾夕法尼亚州和纽约州产生的阵风时速有近160公里造成的经济损失高达3.08亿美元。多伦多市内及周边有许多溪流溢出导致严重的洪涝灾害。加拿大遭受的损失达到1.35亿加拿大元。由于缺少应对热带气旋的经验,加上风暴强度的保持时间异常之长,多伦多所受影响的严重程度是前所未有的";
@Autowired
private ITestTransService testTransService;
@Test
public void testTrans(){
try {
testTransService.testListTran(1, "aaa");
}catch(Exception e){
System.out.println("111============事务出错:" + e.getMessage());
e.printStackTrace();
}
try {
testTransService.testListTran(2, "aaa");
}catch(Exception e){
System.out.println("222============事务出错:" + e.getMessage());
e.printStackTrace();
}
try {
testTransService.testListTran(3, "aaa");
}catch(Exception e){
System.out.println("333============事务出错:" + e.getMessage());
e.printStackTrace();
}
try {
testTransService.testListTran(4, "aaa");
}catch(Exception e){
System.out.println("444============事务出错:" + e.getMessage());
e.printStackTrace();
}
try {
testTransService.testListTran(5, "aaa");
}catch(Exception e){
System.out.println("555============事务出错:" + e.getMessage());
e.printStackTrace();
}
try {
testTransService.testListTran(6, "aaa");
}catch(Exception e){
System.out.println("666============事务出错:" + e.getMessage());
e.printStackTrace();
}
try {
testTransService.testListTran(7, "aaa");
}catch(Exception e){
System.out.println("777============事务出错:" + e.getMessage());
e.printStackTrace();
}
try {
testTransService.testListTran(8, "aaa");
}catch(Exception e){
System.out.println("888============事务出错:" + e.getMessage());
e.printStackTrace();
}
try {
testTransService.testListTran(9, "aaa");
}catch(Exception e){
System.out.println("999============事务出错:" + e.getMessage());
e.printStackTrace();
}
}
@Test
public void testSysPosition() throws Exception{
List<SysPosition> dataBase = new ArrayList<>();

Loading…
Cancel
Save