From cb4931e1d903a3a1fd8094a5a0ec870af3c1e353 Mon Sep 17 00:00:00 2001 From: zhangqinlin <1500920753@qq.com> Date: Sun, 26 Sep 2021 09:17:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A8=E6=89=80=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jero/message/common/MessageCommon.java | 12 ++ .../PayAnnouncementMessageController.java | 179 ++++++++++++++++++ .../entity/PayAnnouncementMessage.java | 89 +++++++++ .../mapper/PayAnnouncementMessageMapper.java | 15 ++ .../xml/PayAnnouncementMessageMapper.xml | 5 + .../IPayAnnouncementMessageService.java | 16 ++ .../PayAnnouncementMessageServiceImpl.java | 46 +++++ .../mapper/xml/PayWorkingGroupMapper.xml | 2 +- 8 files changed, 363 insertions(+), 1 deletion(-) create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/message/common/MessageCommon.java create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/message/controller/PayAnnouncementMessageController.java create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/message/entity/PayAnnouncementMessage.java create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/message/mapper/PayAnnouncementMessageMapper.java create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/message/mapper/xml/PayAnnouncementMessageMapper.xml create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/message/service/IPayAnnouncementMessageService.java create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/message/service/impl/PayAnnouncementMessageServiceImpl.java diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/message/common/MessageCommon.java b/jero-boot-incoming-payment/src/main/java/com/jero/message/common/MessageCommon.java new file mode 100644 index 00000000..6b386330 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/message/common/MessageCommon.java @@ -0,0 +1,12 @@ +package com.jero.message.common; + +public class MessageCommon { + /** + * 阅读状态(0未读,1已读) + */ + public final static Integer READ_FLAG1 = 1; + /** + * 阅读状态(0未读,1已读) + */ + public final static Integer READ_FLAG0 = 0; +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/message/controller/PayAnnouncementMessageController.java b/jero-boot-incoming-payment/src/main/java/com/jero/message/controller/PayAnnouncementMessageController.java new file mode 100644 index 00000000..5e0e927d --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/message/controller/PayAnnouncementMessageController.java @@ -0,0 +1,179 @@ +package com.jero.message.controller; + +import java.util.Arrays; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.jero.common.api.vo.Result; +import com.jero.common.aspect.annotation.AutoLog; +import com.jero.common.system.base.controller.JeroController; +import com.jero.common.system.query.QueryGenerator; +import com.jero.common.system.vo.LoginUser; +import com.jero.message.common.MessageCommon; +import com.jero.message.entity.PayAnnouncementMessage; +import com.jero.message.service.IPayAnnouncementMessageService; +import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.SecurityUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + + /** + * @Description: 消息 + * @Author: jeecg-boot + * @Date: 2021-09-22 + * @Version: V1.0 + */ +@Api(tags="消息") +@RestController +@RequestMapping("/message/payAnnouncementMessage") +@Slf4j +public class PayAnnouncementMessageController extends JeroController { + @Autowired + private IPayAnnouncementMessageService payAnnouncementMessageService; + + /** + * 分页列表查询 + * + * @param payAnnouncementMessage + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "消息-分页列表查询") + @ApiOperation(value="消息-分页列表查询", notes="消息-分页列表查询") + @GetMapping(value = "/list") + public Result queryPageList(PayAnnouncementMessage payAnnouncementMessage, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + payAnnouncementMessage.setRecipient(sysUser.getId()); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(payAnnouncementMessage, req.getParameterMap()); + Page page = new Page<>(pageNo, pageSize); + IPage pageList = payAnnouncementMessageService.page(page, queryWrapper); + return Result.OK(pageList); + } + /** + * @Description 已读 + * @Author lqt + * @Date 2021/9/22 + * @Param + * @Return + * @Exception + */ + @AutoLog(value = "消息-已读") + @ApiOperation(value="消息-已读", notes="消息-已读") + @PostMapping(value = "/add") + public Result update(@RequestBody PayAnnouncementMessage payAnnouncementMessage) { + LambdaUpdateWrapper update = new LambdaUpdateWrapper<>(); + update.eq(PayAnnouncementMessage::getId,payAnnouncementMessage.getId()); + update.set(PayAnnouncementMessage::getReadFlag,MessageCommon.READ_FLAG1); + payAnnouncementMessageService.update(update); + return Result.OK("操作成功!"); + } + + /** + * 添加 + * + * @param payAnnouncementMessage + * @return + */ +// @AutoLog(value = "pay_announcement_message-添加") +// @ApiOperation(value="pay_announcement_message-添加", notes="pay_announcement_message-添加") +// @PostMapping(value = "/add") + public Result add(@RequestBody PayAnnouncementMessage payAnnouncementMessage) { + payAnnouncementMessageService.save(payAnnouncementMessage); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param payAnnouncementMessage + * @return + */ +// @AutoLog(value = "pay_announcement_message-编辑") +// @ApiOperation(value="pay_announcement_message-编辑", notes="pay_announcement_message-编辑") +// @PutMapping(value = "/edit") + public Result edit(@RequestBody PayAnnouncementMessage payAnnouncementMessage) { + payAnnouncementMessageService.updateById(payAnnouncementMessage); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ +// @AutoLog(value = "pay_announcement_message-通过id删除") +// @ApiOperation(value="pay_announcement_message-通过id删除", notes="pay_announcement_message-通过id删除") +// @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + payAnnouncementMessageService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ +// @AutoLog(value = "pay_announcement_message-批量删除") +// @ApiOperation(value="pay_announcement_message-批量删除", notes="pay_announcement_message-批量删除") +// @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.payAnnouncementMessageService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @AutoLog(value = "pay_announcement_message-通过id查询") + @ApiOperation(value="pay_announcement_message-通过id查询", notes="pay_announcement_message-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + PayAnnouncementMessage payAnnouncementMessage = payAnnouncementMessageService.getById(id); + if(payAnnouncementMessage==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(payAnnouncementMessage); + } + + /** + * 导出excel + * + * @param request + * @param payAnnouncementMessage + */ +// @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, PayAnnouncementMessage payAnnouncementMessage) { + return super.exportXls(request, payAnnouncementMessage, PayAnnouncementMessage.class, "pay_announcement_message"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ +// @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, PayAnnouncementMessage.class); + } + +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/message/entity/PayAnnouncementMessage.java b/jero-boot-incoming-payment/src/main/java/com/jero/message/entity/PayAnnouncementMessage.java new file mode 100644 index 00000000..129558aa --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/message/entity/PayAnnouncementMessage.java @@ -0,0 +1,89 @@ +package com.jero.message.entity; + +import java.io.Serializable; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: pay_announcement_message + * @Author: jeecg-boot + * @Date: 2021-09-22 + * @Version: V1.0 + */ +@Data +@TableName("pay_announcement_message") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="pay_announcement_message对象", description="pay_announcement_message") +public class PayAnnouncementMessage implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private String id; + /**标题*/ + @Excel(name = "标题", width = 15) + @ApiModelProperty(value = "标题") + private String titile; + /**内容*/ + @Excel(name = "内容", width = 15) + @ApiModelProperty(value = "内容") + private String msgContent; + /**发布人*/ + @Excel(name = "发布人", width = 15) + @ApiModelProperty(value = "发布人") + private String sender; + /**接收用户*/ + @Excel(name = "接收用户", width = 15) + @ApiModelProperty(value = "接收用户") + private String recipient; + /**消息类型(字典表)*/ + @Excel(name = "消息类型(字典表)", width = 15) + @ApiModelProperty(value = "消息类型(字典表)") + private Integer msgCategory; + /**操作*/ + @Excel(name = "操作", width = 15) + @ApiModelProperty(value = "操作") + private String operation; + /**业务id*/ + @Excel(name = "业务id", width = 15) + @ApiModelProperty(value = "业务id") + private String busId; + /**阅读状态(0未读,1已读)*/ + @Excel(name = "阅读状态(0未读,1已读)", width = 15) + @ApiModelProperty(value = "阅读状态(0未读,1已读)") + private Integer readFlag; + /**阅读时间*/ + @Excel(name = "阅读时间", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "阅读时间") + private Date readTime; + /**创建人*/ + @ApiModelProperty(value = "创建人") + private String createBy; + /**创建时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "创建时间") + private Date createTime; + /**更新人*/ + @ApiModelProperty(value = "更新人") + private String updateBy; + /**更新时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "更新时间") + private Date updateTime; +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/message/mapper/PayAnnouncementMessageMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/message/mapper/PayAnnouncementMessageMapper.java new file mode 100644 index 00000000..85723327 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/message/mapper/PayAnnouncementMessageMapper.java @@ -0,0 +1,15 @@ +package com.jero.message.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.jero.message.entity.PayAnnouncementMessage; + +/** + * @Description: pay_announcement_message + * @Author: jeecg-boot + * @Date: 2021-09-22 + * @Version: V1.0 + */ +public interface PayAnnouncementMessageMapper extends BaseMapper { + +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/message/mapper/xml/PayAnnouncementMessageMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/message/mapper/xml/PayAnnouncementMessageMapper.xml new file mode 100644 index 00000000..9da686e2 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/message/mapper/xml/PayAnnouncementMessageMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/message/service/IPayAnnouncementMessageService.java b/jero-boot-incoming-payment/src/main/java/com/jero/message/service/IPayAnnouncementMessageService.java new file mode 100644 index 00000000..374adbc4 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/message/service/IPayAnnouncementMessageService.java @@ -0,0 +1,16 @@ +package com.jero.message.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.jero.message.entity.PayAnnouncementMessage; + +/** + * @Description: pay_announcement_message + * @Author: jeecg-boot + * @Date: 2021-09-22 + * @Version: V1.0 + */ +public interface IPayAnnouncementMessageService extends IService { + + void sendMessage(PayAnnouncementMessage payAnnouncementMessage); + +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/message/service/impl/PayAnnouncementMessageServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/message/service/impl/PayAnnouncementMessageServiceImpl.java new file mode 100644 index 00000000..ef114104 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/message/service/impl/PayAnnouncementMessageServiceImpl.java @@ -0,0 +1,46 @@ +package com.jero.message.service.impl; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.common.constant.WebsocketConst; +import com.jero.common.exception.JeroBootException; +import com.jero.message.common.MessageCommon; +import com.jero.message.entity.PayAnnouncementMessage; +import com.jero.message.mapper.PayAnnouncementMessageMapper; +import com.jero.message.service.IPayAnnouncementMessageService; +import com.jero.modules.message.websocket.WebSocket; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.Objects; + +/** + * @Description: pay_announcement_message + * @Author: jeecg-boot + * @Date: 2021-09-22 + * @Version: V1.0 + */ +@Service +public class PayAnnouncementMessageServiceImpl extends ServiceImpl implements IPayAnnouncementMessageService { + @Autowired + private IPayAnnouncementMessageService payAnnouncementMessageService; + @Resource + private WebSocket webSocket; + @Override + @Transactional + public void sendMessage(PayAnnouncementMessage payAnnouncementMessage) { + if(Objects.isNull(payAnnouncementMessage)){ + throw new JeroBootException("发送消息失败!"); + } + payAnnouncementMessage.setReadFlag(MessageCommon.READ_FLAG0); + payAnnouncementMessageService.save(payAnnouncementMessage); + JSONObject obj = new JSONObject(); + obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_USER); + obj.put(WebsocketConst.MSG_USER_ID, payAnnouncementMessage.getRecipient()); + obj.put(WebsocketConst.MSG_ID, payAnnouncementMessage.getId()); + obj.put(WebsocketConst.MSG_TXT, payAnnouncementMessage.getTitile()); + webSocket.sendMessage(payAnnouncementMessage.getRecipient(), obj.toJSONString()); + } +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml index fe3ca107..4dc53aa6 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml @@ -562,7 +562,7 @@ left JOIN sys_user su on(pm.director_id=su.id) left join sys_depart sd on(su.org_code=sd.org_code) group by pm.director_id) pp - group by pp.principalId order by pp.createTime) ppp order by ppp.comeAllMoney ) pppp left join sys_user su on(pppp.principalId=su.id) left join sys_depart sd on(su.org_code=sd.org_code) group by sd.org_code limit 10 + group by pp.principalId order by pp.createTime) ppp order by ppp.comeAllMoney ) pppp left join sys_user su on(pppp.principalId=su.id) left join sys_depart sd on(su.org_code=sd.org_code) group by sd.org_code order by pppp.comeAllMoney desc limit 10