From d96ca26f37305c97c184c5aff2eed4edd1f36512 Mon Sep 17 00:00:00 2001 From: mhsnet Date: Fri, 10 Mar 2023 13:41:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B6=88=E6=81=AF=E4=B8=AD=E5=BF=83=E5=90=8E?= =?UTF-8?q?=E5=8F=B0|pc?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/MessageCenterController.java | 204 +++++++++++++++ .../entity/MessageCenterEntity.java | 77 ++++++ .../mapper/MessageCenterMapper.java | 16 ++ .../messagecenter/MessageCenterCrForm.java | 85 ++++++ .../messagecenter/MessageCenterInfoVO.java | 94 +++++++ .../messagecenter/MessageCenterListQuery.java | 38 +++ .../messagecenter/MessageCenterListVO.java | 106 ++++++++ .../MessageCenterPagination.java | 39 +++ .../MessageCenterPaginationExportModel.java | 41 +++ .../messagecenter/MessageCenterUpForm.java | 99 +++++++ .../service/MessageCenterService.java | 34 +++ .../impl/MessageCenterServiceImpl.java | 240 +++++++++++++++++ .../main/resources/MessageCenterMapper.xml | 7 + .../basicInformation/messagecenter/Detail.vue | 103 ++++++++ .../messagecenter/ExportBox.vue | 67 +++++ .../basicInformation/messagecenter/Form.vue | 186 +++++++++++++ .../basicInformation/messagecenter/index.vue | 246 ++++++++++++++++++ 17 files changed, 1682 insertions(+) create mode 100644 SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/controller/MessageCenterController.java create mode 100644 SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/entity/MessageCenterEntity.java create mode 100644 SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/mapper/MessageCenterMapper.java create mode 100644 SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/model/messagecenter/MessageCenterCrForm.java create mode 100644 SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/model/messagecenter/MessageCenterInfoVO.java create mode 100644 SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/model/messagecenter/MessageCenterListQuery.java create mode 100644 SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/model/messagecenter/MessageCenterListVO.java create mode 100644 SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/model/messagecenter/MessageCenterPagination.java create mode 100644 SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/model/messagecenter/MessageCenterPaginationExportModel.java create mode 100644 SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/model/messagecenter/MessageCenterUpForm.java create mode 100644 SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/service/MessageCenterService.java create mode 100644 SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/service/impl/MessageCenterServiceImpl.java create mode 100644 SC-boot/linkage-scm/src/main/resources/MessageCenterMapper.xml create mode 100644 SC-web/src/views/scm/basicInformation/messagecenter/Detail.vue create mode 100644 SC-web/src/views/scm/basicInformation/messagecenter/ExportBox.vue create mode 100644 SC-web/src/views/scm/basicInformation/messagecenter/Form.vue create mode 100644 SC-web/src/views/scm/basicInformation/messagecenter/index.vue diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/controller/MessageCenterController.java b/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/controller/MessageCenterController.java new file mode 100644 index 00000000..f1b077ff --- /dev/null +++ b/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/controller/MessageCenterController.java @@ -0,0 +1,204 @@ + + +package jnpf.messageCenter.controller; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import jnpf.base.ActionResult; +import jnpf.base.UserInfo; +import jnpf.base.vo.PageListVO; +import jnpf.base.vo.PaginationVO; +import jnpf.exception.DataException; +import jnpf.messageCenter.entity.MessageCenterEntity; +import jnpf.messageCenter.model.messagecenter.*; +import jnpf.messageCenter.service.MessageCenterService; +import jnpf.util.*; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.io.IOException; +import java.util.List; + +/** + * messageCenter + * + * @版本: V3.2.0 + * @版权: LINKAGE-BOOT + * @作者: LINKAGE-BOOT研发团队 + * @日期: 2023-03-10 + */ +@Slf4j +@RestController +@Api(tags = "消息中心", value = "messageCenter") +@RequestMapping("/api/messageCenter/MessageCenter") +public class MessageCenterController { + + @Autowired + private GeneraterSwapUtil generaterSwapUtil; + + + @Autowired + private UserProvider userProvider; + + @Autowired + private MessageCenterService messageCenterService; + + + /** + * 列表 + * + * @param messageCenterPagination + * @return + */ + @PostMapping("/getList") + @ApiOperation("消息列表") + public ActionResult list(@RequestBody MessageCenterPagination messageCenterPagination) throws IOException { + List list = messageCenterService.getList(messageCenterPagination); + //处理id字段转名称,若无需转或者为空可删除 + for (MessageCenterEntity entity : list) { + entity.setCreatorUserId(generaterSwapUtil.userSelectValue(entity.getCreatorUserId())); + entity.setLastModifyUserId(generaterSwapUtil.userSelectValue(entity.getLastModifyUserId())); + entity.setOrgnizeId(generaterSwapUtil.comSelectValue(entity.getOrgnizeId(), "last")); + entity.setDepartmentId(generaterSwapUtil.posSelectValue(entity.getDepartmentId())); + } + List listVO = JsonUtil.getJsonToList(list, MessageCenterListVO.class); + for (MessageCenterListVO messageCenterVO : listVO) { + } + + + PageListVO vo = new PageListVO(); + vo.setList(listVO); + PaginationVO page = JsonUtil.getJsonToBean(messageCenterPagination, PaginationVO.class); + vo.setPagination(page); + return ActionResult.success(vo); + } + + + /** + * 创建 + * + * @param messageCenterCrForm + * @return + */ + @PostMapping + @Transactional + public ActionResult create(@RequestBody @Valid MessageCenterCrForm messageCenterCrForm) throws DataException { + System.out.println(messageCenterCrForm); + String mainId = RandomUtil.uuId(); + UserInfo userInfo = userProvider.get(); + messageCenterCrForm.setCreatorUserId(userInfo.getUserId()); + messageCenterCrForm.setCreatorTime(DateUtil.getNow()); + messageCenterCrForm.setOrgnizeId(StringUtil.isEmpty(userInfo.getDepartmentId()) ? userInfo.getOrganizeId() : userInfo.getDepartmentId()); + if (userInfo.getPositionIds() != null && userInfo.getPositionIds().length > 0) { + messageCenterCrForm.setDepartmentId(userInfo.getPositionIds()[0]); + } + MessageCenterEntity entity = JsonUtil.getJsonToBean(messageCenterCrForm, MessageCenterEntity.class); + entity.setId(mainId); + System.out.println(entity); + messageCenterService.save(entity); + + + return ActionResult.success("创建成功"); + } + + + /** + * 信息 + * + * @param id + * @return + */ + @GetMapping("/{id}") + public ActionResult info(@PathVariable("id") String id) { + MessageCenterEntity entity = messageCenterService.getInfo(id); + MessageCenterInfoVO vo = JsonUtil.getJsonToBean(entity, MessageCenterInfoVO.class); + vo.setCreatorUserId(generaterSwapUtil.userSelectValue(vo.getCreatorUserId())); + vo.setLastModifyUserId(generaterSwapUtil.userSelectValue(vo.getLastModifyUserId())); + if (vo.getCreatorTime() != null) { + vo.setCreatorTime(vo.getCreatorTime()); + } + if (vo.getLastModifyTime() != null) { + vo.setLastModifyTime(vo.getLastModifyTime()); + } + vo.setOrgnizeId(generaterSwapUtil.comSelectValue(vo.getOrgnizeId(), "last")); + vo.setDepartmentId(generaterSwapUtil.posSelectValue(vo.getDepartmentId())); + + //子表 + //副表 + return ActionResult.success(vo); + } + + /** + * 表单信息(详情页) + * + * @param id + * @return + */ + @GetMapping("/detail/{id}") + public ActionResult detailInfo(@PathVariable("id") String id) { + MessageCenterEntity entity = messageCenterService.getInfo(id); + MessageCenterInfoVO vo = JsonUtil.getJsonToBean(entity, MessageCenterInfoVO.class); + + //子表数据转换 + + //附表数据转换 + +//添加到详情表单对象中 + vo.setCreatorUserId(generaterSwapUtil.userSelectValue(vo.getCreatorUserId())); + vo.setLastModifyUserId(generaterSwapUtil.userSelectValue(vo.getLastModifyUserId())); + vo.setOrgnizeId(generaterSwapUtil.comSelectValue(vo.getOrgnizeId(), "last")); + vo.setDepartmentId(generaterSwapUtil.posSelectValue(vo.getDepartmentId())); + + return ActionResult.success(vo); + } + + + /** + * 更新 + * + * @param id + * @return + */ + @PutMapping("/{id}") + @Transactional + public ActionResult update(@PathVariable("id") String id, @RequestBody @Valid MessageCenterUpForm messageCenterUpForm) throws DataException { + UserInfo userInfo = userProvider.get(); + MessageCenterEntity entity = messageCenterService.getInfo(id); + if (entity != null) { + messageCenterUpForm.setLastModifyUserId(userInfo.getUserId()); + messageCenterUpForm.setLastModifyTime(DateUtil.getNow()); + messageCenterUpForm.setOrgnizeId(entity.getOrgnizeId()); + messageCenterUpForm.setDepartmentId(entity.getDepartmentId()); + MessageCenterEntity subentity = JsonUtil.getJsonToBean(messageCenterUpForm, MessageCenterEntity.class); + subentity.setCreatorUserId(entity.getCreatorUserId()); + subentity.setCreatorTime(entity.getCreatorTime()); + messageCenterService.update(id, subentity); + return ActionResult.success("更新成功"); + } else { + return ActionResult.fail("更新失败,数据不存在"); + } + } + + + /** + * 删除 + * + * @param id + * @return + */ + @DeleteMapping("/{id}") + @Transactional + public ActionResult delete(@PathVariable("id") String id) { + MessageCenterEntity entity = messageCenterService.getInfo(id); + if (entity != null) { + messageCenterService.delete(entity); + + } + return ActionResult.success("删除成功"); + } + + +} diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/entity/MessageCenterEntity.java b/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/entity/MessageCenterEntity.java new file mode 100644 index 00000000..492937cc --- /dev/null +++ b/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/entity/MessageCenterEntity.java @@ -0,0 +1,77 @@ +package jnpf.messageCenter.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.util.Date; + + +/** + * 消息中心 + * + * @版本: V3.2.0 + * @版权: LINKAGE-BOOT + * @作者: LINKAGE-BOOT研发团队 + * @日期: 2023-03-10 + */ +@Data +@TableName("jg_message") +public class MessageCenterEntity { + + @TableId("ID") + private String id; + + @TableField("CREATOR_USER_ID") + private String creatorUserId; + + @TableField("CREATOR_USER_NAME") + private String creatorUserName; + + @TableField("CREATOR_TIME") + private Date creatorTime; + + @TableField("LAST_MODIFY_USER_ID") + private String lastModifyUserId; + + @TableField("LAST_MODIFY_USER_NAME") + private String lastModifyUserName; + + @TableField("LAST_MODIFY_TIME") + private Date lastModifyTime; + + @TableField("DELETE_USER_ID") + private String deleteUserId; + + @TableField("DELETE_USER_NAME") + private String deleteUserName; + + @TableField("DELETE_TIME") + private Date deleteTime; + + @TableField("DELETE_MARK") + private String deleteMark; + + @TableField("ORGNIZE_ID") + private String orgnizeId; + + @TableField("DEPARTMENT_ID") + private String departmentId; + + @TableField("TITLE") + private String title; + + @TableField("HEAD") + private String head; + + @TableField("CONTEXT") + private String context; + + @TableField("SKIP_URL") + private String skipUrl; + + @TableField("IS_READ") + private String isRead; + +} diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/mapper/MessageCenterMapper.java b/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/mapper/MessageCenterMapper.java new file mode 100644 index 00000000..d1a90601 --- /dev/null +++ b/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/mapper/MessageCenterMapper.java @@ -0,0 +1,16 @@ +package jnpf.messageCenter.mapper; + + +import jnpf.messageCenter.entity.MessageCenterEntity; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * messageCenter + * 版本: V3.2.0 + * 版权: LINKAGE-BOOT + * 作者: LINKAGE-BOOT研发团队 + * 日期: 2023-03-10 + */ +public interface MessageCenterMapper extends BaseMapper { + +} diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/model/messagecenter/MessageCenterCrForm.java b/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/model/messagecenter/MessageCenterCrForm.java new file mode 100644 index 00000000..db9cb63a --- /dev/null +++ b/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/model/messagecenter/MessageCenterCrForm.java @@ -0,0 +1,85 @@ + + +package jnpf.messageCenter.model.messagecenter; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; + + +/** + * @版本: V3.2.0 + * @版权: LINKAGE-BOOT + * @作者: LINKAGE-BOOT研发团队 + * @日期: 2023-03-10 + */ +@Data +public class MessageCenterCrForm { + + /** + * 消息标题 + **/ + @JsonProperty("title") + private String title; + + /** + * 消息头 + **/ + @JsonProperty("head") + private String head; + + /** + * 消息内容 + **/ + @JsonProperty("context") + private String context; + + /** + * 跳转url + **/ + @JsonProperty("skipUrl") + private String skipUrl; + + /** + * 是否已读 + **/ + @JsonProperty("isRead") + private String isRead; + + /** + * 创建人 + **/ + @JsonProperty("creatorUserId") + private String creatorUserId; + + /** + * 修改人 + **/ + @JsonProperty("lastModifyUserId") + private String lastModifyUserId; + + /** + * 创建时间 + **/ + @JsonProperty("creatorTime") + private String creatorTime; + + /** + * 修改时间 + **/ + @JsonProperty("lastModifyTime") + private String lastModifyTime; + + /** + * 组织ID + **/ + @JsonProperty("orgnizeId") + private String orgnizeId; + + /** + * 部门ID + **/ + @JsonProperty("departmentId") + private String departmentId; + + +} \ No newline at end of file diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/model/messagecenter/MessageCenterInfoVO.java b/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/model/messagecenter/MessageCenterInfoVO.java new file mode 100644 index 00000000..2a822e7a --- /dev/null +++ b/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/model/messagecenter/MessageCenterInfoVO.java @@ -0,0 +1,94 @@ + + + +package jnpf.messageCenter.model.messagecenter; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @版本: V3.2.0 + * @版权: LINKAGE-BOOT + * @作者: LINKAGE-BOOT研发团队 + * @日期: 2023-03-10 + */ +@Data +public class MessageCenterInfoVO { + /** + * 主键 + **/ + @JsonProperty("id") + private String id; + + /** + * 消息标题 + **/ + @JsonProperty("title") + private String title; + + /** + * 消息头 + **/ + @JsonProperty("head") + private String head; + + /** + * 消息内容 + **/ + @JsonProperty("context") + private String context; + + /** + * 跳转url + **/ + @JsonProperty("skipUrl") + private String skipUrl; + + /** + * 是否已读 + **/ + @JsonProperty("isRead") + private String isRead; + + /** + * 创建人 + **/ + @JsonProperty("creatorUserId") + private String creatorUserId; + + /** + * 修改人 + **/ + @JsonProperty("lastModifyUserId") + private String lastModifyUserId; + + /** + * 创建时间 + **/ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @JsonProperty("creatorTime") + private Date creatorTime; + + /** + * 修改时间 + **/ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @JsonProperty("lastModifyTime") + private Date lastModifyTime; + + /** + * 组织ID + **/ + @JsonProperty("orgnizeId") + private String orgnizeId; + + /** + * 部门ID + **/ + @JsonProperty("departmentId") + private String departmentId; + +} \ No newline at end of file diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/model/messagecenter/MessageCenterListQuery.java b/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/model/messagecenter/MessageCenterListQuery.java new file mode 100644 index 00000000..3ba424a6 --- /dev/null +++ b/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/model/messagecenter/MessageCenterListQuery.java @@ -0,0 +1,38 @@ +package jnpf.messageCenter.model.messagecenter; + +import jnpf.base.Pagination; +import lombok.Data; + +/** + * @版本: V3.2.0 + * @版权: LINKAGE-BOOT + * @作者: LINKAGE-BOOT研发团队 + * @日期: 2023-03-10 + */ +@Data +public class MessageCenterListQuery extends Pagination { + + /** + * 消息标题 + */ + private String title; + + /** + * 消息头 + */ + private String head; + + /** + * 是否已读 + */ + private String isRead; + + /** + * 消息内容 + */ + private String context; + /** + * 菜单id + */ + private String menuId; +} \ No newline at end of file diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/model/messagecenter/MessageCenterListVO.java b/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/model/messagecenter/MessageCenterListVO.java new file mode 100644 index 00000000..ff741f26 --- /dev/null +++ b/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/model/messagecenter/MessageCenterListVO.java @@ -0,0 +1,106 @@ + + +package jnpf.messageCenter.model.messagecenter; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @版本: V3.2.0 + * @版权: LINKAGE-BOOT + * @作者: LINKAGE-BOOT研发团队 + * @日期: 2023-03-10 + */ +@Data +public class MessageCenterListVO { + + /** + * 主键 + */ + private String id; + + + /** + * 消息标题 + **/ + @JsonProperty("title") + private String title; + + + /** + * 消息头 + **/ + @JsonProperty("head") + private String head; + + + /** + * 消息内容 + **/ + @JsonProperty("context") + private String context; + + + /** + * 跳转url + **/ + @JsonProperty("skipUrl") + private String skipUrl; + + + /** + * 是否已读 + **/ + @JsonProperty("isRead") + private String isRead; + + + /** + * 创建人 + **/ + @JsonProperty("creatorUserId") + private String creatorUserId; + + + /** + * 修改人 + **/ + @JsonProperty("lastModifyUserId") + private String lastModifyUserId; + + + /** + * 创建时间 + **/ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @JsonProperty("creatorTime") + private Date creatorTime; + + + /** + * 修改时间 + **/ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @JsonProperty("lastModifyTime") + private Date lastModifyTime; + + + /** + * 组织ID + **/ + @JsonProperty("orgnizeId") + private String orgnizeId; + + + /** + * 部门ID + **/ + @JsonProperty("departmentId") + private String departmentId; + + +} \ No newline at end of file diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/model/messagecenter/MessageCenterPagination.java b/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/model/messagecenter/MessageCenterPagination.java new file mode 100644 index 00000000..552e46bf --- /dev/null +++ b/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/model/messagecenter/MessageCenterPagination.java @@ -0,0 +1,39 @@ +package jnpf.messageCenter.model.messagecenter; + + +import jnpf.base.Pagination; +import lombok.Data; + +/** + * @版本: V3.2.0 + * @版权: LINKAGE-BOOT + * @作者: LINKAGE-BOOT研发团队 + * @日期: 2023-03-10 + */ +@Data +public class MessageCenterPagination extends Pagination { + + /** + * 消息标题 + */ + private String title; + + /** + * 消息头 + */ + private String head; + + /** + * 是否已读 + */ + private String isRead; + + /** + * 消息内容 + */ + private String context; + /** + * 菜单id + */ + private String menuId; +} \ No newline at end of file diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/model/messagecenter/MessageCenterPaginationExportModel.java b/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/model/messagecenter/MessageCenterPaginationExportModel.java new file mode 100644 index 00000000..62e74066 --- /dev/null +++ b/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/model/messagecenter/MessageCenterPaginationExportModel.java @@ -0,0 +1,41 @@ +package jnpf.messageCenter.model.messagecenter; + +import jnpf.base.Pagination; +import lombok.Data; + +/** + * @版本: V3.2.0 + * @版权: LINKAGE-BOOT + * @作者: LINKAGE-BOOT研发团队 + * @日期: 2023-03-10 + */ +@Data +public class MessageCenterPaginationExportModel extends Pagination { + + private String selectKey; + + private String json; + + private String dataType; + + + /** + * 消息标题 + */ + private String title; + + /** + * 消息头 + */ + private String head; + + /** + * 是否已读 + */ + private String isRead; + + /** + * 消息内容 + */ + private String context; +} \ No newline at end of file diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/model/messagecenter/MessageCenterUpForm.java b/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/model/messagecenter/MessageCenterUpForm.java new file mode 100644 index 00000000..92475d14 --- /dev/null +++ b/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/model/messagecenter/MessageCenterUpForm.java @@ -0,0 +1,99 @@ + + +package jnpf.messageCenter.model.messagecenter; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; + +/** + * @版本: V3.2.0 + * @版权: LINKAGE-BOOT + * @作者: LINKAGE-BOOT研发团队 + * @日期: 2023-03-10 + */ +@Data +public class MessageCenterUpForm { + /** + * 主键 + */ + private String id; + + + /** + * 消息标题 + **/ + @JsonProperty("title") + private String title; + + + /** + * 消息头 + **/ + @JsonProperty("head") + private String head; + + + /** + * 消息内容 + **/ + @JsonProperty("context") + private String context; + + + /** + * 跳转url + **/ + @JsonProperty("skipUrl") + private String skipUrl; + + + /** + * 是否已读 + **/ + @JsonProperty("isRead") + private String isRead; + + + /** + * 创建人 + **/ + @JsonProperty("creatorUserId") + private String creatorUserId; + + + /** + * 修改人 + **/ + @JsonProperty("lastModifyUserId") + private String lastModifyUserId; + + + /** + * 创建时间 + **/ + @JsonProperty("creatorTime") + private String creatorTime; + + + /** + * 修改时间 + **/ + @JsonProperty("lastModifyTime") + private String lastModifyTime; + + + /** + * 组织ID + **/ + @JsonProperty("orgnizeId") + private String orgnizeId; + + + /** + * 部门ID + **/ + @JsonProperty("departmentId") + private String departmentId; + + +} \ No newline at end of file diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/service/MessageCenterService.java b/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/service/MessageCenterService.java new file mode 100644 index 00000000..fe55ba98 --- /dev/null +++ b/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/service/MessageCenterService.java @@ -0,0 +1,34 @@ +package jnpf.messageCenter.service; + +import jnpf.messageCenter.entity.MessageCenterEntity; +import com.baomidou.mybatisplus.extension.service.IService; +import jnpf.messageCenter.model.messagecenter.MessageCenterPagination; + +import java.util.*; + +/** + * messageCenter + * 版本: V3.2.0 + * 版权: LINKAGE-BOOT + * 作者: LINKAGE-BOOT研发团队 + * 日期: 2023-03-10 + */ +public interface MessageCenterService extends IService { + + List getList(MessageCenterPagination messageCenterPagination); + + List getTypeList(MessageCenterPagination messageCenterPagination, String dataType); + + + MessageCenterEntity getInfo(String id); + + void delete(MessageCenterEntity entity); + + void create(MessageCenterEntity entity); + + boolean update(String id, MessageCenterEntity entity); + +// 子表方法 + + //列表子表数据方法 +} diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/service/impl/MessageCenterServiceImpl.java b/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/service/impl/MessageCenterServiceImpl.java new file mode 100644 index 00000000..2507b9b5 --- /dev/null +++ b/SC-boot/linkage-scm/src/main/java/jnpf/messageCenter/service/impl/MessageCenterServiceImpl.java @@ -0,0 +1,240 @@ +package jnpf.messageCenter.service.impl; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jnpf.messageCenter.entity.MessageCenterEntity; +import jnpf.messageCenter.mapper.MessageCenterMapper; +import jnpf.messageCenter.model.messagecenter.MessageCenterPagination; +import jnpf.messageCenter.service.MessageCenterService; +import jnpf.permission.model.authorize.AuthorizeConditionModel; +import jnpf.permission.service.AuthorizeService; +import jnpf.util.ServletUtil; +import jnpf.util.StringUtil; +import jnpf.util.UserProvider; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.List; + +/** + * messageCenter + * 版本: V3.2.0 + * 版权: LINKAGE-BOOT + * 作者: LINKAGE-BOOT研发团队 + * 日期: 2023-03-10 + */ +@Service +public class MessageCenterServiceImpl extends ServiceImpl implements MessageCenterService { + + + @Autowired + private UserProvider userProvider; + + @Autowired + private AuthorizeService authorizeService; + + + @Override + public List getList(MessageCenterPagination messageCenterPagination) { + String userId = userProvider.get().getUserId(); + List AllIdList = new ArrayList(); + int total = 0; + int messageCenterNum = 0; + QueryWrapper messageCenterQueryWrapper = new QueryWrapper<>(); + boolean pcPermission = true; + boolean appPermission = false; + boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc"); + if (isPc && pcPermission) { + if (!userProvider.get().getIsAdministrator()) { + Object messageCenterObj = authorizeService.getCondition(new AuthorizeConditionModel(messageCenterQueryWrapper, messageCenterPagination.getMenuId(), "messageCenter")); + if (ObjectUtil.isEmpty(messageCenterObj)) { + return new ArrayList<>(); + } else { + messageCenterQueryWrapper = (QueryWrapper) messageCenterObj; + messageCenterNum++; + } + } + } + if (!isPc && appPermission) { + if (!userProvider.get().getIsAdministrator()) { + Object messageCenterObj = authorizeService.getCondition(new AuthorizeConditionModel(messageCenterQueryWrapper, messageCenterPagination.getMenuId(), "messageCenter")); + if (ObjectUtil.isEmpty(messageCenterObj)) { + return new ArrayList<>(); + } else { + messageCenterQueryWrapper = (QueryWrapper) messageCenterObj; + messageCenterNum++; + } + + + } + } + if (StringUtil.isNotEmpty(messageCenterPagination.getTitle())) { + messageCenterNum++; + messageCenterQueryWrapper.lambda().like(MessageCenterEntity::getTitle, messageCenterPagination.getTitle()); + } + + if (StringUtil.isNotEmpty(messageCenterPagination.getHead())) { + messageCenterNum++; + messageCenterQueryWrapper.lambda().like(MessageCenterEntity::getHead, messageCenterPagination.getHead()); + } + + if (StringUtil.isNotEmpty(messageCenterPagination.getIsRead())) { + messageCenterNum++; + messageCenterQueryWrapper.lambda().eq(MessageCenterEntity::getIsRead, messageCenterPagination.getIsRead()); + } + + if (StringUtil.isNotEmpty(messageCenterPagination.getContext())) { + messageCenterNum++; + messageCenterQueryWrapper.lambda().like(MessageCenterEntity::getContext, messageCenterPagination.getContext()); + } + + if (AllIdList.size() > 0) { + messageCenterQueryWrapper.lambda().in(MessageCenterEntity::getId, AllIdList); + } + //排序 + if (StringUtil.isEmpty(messageCenterPagination.getSidx())) { + messageCenterQueryWrapper.lambda().orderByDesc(MessageCenterEntity::getId); + } else { + try { + String sidx = messageCenterPagination.getSidx(); + MessageCenterEntity messageCenterEntity = new MessageCenterEntity(); + Field declaredField = messageCenterEntity.getClass().getDeclaredField(sidx); + declaredField.setAccessible(true); + String value = declaredField.getAnnotation(TableField.class).value(); + messageCenterQueryWrapper = "asc".equals(messageCenterPagination.getSort().toLowerCase()) ? messageCenterQueryWrapper.orderByAsc(value) : messageCenterQueryWrapper.orderByDesc(value); + } catch (NoSuchFieldException e) { + e.printStackTrace(); + } + } + if ((total > 0 && AllIdList.size() > 0) || total == 0) { + Page page = new Page<>(messageCenterPagination.getCurrentPage(), messageCenterPagination.getPageSize()); + IPage userIPage = this.page(page, messageCenterQueryWrapper); + return messageCenterPagination.setData(userIPage.getRecords(), userIPage.getTotal()); + } else { + List list = new ArrayList(); + return messageCenterPagination.setData(list, list.size()); + } + } + + @Override + public List getTypeList(MessageCenterPagination messageCenterPagination, String dataType) { + String userId = userProvider.get().getUserId(); + List AllIdList = new ArrayList(); + int total = 0; + int messageCenterNum = 0; + QueryWrapper messageCenterQueryWrapper = new QueryWrapper<>(); + boolean pcPermission = true; + boolean appPermission = false; + boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc"); + if (isPc && pcPermission) { + if (!userProvider.get().getIsAdministrator()) { + Object messageCenterObj = authorizeService.getCondition(new AuthorizeConditionModel(messageCenterQueryWrapper, messageCenterPagination.getMenuId(), "messageCenter")); + if (ObjectUtil.isEmpty(messageCenterObj)) { + return new ArrayList<>(); + } else { + messageCenterQueryWrapper = (QueryWrapper) messageCenterObj; + messageCenterNum++; + } + } + } + if (!isPc && appPermission) { + if (!userProvider.get().getIsAdministrator()) { + Object messageCenterObj = authorizeService.getCondition(new AuthorizeConditionModel(messageCenterQueryWrapper, messageCenterPagination.getMenuId(), "messageCenter")); + if (ObjectUtil.isEmpty(messageCenterObj)) { + return new ArrayList<>(); + } else { + messageCenterQueryWrapper = (QueryWrapper) messageCenterObj; + messageCenterNum++; + } + + + } + } + if (StringUtil.isNotEmpty(messageCenterPagination.getTitle())) { + messageCenterNum++; + messageCenterQueryWrapper.lambda().like(MessageCenterEntity::getTitle, messageCenterPagination.getTitle()); + } + + if (StringUtil.isNotEmpty(messageCenterPagination.getHead())) { + messageCenterNum++; + messageCenterQueryWrapper.lambda().like(MessageCenterEntity::getHead, messageCenterPagination.getHead()); + } + + if (StringUtil.isNotEmpty(messageCenterPagination.getIsRead())) { + messageCenterNum++; + messageCenterQueryWrapper.lambda().eq(MessageCenterEntity::getIsRead, messageCenterPagination.getIsRead()); + } + + if (StringUtil.isNotEmpty(messageCenterPagination.getContext())) { + messageCenterNum++; + messageCenterQueryWrapper.lambda().like(MessageCenterEntity::getContext, messageCenterPagination.getContext()); + } + + if (AllIdList.size() > 0) { + messageCenterQueryWrapper.lambda().in(MessageCenterEntity::getId, AllIdList); + } + //排序 + if (StringUtil.isEmpty(messageCenterPagination.getSidx())) { + messageCenterQueryWrapper.lambda().orderByDesc(MessageCenterEntity::getId); + } else { + try { + String sidx = messageCenterPagination.getSidx(); + MessageCenterEntity messageCenterEntity = new MessageCenterEntity(); + Field declaredField = messageCenterEntity.getClass().getDeclaredField(sidx); + declaredField.setAccessible(true); + String value = declaredField.getAnnotation(TableField.class).value(); + messageCenterQueryWrapper = "asc".equals(messageCenterPagination.getSort().toLowerCase()) ? messageCenterQueryWrapper.orderByAsc(value) : messageCenterQueryWrapper.orderByDesc(value); + } catch (NoSuchFieldException e) { + e.printStackTrace(); + } + } + if ("0".equals(dataType)) { + if ((total > 0 && AllIdList.size() > 0) || total == 0) { + Page page = new Page<>(messageCenterPagination.getCurrentPage(), messageCenterPagination.getPageSize()); + IPage userIPage = this.page(page, messageCenterQueryWrapper); + return messageCenterPagination.setData(userIPage.getRecords(), userIPage.getTotal()); + } else { + List list = new ArrayList(); + return messageCenterPagination.setData(list, list.size()); + } + } else { + return this.list(messageCenterQueryWrapper); + } + } + + @Override + public MessageCenterEntity getInfo(String id) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(MessageCenterEntity::getId, id); + return this.getOne(queryWrapper); + } + + @Override + public void create(MessageCenterEntity entity) { + this.save(entity); + } + + @Override + public boolean update(String id, MessageCenterEntity entity) { + entity.setId(id); + return this.updateById(entity); + } + + @Override + public void delete(MessageCenterEntity entity) { + if (entity != null) { + this.removeById(entity.getId()); + } + } + //子表方法 + + //列表子表数据方法 + + +} \ No newline at end of file diff --git a/SC-boot/linkage-scm/src/main/resources/MessageCenterMapper.xml b/SC-boot/linkage-scm/src/main/resources/MessageCenterMapper.xml new file mode 100644 index 00000000..74a545c1 --- /dev/null +++ b/SC-boot/linkage-scm/src/main/resources/MessageCenterMapper.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/SC-web/src/views/scm/basicInformation/messagecenter/Detail.vue b/SC-web/src/views/scm/basicInformation/messagecenter/Detail.vue new file mode 100644 index 00000000..90da98fa --- /dev/null +++ b/SC-web/src/views/scm/basicInformation/messagecenter/Detail.vue @@ -0,0 +1,103 @@ + + diff --git a/SC-web/src/views/scm/basicInformation/messagecenter/ExportBox.vue b/SC-web/src/views/scm/basicInformation/messagecenter/ExportBox.vue new file mode 100644 index 00000000..2b640d9d --- /dev/null +++ b/SC-web/src/views/scm/basicInformation/messagecenter/ExportBox.vue @@ -0,0 +1,67 @@ + + + + \ No newline at end of file diff --git a/SC-web/src/views/scm/basicInformation/messagecenter/Form.vue b/SC-web/src/views/scm/basicInformation/messagecenter/Form.vue new file mode 100644 index 00000000..3d258177 --- /dev/null +++ b/SC-web/src/views/scm/basicInformation/messagecenter/Form.vue @@ -0,0 +1,186 @@ + + diff --git a/SC-web/src/views/scm/basicInformation/messagecenter/index.vue b/SC-web/src/views/scm/basicInformation/messagecenter/index.vue new file mode 100644 index 00000000..4ded594a --- /dev/null +++ b/SC-web/src/views/scm/basicInformation/messagecenter/index.vue @@ -0,0 +1,246 @@ + + +