From f9d03c4de356f4af72d3eac60750e324a983be41 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 18 Aug 2021 18:45:28 +0800 Subject: [PATCH 01/53] =?UTF-8?q?=E6=B6=88=E6=81=AF=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E8=A1=A8sql=E6=8F=90=E4=BA=A4=EF=BC=8C=E7=94=9F=E6=88=90?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/controller/InfoController.java | 41 ++++++ .../main/java/com/epmet/dao/InfoAttDao.java | 33 +++++ .../src/main/java/com/epmet/dao/InfoDao.java | 33 +++++ .../com/epmet/dao/InfoGroupReceiversDao.java | 33 +++++ .../java/com/epmet/dao/InfoProfileDao.java | 33 +++++ .../com/epmet/dao/InfoReceiverGroupDao.java | 33 +++++ .../java/com/epmet/dao/InfoReceiversDao.java | 33 +++++ .../com/epmet/dao/InfoReplyContentDao.java | 33 +++++ .../main/java/com/epmet/dao/InfoReplyDao.java | 33 +++++ .../java/com/epmet/entity/InfoAttEntity.java | 76 ++++++++++ .../java/com/epmet/entity/InfoEntity.java | 56 +++++++ .../entity/InfoGroupReceiversEntity.java | 56 +++++++ .../com/epmet/entity/InfoProfileEntity.java | 81 ++++++++++ .../epmet/entity/InfoReceiverGroupEntity.java | 56 +++++++ .../com/epmet/entity/InfoReceiversEntity.java | 61 ++++++++ .../epmet/entity/InfoReplyContentEntity.java | 76 ++++++++++ .../com/epmet/entity/InfoReplyEntity.java | 56 +++++++ .../java/com/epmet/service/InfoService.java | 32 ++++ .../epmet/service/impl/InfoServiceImpl.java | 53 +++++++ .../migration/V0.3.14__create_info_table.sql | 138 ++++++++++++++++++ .../src/main/resources/mapper/InfoAttDao.xml | 24 +++ .../src/main/resources/mapper/InfoDao.xml | 8 + .../mapper/InfoGroupReceiversDao.xml | 9 ++ .../main/resources/mapper/InfoProfileDao.xml | 8 + .../resources/mapper/InfoReceiverGroupDao.xml | 8 + .../resources/mapper/InfoReceiversDao.xml | 8 + .../resources/mapper/InfoReplyContentDao.xml | 7 + .../main/resources/mapper/InfoReplyDao.xml | 7 + 28 files changed, 1125 insertions(+) create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/InfoController.java create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoAttDao.java create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoDao.java create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoGroupReceiversDao.java create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoProfileDao.java create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoReceiverGroupDao.java create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoReceiversDao.java create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoReplyContentDao.java create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoReplyDao.java create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoAttEntity.java create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoEntity.java create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoGroupReceiversEntity.java create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoProfileEntity.java create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoReceiverGroupEntity.java create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoReceiversEntity.java create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoReplyContentEntity.java create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoReplyEntity.java create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/InfoService.java create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/InfoServiceImpl.java create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.14__create_info_table.sql create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoAttDao.xml create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoDao.xml create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoGroupReceiversDao.xml create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoProfileDao.xml create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoReceiverGroupDao.xml create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoReceiversDao.xml create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoReplyContentDao.xml create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoReplyDao.xml diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/InfoController.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/InfoController.java new file mode 100644 index 0000000000..7ef36643de --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/InfoController.java @@ -0,0 +1,41 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.controller; + +import com.epmet.service.InfoService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +/** + * 消息主表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-08-18 + */ +@RestController +@RequestMapping("info") +public class InfoController { + + @Autowired + private InfoService infoService; + + + +} \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoAttDao.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoAttDao.java new file mode 100644 index 0000000000..45005bf028 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoAttDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.InfoAttEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 消息的附件表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-08-18 + */ +@Mapper +public interface InfoAttDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoDao.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoDao.java new file mode 100644 index 0000000000..e6eaacaef6 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.InfoEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 消息主表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-08-18 + */ +@Mapper +public interface InfoDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoGroupReceiversDao.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoGroupReceiversDao.java new file mode 100644 index 0000000000..17890976b6 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoGroupReceiversDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.InfoGroupReceiversEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 消息-群组成员关系表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-08-18 + */ +@Mapper +public interface InfoGroupReceiversDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoProfileDao.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoProfileDao.java new file mode 100644 index 0000000000..4b26153662 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoProfileDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.InfoProfileEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 消息概要表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-08-18 + */ +@Mapper +public interface InfoProfileDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoReceiverGroupDao.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoReceiverGroupDao.java new file mode 100644 index 0000000000..a5b7f35b54 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoReceiverGroupDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.InfoReceiverGroupEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 消息-群组表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-08-18 + */ +@Mapper +public interface InfoReceiverGroupDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoReceiversDao.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoReceiversDao.java new file mode 100644 index 0000000000..74a19d7aba --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoReceiversDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.InfoReceiversEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 消息接收人记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-08-18 + */ +@Mapper +public interface InfoReceiversDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoReplyContentDao.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoReplyContentDao.java new file mode 100644 index 0000000000..03d0fc4399 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoReplyContentDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.InfoReplyContentEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 回复详情表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-08-18 + */ +@Mapper +public interface InfoReplyContentDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoReplyDao.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoReplyDao.java new file mode 100644 index 0000000000..201e36a54d --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoReplyDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.InfoReplyEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 消息回复表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-08-18 + */ +@Mapper +public interface InfoReplyDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoAttEntity.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoAttEntity.java new file mode 100644 index 0000000000..d458461500 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoAttEntity.java @@ -0,0 +1,76 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 消息的附件表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-08-18 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("info_att") +public class InfoAttEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 消息主表的id + */ + private String infoId; + + /** + * 附件名 + */ + private String attachmentName; + + /** + * 文件格式(JPG、PNG、PDF、JPEG、BMP、MP4、WMA、M4A、MP3、DOC、DOCX、XLS) + */ + private String attachmentFormat; + + /** + * 附件类型((图片 - image、 视频 - video、 语音 - voice、 文档 - doc)) + */ + private String attachmentType; + + /** + * 附件地址 + */ + private String attachmentUrl; + + /** + * 排序字段 + */ + private Integer sort; + +} diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoEntity.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoEntity.java new file mode 100644 index 0000000000..d3cd0ca82f --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoEntity.java @@ -0,0 +1,56 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 消息主表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-08-18 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("info") +public class InfoEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户id + */ + private String customerId; + + /** + * 发布人id + */ + private String publishStaffId; + + /** + * 内容,这里存储全部的内容。 + */ + private String content; + +} diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoGroupReceiversEntity.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoGroupReceiversEntity.java new file mode 100644 index 0000000000..9de1c52bc0 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoGroupReceiversEntity.java @@ -0,0 +1,56 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 消息-群组成员关系表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-08-18 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("info_group_receivers") +public class InfoGroupReceiversEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 群组id + */ + private String infoReceiverGroupId; + + /** + * 工作人员id + */ + private String staffId; + +} diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoProfileEntity.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoProfileEntity.java new file mode 100644 index 0000000000..637ce6e125 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoProfileEntity.java @@ -0,0 +1,81 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 消息概要表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-08-18 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("info_profile") +public class InfoProfileEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户id + */ + private String customerId; + + /** + * 消息主表的id + */ + private String infoId; + + /** + * 发布人id + */ + private String publishStaffId; + + /** + * 内容概要,取前100字 + */ + private String content; + + /** + * 附件ID,第一个用于展示 + */ + private String attId; + + /** + * 应读人数 + */ + private Integer totalReceiver; + + /** + * 已读人数,插入是为0 + */ + private Integer readTotal; + + /** + * 未读的回复数量:发布人每次查看详情后,置为0;接收人回复一条+1 + */ + private Integer unReadReplyNum; + +} diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoReceiverGroupEntity.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoReceiverGroupEntity.java new file mode 100644 index 0000000000..d7efe67896 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoReceiverGroupEntity.java @@ -0,0 +1,56 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 消息-群组表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-08-18 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("info_receiver_group") +public class InfoReceiverGroupEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 群组名称,我创建的范围内唯一 + */ + private String name; + + /** + * 创建人id + */ + private String createStaffId; + +} diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoReceiversEntity.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoReceiversEntity.java new file mode 100644 index 0000000000..ea5275329e --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoReceiversEntity.java @@ -0,0 +1,61 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 消息接收人记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-08-18 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("info_receivers") +public class InfoReceiversEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 消息主表.id + */ + private String infoId; + + /** + * 工作人员id + */ + private String staffId; + + /** + * 已读:1;未读:0 + */ + private Integer readFlag; + +} diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoReplyContentEntity.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoReplyContentEntity.java new file mode 100644 index 0000000000..e83345449a --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoReplyContentEntity.java @@ -0,0 +1,76 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 回复详情表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-08-18 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("info_reply_content") +public class InfoReplyContentEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * INFO_REPLY的id + */ + private String infoReplyId; + + /** + * 附件名 + */ + private String attachmentName; + + /** + * 文件格式(JPG、PNG、PDF、JPEG、BMP、MP4、WMA、M4A、MP3、DOC、DOCX、XLS) + */ + private String attachmentFormat; + + /** + * 回复的类型(文本-text、图片 - image、 视频 - video、 语音 - voice、 文档 - doc)) + */ + private String replyType; + + /** + * 如果是文本对应的是文字,如果是其他类型,对应的是url + */ + private String content; + + /** + * 排序字段 + */ + private Integer sort; + +} diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoReplyEntity.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoReplyEntity.java new file mode 100644 index 0000000000..9e67742cae --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoReplyEntity.java @@ -0,0 +1,56 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 消息回复表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-08-18 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("info_reply") +public class InfoReplyEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 消息主表的id + */ + private String infoId; + + /** + * 回复人用户Id + */ + private String fromUserId; + +} diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/InfoService.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/InfoService.java new file mode 100644 index 0000000000..4fba1d245d --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/InfoService.java @@ -0,0 +1,32 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.entity.InfoEntity; + +/** + * 消息主表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-08-18 + */ +public interface InfoService extends BaseService { + + +} \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/InfoServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/InfoServiceImpl.java new file mode 100644 index 0000000000..616ab65bac --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/InfoServiceImpl.java @@ -0,0 +1,53 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.service.impl; + +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.dao.*; +import com.epmet.entity.InfoEntity; +import com.epmet.service.InfoService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 消息主表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-08-18 + */ +@Slf4j +@Service +public class InfoServiceImpl extends BaseServiceImpl implements InfoService { + @Autowired + private InfoAttDao infoAttDao; + @Autowired + private InfoReceiversDao infoReceiversDao; + @Autowired + private InfoGroupReceiversDao infoGroupReceiversDao; + @Autowired + private InfoReceiverGroupDao infoReceiverGroupDao; + @Autowired + private InfoProfileDao infoProfileDao; + @Autowired + private InfoReplyDao infoReplyDao; + @Autowired + private InfoReplyContentDao infoReplyContentDao; + + +} \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.14__create_info_table.sql b/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.14__create_info_table.sql new file mode 100644 index 0000000000..04797deeeb --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.14__create_info_table.sql @@ -0,0 +1,138 @@ +-- 上传下达消息表 +CREATE TABLE `info` ( + `ID` varchar(64) NOT NULL COMMENT '主键', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户id', + `publish_staff_id` varchar(64) NOT NULL COMMENT '发布人id', + `content` varchar(1024) NOT NULL COMMENT '内容,这里存储全部的内容。', + `DEL_FLAG` varchar(1) NOT NULL COMMENT '删除标识', + `REVISION` int(10) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='消息主表'; + + +CREATE TABLE `info_att` ( + `ID` varchar(64) NOT NULL COMMENT '主键', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID', + `INFO_ID` varchar(64) NOT NULL COMMENT '消息主表的id', + `ATTACHMENT_NAME` varchar(64) NOT NULL COMMENT '附件名', + `ATTACHMENT_FORMAT` varchar(64) NOT NULL COMMENT '文件格式(JPG、PNG、PDF、JPEG、BMP、MP4、WMA、M4A、MP3、DOC、DOCX、XLS)', + `ATTACHMENT_TYPE` varchar(64) NOT NULL COMMENT '附件类型((图片 - image、 视频 - video、 语音 - voice、 文档 - doc))', + `ATTACHMENT_URL` varchar(255) NOT NULL COMMENT '附件地址', + `SORT` int(1) NOT NULL COMMENT '排序字段', + `DEL_FLAG` varchar(1) NOT NULL COMMENT '删除标记 0:未删除,1:已删除', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='消息的附件表'; + + +CREATE TABLE `info_group_receivers` ( + `ID` varchar(64) NOT NULL COMMENT '主键', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID', + `info_receiver_group_id` varchar(64) NOT NULL COMMENT '群组id', + `STAFF_ID` varchar(64) NOT NULL COMMENT '工作人员id', + `DEL_FLAG` varchar(1) NOT NULL COMMENT '删除标记 0:未删除,1:已删除', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='消息-群组成员关系表'; + + +CREATE TABLE `info_profile` ( + `ID` varchar(64) NOT NULL COMMENT '主键', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户id', + `INFO_ID` varchar(64) NOT NULL COMMENT '消息主表的id', + `publish_staff_id` varchar(64) NOT NULL COMMENT '发布人id', + `content` varchar(512) NOT NULL COMMENT '内容概要,取前100字', + `att_id` varchar(1024) NOT NULL COMMENT '附件ID,第一个用于展示', + `total_receiver` int(11) NOT NULL COMMENT '应读人数', + `read_total` int(11) NOT NULL COMMENT '已读人数,插入是为0', + `UN_READ_REPLY_NUM` int(11) NOT NULL COMMENT '未读的回复数量:发布人每次查看详情后,置为0;接收人回复一条+1', + `DEL_FLAG` varchar(1) NOT NULL COMMENT '删除标识', + `REVISION` int(10) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE, + UNIQUE KEY `IDX_IP_INFO_ID` (`INFO_ID`), + KEY `IDX_IP_STAFF_ID` (`publish_staff_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='消息概要表'; + + +CREATE TABLE `info_receiver_group` ( + `ID` varchar(64) NOT NULL COMMENT '主键', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID', + `NAME` varchar(64) NOT NULL COMMENT '群组名称,我创建的范围内唯一', + `CREATE_STAFF_ID` varchar(64) NOT NULL COMMENT '创建人id', + `DEL_FLAG` varchar(1) NOT NULL COMMENT '删除标记 0:未删除,1:已删除', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='消息-群组表'; + + +CREATE TABLE `info_receivers` ( + `ID` varchar(64) NOT NULL COMMENT '主键,群组id', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID', + `INFO_ID` varchar(64) NOT NULL COMMENT '消息主表.id', + `STAFF_ID` varchar(64) NOT NULL COMMENT '工作人员id', + `READ_FLAG` tinyint(1) NOT NULL DEFAULT '0' COMMENT '已读:1;未读:0', + `DEL_FLAG` varchar(1) NOT NULL COMMENT '删除标记 0:未删除,1:已删除', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE, + KEY `IDX_IR_INFO_ID` (`INFO_ID`), + KEY `IDX_IR_STAFF_ID` (`STAFF_ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='消息接收人记录表'; + + +CREATE TABLE `info_reply` ( + `ID` varchar(64) NOT NULL COMMENT '主键', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID', + `INFO_ID` varchar(64) NOT NULL COMMENT '消息主表的id', + `FROM_USER_ID` varchar(64) NOT NULL COMMENT '回复人用户Id', + `DEL_FLAG` varchar(1) NOT NULL COMMENT '删除标记 0:未删除,1:已删除', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='消息回复表'; + + +CREATE TABLE `info_reply_content` ( + `ID` varchar(64) NOT NULL COMMENT '主键', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID', + `INFO_REPLY_ID` varchar(64) NOT NULL COMMENT 'INFO_REPLY的id', + `ATTACHMENT_NAME` varchar(64) DEFAULT NULL COMMENT '附件名', + `ATTACHMENT_FORMAT` varchar(64) DEFAULT NULL COMMENT '文件格式(JPG、PNG、PDF、JPEG、BMP、MP4、WMA、M4A、MP3、DOC、DOCX、XLS)', + `REPLY_TYPE` varchar(64) NOT NULL COMMENT '回复的类型(文本-text、图片 - image、 视频 - video、 语音 - voice、 文档 - doc))', + `CONTENT` varchar(255) NOT NULL COMMENT '如果是文本对应的是文字,如果是其他类型,对应的是url', + `SORT` int(1) NOT NULL COMMENT '排序字段', + `DEL_FLAG` varchar(1) NOT NULL COMMENT '删除标记 0:未删除,1:已删除', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='回复详情表'; + diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoAttDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoAttDao.xml new file mode 100644 index 0000000000..4d3710f54f --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoAttDao.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoDao.xml new file mode 100644 index 0000000000..25ef13a201 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoDao.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoGroupReceiversDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoGroupReceiversDao.xml new file mode 100644 index 0000000000..19cdf876fd --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoGroupReceiversDao.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoProfileDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoProfileDao.xml new file mode 100644 index 0000000000..5b9bea1f1e --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoProfileDao.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoReceiverGroupDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoReceiverGroupDao.xml new file mode 100644 index 0000000000..264c96846f --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoReceiverGroupDao.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoReceiversDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoReceiversDao.xml new file mode 100644 index 0000000000..88acf8d276 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoReceiversDao.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoReplyContentDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoReplyContentDao.xml new file mode 100644 index 0000000000..0e02284cd4 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoReplyContentDao.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoReplyDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoReplyDao.xml new file mode 100644 index 0000000000..0411abe306 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoReplyDao.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file From 3e8b3e47889d7fc8394989de309dcca544aaacb6 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Thu, 19 Aug 2021 09:37:53 +0800 Subject: [PATCH 02/53] =?UTF-8?q?=E9=80=9A=E8=AE=AF=E5=BD=95=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E6=A8=A1=E6=9D=BF=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/epmetuser/form/ListStaffFormDTO.java | 24 +++++++ .../epmetuser/result/ListStaffResultDTO.java | 28 ++++++++ .../dto/govorg/form/OrgStaffListFormDTO.java | 31 +++++++++ .../dto/govorg/form/StaffDetailV2FormDTO.java | 31 +++++++++ .../govorg/result/OrgStaffListResultDTO.java | 39 +++++++++++ .../govorg/result/StaffDetailV2ResultDTO.java | 39 +++++++++++ .../controller/EpmetUserController.java | 16 +++-- .../controller/GovOrgController.java | 27 ++++++-- .../service/epmetuser/EpmetUserService.java | 12 ++-- .../epmetuser/impl/EpmetUserServiceImpl.java | 16 +++-- .../service/govorg/GovOrgService.java | 15 ++++ .../govorg/impl/GovOrgServiceImpl.java | 22 ++++++ .../com/epmet/dto/form/AddStaffV2FromDTO.java | 68 +++++++++++++++++++ .../com/epmet/controller/StaffController.java | 14 ++++ .../java/com/epmet/service/StaffService.java | 6 ++ .../epmet/service/impl/StaffServiceImpl.java | 12 ++++ .../V0.0.6__add_staff_org_relation.sql | 35 ++++++++++ .../epmet/dto/form/EnableStaffFormDTO.java | 25 +++++++ .../controller/CustomerStaffController.java | 10 +++ .../epmet/service/CustomerStaffService.java | 6 ++ .../impl/CustomerStaffServiceImpl.java | 10 +++ 21 files changed, 470 insertions(+), 16 deletions(-) create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/ListStaffFormDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/ListStaffResultDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/OrgStaffListFormDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/StaffDetailV2FormDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/OrgStaffListResultDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/StaffDetailV2ResultDTO.java create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddStaffV2FromDTO.java create mode 100644 epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.6__add_staff_org_relation.sql create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EnableStaffFormDTO.java diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/ListStaffFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/ListStaffFormDTO.java new file mode 100644 index 0000000000..253a82639e --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/ListStaffFormDTO.java @@ -0,0 +1,24 @@ +package com.epmet.dataaggre.dto.epmetuser.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 对外接口--【通讯录】姓名检索工作人员-接口入参 + * @Auth sun + */ +@Data +public class ListStaffFormDTO implements Serializable { + + private static final long serialVersionUID = -3381286960911634231L; + /** + * 客户Id + */ + @NotBlank(message = "姓名不能为空", groups = ListStaffFormDTO.Staff.class) + private String realName; + public interface Staff extends CustomerClientShowGroup {} + +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/ListStaffResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/ListStaffResultDTO.java new file mode 100644 index 0000000000..7e04034352 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/ListStaffResultDTO.java @@ -0,0 +1,28 @@ +package com.epmet.dataaggre.dto.epmetuser.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 对外接口--【通讯录】姓名检索工作人员-接口返参 + * @Auth sun + */ +@Data +public class ListStaffResultDTO implements Serializable { + private static final long serialVersionUID = 7129564173128153335L; + + //工作人员用户id + private String staffId = ""; + //工作人员姓名 + private String staffName = ""; + //手机号 + private String mobile = ""; + //用户所属组织id + private String agencyId = ""; + //用户所属组织全路径名称 + private String agencyAllName = ""; + //客户Id + private String customerId = ""; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/OrgStaffListFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/OrgStaffListFormDTO.java new file mode 100644 index 0000000000..595139ee97 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/OrgStaffListFormDTO.java @@ -0,0 +1,31 @@ +package com.epmet.dataaggre.dto.govorg.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 【通讯录】组织/部门/网格下人员列表-接口入参 + * @Auth sun + */ +@Data +public class OrgStaffListFormDTO implements Serializable { + private static final long serialVersionUID = -1974456701949979946L; + @NotBlank(message = "parentAgencyId不能为空",groups = AddUserInternalGroup.class) + private String parentAgencyId; + private String areaCode; + /** + * 社区级:community, + * 乡(镇、街道)级:street, + * 区县级: district, + * 市级: city + * 省级:province + */ + @NotBlank(message = "level不能为空",groups = AddUserInternalGroup.class) + private String level; + + public interface AddUserInternalGroup { + } + +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/StaffDetailV2FormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/StaffDetailV2FormDTO.java new file mode 100644 index 0000000000..d38739c346 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/StaffDetailV2FormDTO.java @@ -0,0 +1,31 @@ +package com.epmet.dataaggre.dto.govorg.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 【通讯录】人员详情v2-接口返参 + * @Auth sun + */ +@Data +public class StaffDetailV2FormDTO implements Serializable { + private static final long serialVersionUID = -1974456701949979946L; + @NotBlank(message = "parentAgencyId不能为空",groups = AddUserInternalGroup.class) + private String parentAgencyId; + private String areaCode; + /** + * 社区级:community, + * 乡(镇、街道)级:street, + * 区县级: district, + * 市级: city + * 省级:province + */ + @NotBlank(message = "level不能为空",groups = AddUserInternalGroup.class) + private String level; + + public interface AddUserInternalGroup { + } + +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/OrgStaffListResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/OrgStaffListResultDTO.java new file mode 100644 index 0000000000..54a2328ebe --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/OrgStaffListResultDTO.java @@ -0,0 +1,39 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dto.govorg.result; + +import lombok.Data; + +import java.io.Serializable; + + +/** + * @Description 【通讯录】组织/部门/网格下人员列表-接口返参 + * @Auth sun + */ +@Data +public class OrgStaffListResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 树结构对象 + */ + private AgencyGridResultDTO agencyGridList; + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/StaffDetailV2ResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/StaffDetailV2ResultDTO.java new file mode 100644 index 0000000000..fda8f72636 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/StaffDetailV2ResultDTO.java @@ -0,0 +1,39 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dto.govorg.result; + +import lombok.Data; + +import java.io.Serializable; + + +/** + * @Description 【通讯录】人员详情v2-接口返参 + * @Auth sun + */ +@Data +public class StaffDetailV2ResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 树结构对象 + */ + private AgencyGridResultDTO agencyGridList; + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java index 7433f7e83d..52d33309e4 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java @@ -7,10 +7,7 @@ import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.dataaggre.dto.epmetuser.form.OpenStaffDetailFormDTO; -import com.epmet.dataaggre.dto.epmetuser.form.PatrolDateListFormDTO; -import com.epmet.dataaggre.dto.epmetuser.form.PatrolRecordListFormDTO; -import com.epmet.dataaggre.dto.epmetuser.form.StaffListFormDTO; +import com.epmet.dataaggre.dto.epmetuser.form.*; import com.epmet.dataaggre.dto.epmetuser.result.*; import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO; import com.epmet.dataaggre.service.datastats.DataStatsService; @@ -209,4 +206,15 @@ public class EpmetUserController { return new Result().ok(epmetUserService.mentionMeEvent(tokenDto.getUserId())); } + /** + * @Param formDTO + * @Description 通讯录】姓名检索工作人员 + * @author sun + */ + @PostMapping("stafflist") + public Result> staffList(@RequestBody ListStaffFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, ListStaffFormDTO.Staff.class); + return new Result>().ok(epmetUserService.listStaff(formDTO)); + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java index 1f044a21e2..5ef0282825 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java @@ -11,10 +11,9 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dataaggre.dto.govorg.form.GridMemberDataAnalysisFromDTO; import com.epmet.dataaggre.dto.govorg.form.NextAreaCodeFormDTO; -import com.epmet.dataaggre.dto.govorg.result.AgencyGridListResultDTO; -import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO; -import com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO; -import com.epmet.dataaggre.dto.govorg.result.StaffAgencyGridListResultDTO; +import com.epmet.dataaggre.dto.govorg.form.OrgStaffListFormDTO; +import com.epmet.dataaggre.dto.govorg.form.StaffDetailV2FormDTO; +import com.epmet.dataaggre.dto.govorg.result.*; import com.epmet.dataaggre.enums.GridMemberDataAnalysisEnums; import com.epmet.dataaggre.service.AggreGridService; import com.epmet.dataaggre.service.govorg.GovOrgService; @@ -128,4 +127,24 @@ public class GovOrgController { return new Result().ok(govOrgService.staffAgencyGridList(tokenDto)); } + /** + * @Param formDTO + * @Description 【通讯录】组织/部门/网格下人员列表 + * @author sun + */ + @PostMapping("stafflist") + public Result> staffList(@LoginUser OrgStaffListFormDTO formDTO) { + return new Result>().ok(govOrgService.staffList(formDTO)); + } + + /** + * @Param formDTO + * @Description 【通讯录】人员详情v2 + * @author sun + */ + @PostMapping("staffdetailv2") + public Result staffDetailV2(@LoginUser StaffDetailV2ResultDTO formDTO) { + return new Result().ok(govOrgService.staffDetailV2(formDTO)); + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java index e1941c1c08..add57d7886 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java @@ -1,9 +1,6 @@ package com.epmet.dataaggre.service.epmetuser; -import com.epmet.dataaggre.dto.epmetuser.form.OpenStaffDetailFormDTO; -import com.epmet.dataaggre.dto.epmetuser.form.PatrolDateListFormDTO; -import com.epmet.dataaggre.dto.epmetuser.form.PatrolRecordListFormDTO; -import com.epmet.dataaggre.dto.epmetuser.form.StaffListFormDTO; +import com.epmet.dataaggre.dto.epmetuser.form.*; import com.epmet.dataaggre.dto.epmetuser.result.*; import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO; @@ -96,4 +93,11 @@ public interface EpmetUserService { * @date 2021/8/3 15:09 */ UserEventLogoResultDTO mentionMeEvent(String userId); + + /** + * @Param formDTO + * @Description 通讯录】姓名检索工作人员 + * @author sun + */ + List listStaff(ListStaffFormDTO formDTO); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java index 32bce002dc..3039f4a9c2 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java @@ -9,10 +9,7 @@ import com.epmet.dataaggre.dao.epmetuser.*; import com.epmet.dataaggre.dto.epmetuser.CustomerStaffDTO; import com.epmet.dataaggre.dto.epmetuser.StaffPatrolDetailDTO; import com.epmet.dataaggre.dto.epmetuser.StaffPatrolRecordDTO; -import com.epmet.dataaggre.dto.epmetuser.form.OpenStaffDetailFormDTO; -import com.epmet.dataaggre.dto.epmetuser.form.PatrolDateListFormDTO; -import com.epmet.dataaggre.dto.epmetuser.form.PatrolRecordListFormDTO; -import com.epmet.dataaggre.dto.epmetuser.form.StaffListFormDTO; +import com.epmet.dataaggre.dto.epmetuser.form.*; import com.epmet.dataaggre.dto.epmetuser.result.*; import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; @@ -424,5 +421,16 @@ public class EpmetUserServiceImpl implements EpmetUserService { return resultDTO; } + /** + * @Param formDTO + * @Description 通讯录】姓名检索工作人员 + * @author sun + */ + @Override + public List listStaff(ListStaffFormDTO formDTO) { + + return null; + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java index 2e5422376b..a912b2180b 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java @@ -4,6 +4,8 @@ import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; import com.epmet.dataaggre.dto.govorg.form.NextAreaCodeFormDTO; +import com.epmet.dataaggre.dto.govorg.form.OrgStaffListFormDTO; +import com.epmet.dataaggre.dto.govorg.form.StaffDetailV2FormDTO; import com.epmet.dataaggre.dto.govorg.result.*; import com.epmet.dataaggre.dto.resigroup.result.OrgInfoCommonDTO; @@ -81,4 +83,17 @@ public interface GovOrgService { */ StaffAgencyGridListResultDTO staffAgencyGridList(TokenDto tokenDto); + /** + * @Param formDTO + * @Description 【通讯录】组织/部门/网格下人员列表 + * @author sun + */ + List staffList(OrgStaffListFormDTO formDTO); + + /** + * @Param formDTO + * @Description 【通讯录】人员详情v2 + * @author sun + */ + StaffDetailV2FormDTO staffDetailV2(StaffDetailV2ResultDTO formDTO); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index eff9f0bdd2..1509a52d68 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -16,6 +16,8 @@ import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; import com.epmet.dataaggre.dto.govorg.CustomerStaffAgencyDTO; import com.epmet.dataaggre.dto.govorg.form.NextAreaCodeFormDTO; +import com.epmet.dataaggre.dto.govorg.form.OrgStaffListFormDTO; +import com.epmet.dataaggre.dto.govorg.form.StaffDetailV2FormDTO; import com.epmet.dataaggre.dto.govorg.result.*; import com.epmet.dataaggre.dto.resigroup.result.OrgInfoCommonDTO; import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity; @@ -372,4 +374,24 @@ public class GovOrgServiceImpl implements GovOrgService { return subAgencyList; } + /** + * @Param formDTO + * @Description 【通讯录】组织/部门/网格下人员列表 + * @author sun + */ + @Override + public List staffList(OrgStaffListFormDTO formDTO) { + return null; + } + + /** + * @Param formDTO + * @Description 【通讯录】人员详情v2 + * @author sun + */ + @Override + public StaffDetailV2FormDTO staffDetailV2(StaffDetailV2ResultDTO formDTO) { + return null; + } + } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddStaffV2FromDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddStaffV2FromDTO.java new file mode 100644 index 0000000000..4d77fa3114 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddStaffV2FromDTO.java @@ -0,0 +1,68 @@ +package com.epmet.dto.form; + +import lombok.Data; +import lombok.NoArgsConstructor; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Pattern; +import java.io.Serializable; +import java.util.List; + +/** + * @author sun + * @dscription + */ +@NoArgsConstructor +@Data +public class AddStaffV2FromDTO implements Serializable { + private static final long serialVersionUID = 1L; + /** + * 客户ID + */ + private String customerId; + /** + * 机关ID + */ + private String agencyId; + /** + * 人员ID + */ + private String staffId; + /** + * 姓名 + */ + @NotBlank(message = "姓名不能为空") + @Length(max = 15, message = "姓名仅允许输入15个字符") + private String name; + /** + * 手机 + */ + @NotBlank(message = "手机号不能为空") + @Pattern(regexp = "^[1][3,4,5,6,7,8,9][0-9]{9}$", message = "请输入正确的手机号") + private String mobile; + /** + * 性别 + */ + @NotNull(message = "性别不能为空") + private Integer gender; + /** + * 专兼职 + */ + @NotBlank(message = "专兼职不能为空") + private String workType; + /** + * 角色id列表 + */ + @NotNull(message = "角色不能为空") + private List roles; + /** + * 来源app(政府端:gov、居民端:resi、运营端:oper) + */ + private String app; + /** + * 来源client(PC端:web、微信小程序:wxmp) + */ + private String client; +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java index 834cd56869..ef125beb1a 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java @@ -165,4 +165,18 @@ public class StaffController { public Result staffName(@RequestParam("userId")String userId){ return new Result().ok(staffService.staffName(userId)); } + + /** + * 【通讯录】人员添加v2 + * @author sun + */ + @PostMapping("addstaffv2") + @RequirePermission(requirePermission = RequirePermissionEnum.ORG_STAFF_CREATE) + public Result addStaffV2(@RequestBody AddStaffV2FromDTO fromDTO){ + fromDTO.setApp("gov"); + fromDTO.setClient("wxmp"); + ValidatorUtils.validateEntity(fromDTO); + return staffService.addStaffV2(fromDTO); + } + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/StaffService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/StaffService.java index 5ac3ac549a..e399369dee 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/StaffService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/StaffService.java @@ -113,4 +113,10 @@ public interface StaffService { * @date 2021/8/4 3:38 下午 */ String staffName(String userId); + + /** + * 【通讯录】人员添加v2 + * @author sun + */ + Result addStaffV2(AddStaffV2FromDTO fromDTO); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java index ec8ea004aa..402ca28f4f 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java @@ -301,4 +301,16 @@ public class StaffServiceImpl implements StaffService { String result = agencyName.concat(staffBasicInfo.getData().getRealName()); return result; } + + /** + * 【通讯录】人员添加v2 + * @author sun + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Result addStaffV2(AddStaffV2FromDTO fromDTO) { + + return new Result(); + } + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.6__add_staff_org_relation.sql b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.6__add_staff_org_relation.sql new file mode 100644 index 0000000000..10070cdb60 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.6__add_staff_org_relation.sql @@ -0,0 +1,35 @@ +CREATE TABLE `staff_org_relation` ( + `ID` varchar(64) NOT NULL COMMENT 'ID', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID', + `PIDS` varchar(1024) NOT NULL COMMENT '所有上级组织机构ID(以英文:隔开)部门/网格得拼上所属组织Id', + `STAFF_ID` varchar(64) NOT NULL COMMENT '工作人员Id', + `ORG_ID` varchar(64) NOT NULL COMMENT '工作人员添加入口Id(agencyId;deptId;gridId)', + `ORG_TYPE` varchar(30) NOT NULL COMMENT '工作人员添加入口类型(组织:agency;部门:dept;网格:gridId)', + `DEL_FLAG` varchar(1) NOT NULL COMMENT '删除标识', + `REVISION` int(10) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE, + UNIQUE KEY `staffid_orgid` (`STAFF_ID`,`ORG_ID`) USING BTREE COMMENT '联合主键' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='工作人员注册组织关系表'; + +INSERT INTO staff_org_relation SELECT + MD5(UUID()), + cs.CUSTOMER_ID, + ca.pids, + cs.USER_ID, + ca.id, + 'agency', + '0', + '0', + 'APP_USER', + NOW(), + 'APP_USER', + NOW() +FROM + customer_staff_agency cs +INNER JOIN customer_agency ca ON cs.AGENCY_ID = ca.ID +WHERE cs.DEL_FLAG = '0'; + diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EnableStaffFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EnableStaffFormDTO.java new file mode 100644 index 0000000000..f0788499c1 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EnableStaffFormDTO.java @@ -0,0 +1,25 @@ +package com.epmet.dto.form; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; +import java.io.Serializable; +import java.util.List; + +/** + * @author sun + * @dscription 接口入参--【通讯录】工作人员解禁 + */ +@NoArgsConstructor +@Data +public class EnableStaffFormDTO implements Serializable { + + private static final long serialVersionUID = -5220529162950147825L; + /** + * 徽章名称 + */ + @NotBlank(message = "徽章名称不能为空") + private String badgeName; +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java index cb9673ccf6..83dc575ed8 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java @@ -428,5 +428,15 @@ public class CustomerStaffController { return new Result>().ok(staffs); } + /** + * 【通讯录】工作人员解禁 + * @author sun + */ + @PostMapping("enablestaff") + public Result enableStaff(@RequestBody EnableStaffFormDTO fromDTO){ + customerStaffService.enableStaff(fromDTO); + return new Result(); + } + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java index 7f5b43161e..74c16285e0 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java @@ -329,4 +329,10 @@ public interface CustomerStaffService extends BaseService { * @date 2021.06.08 10:52 */ List list(String customerId, String realName, String mobile, List ids); + + /** + * 【通讯录】工作人员解禁 + * @author sun + */ + void enableStaff(EnableStaffFormDTO fromDTO); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java index 8a8764e5b0..4a0bdfa05d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java @@ -737,4 +737,14 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl list(String customerId, String realName, String mobile, List userIds) { return baseDao.listDTOS(customerId, realName, mobile, userIds); } + + /** + * 【通讯录】工作人员解禁 + * @author sun + */ + @Override + public void enableStaff(EnableStaffFormDTO fromDTO) { + //超级管理员解禁 需要加新权限 + } + } From 835f7371b4bbd9fc512cdc9c0a5e628f679a19ad Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 19 Aug 2021 10:34:10 +0800 Subject: [PATCH 03/53] =?UTF-8?q?=E8=AF=B7=E9=80=89=E6=8B=A9=E6=8E=A5?= =?UTF-8?q?=E6=94=B6=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/commons/tools/exception/EpmetErrorCode.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java index 8ba25b63e6..c35ee74bc8 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java @@ -103,6 +103,9 @@ public enum EpmetErrorCode { RESI_EVENT_CAN_NOT_CLOSE_CASE(8607,"事件尚未处理,请处理完成后进行办结"), RESI_EVENT_SHIFT_PROJECT(8608,"事件已立项,请勿重复操作"), + PLEASE_CHOOSE_RECEIVER(8609,"请选择接收人"), + + // 爱心互助 居民端 NOT_IN_THE_SIGN_IN_RANGE(8510, "您还未进入指定的签到范围~"), // 活动报名失败,弹窗:志愿者认证 From afe15fef3e4a4c76a54c55d94a1023814e0660c6 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Thu, 19 Aug 2021 11:10:19 +0800 Subject: [PATCH 04/53] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E4=BA=BA=E5=91=98V2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/form/AddStaffV2FromDTO.java | 32 ++++--- .../com/epmet/dto/result/OrgResultDTO.java | 91 +++++++++++++++++++ .../com/epmet/controller/StaffController.java | 9 +- .../java/com/epmet/dao/CustomerAgencyDao.java | 6 ++ .../epmet/service/impl/StaffServiceImpl.java | 69 +++++++++++++- .../resources/mapper/CustomerAgencyDao.xml | 63 +++++++++++++ 6 files changed, 251 insertions(+), 19 deletions(-) create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrgResultDTO.java diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddStaffV2FromDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddStaffV2FromDTO.java index 4d77fa3114..5f369289e9 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddStaffV2FromDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddStaffV2FromDTO.java @@ -1,5 +1,6 @@ package com.epmet.dto.form; +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; import lombok.Data; import lombok.NoArgsConstructor; import org.hibernate.validator.constraints.Length; @@ -19,44 +20,49 @@ import java.util.List; public class AddStaffV2FromDTO implements Serializable { private static final long serialVersionUID = 1L; /** - * 客户ID + * 新增人员所属类型Id */ - private String customerId; + private String orgId; /** - * 机关ID + * 客户ID */ - private String agencyId; + private String customerId; /** - * 人员ID + * 新增人员所属类型【组织:agency;部门:dept;网格:grid】】 */ - private String staffId; + private String orgType; /** * 姓名 */ - @NotBlank(message = "姓名不能为空") - @Length(max = 15, message = "姓名仅允许输入15个字符") + @NotBlank(message = "姓名不能为空", groups = AddStaffV2FromDTO.AddStaff.class) + @Length(max = 15, message = "姓名仅允许输入15个字符", groups = AddStaffV2FromDTO.AddStaff.class) private String name; + /** + * 人员ID + */ + private String staffId; /** * 手机 */ - @NotBlank(message = "手机号不能为空") - @Pattern(regexp = "^[1][3,4,5,6,7,8,9][0-9]{9}$", message = "请输入正确的手机号") + @NotBlank(message = "手机号不能为空", groups = AddStaffV2FromDTO.AddStaff.class) + @Pattern(regexp = "^[1][3,4,5,6,7,8,9][0-9]{9}$", message = "请输入正确的手机号", groups = AddStaffV2FromDTO.AddStaff.class) private String mobile; /** * 性别 */ - @NotNull(message = "性别不能为空") + @NotNull(message = "性别不能为空", groups = AddStaffV2FromDTO.AddStaff.class) private Integer gender; /** * 专兼职 */ - @NotBlank(message = "专兼职不能为空") + @NotBlank(message = "专兼职不能为空", groups = AddStaffV2FromDTO.AddStaff.class) private String workType; /** * 角色id列表 */ - @NotNull(message = "角色不能为空") + @NotNull(message = "角色不能为空", groups = AddStaffV2FromDTO.AddStaff.class) private List roles; + public interface AddStaff extends CustomerClientShowGroup {} /** * 来源app(政府端:gov、居民端:resi、运营端:oper) */ diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrgResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrgResultDTO.java new file mode 100644 index 0000000000..54cd3a5cc1 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrgResultDTO.java @@ -0,0 +1,91 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + + +/** + * 按类型查询对应机关信息 + */ +@Data +public class OrgResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 机关Id + */ + private String agencyId; + + /** + * 客户ID + */ + private String customerId; + + /** + * 上级组织机构ID + */ + private String pid; + + /** + * 所有上级组织机构ID(以英文:隔开) + */ + private String pids; + + /** + * 所有上级名称,以-连接 + */ + private String allParentName; + + /** + * 组织名称 + */ + private String organizationName; + + /** + * 机关级别(社区级:community, +乡(镇、街道)级:street, +区县级: district, +市级: city +省级:province) 机关级别(社区级:community,乡(镇、街道)级:street,区县级: district,市级: city省级:province) + */ + private String level; + + /** + * 地区编码 + */ + private String areaCode; + + /** + * 总人数 + */ + private Integer totalUser = 0; + + /** + * 部门总人数 + */ + private Integer DeptTotalUser = 0; + + /** + * 网格总人数 + */ + private Integer gridTotalUser = 0; +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java index ef125beb1a..2dafc1e158 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java @@ -172,10 +172,11 @@ public class StaffController { */ @PostMapping("addstaffv2") @RequirePermission(requirePermission = RequirePermissionEnum.ORG_STAFF_CREATE) - public Result addStaffV2(@RequestBody AddStaffV2FromDTO fromDTO){ - fromDTO.setApp("gov"); - fromDTO.setClient("wxmp"); - ValidatorUtils.validateEntity(fromDTO); + public Result addStaffV2(@LoginUser TokenDto tokenDto, @RequestBody AddStaffV2FromDTO fromDTO){ + ValidatorUtils.validateEntity(fromDTO, AddStaffV2FromDTO.AddStaff.class); + fromDTO.setCustomerId(tokenDto.getCustomerId()); + fromDTO.setApp(tokenDto.getApp()); + fromDTO.setClient(tokenDto.getClient()); return staffService.addStaffV2(fromDTO); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java index dc5518a35c..b0149c28d8 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java @@ -233,4 +233,10 @@ public interface CustomerAgencyDao extends BaseDao { @Param("customerId") String customerId, @Param("agencyId") String agencyId, @Param("parentAgencyId") String parentAgencyId); + + /** + * 根据新增人员类型判断查询机关信息 + * @author sun + */ + OrgResultDTO selectAgencyDetail(@Param("orgId") String orgId, @Param("orgType") String orgType); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java index 402ca28f4f..2004327484 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java @@ -6,16 +6,20 @@ import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.redis.RedisKeys; import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.constant.CustomerAgencyConstant; +import com.epmet.dao.CustomerAgencyDao; import com.epmet.dao.CustomerStaffAgencyDao; import com.epmet.dto.*; import com.epmet.dto.form.*; import com.epmet.dto.result.*; -import com.epmet.entity.CustomerAgencyEntity; -import com.epmet.entity.CustomerStaffAgencyEntity; +import com.epmet.entity.*; import com.epmet.feign.*; import com.epmet.service.*; import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -31,6 +35,7 @@ import java.util.stream.Collectors; */ @Service public class StaffServiceImpl implements StaffService { + private static final Logger logger = LoggerFactory.getLogger(StaffServiceImpl.class); @Autowired private EpmetUserFeignClient epmetUserFeignClient; @Autowired @@ -55,6 +60,12 @@ public class StaffServiceImpl implements StaffService { private RedisUtils redisUtils; @Autowired private CustomerStaffAgencyDao customerStaffAgencyDao; + @Autowired + private com.epmet.dao.CustomerAgencyDao customerAgencyDao; + @Autowired + private CustomerStaffDepartmentService customerStaffDepartmentService; + @Autowired + private CustomerStaffGridService customerStaffGridService; @Override public Result getStaffInfoForHome(StaffsInAgencyFromDTO fromDTO) { @@ -309,8 +320,62 @@ public class StaffServiceImpl implements StaffService { @Override @Transactional(rollbackFor = Exception.class) public Result addStaffV2(AddStaffV2FromDTO fromDTO) { + //1.根据新增人员类型判断查询机关信息 + OrgResultDTO orgDTO = customerAgencyDao.selectAgencyDetail(fromDTO.getOrgId(), fromDTO.getOrgType()); + if (null == orgDTO) { + logger.error(String.format("工作人员新增,根据新增人员组织类型未查询到相关组织信息,orgId->%s,orgType->%s", fromDTO.getOrgId(), fromDTO.getOrgType())); + throw new RenException("根据新增人员组织类型未查询到相关组织信息"); + } + + //2.调用user服务,新增用户信息 + StaffSubmitFromDTO submitDTO = ConvertUtils.sourceToTarget(fromDTO, StaffSubmitFromDTO.class); + Result result = epmetUserFeignClient.addStaff(submitDTO); + if (!result.success()) { + if (result.getCode() != EpmetErrorCode.SERVER_ERROR.getCode()) { + return new Result().error(result.getCode(), result.getMsg()); + } + return new Result().error(EpmetErrorCode.STAFF_ADD_FAILED.getCode(), EpmetErrorCode.STAFF_ADD_FAILED.getMsg()); + } + + //3.人员机关表总人数加一、关系表新增关系数据 + //人员机关关系表 + CustomerStaffAgencyEntity customerStaffAgencyEntity = new CustomerStaffAgencyEntity(); + customerStaffAgencyEntity.setCustomerId(fromDTO.getCustomerId()); + customerStaffAgencyEntity.setUserId(result.getData().getUserId()); + customerStaffAgencyEntity.setAgencyId(orgDTO.getAgencyId()); + customerStaffAgencyService.insert(customerStaffAgencyEntity); + //机关总人数加一 + CustomerAgencyEntity agencyEntity = new CustomerAgencyEntity(); + agencyEntity.setId(orgDTO.getAgencyId()); + agencyEntity.setTotalUser(orgDTO.getTotalUser() + 1); + customerAgencyService.updateById(agencyEntity); + + //4.部门、网格主表、关系表修改、新增数据 + if ("dept".equals(fromDTO.getOrgType())) { + CustomerStaffDepartmentEntity dept = new CustomerStaffDepartmentEntity(); + dept.setCustomerId(fromDTO.getCustomerId()); + dept.setUserId(result.getData().getUserId()); + dept.setDepartmentId(fromDTO.getOrgId()); + customerStaffDepartmentService.insert(dept); + CustomerDepartmentEntity departmentEntity = new CustomerDepartmentEntity(); + departmentEntity.setId(fromDTO.getOrgId()); + departmentEntity.setTotalUser(orgDTO.getDeptTotalUser() + 1); + customerDepartmentService.updateById(departmentEntity); + } + if ("grid".equals(fromDTO.getOrgType())) { + CustomerStaffGridEntity grid = new CustomerStaffGridEntity(); + grid.setCustomerId(fromDTO.getCustomerId()); + grid.setUserId(result.getData().getUserId()); + grid.setGridId(fromDTO.getOrgId()); + customerStaffGridService.insert(grid); + CustomerGridEntity gridEntity = new CustomerGridEntity(); + gridEntity.setId(fromDTO.getOrgId()); + gridEntity.setTotalUser(orgDTO.getGridTotalUser() + 1); + customerGridService.updateById(gridEntity); + } return new Result(); } + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index 58d2fd628e..ba8a00245d 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -441,4 +441,67 @@ AND ca.pid =#{parentAgencyId} + + + \ No newline at end of file From a4f9bd10f8e184d5ad37d08ccf5ff79940539526 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 19 Aug 2021 12:53:57 +0800 Subject: [PATCH 05/53] =?UTF-8?q?=E6=A6=82=E8=A6=81=E8=A1=A8=E7=9A=84att?= =?UTF-8?q?=5Fid=3D=E3=80=8Bfirst=5Fatt=5Fid=E4=B8=94=E5=8F=AF=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/db/migration/V0.3.14__create_info_table.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.14__create_info_table.sql b/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.14__create_info_table.sql index 04797deeeb..6a53aa8b54 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.14__create_info_table.sql +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.14__create_info_table.sql @@ -54,7 +54,7 @@ CREATE TABLE `info_profile` ( `INFO_ID` varchar(64) NOT NULL COMMENT '消息主表的id', `publish_staff_id` varchar(64) NOT NULL COMMENT '发布人id', `content` varchar(512) NOT NULL COMMENT '内容概要,取前100字', - `att_id` varchar(1024) NOT NULL COMMENT '附件ID,第一个用于展示', + `first_att_id` varchar(64) NOT NULL COMMENT '默认附件表的第一个条用于展示', `total_receiver` int(11) NOT NULL COMMENT '应读人数', `read_total` int(11) NOT NULL COMMENT '已读人数,插入是为0', `UN_READ_REPLY_NUM` int(11) NOT NULL COMMENT '未读的回复数量:发布人每次查看详情后,置为0;接收人回复一条+1', From e97975e24eec63c1ab58bf7b840dc280058708eb Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Thu, 19 Aug 2021 13:30:57 +0800 Subject: [PATCH 06/53] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E4=BA=BA=E5=91=98V2-=E6=BC=8F=E6=8F=90=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/StaffOrgRelationDTO.java | 96 +++++++++++++++++ .../StaffOrgRelationController.java | 85 +++++++++++++++ .../com/epmet/dao/StaffOrgRelationDao.java | 33 ++++++ .../epmet/entity/StaffOrgRelationEntity.java | 66 ++++++++++++ .../service/StaffOrgRelationService.java | 95 +++++++++++++++++ .../impl/StaffOrgRelationServiceImpl.java | 100 ++++++++++++++++++ .../epmet/service/impl/StaffServiceImpl.java | 15 +++ .../resources/mapper/StaffOrgRelationDao.xml | 8 ++ 8 files changed, 498 insertions(+) create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/StaffOrgRelationDTO.java create mode 100644 epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffOrgRelationController.java create mode 100644 epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/StaffOrgRelationDao.java create mode 100644 epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/StaffOrgRelationEntity.java create mode 100644 epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/StaffOrgRelationService.java create mode 100644 epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffOrgRelationServiceImpl.java create mode 100644 epmet-module/gov-org/gov-org-server/src/main/resources/mapper/StaffOrgRelationDao.xml diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/StaffOrgRelationDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/StaffOrgRelationDTO.java new file mode 100644 index 0000000000..9e29a92560 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/StaffOrgRelationDTO.java @@ -0,0 +1,96 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 工作人员注册组织关系表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-08-19 + */ +@Data +public class StaffOrgRelationDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * ID + */ + private String id; + + /** + * 客户ID + */ + private String customerId; + + /** + * 所有上级组织机构ID(以英文:隔开)部门/网格得拼上所属组织Id + */ + private String pids; + + /** + * 工作人员Id + */ + private String staffId; + + /** + * 工作人员添加入口Id(agencyId;deptId;gridId) + */ + private String orgId; + + /** + * 工作人员添加入口类型(组织:agency;部门:dept;网格:gridId) + */ + private String orgType; + + /** + * 删除标识 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffOrgRelationController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffOrgRelationController.java new file mode 100644 index 0000000000..065ad9d578 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffOrgRelationController.java @@ -0,0 +1,85 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.controller; + +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.AssertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.commons.tools.validator.group.AddGroup; +import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; +import com.epmet.dto.StaffOrgRelationDTO; +import com.epmet.service.StaffOrgRelationService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + + +/** + * 工作人员注册组织关系表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-08-19 + */ +@RestController +@RequestMapping("stafforgrelation") +public class StaffOrgRelationController { + + @Autowired + private StaffOrgRelationService staffOrgRelationService; + + @GetMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = staffOrgRelationService.page(params); + return new Result>().ok(page); + } + + @GetMapping("{id}") + public Result get(@PathVariable("id") String id){ + StaffOrgRelationDTO data = staffOrgRelationService.get(id); + return new Result().ok(data); + } + + @PostMapping + public Result save(@RequestBody StaffOrgRelationDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + staffOrgRelationService.save(dto); + return new Result(); + } + + @PutMapping + public Result update(@RequestBody StaffOrgRelationDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + staffOrgRelationService.update(dto); + return new Result(); + } + + @DeleteMapping + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + staffOrgRelationService.delete(ids); + return new Result(); + } + + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/StaffOrgRelationDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/StaffOrgRelationDao.java new file mode 100644 index 0000000000..a4d6610658 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/StaffOrgRelationDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.StaffOrgRelationEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 工作人员注册组织关系表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-08-19 + */ +@Mapper +public interface StaffOrgRelationDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/StaffOrgRelationEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/StaffOrgRelationEntity.java new file mode 100644 index 0000000000..f9c31b49d9 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/StaffOrgRelationEntity.java @@ -0,0 +1,66 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 工作人员注册组织关系表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-08-19 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("staff_org_relation") +public class StaffOrgRelationEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 所有上级组织机构ID(以英文:隔开)部门/网格得拼上所属组织Id + */ + private String pids; + + /** + * 工作人员Id + */ + private String staffId; + + /** + * 工作人员添加入口Id(agencyId;deptId;gridId) + */ + private String orgId; + + /** + * 工作人员添加入口类型(组织:agency;部门:dept;网格:gridId) + */ + private String orgType; + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/StaffOrgRelationService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/StaffOrgRelationService.java new file mode 100644 index 0000000000..ce5d6ba496 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/StaffOrgRelationService.java @@ -0,0 +1,95 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.StaffOrgRelationDTO; +import com.epmet.entity.StaffOrgRelationEntity; + +import java.util.List; +import java.util.Map; + +/** + * 工作人员注册组织关系表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-08-19 + */ +public interface StaffOrgRelationService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2021-08-19 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2021-08-19 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return StaffOrgRelationDTO + * @author generator + * @date 2021-08-19 + */ + StaffOrgRelationDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2021-08-19 + */ + void save(StaffOrgRelationDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2021-08-19 + */ + void update(StaffOrgRelationDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2021-08-19 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffOrgRelationServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffOrgRelationServiceImpl.java new file mode 100644 index 0000000000..a4e528a1cc --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffOrgRelationServiceImpl.java @@ -0,0 +1,100 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.dao.StaffOrgRelationDao; +import com.epmet.dto.StaffOrgRelationDTO; +import com.epmet.entity.StaffOrgRelationEntity; +import com.epmet.service.StaffOrgRelationService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 工作人员注册组织关系表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-08-19 + */ +@Service +public class StaffOrgRelationServiceImpl extends BaseServiceImpl implements StaffOrgRelationService { + + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, StaffOrgRelationDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, StaffOrgRelationDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public StaffOrgRelationDTO get(String id) { + StaffOrgRelationEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, StaffOrgRelationDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(StaffOrgRelationDTO dto) { + StaffOrgRelationEntity entity = ConvertUtils.sourceToTarget(dto, StaffOrgRelationEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(StaffOrgRelationDTO dto) { + StaffOrgRelationEntity entity = ConvertUtils.sourceToTarget(dto, StaffOrgRelationEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java index 2004327484..2c9bcd51b0 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java @@ -66,6 +66,8 @@ public class StaffServiceImpl implements StaffService { private CustomerStaffDepartmentService customerStaffDepartmentService; @Autowired private CustomerStaffGridService customerStaffGridService; + @Autowired + private StaffOrgRelationService staffOrgRelationService; @Override public Result getStaffInfoForHome(StaffsInAgencyFromDTO fromDTO) { @@ -374,6 +376,19 @@ public class StaffServiceImpl implements StaffService { customerGridService.updateById(gridEntity); } + //5.工作人员注册组织关系表新增数据 + StaffOrgRelationEntity staffOrgRelationEntity = new StaffOrgRelationEntity(); + staffOrgRelationEntity.setCustomerId(fromDTO.getCustomerId()); + if("agency".equals(fromDTO.getOrgType())){ + staffOrgRelationEntity.setPids(("".equals(orgDTO.getPids()) ? "" : orgDTO.getPids() + ":")); + }else { + staffOrgRelationEntity.setPids(("".equals(orgDTO.getPids()) ? "" : orgDTO.getPids() + ":") + orgDTO.getAgencyId()); + } + staffOrgRelationEntity.setStaffId(result.getData().getUserId()); + staffOrgRelationEntity.setOrgId(fromDTO.getOrgId()); + staffOrgRelationEntity.setOrgType(fromDTO.getOrgType()); + staffOrgRelationService.insert(staffOrgRelationEntity); + return new Result(); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/StaffOrgRelationDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/StaffOrgRelationDao.xml new file mode 100644 index 0000000000..350dae73ac --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/StaffOrgRelationDao.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file From 7d01a81e9a20b855bd136766461c546909135c56 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Thu, 19 Aug 2021 13:50:41 +0800 Subject: [PATCH 07/53] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E4=BA=BA=E5=91=98?= =?UTF-8?q?=E8=A7=A3=E7=A6=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commons/tools/enums/RequirePermissionEnum.java | 1 + .../java/com/epmet/dto/form/EnableStaffFormDTO.java | 8 ++++---- .../com/epmet/controller/CustomerStaffController.java | 10 +++++++++- .../epmet/service/impl/CustomerStaffServiceImpl.java | 10 +++++++++- 4 files changed, 23 insertions(+), 6 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java index 17b7c21b99..13b7d37057 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java @@ -54,6 +54,7 @@ public enum RequirePermissionEnum { ORG_STAFF_CREATE("org_staff_create", "组织:工作人员:新增", "组织:工作人员:新增"), ORG_STAFF_UPDATE("org_staff_update", "组织:工作人员:编辑", "组织:工作人员:编辑"), ORG_STAFF_FORBIDDEN("org_staff_forbidden", "组织:工作人员:禁用", "组织:工作人员:禁用"), + ORG_STAFF_ENABLE("org_staff_enable", "组织:工作人员:解禁", "组织:工作人员:解禁"), ORG_STAFF_TRANSFER("org_staff_transfer", "组织:工作人员:调动", "组织:工作人员:调动"), /** diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EnableStaffFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EnableStaffFormDTO.java index f0788499c1..beb2fae20f 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EnableStaffFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EnableStaffFormDTO.java @@ -10,7 +10,7 @@ import java.util.List; /** * @author sun - * @dscription 接口入参--【通讯录】工作人员解禁 + * @dscription 【通讯录】工作人员解禁-接口入参 */ @NoArgsConstructor @Data @@ -18,8 +18,8 @@ public class EnableStaffFormDTO implements Serializable { private static final long serialVersionUID = -5220529162950147825L; /** - * 徽章名称 + * 被解禁用户Id */ - @NotBlank(message = "徽章名称不能为空") - private String badgeName; + private String staffId; + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java index 83dc575ed8..f467d60712 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java @@ -18,6 +18,10 @@ package com.epmet.controller; import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.annotation.RequirePermission; +import com.epmet.commons.tools.enums.RequirePermissionEnum; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.user.LoginUserUtil; @@ -433,7 +437,11 @@ public class CustomerStaffController { * @author sun */ @PostMapping("enablestaff") - public Result enableStaff(@RequestBody EnableStaffFormDTO fromDTO){ + @RequirePermission(requirePermission = RequirePermissionEnum.ORG_STAFF_ENABLE) + public Result enableStaff(@LoginUser TokenDto tokenDto, @RequestBody EnableStaffFormDTO fromDTO){ + if (tokenDto.getUserId().equals(fromDTO.getStaffId())) { + throw new RenException("工作人员自己不能解禁自己"); + } customerStaffService.enableStaff(fromDTO); return new Result(); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java index 4a0bdfa05d..70962eaaa7 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java @@ -744,7 +744,15 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl%s", fromDTO.getStaffId())); + throw new RenException("未查询到被解禁人信息,请核对后操作"); + } + CustomerStaffEntity staffEntity = new CustomerStaffEntity(); + staffEntity.setId(customerStaffEntity.getId()); + staffEntity.setEnableFlag(CustomerStaffConstant.ENABLE); + baseDao.updateById(staffEntity); } } From 39d6b3a03df960536c5b014c999f50db58669557 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Thu, 19 Aug 2021 14:50:27 +0800 Subject: [PATCH 08/53] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=90=8D=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dataaggre/controller/EpmetUserController.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java index 52d33309e4..25a944403b 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java @@ -211,9 +211,10 @@ public class EpmetUserController { * @Description 通讯录】姓名检索工作人员 * @author sun */ - @PostMapping("stafflist") - public Result> staffList(@RequestBody ListStaffFormDTO formDTO) { + @PostMapping("stafflistbyrealname") + public Result> staffListByRealName(@LoginUser TokenDto tokenDto, @RequestBody ListStaffFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO, ListStaffFormDTO.Staff.class); + formDTO.setCustomerId(formDTO.getCustomerId()); return new Result>().ok(epmetUserService.listStaff(formDTO)); } From 1aaa3cbdd5647fb786c2273829de663dbf33128d Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 19 Aug 2021 14:54:06 +0800 Subject: [PATCH 09/53] =?UTF-8?q?=E5=8F=91=E9=80=81=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commons/tools/constant/NumConstant.java | 1 + .../java/com/epmet/dto/form/OrgCommonDTO.java | 17 ++ .../com/epmet/dto/form/SendInfoFormDTO.java | 68 ++++++ .../epmet/dto/result/SendInfoResultDTO.java | 17 ++ .../com/epmet/controller/InfoController.java | 26 +++ .../com/epmet/dao/InfoGroupReceiversDao.java | 13 +- .../com/epmet/entity/InfoProfileEntity.java | 5 +- .../com/epmet/entity/InfoReceiversEntity.java | 5 +- .../java/com/epmet/service/InfoService.java | 12 +- .../epmet/service/impl/InfoServiceImpl.java | 210 ++++++++++++++++++ .../mapper/InfoGroupReceiversDao.xml | 12 + .../com/epmet/dto/form/OrgStaffFormDTO.java | 28 +++ .../epmet/feign/GovOrgOpenFeignClient.java | 12 +- .../GovOrgOpenFeignClientFallback.java | 15 +- .../CustomerStaffAgencyController.java | 16 +- .../com/epmet/dao/CustomerStaffAgencyDao.java | 17 ++ .../service/CustomerStaffAgencyService.java | 16 +- .../impl/CustomerStaffAgencyServiceImpl.java | 24 +- .../mapper/CustomerStaffAgencyDao.xml | 50 +++++ .../epmet/dto/form/RoleStaffIdFormDTO.java | 24 ++ .../epmet/feign/EpmetUserOpenFeignClient.java | 12 + .../EpmetUserOpenFeignClientFallback.java | 15 +- .../epmet/controller/StaffRoleController.java | 26 ++- .../main/java/com/epmet/dao/StaffRoleDao.java | 13 +- .../com/epmet/service/StaffRoleService.java | 16 +- .../service/impl/StaffRoleServiceImpl.java | 25 ++- .../main/resources/mapper/StaffRoleDao.xml | 18 ++ 27 files changed, 669 insertions(+), 44 deletions(-) create mode 100644 epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/OrgCommonDTO.java create mode 100644 epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/SendInfoFormDTO.java create mode 100644 epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/SendInfoResultDTO.java create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/OrgStaffFormDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/RoleStaffIdFormDTO.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java index 2010b316d3..28a82836b1 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java @@ -39,6 +39,7 @@ public interface NumConstant { int FIFTY = 50; int FIFTY_ONE = 51; int SIXTY = 60; + int NINETY_NINE=99; int ONE_HUNDRED = 100; int TWO_HUNDRED = 200; int FIVE_HUNDRED = 500; diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/OrgCommonDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/OrgCommonDTO.java new file mode 100644 index 0000000000..612e02e8f4 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/OrgCommonDTO.java @@ -0,0 +1,17 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 从架构通用dto + * @Author yinzuomei + * @Date 2021/8/19 10:00 上午 + */ +@Data +public class OrgCommonDTO implements Serializable { + private String orgId; + private String orgType; +} + diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/SendInfoFormDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/SendInfoFormDTO.java new file mode 100644 index 0000000000..7fdbee71b8 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/SendInfoFormDTO.java @@ -0,0 +1,68 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.dto.form.FileCommonDTO; +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.List; +import java.util.Set; + +/** + * @Description 发送消息入参DTO + * @Author yinzuomei + * @Date 2021/8/19 9:52 上午 + */ +@Data +public class SendInfoFormDTO implements Serializable { + private static final long serialVersionUID = -3668230349576949684L; + + public interface AddUserInternalGroup { + } + + public interface AddUserShowGroup extends CustomerClientShowGroup { + } + + /** + * 消息内容,不能超过100,不可为空 + */ + @Length(min = 1, max = 1000, message = "消息内容不能为空", groups = AddUserShowGroup.class) + private String content; + /** + * 单独选择的人的userId集合 + */ + private Set staffIdList; + /** + * 按架构选择的,组织或者网格或者部门的集合 + */ + private Set orgList; + /** + * 按职责选择时,角色的id集合 + */ + private Set roleIdList; + /** + * 按群组选择时,群组的id集合 + */ + private Set groupIdList; + /** + * 附件列表 + */ + private List attachmentList; + + + //以下参数从token中获取 + /** + * 当前用户id + */ + @NotBlank(message = "userId不能为空",groups =AddUserInternalGroup.class) + private String userId; + + /** + * 当前客户id + */ + @NotBlank(message = "customerId不能为空",groups = AddUserInternalGroup.class) + private String customerId; +} + diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/SendInfoResultDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/SendInfoResultDTO.java new file mode 100644 index 0000000000..70e0c0c371 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/SendInfoResultDTO.java @@ -0,0 +1,17 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 发送消息返参DTO + * @Author yinzuomei + * @Date 2021/8/19 10:20 上午 + */ +@Data +public class SendInfoResultDTO implements Serializable { + private static final long serialVersionUID = 3339252317982375852L; + private String infoId; +} + diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/InfoController.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/InfoController.java index 7ef36643de..15ff4df649 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/InfoController.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/InfoController.java @@ -17,8 +17,16 @@ package com.epmet.controller; +import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.dto.form.SendInfoFormDTO; +import com.epmet.dto.result.SendInfoResultDTO; import com.epmet.service.InfoService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -37,5 +45,23 @@ public class InfoController { private InfoService infoService; + /** + * 发送消息 + * + * @param tokenDto + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @date 2021/8/19 10:25 上午 + */ + @PostMapping("send") + public Result sendInfo(@LoginUser TokenDto tokenDto, @RequestBody SendInfoFormDTO formDTO) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(formDTO, SendInfoFormDTO.AddUserShowGroup.class, SendInfoFormDTO.AddUserInternalGroup.class); + return new Result().ok(infoService.sendInfo(formDTO)); + } + + } \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoGroupReceiversDao.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoGroupReceiversDao.java index 17890976b6..5ddcf73e9c 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoGroupReceiversDao.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoGroupReceiversDao.java @@ -21,6 +21,8 @@ import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.entity.InfoGroupReceiversEntity; import org.apache.ibatis.annotations.Mapper; +import java.util.Set; + /** * 消息-群组成员关系表 * @@ -29,5 +31,14 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface InfoGroupReceiversDao extends BaseDao { - + + /** + * 群组里面的工作人员,去重 + * + * @param groupIdList + * @return java.util.Set + * @author yinzuomei + * @date 2021/8/19 10:51 上午 + */ + Set selectStaffIds(Set groupIdList); } \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoProfileEntity.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoProfileEntity.java index 637ce6e125..74f662b523 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoProfileEntity.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoProfileEntity.java @@ -18,13 +18,10 @@ package com.epmet.entity; import com.baomidou.mybatisplus.annotation.TableName; - import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import lombok.Data; import lombok.EqualsAndHashCode; -import java.util.Date; - /** * 消息概要表 * @@ -61,7 +58,7 @@ public class InfoProfileEntity extends BaseEpmetEntity { /** * 附件ID,第一个用于展示 */ - private String attId; + private String firstAttId; /** * 应读人数 diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoReceiversEntity.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoReceiversEntity.java index ea5275329e..ccf55c5dfb 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoReceiversEntity.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoReceiversEntity.java @@ -18,13 +18,10 @@ package com.epmet.entity; import com.baomidou.mybatisplus.annotation.TableName; - import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import lombok.Data; import lombok.EqualsAndHashCode; -import java.util.Date; - /** * 消息接收人记录表 * @@ -56,6 +53,6 @@ public class InfoReceiversEntity extends BaseEpmetEntity { /** * 已读:1;未读:0 */ - private Integer readFlag; + private Boolean readFlag; } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/InfoService.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/InfoService.java index 4fba1d245d..49395bb88f 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/InfoService.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/InfoService.java @@ -18,6 +18,8 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.dto.form.SendInfoFormDTO; +import com.epmet.dto.result.SendInfoResultDTO; import com.epmet.entity.InfoEntity; /** @@ -28,5 +30,13 @@ import com.epmet.entity.InfoEntity; */ public interface InfoService extends BaseService { - + /** + * 发送消息 + * + * @param formDTO + * @return com.epmet.dto.result.SendInfoResultDTO + * @author yinzuomei + * @date 2021/8/19 10:27 上午 + */ + SendInfoResultDTO sendInfo(SendInfoFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/InfoServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/InfoServiceImpl.java index 616ab65bac..7fc355d483 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/InfoServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/InfoServiceImpl.java @@ -17,13 +17,37 @@ package com.epmet.service.impl; +import com.alibaba.fastjson.JSON; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.StrConstant; +import com.epmet.commons.tools.dto.form.FileCommonDTO; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.utils.Result; import com.epmet.dao.*; +import com.epmet.dto.form.OrgCommonDTO; +import com.epmet.dto.form.OrgStaffFormDTO; +import com.epmet.dto.form.RoleStaffIdFormDTO; +import com.epmet.dto.form.SendInfoFormDTO; +import com.epmet.dto.result.SendInfoResultDTO; +import com.epmet.entity.InfoAttEntity; import com.epmet.entity.InfoEntity; +import com.epmet.entity.InfoProfileEntity; +import com.epmet.entity.InfoReceiversEntity; +import com.epmet.feign.EpmetUserOpenFeignClient; +import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.service.InfoService; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collections; +import java.util.LinkedHashSet; +import java.util.Set; /** * 消息主表 @@ -48,6 +72,192 @@ public class InfoServiceImpl extends BaseServiceImpl implem private InfoReplyDao infoReplyDao; @Autowired private InfoReplyContentDao infoReplyContentDao; + @Autowired + private EpmetUserOpenFeignClient epmetUserOpenFeignClient; + @Autowired + private GovOrgOpenFeignClient govOrgOpenFeignClient; + + /** + * 发送消息 + * + * @param formDTO + * @return com.epmet.dto.result.SendInfoResultDTO + * @author yinzuomei + * @date 2021/8/19 10:27 上午 + */ + @Transactional(rollbackFor = Exception.class) + @Override + public SendInfoResultDTO sendInfo(SendInfoFormDTO formDTO) { + //1、请先选择接收人 + if (CollectionUtils.isEmpty(formDTO.getStaffIdList()) && + CollectionUtils.isEmpty(formDTO.getOrgList()) && + CollectionUtils.isEmpty(formDTO.getRoleIdList()) + && CollectionUtils.isEmpty(formDTO.getGroupIdList())) { + throw new RenException(EpmetErrorCode.PLEASE_CHOOSE_RECEIVER.getCode(), EpmetErrorCode.PLEASE_CHOOSE_RECEIVER.getMsg()); + } + //2、选择的组织、角色、或者小组、是否有人呢?? + Set orgStaffIds=queryOrgStaffIds(formDTO.getCustomerId(),formDTO.getOrgList()); + Set roleStaffIds=queryRoleStaffIds(formDTO.getRoleIdList(),formDTO.getCustomerId()); + Set groupStaffIds = CollectionUtils.isNotEmpty(formDTO.getGroupIdList()) ? infoGroupReceiversDao.selectStaffIds(formDTO.getGroupIdList()) : Collections.EMPTY_SET; + log.info("群组选择的人:"+JSON.toJSONString(groupStaffIds,true)); + + //3、计算接收人: + Set totalReceiver=new LinkedHashSet();; + totalReceiver.addAll(formDTO.getStaffIdList()); + totalReceiver.addAll(orgStaffIds); + totalReceiver.addAll(roleStaffIds); + totalReceiver.addAll(groupStaffIds); + if(CollectionUtils.isEmpty(totalReceiver)){ + throw new RenException(EpmetErrorCode.PLEASE_CHOOSE_RECEIVER.getCode(), EpmetErrorCode.PLEASE_CHOOSE_RECEIVER.getMsg()); + } + + //4、插入主表 + InfoEntity infoEntity=constructInfoEntity(formDTO); + baseDao.insert(infoEntity); + //5、插入附件表 + String firstAttId= StrConstant.EPMETY_STR; + int sort=1; + for (FileCommonDTO att : formDTO.getAttachmentList()) { + InfoAttEntity infoAttEntity = new InfoAttEntity(); + infoAttEntity.setInfoId(infoEntity.getId()); + infoAttEntity.setCustomerId(formDTO.getCustomerId()); + infoAttEntity.setAttachmentFormat(att.getFormat()); + infoAttEntity.setAttachmentName(att.getName()); + infoAttEntity.setAttachmentType(att.getType()); + infoAttEntity.setAttachmentUrl(att.getUrl()); + infoAttEntity.setSort(sort); + infoAttDao.insert(infoAttEntity); + if(sort==1){ + firstAttId=infoAttEntity.getId(); + } + sort++; + } + //6、接收人 + totalReceiver.forEach(staffId->{ + InfoReceiversEntity infoReceiversEntity=new InfoReceiversEntity(); + infoReceiversEntity.setCustomerId(formDTO.getCustomerId()); + infoReceiversEntity.setInfoId(infoEntity.getId()); + infoReceiversEntity.setStaffId(staffId); + infoReceiversEntity.setReadFlag(false); + infoReceiversDao.insert(infoReceiversEntity); + + }); + //7、插入概要表 + InfoProfileEntity infoProfileEntity=new InfoProfileEntity(); + infoProfileEntity.setCustomerId(formDTO.getCustomerId()); + infoProfileEntity.setInfoId(infoEntity.getId()); + if(infoEntity.getContent().length()>NumConstant.ONE_HUNDRED){ + infoProfileEntity.setContent(StringUtils.substring(infoEntity.getContent(),NumConstant.NINETY_NINE)); + }else{ + infoProfileEntity.setContent(infoEntity.getContent()); + } + infoProfileEntity.setPublishStaffId(formDTO.getUserId()); + infoProfileEntity.setTotalReceiver(totalReceiver.size()); + infoProfileEntity.setFirstAttId(firstAttId); + infoProfileEntity.setReadTotal(NumConstant.ZERO); + infoProfileEntity.setUnReadReplyNum(NumConstant.ZERO); + infoProfileEntity.setCreatedTime(infoEntity.getCreatedTime()); + infoProfileEntity.setUpdatedTime(infoEntity.getUpdatedTime()); + infoProfileDao.insert(infoProfileEntity); + + //8、发送站内信 todo + SendInfoResultDTO resultDTO=new SendInfoResultDTO(); + return resultDTO; + } + + /** + * 查询架构里面的人 + * + * @param orgList + * @return java.util.Set + * @author yinzuomei + * @date 2021/8/19 11:34 上午 + */ + private Set queryOrgStaffIds(String customerId,Set orgList) { + if (CollectionUtils.isEmpty(orgList)) { + return Collections.EMPTY_SET; + } + //如果我选择的是 东阿镇,是发送给本级及下级所有工作人员 + OrgStaffFormDTO orgStaffFormDTO=new OrgStaffFormDTO(); + orgStaffFormDTO.setCustomerId(customerId); + for(OrgCommonDTO org:orgList){ + if("grid".equals(org.getOrgType())){ + orgStaffFormDTO.getGridIds().add(org.getOrgId()); + }else if("agency".equals(org.getOrgType())){ + orgStaffFormDTO.getAgencyIds().add(org.getOrgId()); + }else if("dept".equals(org.getOrgType())){ + orgStaffFormDTO.getDeptIds().add(org.getOrgId()); + } + } + Result> result=govOrgOpenFeignClient.queryOrgStaffs(orgStaffFormDTO); + if (!result.success()) { + throw new RenException("根据组织查询工作人员异常"); + } + if(CollectionUtils.isEmpty(result.getData())){ + log.info("已选择的架构里没有工作人员"); + return Collections.EMPTY_SET; + } + return result.getData(); + } + + /** + * 查询角色里面的人 + * + * @param roleIdList + * @param customerId + * @return java.util.Set + * @author yinzuomei + * @date 2021/8/19 11:34 上午 + */ + private Set queryRoleStaffIds(Set roleIdList, String customerId) { + if (CollectionUtils.isEmpty(roleIdList)) { + return Collections.EMPTY_SET; + } + RoleStaffIdFormDTO formDTO = new RoleStaffIdFormDTO(); + formDTO.setCustomerId(customerId); + formDTO.setRoleIds(roleIdList); + Result> result = epmetUserOpenFeignClient.queryRoleStaffIds(formDTO); + if (!result.success()) { + throw new RenException("根据角色查询工作人员异常"); + } + if(CollectionUtils.isEmpty(result.getData())){ + log.info("角色下没有工作人员"); + return Collections.EMPTY_SET; + } + return result.getData(); + } + + /** + * 构造主表 + * + * @param formDTO + * @return com.epmet.entity.InfoEntity + * @author yinzuomei + * @date 2021/8/19 10:38 上午 + */ + private InfoEntity constructInfoEntity(SendInfoFormDTO formDTO) { + InfoEntity infoEntity=new InfoEntity(); + infoEntity.setContent(formDTO.getContent()); + infoEntity.setPublishStaffId(formDTO.getUserId()); + infoEntity.setCustomerId(formDTO.getCustomerId()); + return infoEntity; + } + + + + + + + + + + + + + + + + } \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoGroupReceiversDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoGroupReceiversDao.xml index 19cdf876fd..d8aefa0520 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoGroupReceiversDao.xml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoGroupReceiversDao.xml @@ -3,6 +3,18 @@ + + diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/OrgStaffFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/OrgStaffFormDTO.java new file mode 100644 index 0000000000..21755b9c43 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/OrgStaffFormDTO.java @@ -0,0 +1,28 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.constant.StrConstant; +import lombok.Data; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +/** + * @Description 按架构选择了那些人? 查询入参 + * @Author yinzuomei + * @Date 2021/8/19 1:37 下午 + */ +@Data +public class OrgStaffFormDTO implements Serializable { + private List agencyIds; + private List deptIds; + private List gridIds; + private String customerId; + public OrgStaffFormDTO(){ + this.agencyIds=new ArrayList<>(); + this.deptIds=new ArrayList<>(); + this.gridIds=new ArrayList<>(); + this.customerId= StrConstant.EPMETY_STR; + } +} + diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java index 7237abcc5b..e6af374fe2 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java @@ -7,13 +7,13 @@ import com.epmet.dto.CustomerGridDTO; import com.epmet.dto.CustomerPartyBranchDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; -import com.epmet.feign.fallback.GovOrgOpenFeignClientFallback; import com.epmet.feign.fallback.GovOrgOpenFeignClientFallbackFactory; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; import java.util.List; +import java.util.Set; /** * 本服务对外开放的API,其他服务通过引用此client调用该服务 @@ -407,4 +407,14 @@ public interface GovOrgOpenFeignClient { @PostMapping("/gov/org/customergrid/selectorgsbyuserid") Result> selectOrgsByUserId(@RequestParam("userId")String userId); + /** + * 架构里面的人 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + * @author yinzuomei + * @date 2021/8/19 2:27 下午 + */ + @PostMapping("/gov/org/customerstaffagency/queryOrgStaffs") + Result> queryOrgStaffs(@RequestBody OrgStaffFormDTO formDTO); } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java index 91f9052c84..b517c20344 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java @@ -9,9 +9,9 @@ import com.epmet.dto.CustomerPartyBranchDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.feign.GovOrgOpenFeignClient; -import org.springframework.stereotype.Component; import java.util.List; +import java.util.Set; /** * 本服务对外开放的API,其他服务通过引用此client调用该服务 @@ -235,6 +235,19 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "selectOrgsByUserId", userId); } + /** + * 架构里面的人 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + * @author yinzuomei + * @date 2021/8/19 2:27 下午 + */ + @Override + public Result> queryOrgStaffs(OrgStaffFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "queryOrgStaffs", formDTO); + } + @Override public Result selectPidsByGridId(String gridId) { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "selectPidsByGridId", gridId); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerStaffAgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerStaffAgencyController.java index ad965efef7..0339163bf3 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerStaffAgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerStaffAgencyController.java @@ -23,10 +23,11 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.group.AddGroup; -import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.CustomerStaffAgencyDTO; import com.epmet.dto.form.AgencyIdFormDTO; +import com.epmet.dto.form.OrgStaffFormDTO; import com.epmet.dto.result.LatestCustomerResultDTO; import com.epmet.excel.CustomerStaffAgencyExcel; import com.epmet.service.CustomerStaffAgencyService; @@ -36,6 +37,7 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Map; +import java.util.Set; /** @@ -116,4 +118,16 @@ public class CustomerStaffAgencyController { return new Result>().ok(customerStaffAgencyService.getAgencyStaffs(agencyIdFormDTO)); } + /** + * 按组织架构选择发消息时, 查询出组织|部门|网格的人,去重 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + * @author yinzuomei + * @date 2021/8/19 1:40 下午 + */ + @PostMapping("queryOrgStaffs") + public Result> queryOrgStaffs(@RequestBody OrgStaffFormDTO formDTO) { + return new Result>().ok(customerStaffAgencyService.queryOrgStaffs(formDTO)); + } } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java index 864603ee07..c1a7f52efa 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java @@ -27,6 +27,7 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; +import java.util.Set; /** * 人员-机关单位关系表 @@ -116,4 +117,20 @@ public interface CustomerStaffAgencyDao extends BaseDao + * @author yinzuomei + * @date 2021/8/19 2:01 下午 + */ + Set selectAgencyStaffs(@Param("customerId")String customerId, + @Param("agencyIds")List agencyIds); + + Set selectDeptStaffs(@Param("customerId")String customerId, @Param("deptIds")List deptIds); + + Set selectGridStaffs(@Param("customerId")String customerId, @Param("gridIds")List gridids); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerStaffAgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerStaffAgencyService.java index 8f6f47dfdb..5ac6a78696 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerStaffAgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerStaffAgencyService.java @@ -21,16 +21,14 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerStaffAgencyDTO; -import com.epmet.dto.form.AgencyIdFormDTO; -import com.epmet.dto.form.CommonDepartmentFormDTO; -import com.epmet.dto.form.StaffsInAgencyFromDTO; -import com.epmet.dto.form.CommonGridIdFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.CommonStaffInfoResultDTO; import com.epmet.dto.result.LatestCustomerResultDTO; import com.epmet.entity.CustomerStaffAgencyEntity; import java.util.List; import java.util.Map; +import java.util.Set; /** * 人员-机关单位关系表 @@ -151,4 +149,14 @@ public interface CustomerStaffAgencyService extends BaseService getAgencyStaffs(AgencyIdFormDTO agencyIdFormDTO); + + /** + * 按组织架构选择发消息时, 查询出组织|部门|网格的人,去重 + * + * @param formDTO + * @return java.util.Set + * @author yinzuomei + * @date 2021/8/19 1:41 下午 + */ + Set queryOrgStaffs(OrgStaffFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffAgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffAgencyServiceImpl.java index 7b6a784a83..c30abd4025 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffAgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffAgencyServiceImpl.java @@ -44,10 +44,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; /** * 人员-机关单位关系表 @@ -234,4 +231,23 @@ public class CustomerStaffAgencyServiceImpl extends BaseServiceImpl + * @author yinzuomei + * @date 2021/8/19 1:41 下午 + */ + @Override + public Set queryOrgStaffs(OrgStaffFormDTO formDTO) { + Set agencyUserIds=customerStaffAgencyDao.selectAgencyStaffs(formDTO.getCustomerId(),formDTO.getAgencyIds()); + Set deptUserIds=customerStaffAgencyDao.selectDeptStaffs(formDTO.getCustomerId(),formDTO.getDeptIds()); + Set gridUserIds=customerStaffAgencyDao.selectGridStaffs(formDTO.getCustomerId(),formDTO.getGridIds()); + Set result=new LinkedHashSet(); + result.addAll(agencyUserIds); + result.addAll(deptUserIds); + result.addAll(gridUserIds); + return result; + } } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml index b7559668a8..0235999cb4 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml @@ -162,4 +162,54 @@ WHERE sa.DEL_FLAG = 0 AND sa.USER_ID = #{staffId} + + + + + + + \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/RoleStaffIdFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/RoleStaffIdFormDTO.java new file mode 100644 index 0000000000..7973e65bd1 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/RoleStaffIdFormDTO.java @@ -0,0 +1,24 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; +import java.io.Serializable; +import java.util.Set; + +/** + * @Description 查询角色对应的工作人员集合 去重 + * @Author yinzuomei + * @Date 2021/8/19 11:19 上午 + */ +@Data +public class RoleStaffIdFormDTO implements Serializable { + public interface AddUserInternalGroup { + } + @NotBlank(message = "客户id不能为空",groups = AddUserInternalGroup.class) + private String customerId; + @NotEmpty(message = "角色id不能为空",groups = AddUserInternalGroup.class) + private Set roleIds; +} + diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java index 059ced9e35..89c8a2ac36 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java @@ -14,6 +14,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; +import java.util.Set; /** * 本服务对外开放的API,其他服务通过引用此client调用该服务 @@ -614,4 +615,15 @@ public interface EpmetUserOpenFeignClient { */ @PostMapping("/epmetuser/badge/list-users-by-badge") Result> listUsersByBadge(ListUserByBadgeFormDTO input); + + /** + * 根据角色,查询里面的人,去重 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + * @author yinzuomei + * @date 2021/8/19 11:09 上午 + */ + @PostMapping("/epmetuser/staffrole/queryRoleStaffIds") + Result> queryRoleStaffIds(@RequestBody RoleStaffIdFormDTO formDTO); } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java index 31c82beb05..01b2b63d57 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java @@ -8,10 +8,10 @@ import com.epmet.dto.*; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.feign.EpmetUserOpenFeignClient; -import org.springframework.stereotype.Component; import java.util.List; import java.util.Map; +import java.util.Set; /** * 本服务对外开放的API,其他服务通过引用此client调用该服务 @@ -432,4 +432,17 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien public Result> listUsersByBadge(ListUserByBadgeFormDTO input) { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "listUsersByBadge", input); } + + /** + * 根据角色,查询里面的人,去重 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + * @author yinzuomei + * @date 2021/8/19 11:09 上午 + */ + @Override + public Result> queryRoleStaffIds(RoleStaffIdFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "queryRoleStaffIds", formDTO); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java index 969eae7e66..949c104710 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java @@ -7,24 +7,16 @@ import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.CustomerAgencyUserRoleDTO; import com.epmet.dto.GovStaffRoleDTO; import com.epmet.dto.StaffRoleDTO; -import com.epmet.dto.form.CommonUserFormDTO; -import com.epmet.dto.form.CustomerRoleFormDTO; -import com.epmet.dto.form.RolesUsersListFormDTO; -import com.epmet.dto.form.StaffRoleFormDTO; -import com.epmet.dto.result.*; import com.epmet.dto.form.*; +import com.epmet.dto.result.*; import com.epmet.entity.GovStaffRoleEntity; import com.epmet.service.GovStaffRoleService; import com.epmet.service.StaffRoleService; -import oracle.jdbc.proxy.annotation.Post; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * @return 工作人员相关api @@ -214,4 +206,18 @@ public class StaffRoleController { ValidatorUtils.validateEntity(formDTO, CustomerAgencyUserRoleFormDTO.CustomerAgencyUserRoleForm.class); return new Result().ok(staffRoleService.getUserRoles(formDTO)); } + + /** + * 根据角色,查询里面的人,去重 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + * @author yinzuomei + * @date 2021/8/19 11:14 上午 + */ + @PostMapping("queryRoleStaffIds") + Result> queryRoleStaffIds(@RequestBody RoleStaffIdFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO,RoleStaffIdFormDTO.AddUserInternalGroup.class); + return new Result>().ok(staffRoleService.queryRoleStaffIds(formDTO)); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java index da289c6308..876634717b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java @@ -17,7 +17,6 @@ package com.epmet.dao; -import com.epmet.commons.mybatis.annotation.DataFilter; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.entity.DataScope; import com.epmet.dto.StaffRoleDTO; @@ -30,6 +29,7 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; +import java.util.Set; /** * 工作人员-角色关系表 @@ -152,4 +152,15 @@ public interface StaffRoleDao extends BaseDao { * @date 2021/6/15 5:54 下午 */ List selectAllUserRoles(); + + /** + * 根据角色,查询里面的人,去重 + * + * @param roleIds + * @param customerId + * @return java.util.Set + * @author yinzuomei + * @date 2021/8/19 11:16 上午 + */ + Set selectRoleStaffIds(@Param("customerId") String customerId,@Param("roleIds") Set roleIds); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java index b34f90d294..00879f88a4 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java @@ -23,15 +23,13 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerAgencyUserRoleDTO; import com.epmet.dto.StaffRoleDTO; -import com.epmet.dto.form.CommonUserFormDTO; -import com.epmet.dto.form.CustomerAgencyUserRoleFormDTO; -import com.epmet.dto.form.CustomerStaffRoleListFormDTO; -import com.epmet.dto.form.RolesUsersListFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.StaffRoleEntity; import java.util.List; import java.util.Map; +import java.util.Set; /** * 工作人员-角色关系表 @@ -182,4 +180,14 @@ public interface StaffRoleService extends BaseService { * @date 2021/6/15 2:05 下午 */ void repairStaffRoleCache(); + + /** + * 根据角色,查询里面的人,去重 + * + * @param formDTO + * @return java.util.Set + * @author yinzuomei + * @date 2021/8/19 11:14 上午 + */ + Set queryRoleStaffIds(RoleStaffIdFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java index 51f5e189b6..a574ba7b45 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java @@ -17,25 +17,20 @@ package com.epmet.service.impl; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.entity.DataScope; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.utils.Result; import com.epmet.dao.GovStaffRoleTemplateDao; import com.epmet.dao.StaffRoleDao; import com.epmet.dto.CustomerAgencyUserRoleDTO; import com.epmet.dto.StaffRoleDTO; -import com.epmet.dto.form.CommonUserFormDTO; -import com.epmet.dto.form.CustomerAgencyUserRoleFormDTO; -import com.epmet.dto.form.CustomerStaffRoleListFormDTO; -import com.epmet.dto.form.RolesUsersListFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.StaffRoleEntity; import com.epmet.redis.StaffRoleRedis; @@ -267,4 +262,20 @@ public class StaffRoleServiceImpl extends BaseServiceImpl + * @author yinzuomei + * @date 2021/8/19 11:14 上午 + */ + @Override + public Set queryRoleStaffIds(RoleStaffIdFormDTO formDTO) { + if(CollectionUtils.isEmpty(formDTO.getRoleIds())){ + return Collections.EMPTY_SET; + } + return baseDao.selectRoleStaffIds(formDTO.getCustomerId(),formDTO.getRoleIds()); + } + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml index 98328339b5..05ce74c660 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml @@ -235,4 +235,22 @@ LEFT JOIN gov_staff_role gsr ON gsr.ID = sr.ROLE_ID AND gsr.DEL_FLAG = 0 WHERE sr.DEL_FLAG = 0 + + + From a410bb0f7ce5607899cd1dff831963054fe9a687 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Thu, 19 Aug 2021 15:05:24 +0800 Subject: [PATCH 10/53] =?UTF-8?q?=E6=BC=8F=E6=8F=90=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dataaggre/controller/EpmetUserController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java index 25a944403b..88263c88ca 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java @@ -214,7 +214,7 @@ public class EpmetUserController { @PostMapping("stafflistbyrealname") public Result> staffListByRealName(@LoginUser TokenDto tokenDto, @RequestBody ListStaffFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO, ListStaffFormDTO.Staff.class); - formDTO.setCustomerId(formDTO.getCustomerId()); + //formDTO.setCustomerId(formDTO.getCustomerId()); return new Result>().ok(epmetUserService.listStaff(formDTO)); } From a23f5a89f548aba4b60036501a577f7da8b0440a Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Thu, 19 Aug 2021 15:14:21 +0800 Subject: [PATCH 11/53] =?UTF-8?q?=E9=80=9A=E8=AE=AF=E5=BD=95=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/epmetuser/form/RoleUsersFormDTO.java | 19 +++++++++ .../epmetuser/result/RoleListResultDTO.java | 23 +++++++++++ .../epmetuser/result/RoleUsersResultDTO.java | 25 ++++++++++++ .../epmet/dataaggre/dto/govorg/OrgDTO.java | 19 +++++++++ .../dataaggre/dto/govorg/ReceiverDTO.java | 39 ++++++++++++++++++ .../dto/govorg/form/ReceiversFormDTO.java | 22 ++++++++++ .../dto/govorg/form/SubOrgFormDTO.java | 18 +++++++++ .../dto/govorg/result/ReceiversResultDTO.java | 19 +++++++++ .../dto/govorg/result/SubOrgResultDTO.java | 20 ++++++++++ .../controller/EpmetUserController.java | 29 ++++++++++++++ .../controller/GovOrgController.java | 18 +++++++-- .../dataaggre/controller/InfoController.java | 40 +++++++++++++++++++ .../service/epmetuser/EpmetUserService.java | 18 +++++++++ .../epmetuser/impl/EpmetUserServiceImpl.java | 27 +++++++++++++ .../service/govorg/GovOrgService.java | 22 ++++++++-- .../govorg/impl/GovOrgServiceImpl.java | 30 ++++++++++++-- 16 files changed, 378 insertions(+), 10 deletions(-) create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/RoleUsersFormDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/RoleListResultDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/RoleUsersResultDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/OrgDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/ReceiverDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/ReceiversFormDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/SubOrgFormDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/ReceiversResultDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/SubOrgResultDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/RoleUsersFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/RoleUsersFormDTO.java new file mode 100644 index 0000000000..5978cd7c2c --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/RoleUsersFormDTO.java @@ -0,0 +1,19 @@ +package com.epmet.dataaggre.dto.epmetuser.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description + * @Author zhaoqifeng + * @Data 2021/8/19 14:06 + */ +@Data +public class RoleUsersFormDTO implements Serializable { + private static final long serialVersionUID = -7732382052293191415L; + @NotBlank(message = "角色ID不能为空") + private String roleId; + private String customerId; +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/RoleListResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/RoleListResultDTO.java new file mode 100644 index 0000000000..84a597245d --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/RoleListResultDTO.java @@ -0,0 +1,23 @@ +package com.epmet.dataaggre.dto.epmetuser.result; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2021/8/19 14:16 + */ +@NoArgsConstructor +@Data +public class RoleListResultDTO implements Serializable { + + private static final long serialVersionUID = -9030492894290373999L; + private String roleId; + private String description; + private String roleName; + private String roleKey; + private Integer staffNum; +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/RoleUsersResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/RoleUsersResultDTO.java new file mode 100644 index 0000000000..250c4025bd --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/RoleUsersResultDTO.java @@ -0,0 +1,25 @@ +package com.epmet.dataaggre.dto.epmetuser.result; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2021/8/19 14:06 + */ +@NoArgsConstructor +@Data +public class RoleUsersResultDTO implements Serializable { + + private static final long serialVersionUID = 7109847663910323991L; + private String staffId; + private String name; + private String headPhoto; + private String orgName; + private String gender; + private List roles; +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/OrgDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/OrgDTO.java new file mode 100644 index 0000000000..dadb069021 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/OrgDTO.java @@ -0,0 +1,19 @@ +package com.epmet.dataaggre.dto.govorg; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2021/8/19 14:21 + */ +@Data +public class OrgDTO implements Serializable { + private static final long serialVersionUID = -3659371769044867016L; + private String orgId; + private String orgName; + private String orgType; + private Integer staffNum; +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/ReceiverDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/ReceiverDTO.java new file mode 100644 index 0000000000..d743c808cf --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/ReceiverDTO.java @@ -0,0 +1,39 @@ +package com.epmet.dataaggre.dto.govorg; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2021/8/19 14:50 + */ +@Data +public class ReceiverDTO implements Serializable { + private static final long serialVersionUID = 7756394210796777416L; + /** + * ID + */ + private String staffId; + /** + * 姓名 + */ + private String staffName; + /** + * 头像 + */ + private String headPhoto; + /** + * 所属组织目前显示两级 + */ + private String orgName; + /** + * 1:已读;0:未读 + */ + private String readFlag; + /** + * 1男2女0未知 + */ + private String gender; +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/ReceiversFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/ReceiversFormDTO.java new file mode 100644 index 0000000000..775086e16d --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/ReceiversFormDTO.java @@ -0,0 +1,22 @@ +package com.epmet.dataaggre.dto.govorg.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @author Administrator + */ +@Data +public class ReceiversFormDTO implements Serializable { + + private static final long serialVersionUID = -1588067365064394258L; + @NotBlank(message = "消息ID不能为空") + private String infoId; + private Integer pageNo = 1; + private Integer pageSize = 10; + private String readFlag; + + +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/SubOrgFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/SubOrgFormDTO.java new file mode 100644 index 0000000000..1bc7ccddef --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/SubOrgFormDTO.java @@ -0,0 +1,18 @@ +package com.epmet.dataaggre.dto.govorg.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2021/8/19 14:18 + */ +@Data +public class SubOrgFormDTO implements Serializable { + private static final long serialVersionUID = -3651225675593357002L; + @NotBlank(message = "组织ID不能为空") + private String agencyId; +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/ReceiversResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/ReceiversResultDTO.java new file mode 100644 index 0000000000..4f8993456c --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/ReceiversResultDTO.java @@ -0,0 +1,19 @@ +package com.epmet.dataaggre.dto.govorg.result; + +import com.epmet.dataaggre.dto.govorg.ReceiverDTO; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; + +/** + * @author Administrator + */ +@NoArgsConstructor +@Data +public class ReceiversResultDTO implements Serializable { + private static final long serialVersionUID = 255217078396991037L; + private Integer total; + private List dataList; +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/SubOrgResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/SubOrgResultDTO.java new file mode 100644 index 0000000000..26b915dea0 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/SubOrgResultDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dataaggre.dto.govorg.result; + +import com.epmet.dataaggre.dto.govorg.OrgDTO; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2021/8/19 14:20 + */ +@Data +public class SubOrgResultDTO implements Serializable { + private static final long serialVersionUID = 3080780461845963616L; + private List subAgencyList; + private List departmentList; + private List gridList; +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java index 88263c88ca..2c0eeeb439 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java @@ -218,4 +218,33 @@ public class EpmetUserController { return new Result>().ok(epmetUserService.listStaff(formDTO)); } + /** + * @Description 根据角色查询人员列表 + * @Param formDTO + * @Return {@link Result>} + * @Author zhaoqifeng + * @Date 2021/8/19 15:05 + */ + @PostMapping("roleusers") + public Result> roleUsers(@LoginUser TokenDto tokenDto, @RequestBody RoleUsersFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + formDTO.setCustomerId(tokenDto.getCustomerId()); + return new Result>().ok(epmetUserService.getRoleUsers(formDTO)); + + } + + /** + * @Description 角色列表(带人数) + * @Param tokenDto + * @Return {@link Result>} + * @Author zhaoqifeng + * @Date 2021/8/19 15:10 + */ + @PostMapping("rolelist") + public Result> roleList(@LoginUser TokenDto tokenDto) { + return new Result>().ok(epmetUserService.getRoleList(tokenDto.getCustomerId())); + + } + + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java index 5ef0282825..63a0922080 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java @@ -9,10 +9,7 @@ import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.user.LoginUserUtil; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.dataaggre.dto.govorg.form.GridMemberDataAnalysisFromDTO; -import com.epmet.dataaggre.dto.govorg.form.NextAreaCodeFormDTO; -import com.epmet.dataaggre.dto.govorg.form.OrgStaffListFormDTO; -import com.epmet.dataaggre.dto.govorg.form.StaffDetailV2FormDTO; +import com.epmet.dataaggre.dto.govorg.form.*; import com.epmet.dataaggre.dto.govorg.result.*; import com.epmet.dataaggre.enums.GridMemberDataAnalysisEnums; import com.epmet.dataaggre.service.AggreGridService; @@ -147,4 +144,17 @@ public class GovOrgController { return new Result().ok(govOrgService.staffDetailV2(formDTO)); } + /** + * @Description 下级组织/部门/网格列表 + * @Param formDTO + * @Return {@link Result} + * @Author zhaoqifeng + * @Date 2021/8/19 15:13 + */ + @PostMapping("suborg") + public Result subOrg(@RequestBody SubOrgFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + return new Result().ok(govOrgService.getSubOrg(formDTO)); + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java new file mode 100644 index 0000000000..124c0faf4f --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java @@ -0,0 +1,40 @@ +package com.epmet.dataaggre.controller; + +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.dataaggre.dto.govorg.form.ReceiversFormDTO; +import com.epmet.dataaggre.dto.govorg.result.ReceiversResultDTO; +import com.epmet.dataaggre.service.govorg.GovOrgService; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2021/8/19 14:45 + */ +@RestController +@RequestMapping("info") +public class InfoController { + @Resource + private GovOrgService govOrgService; + + /** + * @Description 已读未读列表 + * @Param formDTO + * @Return {@link Result} + * @Author zhaoqifeng + * @Date 2021/8/19 14:49 + */ + @PostMapping("receivers") + public Result receivers(@RequestBody ReceiversFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + ReceiversResultDTO result = govOrgService.getReceiverList(formDTO); + return new Result().ok(result); + + } +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java index add57d7886..d5c6b69663 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java @@ -100,4 +100,22 @@ public interface EpmetUserService { * @author sun */ List listStaff(ListStaffFormDTO formDTO); + + /** + * 根据角色查询人员列表 + * @Param formDTO + * @Return {@link List} + * @Author zhaoqifeng + * @Date 2021/8/19 15:03 + */ + List getRoleUsers(RoleUsersFormDTO formDTO); + + /** + * @Description 获取角色列表 + * @Param customerId + * @Return {@link List} + * @Author zhaoqifeng + * @Date 2021/8/19 15:09 + */ + List getRoleList(String customerId); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java index 3039f4a9c2..d3e840c36f 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java @@ -432,5 +432,32 @@ public class EpmetUserServiceImpl implements EpmetUserService { return null; } + /** + * 根据角色查询人员列表 + * + * @param formDTO + * @Param formDTO + * @Return {@link List} + * @Author zhaoqifeng + * @Date 2021/8/19 15:03 + */ + @Override + public List getRoleUsers(RoleUsersFormDTO formDTO) { + return null; + } + + /** + * @param customerId + * @Description 获取角色列表 + * @Param customerId + * @Return {@link List} + * @Author zhaoqifeng + * @Date 2021/8/19 15:09 + */ + @Override + public List getRoleList(String customerId) { + return null; + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java index a912b2180b..ab88712f20 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java @@ -3,9 +3,7 @@ package com.epmet.dataaggre.service.govorg; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; -import com.epmet.dataaggre.dto.govorg.form.NextAreaCodeFormDTO; -import com.epmet.dataaggre.dto.govorg.form.OrgStaffListFormDTO; -import com.epmet.dataaggre.dto.govorg.form.StaffDetailV2FormDTO; +import com.epmet.dataaggre.dto.govorg.form.*; import com.epmet.dataaggre.dto.govorg.result.*; import com.epmet.dataaggre.dto.resigroup.result.OrgInfoCommonDTO; @@ -96,4 +94,22 @@ public interface GovOrgService { * @author sun */ StaffDetailV2FormDTO staffDetailV2(StaffDetailV2ResultDTO formDTO); + + /** + * @Description 获取已读未读人员列表 + * @Param formDTO + * @Return {@link ReceiversResultDTO} + * @Author zhaoqifeng + * @Date 2021/8/19 14:56 + */ + ReceiversResultDTO getReceiverList(ReceiversFormDTO formDTO); + + /** + * @Description 下级组织/部门/网格列表 + * @Param formDTO + * @Return {@link SubOrgResultDTO} + * @Author zhaoqifeng + * @Date 2021/8/19 15:12 + */ + SubOrgResultDTO getSubOrg(SubOrgFormDTO formDTO); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index 1509a52d68..a56260a333 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -15,9 +15,7 @@ import com.epmet.dataaggre.dto.epmetuser.result.StaffRoleListResultDTO; import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; import com.epmet.dataaggre.dto.govorg.CustomerStaffAgencyDTO; -import com.epmet.dataaggre.dto.govorg.form.NextAreaCodeFormDTO; -import com.epmet.dataaggre.dto.govorg.form.OrgStaffListFormDTO; -import com.epmet.dataaggre.dto.govorg.form.StaffDetailV2FormDTO; +import com.epmet.dataaggre.dto.govorg.form.*; import com.epmet.dataaggre.dto.govorg.result.*; import com.epmet.dataaggre.dto.resigroup.result.OrgInfoCommonDTO; import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity; @@ -394,4 +392,30 @@ public class GovOrgServiceImpl implements GovOrgService { return null; } + /** + * @param formDTO + * @Description 获取已读未读人员列表 + * @Param formDTO + * @Return {@link ReceiversResultDTO} + * @Author zhaoqifeng + * @Date 2021/8/19 14:56 + */ + @Override + public ReceiversResultDTO getReceiverList(ReceiversFormDTO formDTO) { + return null; + } + + /** + * @param formDTO + * @Description 下级组织/部门/网格列表 + * @Param formDTO + * @Return {@link SubOrgResultDTO} + * @Author zhaoqifeng + * @Date 2021/8/19 15:12 + */ + @Override + public SubOrgResultDTO getSubOrg(SubOrgFormDTO formDTO) { + return null; + } + } From 612cb410f837cd413bf2b2ddc5a7feeaf55a1e0f Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Thu, 19 Aug 2021 15:33:12 +0800 Subject: [PATCH 12/53] =?UTF-8?q?=E9=80=9A=E8=AE=AF=E5=BD=95=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constant/DataSourceConstant.java | 1 + .../data-aggregator-server/pom.xml | 18 +++++++++++ .../dataaggre/controller/InfoController.java | 6 ++-- .../epmetmessage/EpmetMessageService.java | 18 +++++++++++ .../impl/EpmetMessageServiceImpl.java | 32 +++++++++++++++++++ .../service/govorg/GovOrgService.java | 9 ------ .../govorg/impl/GovOrgServiceImpl.java | 13 -------- .../src/main/resources/bootstrap.yml | 5 +++ 8 files changed, 77 insertions(+), 25 deletions(-) create mode 100644 epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/EpmetMessageService.java create mode 100644 epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java index d9eea40501..c6a3b0e1bc 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java @@ -32,4 +32,5 @@ public interface DataSourceConstant { String EVALUATION_INDEX = "evaluationIndex"; String OPERCUSTOMIZE="opercustomize"; + String EPMET_MESSAGE="epmentmessage"; } diff --git a/epmet-module/data-aggregator/data-aggregator-server/pom.xml b/epmet-module/data-aggregator/data-aggregator-server/pom.xml index b9bb88e7a9..f12fd9b93d 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/pom.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/pom.xml @@ -294,6 +294,12 @@ epmet_oper_customize_user EpmEt-db-UsEr + + + + epmet_message_user + EpmEt-db-UsEr + 0 192.168.1.140 @@ -395,6 +401,12 @@ epmet elink@833066 + + + + epmet + elink@833066 + 0 r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com @@ -496,6 +508,12 @@ epmet_oper_customize_user EpmEt-db-UsEr + + + + epmet_message_user + EpmEt-db-UsEr + 0 r-m5ez3n1j0qc3ykq2ut.redis.rds.aliyuncs.com diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java index 124c0faf4f..29d4ea7e24 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java @@ -4,7 +4,7 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dataaggre.dto.govorg.form.ReceiversFormDTO; import com.epmet.dataaggre.dto.govorg.result.ReceiversResultDTO; -import com.epmet.dataaggre.service.govorg.GovOrgService; +import com.epmet.dataaggre.service.epmetmessage.EpmetMessageService; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -21,7 +21,7 @@ import javax.annotation.Resource; @RequestMapping("info") public class InfoController { @Resource - private GovOrgService govOrgService; + private EpmetMessageService epmetMessageService; /** * @Description 已读未读列表 @@ -33,7 +33,7 @@ public class InfoController { @PostMapping("receivers") public Result receivers(@RequestBody ReceiversFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO); - ReceiversResultDTO result = govOrgService.getReceiverList(formDTO); + ReceiversResultDTO result = epmetMessageService.getReceiverList(formDTO); return new Result().ok(result); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/EpmetMessageService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/EpmetMessageService.java new file mode 100644 index 0000000000..eb5cd94040 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/EpmetMessageService.java @@ -0,0 +1,18 @@ +package com.epmet.dataaggre.service.epmetmessage; + +import com.epmet.dataaggre.dto.govorg.form.ReceiversFormDTO; +import com.epmet.dataaggre.dto.govorg.result.ReceiversResultDTO; + +/** + * @author Administrator + */ +public interface EpmetMessageService { + /** + * @Description 获取已读未读人员列表 + * @Param formDTO + * @Return {@link ReceiversResultDTO} + * @Author zhaoqifeng + * @Date 2021/8/19 14:56 + */ + ReceiversResultDTO getReceiverList(ReceiversFormDTO formDTO); +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java new file mode 100644 index 0000000000..d6d9046123 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java @@ -0,0 +1,32 @@ +package com.epmet.dataaggre.service.epmetmessage.impl; + +import com.epmet.commons.dynamic.datasource.annotation.DataSource; +import com.epmet.dataaggre.constant.DataSourceConstant; +import com.epmet.dataaggre.dto.govorg.form.ReceiversFormDTO; +import com.epmet.dataaggre.dto.govorg.result.ReceiversResultDTO; +import com.epmet.dataaggre.service.epmetmessage.EpmetMessageService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2021/8/19 15:23 + */ +@Service +@DataSource(DataSourceConstant.EPMET_MESSAGE) +@Slf4j +public class EpmetMessageServiceImpl implements EpmetMessageService { + /** + * @param formDTO + * @Description 获取已读未读人员列表 + * @Param formDTO + * @Return {@link ReceiversResultDTO} + * @Author zhaoqifeng + * @Date 2021/8/19 14:56 + */ + @Override + public ReceiversResultDTO getReceiverList(ReceiversFormDTO formDTO) { + return null; + } +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java index ab88712f20..3a2c10ea1c 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java @@ -95,15 +95,6 @@ public interface GovOrgService { */ StaffDetailV2FormDTO staffDetailV2(StaffDetailV2ResultDTO formDTO); - /** - * @Description 获取已读未读人员列表 - * @Param formDTO - * @Return {@link ReceiversResultDTO} - * @Author zhaoqifeng - * @Date 2021/8/19 14:56 - */ - ReceiversResultDTO getReceiverList(ReceiversFormDTO formDTO); - /** * @Description 下级组织/部门/网格列表 * @Param formDTO diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index a56260a333..e436e72fac 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -392,19 +392,6 @@ public class GovOrgServiceImpl implements GovOrgService { return null; } - /** - * @param formDTO - * @Description 获取已读未读人员列表 - * @Param formDTO - * @Return {@link ReceiversResultDTO} - * @Author zhaoqifeng - * @Date 2021/8/19 14:56 - */ - @Override - public ReceiversResultDTO getReceiverList(ReceiversFormDTO formDTO) { - return null; - } - /** * @param formDTO * @Description 下级组织/部门/网格列表 diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml index 98ff885e99..f84136b69a 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml @@ -144,6 +144,11 @@ dynamic: url: @datasource.druid.opercustomize.url@ username: @datasource.druid.opercustomize.username@ password: @datasource.druid.opercustomize.password@ + epmetmessage: + driver-class-name: com.mysql.cj.jdbc.Driver + url: @datasource.druid.epmetmessage.url@ + username: @datasource.druid.epmetmessage.username@ + password: @datasource.druid.epmetmessage.password@ feign: hystrix: enabled: true From f35debd77cefdc3ee829425f0a42d3d7f459b16c Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 19 Aug 2021 15:36:00 +0800 Subject: [PATCH 13/53] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9A=82=E5=AD=98=20?= =?UTF-8?q?=E9=81=BF=E5=85=8D=E5=A4=A7=E9=87=8F=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/constant/ServiceConstant.java | 4 +- .../tools/feign/CommonUserFeignClient.java | 26 +++++ .../CommonUserFeignClientFallBackFactory.java | 19 ++++ .../CommonUserFeignClientFallback.java | 23 ++++ .../epmet/commons/tools/redis/RedisKeys.java | 10 ++ .../redis/common/CustomerStaffRedis.java | 100 ++++++++++++++++++ .../common/bean/CustomerStaffInfoCache.java | 62 +++++++++++ .../redis/common/bean/StaffOrgsCache.java | 54 ++++++++++ .../result/CustomerStaffResultDTO.java | 63 +++++++++++ .../dataaggre/controller/DemoController.java | 9 ++ .../controller/EpmetUserController.java | 14 ++- .../service/epmetuser/EpmetUserService.java | 17 ++- .../epmetuser/impl/EpmetUserServiceImpl.java | 19 ++++ .../com/epmet/dto/CustomerStaffInfoDTO.java | 62 +++++++++++ .../main/java/com/epmet/dto/StaffOrgsDTO.java | 54 ++++++++++ .../java/com/epmet/redis/StaffInfoRedis.java | 75 +++++++++++++ 16 files changed, 600 insertions(+), 11 deletions(-) create mode 100644 epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonUserFeignClient.java create mode 100644 epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonUserFeignClientFallBackFactory.java create mode 100644 epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonUserFeignClientFallback.java create mode 100644 epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java create mode 100644 epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/CustomerStaffInfoCache.java create mode 100644 epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/StaffOrgsCache.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/CustomerStaffResultDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/CustomerStaffInfoDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/StaffOrgsDTO.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/redis/StaffInfoRedis.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/ServiceConstant.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/ServiceConstant.java index e104c83e54..221d7d3f69 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/ServiceConstant.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/ServiceConstant.java @@ -140,7 +140,7 @@ public interface ServiceConstant { String EPMET_POINT_SERVER = "epmet-point-server"; /** - * 开放接口服务 + * 聚合查询服务 */ - String EPMET_EXT_SERVER = "epmet-ext-server"; + String DATA_AGGREGATOR_SERVER = "data-aggregator-server"; } diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonUserFeignClient.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonUserFeignClient.java new file mode 100644 index 0000000000..70b2a1abc5 --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonUserFeignClient.java @@ -0,0 +1,26 @@ +package com.epmet.commons.tools.feign; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.feign.fallback.CommonUserFeignClientFallBackFactory; +import com.epmet.commons.tools.redis.common.bean.CustomerStaffInfoCache; +import com.epmet.commons.tools.utils.Result; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; + + +/** + * @Description + * @Author sun + */ +@FeignClient(name = ServiceConstant.DATA_AGGREGATOR_SERVER, fallbackFactory = CommonUserFeignClientFallBackFactory.class) +public interface CommonUserFeignClient { + + /** + * desc:根据工作人员Id 获取工作人员信息 + * @param staffId + * @return + */ + @PostMapping("/data/aggregator/epmetuser/getStaffInfo/{staffId}") + Result getStaffInfo(@PathVariable("staffId") String staffId); +} diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonUserFeignClientFallBackFactory.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonUserFeignClientFallBackFactory.java new file mode 100644 index 0000000000..af8bd61954 --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonUserFeignClientFallBackFactory.java @@ -0,0 +1,19 @@ +package com.epmet.commons.tools.feign.fallback; + +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.feign.CommonUserFeignClient; +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +@Component +@Slf4j +public class CommonUserFeignClientFallBackFactory implements FallbackFactory { + private CommonUserFeignClientFallback fallback = new CommonUserFeignClientFallback(); + + @Override + public CommonUserFeignClient create(Throwable cause) { + log.error(String.format("FeignClient调用发生异常,异常信息:%s", ExceptionUtils.getThrowableErrorStackTrace(cause))); + return fallback; + } +} diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonUserFeignClientFallback.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonUserFeignClientFallback.java new file mode 100644 index 0000000000..7dca0b3552 --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonUserFeignClientFallback.java @@ -0,0 +1,23 @@ +package com.epmet.commons.tools.feign.fallback; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.feign.CommonUserFeignClient; +import com.epmet.commons.tools.redis.common.bean.CustomerStaffInfoCache; +import com.epmet.commons.tools.utils.ModuleUtils; +import com.epmet.commons.tools.utils.Result; +import org.springframework.stereotype.Component; + +/** + * 调用政府端权限 + * @Author wxz + * @Description + * @Date 2020/4/24 11:17 + **/ +@Component +public class CommonUserFeignClientFallback implements CommonUserFeignClient { + + @Override + public Result getStaffInfo(String staffId) { + return ModuleUtils.feignConError(ServiceConstant.DATA_AGGREGATOR_SERVER, "getStaffInfo", staffId); + } +} diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java index 046802e321..8f669a3656 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java @@ -490,4 +490,14 @@ public class RedisKeys { public static String getNoRepeatSubmitKey(String key) { return rootPrefix.concat("no_repeat_submit:").concat(key); } + + /** + * desc:根据工作人员Id 获取工作人员缓存key + * @param customerId + * @param staffId + * @return + */ + public static String getCustomerStaffInfoKey(String customerId, String staffId) { + return rootPrefix.concat(customerId).concat(StrConstant.COLON).concat(staffId); + } } diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java new file mode 100644 index 0000000000..f45e1b46f8 --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java @@ -0,0 +1,100 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.commons.tools.redis.common; + +import cn.hutool.core.bean.BeanUtil; +import com.alibaba.fastjson.JSON; +import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.feign.CommonUserFeignClient; +import com.epmet.commons.tools.redis.RedisKeys; +import com.epmet.commons.tools.redis.RedisUtils; +import com.epmet.commons.tools.redis.common.bean.CustomerStaffInfoCache; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.Result; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.Map; + +import static com.epmet.commons.tools.redis.RedisUtils.NOT_EXPIRE; + +/** + * 工作人员缓存 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-04-22 + */ +@Component +public class CustomerStaffRedis { + @Autowired + private RedisUtils redisUtils; + @Autowired + private CommonUserFeignClient commonUserFeignClient; + + //@PostConstruct + public void init(){ + CustomerStaffInfoCache role = this.getRole("45687aa479955f9d06204d415238f7cc", "9e37adcce6472152e6508a19d3683e02"); + System.out.println(JSON.toJSONString(role)); + } + + /** + * @Description 查询工作人员的角色 + * @Param customerId + * @Param userId + * @author zxc + * @date 2021/6/15 3:20 下午 + */ + public CustomerStaffInfoCache getRole(String customerId, String staffId){ + String key = RedisKeys.getCustomerStaffInfoKey(customerId,staffId); + Map roleMap = redisUtils.hGetAll(key); + boolean empty = roleMap.isEmpty(); + if (!empty){ + CustomerStaffInfoCache result = ConvertUtils.mapToEntity(roleMap, CustomerStaffInfoCache.class); + return result; + } + try { + Result staffResult = commonUserFeignClient.getStaffInfo(staffId); + if (staffResult == null || !staffResult.success()){ + throw new RenException("获取工作人员信息失败"); + } + if (staffResult.getData() == null){ + return null; + } + Map map = BeanUtil.beanToMap(staffResult.getData(), false, true); + redisUtils.hMSet(key,map); + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * @Description 放入缓存角色 + * @Param customerId + * @Param userId + * @Param dto + * @author zxc + * @date 2021/6/15 4:01 下午 + */ + public void setRole(String customerId, String staffId, CustomerStaffInfoCache dto){ + String key = RedisKeys.getCustomerStaffInfoKey(customerId,staffId); + Map map = BeanUtil.beanToMap(dto, false, true); + redisUtils.hMSet(key, map,NOT_EXPIRE); + } + +} diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/CustomerStaffInfoCache.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/CustomerStaffInfoCache.java new file mode 100644 index 0000000000..63eaa7ccf0 --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/CustomerStaffInfoCache.java @@ -0,0 +1,62 @@ +package com.epmet.commons.tools.redis.common.bean; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Map; + +/** + * @Author zxc + * @DateTime 2021/6/15 10:00 上午 + * @DESC + */ +@Data +public class CustomerStaffInfoCache implements Serializable { + + private static final long serialVersionUID = -4078910245000135305L; + /** + * 工作人员所属组织ID + */ + private String agencyId; + + /** + * 工作人员所属组织名称 + */ + private String agencyName; + + /** + * 工作人员ID + */ + private String staffId; + + /** + * 真实姓名 + */ + private String realName; + + /** + * 性别0.未知,1男,2.女 + */ + private Integer gender; + + /** + * 手机号-唯一键 + */ + private String mobile; + + /** + * 头像 + */ + private String headPhoto; + + /** + * 角色map key为角色key value 为角色名称 + */ + private Map roleMap; + + /** + * 工作人员所在网格及部门列表 + */ + private StaffOrgsCache orgInfo; + +} diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/StaffOrgsCache.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/StaffOrgsCache.java new file mode 100644 index 0000000000..db790af859 --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/StaffOrgsCache.java @@ -0,0 +1,54 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.commons.tools.redis.common.bean; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * desc: 工作人员所属的组织关系 + * @date 2021/8/19 10:07 上午 + */ +@Data +public class StaffOrgsCache implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 所属组织的上级组织 + */ + private IdAndName parentAgency; + + /** + * 所属网格列表 + */ + private List gridList; + + /** + * 所属部门 + */ + private List deptList; + + @Data + class IdAndName { + private String id; + private String name; + } +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/CustomerStaffResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/CustomerStaffResultDTO.java new file mode 100644 index 0000000000..03f7f669be --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/CustomerStaffResultDTO.java @@ -0,0 +1,63 @@ +package com.epmet.dataaggre.dto.epmetuser.result; + +import com.epmet.commons.tools.redis.common.bean.StaffOrgsCache; +import lombok.Data; + +import java.io.Serializable; +import java.util.Map; + +/** + * @Author zxc + * @DateTime 2021/6/15 10:00 上午 + * @DESC + */ +@Data +public class CustomerStaffResultDTO implements Serializable { + + private static final long serialVersionUID = 6989603307304337912L; + /** + * 工作人员所属组织ID + */ + private String agencyId; + + /** + * 工作人员所属组织名称 + */ + private String agencyName; + + /** + * 工作人员ID + */ + private String staffId; + + /** + * 真实姓名 + */ + private String realName; + + /** + * 性别0.未知,1男,2.女 + */ + private Integer gender; + + /** + * 手机号-唯一键 + */ + private String mobile; + + /** + * 头像 + */ + private String headPhoto; + + /** + * 角色map key为角色key value 为角色名称 + */ + private Map roleMap; + + /** + * 工作人员所在网格及部门列表 + */ + private StaffOrgsCache orgInfo; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/DemoController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/DemoController.java index b3300e3fb4..e8fb5e18e3 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/DemoController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/DemoController.java @@ -1,6 +1,8 @@ package com.epmet.dataaggre.controller; +import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.utils.SpringContextUtils; import com.epmet.dataaggre.service.DemoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -17,7 +19,14 @@ public class DemoController { @GetMapping("doIt") public Result doIt() { demoService.doIt(); + + + CustomerStaffRedis bean = SpringContextUtils.getBean(CustomerStaffRedis.class); + bean.init(); + return new Result(); } + + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java index 52d33309e4..0dc3beadd6 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java @@ -13,10 +13,7 @@ import com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO; import com.epmet.dataaggre.service.datastats.DataStatsService; import com.epmet.dataaggre.service.epmetuser.EpmetUserService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.HashMap; @@ -217,4 +214,13 @@ public class EpmetUserController { return new Result>().ok(epmetUserService.listStaff(formDTO)); } + /** + * 根据staffId查询用户基本信息 + * remark: + */ + @PostMapping("getStaffInfo/{staffId}") + public Result getStaffInfo(@PathVariable(name = "staffId") String staffId){ + return new Result().ok(epmetUserService.getStaffInfo(staffId)); + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java index add57d7886..b6eaaeb78c 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java @@ -47,7 +47,7 @@ public interface EpmetUserService { /** * 历史巡查日期查询 * @author zhaoqifeng - * @date 2021/6/10 14:36 + * @date 2021/6/10 14:36 * @param formDTO * @return com.epmet.dataaggre.dto.epmetuser.result.PatrolDateListResultDTO */ @@ -83,13 +83,13 @@ public interface EpmetUserService { * @Author sun **/ List getStaffRoleList(String customerId, String userId); - + /** * 我要报事-人大代表个人中心(尹) 是否显示@我,是否显示红点 - * - * @param userId + * + * @param userId * @return com.epmet.dataaggre.dto.epmetuser.result.UserEventLogoResultDTO - * @author yinzuomei + * @author yinzuomei * @date 2021/8/3 15:09 */ UserEventLogoResultDTO mentionMeEvent(String userId); @@ -100,4 +100,11 @@ public interface EpmetUserService { * @author sun */ List listStaff(ListStaffFormDTO formDTO); + + /** + * desc:根据工作人员Id 获取工作人员全部信息 + * @param staffId + * @return + */ + CustomerStaffResultDTO getStaffInfo(String staffId); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java index 3039f4a9c2..484810bcd5 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java @@ -1,7 +1,9 @@ package com.epmet.dataaggre.service.epmetuser.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.constant.BadgeConstant; import com.epmet.dataaggre.constant.DataSourceConstant; @@ -14,6 +16,7 @@ import com.epmet.dataaggre.dto.epmetuser.result.*; import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO; +import com.epmet.dataaggre.entity.epmetuser.CustomerStaffEntity; import com.epmet.dataaggre.entity.epmetuser.ResiUserBadgeEntity; import com.epmet.dataaggre.service.epmetuser.EpmetUserService; import com.epmet.dataaggre.service.epmetuser.StaffPatrolDetailService; @@ -432,5 +435,21 @@ public class EpmetUserServiceImpl implements EpmetUserService { return null; } + @Override + public CustomerStaffResultDTO getStaffInfo(String staffId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(CustomerStaffEntity::getUserId,staffId) + .eq(CustomerStaffEntity::getDelFlag,NumConstant.ZERO_STR); + CustomerStaffEntity staffEntity = customerStaffDao.selectOne(queryWrapper); + CustomerStaffResultDTO result = ConvertUtils.sourceToTarget(staffEntity, CustomerStaffResultDTO.class); + + //1.查询当前人员所属组织及下级所有网格列表数据,供后续封装数据使用 + /*List list = govOrgService.getGridList(staffId); + if (list.size() < NumConstant.ONE) { + return resultList; + }*/ + return result; + } + } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/CustomerStaffInfoDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/CustomerStaffInfoDTO.java new file mode 100644 index 0000000000..3ec1fae999 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/CustomerStaffInfoDTO.java @@ -0,0 +1,62 @@ +package com.epmet.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Map; + +/** + * @Author zxc + * @DateTime 2021/6/15 10:00 上午 + * @DESC + */ +@Data +public class CustomerStaffInfoDTO implements Serializable { + + private static final long serialVersionUID = -4078910245000135305L; + /** + * 工作人员所属组织ID + */ + private String agencyId; + + /** + * 工作人员所属组织名称 + */ + private String agencyName; + + /** + * 工作人员ID + */ + private String staffId; + + /** + * 真实姓名 + */ + private String realName; + + /** + * 性别0.未知,1男,2.女 + */ + private Integer gender; + + /** + * 手机号-唯一键 + */ + private String mobile; + + /** + * 头像 + */ + private String headPhoto; + + /** + * 角色map key为角色key value 为角色名称 + */ + private Map roleMap; + + /** + * 工作人员所在网格及部门列表 + */ + private StaffOrgsDTO orgInfo; + +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/StaffOrgsDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/StaffOrgsDTO.java new file mode 100644 index 0000000000..ae9e0f7a9a --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/StaffOrgsDTO.java @@ -0,0 +1,54 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * desc: 工作人员所属的组织关系 + * @date 2021/8/19 10:07 上午 + */ +@Data +public class StaffOrgsDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 所属组织的上级组织 + */ + private IdAndName parentAgency; + + /** + * 所属网格列表 + */ + private List gridList; + + /** + * 所属部门 + */ + private List deptList; + + @Data + class IdAndName { + private String id; + private String name; + } +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/StaffInfoRedis.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/StaffInfoRedis.java new file mode 100644 index 0000000000..cf3ae77dda --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/StaffInfoRedis.java @@ -0,0 +1,75 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.redis; + +import cn.hutool.core.bean.BeanUtil; +import com.epmet.commons.tools.redis.RedisKeys; +import com.epmet.commons.tools.redis.RedisUtils; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.dto.CustomerStaffInfoDTO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.Map; + +import static com.epmet.commons.tools.redis.RedisUtils.NOT_EXPIRE; + +/** + * 工作人员-角色关系表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-04-22 + */ +@Component +public class StaffInfoRedis { + @Autowired + private RedisUtils redisUtils; + + /** + * @Description 查询工作人员的角色 + * @Param customerId + * @Param userId + * @author zxc + * @date 2021/6/15 3:20 下午 + */ + public CustomerStaffInfoDTO getRole(String customerId, String staffId){ + String key = RedisKeys.getCustomerStaffInfoKey(customerId,staffId); + Map roleMap = redisUtils.hGetAll(key); + boolean empty = roleMap.isEmpty(); + if (!empty){ + CustomerStaffInfoDTO result = ConvertUtils.mapToEntity(roleMap, CustomerStaffInfoDTO.class); + return result; + } + return null; + } + + /** + * @Description 放入缓存角色 + * @Param customerId + * @Param userId + * @Param dto + * @author zxc + * @date 2021/6/15 4:01 下午 + */ + public void setRole(String customerId,String staffId,CustomerStaffInfoDTO dto){ + String key = RedisKeys.getCustomerStaffInfoKey(customerId,staffId); + Map map = BeanUtil.beanToMap(dto, false, true); + redisUtils.hMSet(key, map,NOT_EXPIRE); + } + +} From f84506ea7b400bb44fa89856e964c3ef28a0d1b9 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 19 Aug 2021 16:44:26 +0800 Subject: [PATCH 14/53] =?UTF-8?q?=E5=8F=91=E9=80=81=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E5=90=8C=E6=97=B6=E5=8F=91=E9=80=81=E7=AB=99=E5=86=85=E4=BF=A1?= =?UTF-8?q?=EF=BC=8C=E5=A2=9E=E5=8A=A0info,infoId=E5=88=B0user=5Fmessage?= =?UTF-8?q?=E8=A1=A8=EF=BC=8C=E6=96=B9=E4=BE=BF=E6=97=A5=E5=90=8E=E8=B7=B3?= =?UTF-8?q?=E8=BD=AC=E6=B6=88=E6=81=AF=E8=AF=A6=E6=83=85=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commons/tools/constant/NumConstant.java | 1 + .../com/epmet/dto/form/SendInfoFormDTO.java | 3 +- .../epmet/constant/UserMessageConstans.java | 4 ++ .../java/com/epmet/entity/InfoAttEntity.java | 12 +++- .../epmet/entity/InfoReplyContentEntity.java | 13 +++- .../com/epmet/entity/UserMessageEntity.java | 8 +++ .../epmet/service/impl/InfoServiceImpl.java | 67 ++++++++++++------- .../migration/V0.3.14__create_info_table.sql | 5 +- .../migration/V0.3.15__alter_user_message.sql | 3 + 9 files changed, 83 insertions(+), 33 deletions(-) create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.15__alter_user_message.sql diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java index 28a82836b1..1281b269f4 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java @@ -36,6 +36,7 @@ public interface NumConstant { int THIRTY_ONE = 31; int FORTY = 40; int FORTY_ONE = 41; + int FORTY_NINE = 49; int FIFTY = 50; int FIFTY_ONE = 51; int SIXTY = 60; diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/SendInfoFormDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/SendInfoFormDTO.java index 7fdbee71b8..6090d7f4e6 100644 --- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/SendInfoFormDTO.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/SendInfoFormDTO.java @@ -28,7 +28,8 @@ public class SendInfoFormDTO implements Serializable { /** * 消息内容,不能超过100,不可为空 */ - @Length(min = 1, max = 1000, message = "消息内容不能为空", groups = AddUserShowGroup.class) + @NotBlank(message = "消息内容不能为空",groups = AddUserShowGroup.class) + @Length(min = 1, max = 1000, message = "消息内容最多输入1000字", groups = AddUserShowGroup.class) private String content; /** * 单独选择的人的userId集合 diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/constant/UserMessageConstans.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/constant/UserMessageConstans.java index 455169adf9..7c20b668a6 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/constant/UserMessageConstans.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/constant/UserMessageConstans.java @@ -18,4 +18,8 @@ public interface UserMessageConstans { */ String APP = "app"; + String INFO_TITLE="您有一条新消息"; + + String MESSAGE_TYPE_INFO="info"; + String INFO_CONTENT_TEMP="您有一条【%s】的新消息,请您查看"; } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoAttEntity.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoAttEntity.java index d458461500..01e385aa50 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoAttEntity.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoAttEntity.java @@ -18,13 +18,10 @@ package com.epmet.entity; import com.baomidou.mybatisplus.annotation.TableName; - import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import lombok.Data; import lombok.EqualsAndHashCode; -import java.util.Date; - /** * 消息的附件表 * @@ -73,4 +70,13 @@ public class InfoAttEntity extends BaseEpmetEntity { */ private Integer sort; + /** + * 文件大小 + */ + private Integer attachmentSize; + /** + * 语音或视频时长,秒 + */ + private Integer duration; + } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoReplyContentEntity.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoReplyContentEntity.java index e83345449a..04e9160c71 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoReplyContentEntity.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/InfoReplyContentEntity.java @@ -18,13 +18,10 @@ package com.epmet.entity; import com.baomidou.mybatisplus.annotation.TableName; - import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import lombok.Data; import lombok.EqualsAndHashCode; -import java.util.Date; - /** * 回复详情表 * @@ -73,4 +70,14 @@ public class InfoReplyContentEntity extends BaseEpmetEntity { */ private Integer sort; + + /** + * 文件大小 + */ + private Integer attachmentSize; + /** + * 语音或视频时长,秒 + */ + private Integer duration; + } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/UserMessageEntity.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/UserMessageEntity.java index dcdd460cde..5d908e98c5 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/UserMessageEntity.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/UserMessageEntity.java @@ -75,4 +75,12 @@ public class UserMessageEntity extends BaseEpmetEntity { */ private String referer; + /** + * 消息分类:info-上传下达消息 + */ + private String messageType; + /** + * 消息对应的业务id,比如message_type=info时,此列存储的是消息id,可跳转到消息详情 + */ + private String targetId; } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/InfoServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/InfoServiceImpl.java index 7fc355d483..c3b60aae1c 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/InfoServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/InfoServiceImpl.java @@ -19,22 +19,21 @@ package com.epmet.service.impl; import com.alibaba.fastjson.JSON; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.AppClientConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.form.FileCommonDTO; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.Result; +import com.epmet.constant.UserMessageConstans; import com.epmet.dao.*; import com.epmet.dto.form.OrgCommonDTO; import com.epmet.dto.form.OrgStaffFormDTO; import com.epmet.dto.form.RoleStaffIdFormDTO; import com.epmet.dto.form.SendInfoFormDTO; import com.epmet.dto.result.SendInfoResultDTO; -import com.epmet.entity.InfoAttEntity; -import com.epmet.entity.InfoEntity; -import com.epmet.entity.InfoProfileEntity; -import com.epmet.entity.InfoReceiversEntity; +import com.epmet.entity.*; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.service.InfoService; @@ -76,6 +75,8 @@ public class InfoServiceImpl extends BaseServiceImpl implem private EpmetUserOpenFeignClient epmetUserOpenFeignClient; @Autowired private GovOrgOpenFeignClient govOrgOpenFeignClient; + @Autowired + private UserMessageDao userMessageDao; /** * 发送消息 @@ -102,7 +103,7 @@ public class InfoServiceImpl extends BaseServiceImpl implem log.info("群组选择的人:"+JSON.toJSONString(groupStaffIds,true)); //3、计算接收人: - Set totalReceiver=new LinkedHashSet();; + Set totalReceiver=new LinkedHashSet(); totalReceiver.addAll(formDTO.getStaffIdList()); totalReceiver.addAll(orgStaffIds); totalReceiver.addAll(roleStaffIds); @@ -116,21 +117,25 @@ public class InfoServiceImpl extends BaseServiceImpl implem baseDao.insert(infoEntity); //5、插入附件表 String firstAttId= StrConstant.EPMETY_STR; - int sort=1; - for (FileCommonDTO att : formDTO.getAttachmentList()) { - InfoAttEntity infoAttEntity = new InfoAttEntity(); - infoAttEntity.setInfoId(infoEntity.getId()); - infoAttEntity.setCustomerId(formDTO.getCustomerId()); - infoAttEntity.setAttachmentFormat(att.getFormat()); - infoAttEntity.setAttachmentName(att.getName()); - infoAttEntity.setAttachmentType(att.getType()); - infoAttEntity.setAttachmentUrl(att.getUrl()); - infoAttEntity.setSort(sort); - infoAttDao.insert(infoAttEntity); - if(sort==1){ - firstAttId=infoAttEntity.getId(); + if(CollectionUtils.isNotEmpty(formDTO.getAttachmentList())){ + int sort=1; + for (FileCommonDTO att : formDTO.getAttachmentList()) { + InfoAttEntity infoAttEntity = new InfoAttEntity(); + infoAttEntity.setInfoId(infoEntity.getId()); + infoAttEntity.setCustomerId(formDTO.getCustomerId()); + infoAttEntity.setAttachmentFormat(att.getFormat()); + infoAttEntity.setAttachmentName(att.getName()); + infoAttEntity.setAttachmentType(att.getType()); + infoAttEntity.setAttachmentUrl(att.getUrl()); + infoAttEntity.setSort(sort); + infoAttEntity.setAttachmentSize(att.getSize()); + infoAttEntity.setDuration(att.getDuration()); + infoAttDao.insert(infoAttEntity); + if(sort==1){ + firstAttId=infoAttEntity.getId(); + } + sort++; } - sort++; } //6、接收人 totalReceiver.forEach(staffId->{ @@ -140,17 +145,29 @@ public class InfoServiceImpl extends BaseServiceImpl implem infoReceiversEntity.setStaffId(staffId); infoReceiversEntity.setReadFlag(false); infoReceiversDao.insert(infoReceiversEntity); + // 6.1 插入站内信: + UserMessageEntity userMessageEntity=new UserMessageEntity(); + userMessageEntity.setCustomerId(formDTO.getCustomerId()); + userMessageEntity.setGridId(StrConstant.STAR); + userMessageEntity.setUserId(staffId); + userMessageEntity.setApp(AppClientConstant.APP_GOV); + userMessageEntity.setTitle(UserMessageConstans.INFO_TITLE); + userMessageEntity.setMessageContent(String.format(UserMessageConstans.INFO_CONTENT_TEMP, + infoEntity.getContent().length() >= NumConstant.FIFTY ? + StringUtils.substring(infoEntity.getContent(), NumConstant.FORTY_NINE) : infoEntity.getContent())); + userMessageEntity.setReadFlag(UserMessageConstans.UNREAD); + userMessageEntity.setMessageType(UserMessageConstans.MESSAGE_TYPE_INFO); + userMessageEntity.setTargetId(infoEntity.getId()); + userMessageEntity.setCreatedBy(formDTO.getUserId()); + userMessageEntity.setUpdatedBy(formDTO.getUserId()); + userMessageDao.insert(userMessageEntity); }); //7、插入概要表 InfoProfileEntity infoProfileEntity=new InfoProfileEntity(); infoProfileEntity.setCustomerId(formDTO.getCustomerId()); infoProfileEntity.setInfoId(infoEntity.getId()); - if(infoEntity.getContent().length()>NumConstant.ONE_HUNDRED){ - infoProfileEntity.setContent(StringUtils.substring(infoEntity.getContent(),NumConstant.NINETY_NINE)); - }else{ - infoProfileEntity.setContent(infoEntity.getContent()); - } + infoProfileEntity.setContent(infoEntity.getContent().length() >= NumConstant.FIFTY ? StringUtils.substring(infoEntity.getContent(), NumConstant.FORTY_NINE) : infoEntity.getContent()); infoProfileEntity.setPublishStaffId(formDTO.getUserId()); infoProfileEntity.setTotalReceiver(totalReceiver.size()); infoProfileEntity.setFirstAttId(firstAttId); @@ -160,8 +177,8 @@ public class InfoServiceImpl extends BaseServiceImpl implem infoProfileEntity.setUpdatedTime(infoEntity.getUpdatedTime()); infoProfileDao.insert(infoProfileEntity); - //8、发送站内信 todo SendInfoResultDTO resultDTO=new SendInfoResultDTO(); + resultDTO.setInfoId(infoEntity.getId()); return resultDTO; } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.14__create_info_table.sql b/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.14__create_info_table.sql index 6a53aa8b54..820e8ca67c 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.14__create_info_table.sql +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.14__create_info_table.sql @@ -22,6 +22,8 @@ CREATE TABLE `info_att` ( `ATTACHMENT_FORMAT` varchar(64) NOT NULL COMMENT '文件格式(JPG、PNG、PDF、JPEG、BMP、MP4、WMA、M4A、MP3、DOC、DOCX、XLS)', `ATTACHMENT_TYPE` varchar(64) NOT NULL COMMENT '附件类型((图片 - image、 视频 - video、 语音 - voice、 文档 - doc))', `ATTACHMENT_URL` varchar(255) NOT NULL COMMENT '附件地址', + `ATTACHMENT_SIZE` int(11) DEFAULT NULL COMMENT '文件大小,单位b', + `DURATION` int(11) unsigned DEFAULT '0' COMMENT '语音或视频时长,秒', `SORT` int(1) NOT NULL COMMENT '排序字段', `DEL_FLAG` varchar(1) NOT NULL COMMENT '删除标记 0:未删除,1:已删除', `REVISION` int(11) NOT NULL COMMENT '乐观锁', @@ -127,6 +129,8 @@ CREATE TABLE `info_reply_content` ( `REPLY_TYPE` varchar(64) NOT NULL COMMENT '回复的类型(文本-text、图片 - image、 视频 - video、 语音 - voice、 文档 - doc))', `CONTENT` varchar(255) NOT NULL COMMENT '如果是文本对应的是文字,如果是其他类型,对应的是url', `SORT` int(1) NOT NULL COMMENT '排序字段', + `ATTACHMENT_SIZE` int(11) DEFAULT NULL COMMENT '文件大小,单位b', + `DURATION` int(11) unsigned DEFAULT '0' COMMENT '语音或视频时长,秒', `DEL_FLAG` varchar(1) NOT NULL COMMENT '删除标记 0:未删除,1:已删除', `REVISION` int(11) NOT NULL COMMENT '乐观锁', `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', @@ -135,4 +139,3 @@ CREATE TABLE `info_reply_content` ( `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', PRIMARY KEY (`ID`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='回复详情表'; - diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.15__alter_user_message.sql b/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.15__alter_user_message.sql new file mode 100644 index 0000000000..c4bfcc7743 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.15__alter_user_message.sql @@ -0,0 +1,3 @@ + +alter table user_message add COLUMN message_type VARCHAR(32) comment '消息分类:info-上传下达消息' AFTER app; +alter table user_message add COLUMN target_id VARCHAR(64) comment '消息对应的业务id,比如message_type=info时,此列存储的是消息id,可跳转到消息详情' AFTER message_type; \ No newline at end of file From 7fa8bbfd1b1b3b108bf3cc6b5db3356de247a75e Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Thu, 19 Aug 2021 17:09:20 +0800 Subject: [PATCH 15/53] =?UTF-8?q?=E3=80=90=E9=80=9A=E8=AE=AF=E5=BD=95?= =?UTF-8?q?=E3=80=91=E5=A7=93=E5=90=8D=E6=A3=80=E7=B4=A2=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E4=BA=BA=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/epmetuser/form/ListStaffFormDTO.java | 6 +- .../epmetuser/result/ListStaffResultDTO.java | 19 +++-- .../govorg/result/StaffOrgNameResultDTO.java | 45 ++++++++++ .../controller/EpmetUserController.java | 2 +- .../dao/epmetuser/CustomerStaffDao.java | 7 ++ .../dataaggre/dao/epmetuser/StaffRoleDao.java | 6 ++ .../dao/govorg/CustomerAgencyDao.java | 7 ++ .../epmetuser/impl/EpmetUserServiceImpl.java | 18 +++- .../service/govorg/GovOrgService.java | 7 ++ .../govorg/impl/GovOrgServiceImpl.java | 10 +++ .../mapper/epmetuser/CustomerStaffDao.xml | 19 +++++ .../mapper/epmetuser/StaffRoleDao.xml | 12 +++ .../mapper/govorg/CustomerAgencyDao.xml | 85 +++++++++++++++++++ 13 files changed, 231 insertions(+), 12 deletions(-) create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/StaffOrgNameResultDTO.java diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/ListStaffFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/ListStaffFormDTO.java index 253a82639e..e7569b16d1 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/ListStaffFormDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/ListStaffFormDTO.java @@ -15,10 +15,14 @@ public class ListStaffFormDTO implements Serializable { private static final long serialVersionUID = -3381286960911634231L; /** - * 客户Id + * 待检索姓名 */ @NotBlank(message = "姓名不能为空", groups = ListStaffFormDTO.Staff.class) private String realName; + /** + * token中客户Id + */ + private String customerId; public interface Staff extends CustomerClientShowGroup {} } diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/ListStaffResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/ListStaffResultDTO.java index 7e04034352..8acbb434ab 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/ListStaffResultDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/ListStaffResultDTO.java @@ -3,9 +3,10 @@ package com.epmet.dataaggre.dto.epmetuser.result; import lombok.Data; import java.io.Serializable; +import java.util.List; /** - * @Description 对外接口--【通讯录】姓名检索工作人员-接口返参 + * @Description 【通讯录】姓名检索工作人员-接口返参 * @Auth sun */ @Data @@ -15,14 +16,16 @@ public class ListStaffResultDTO implements Serializable { //工作人员用户id private String staffId = ""; //工作人员姓名 - private String staffName = ""; + private String name = ""; + //性别 + private String gender = ""; + //头像 + private String headPhoto = ""; //手机号 private String mobile = ""; - //用户所属组织id - private String agencyId = ""; - //用户所属组织全路径名称 - private String agencyAllName = ""; - //客户Id - private String customerId = ""; + //人员新增所属组织名【组织-组织,组织-部门,组织-网格】 + private String orgName = ""; + //职责名称列表 + private List roles; } diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/StaffOrgNameResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/StaffOrgNameResultDTO.java new file mode 100644 index 0000000000..703f3be160 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/StaffOrgNameResultDTO.java @@ -0,0 +1,45 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dto.govorg.result; + +import lombok.Data; + +import java.io.Serializable; + + +/** + * 查询工作人员注册组织信息 + * @author sun + */ +@Data +public class StaffOrgNameResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + //工作人员所属组织Id + private String agencyId = ""; + //人员Id + private String staffId = ""; + //人员注册时所属组织名【组织-组织,组织-部门,组织-网格】 + private String orgName = ""; + //工作人员添加入口Id(agencyId;deptId;gridId) + private String orgId = ""; + //工作人员添加入口类型(组织:agency;部门:dept;网格:gridId) + private String orgname = ""; + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java index b1bd8de18c..8c9593360c 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java @@ -211,7 +211,7 @@ public class EpmetUserController { @PostMapping("stafflistbyrealname") public Result> staffListByRealName(@LoginUser TokenDto tokenDto, @RequestBody ListStaffFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO, ListStaffFormDTO.Staff.class); - //formDTO.setCustomerId(formDTO.getCustomerId()); + formDTO.setCustomerId(tokenDto.getCustomerId()); return new Result>().ok(epmetUserService.listStaff(formDTO)); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/CustomerStaffDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/CustomerStaffDao.java index 3e96cbcc26..9e2833aacb 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/CustomerStaffDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/CustomerStaffDao.java @@ -19,6 +19,7 @@ package com.epmet.dataaggre.dao.epmetuser; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dataaggre.dto.epmetuser.CustomerStaffDTO; +import com.epmet.dataaggre.dto.epmetuser.result.ListStaffResultDTO; import com.epmet.dataaggre.entity.epmetuser.CustomerStaffEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -44,4 +45,10 @@ public interface CustomerStaffDao extends BaseDao { * @author sun */ List selectByStaffIds(@Param("staffIds") List staffIds, @Param("realName") String realName); + + /** + * @Description 模糊查询用户、角色信息 + * @author sun + */ + List selectByRealName(@Param("customerId") String customerId, @Param("realName") String realName); } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffRoleDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffRoleDao.java index e6435c6507..5fd47fd7c9 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffRoleDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffRoleDao.java @@ -48,4 +48,10 @@ public interface StaffRoleDao extends BaseDao { **/ List selectStaffRoleList(@Param("customerId") String customerId, @Param("staffId") String staffId); + /** + * @Description 查询工作人员拥有的角色名称列表 + * @Author sun + **/ + List selectByStaffId(@Param("staffId") String staffId); + } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java index 8287c13882..7f95839f61 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java @@ -20,6 +20,7 @@ package com.epmet.dataaggre.dao.govorg; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dataaggre.dto.govorg.result.AgencyGridResultDTO; import com.epmet.dataaggre.dto.govorg.result.StaffAgencyGridListResultDTO; +import com.epmet.dataaggre.dto.govorg.result.StaffOrgNameResultDTO; import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -59,4 +60,10 @@ public interface CustomerAgencyDao extends BaseDao { * @Description 递归查询当前组织的直属下级组织列表 **/ List selectSubAgencyList(@Param("subAgencyPids") String subAgencyPids); + + /** + * @Description 批量查询工作人员注册组织信息 + * @author sun + */ + List selelctStaffOrg(@Param("staffIdList") List staffIdList); } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java index b66cd04d1a..b11736aef3 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java @@ -16,6 +16,7 @@ import com.epmet.dataaggre.dto.epmetuser.result.*; import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO; +import com.epmet.dataaggre.dto.govorg.result.StaffOrgNameResultDTO; import com.epmet.dataaggre.entity.epmetuser.CustomerStaffEntity; import com.epmet.dataaggre.entity.epmetuser.ResiUserBadgeEntity; import com.epmet.dataaggre.service.epmetuser.EpmetUserService; @@ -426,15 +427,28 @@ public class EpmetUserServiceImpl implements EpmetUserService { /** * @Param formDTO - * @Description 通讯录】姓名检索工作人员 + * @Description 【通讯录】姓名检索工作人员 * @author sun */ @Override public List listStaff(ListStaffFormDTO formDTO) { + //1.模糊查询用户、角色信息 + List resultList = customerStaffDao.selectByRealName(formDTO.getCustomerId(), formDTO.getRealName()); + if (null == resultList || resultList.size() < NumConstant.ONE) { + return new ArrayList<>(); + } - return null; + //2.查询用户注册组织信息 + List staffIdList = resultList.stream().map(ListStaffResultDTO::getStaffId).collect(Collectors.toList()); + List orgList = govOrgService.getStaffOrgName(staffIdList); + + //3.封装数据并返回 + resultList.forEach(re -> orgList.stream().filter(l -> re.getStaffId().equals(l.getStaffId())).forEach(s -> re.setOrgName(s.getOrgName()))); + + return resultList; } + /** * 根据角色查询人员列表 * diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java index 3a2c10ea1c..69acad6539 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java @@ -103,4 +103,11 @@ public interface GovOrgService { * @Date 2021/8/19 15:12 */ SubOrgResultDTO getSubOrg(SubOrgFormDTO formDTO); + + /** + * @Description 批量查询工作人员注册组织信息 + * @author sun + */ + List getStaffOrgName(List staffIdList); + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index e436e72fac..e993673734 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -405,4 +405,14 @@ public class GovOrgServiceImpl implements GovOrgService { return null; } + /** + * @Description 批量查询工作人员注册组织信息 + * @author sun + */ + @Override + public List getStaffOrgName(List staffIdList) { + List resultList = customerAgencyDao.selelctStaffOrg(staffIdList); + return resultList; + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml index 0e06223aa7..8736d1e3bf 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml @@ -31,4 +31,23 @@ + + + + + + + + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffRoleDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffRoleDao.xml index fe5ecb1ff5..ca66bc3c5c 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffRoleDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffRoleDao.xml @@ -46,4 +46,16 @@ + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml index 58856e4c7c..0ed59dbca9 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml @@ -62,4 +62,89 @@ created_time DESC + + \ No newline at end of file From 59ada443c6de6f237ff8ce5ba6e7a78bff318c84 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Thu, 19 Aug 2021 17:26:47 +0800 Subject: [PATCH 16/53] =?UTF-8?q?=E5=AD=97=E6=AE=B5=E8=A1=A5=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataaggre/dto/epmetuser/result/ListStaffResultDTO.java | 2 ++ .../src/main/resources/mapper/epmetuser/CustomerStaffDao.xml | 1 + 2 files changed, 3 insertions(+) diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/ListStaffResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/ListStaffResultDTO.java index 8acbb434ab..d9fe352c1e 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/ListStaffResultDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/ListStaffResultDTO.java @@ -23,6 +23,8 @@ public class ListStaffResultDTO implements Serializable { private String headPhoto = ""; //手机号 private String mobile = ""; + //未禁用enable,已禁用disabled + private String enableFlag = ""; //人员新增所属组织名【组织-组织,组织-部门,组织-网格】 private String orgName = ""; //职责名称列表 diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml index 8736d1e3bf..437c70005f 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml @@ -37,6 +37,7 @@ + + \ No newline at end of file From b3f207821f7c54e22a55e13977c74036decd2a47 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 19 Aug 2021 17:58:07 +0800 Subject: [PATCH 18/53] =?UTF-8?q?=E5=9B=9E=E5=A4=8D=E3=80=81=E6=8E=A5?= =?UTF-8?q?=E6=94=B6=E4=BA=BA=E9=98=85=E8=AF=BB=E6=B6=88=E6=81=AF=E3=80=81?= =?UTF-8?q?=E5=8F=91=E5=B8=83=E4=BA=BA=E6=9F=A5=E7=9C=8B=E5=9B=9E=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/exception/EpmetErrorCode.java | 2 +- .../com/epmet/dto/form/ReadInfoFormDTO.java | 36 ++++++ .../com/epmet/dto/form/ReadReplyFormDTO.java | 37 +++++++ .../com/epmet/dto/form/ReplyInfoFormDTO.java | 43 ++++++++ .../com/epmet/controller/InfoController.java | 55 ++++++++++ .../java/com/epmet/dao/InfoProfileDao.java | 5 +- .../java/com/epmet/dao/InfoReceiversDao.java | 13 ++- .../java/com/epmet/service/InfoService.java | 33 ++++++ .../epmet/service/impl/InfoServiceImpl.java | 103 +++++++++++++++++- .../main/resources/mapper/InfoProfileDao.xml | 14 +++ .../resources/mapper/InfoReceiversDao.xml | 11 +- 11 files changed, 344 insertions(+), 8 deletions(-) create mode 100644 epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ReadInfoFormDTO.java create mode 100644 epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ReadReplyFormDTO.java create mode 100644 epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ReplyInfoFormDTO.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java index c35ee74bc8..f4a72b9040 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java @@ -104,7 +104,7 @@ public enum EpmetErrorCode { RESI_EVENT_SHIFT_PROJECT(8608,"事件已立项,请勿重复操作"), PLEASE_CHOOSE_RECEIVER(8609,"请选择接收人"), - + REPLY_INFO_CONTENT_NOT_NULL(8610,"回复内容不能为空"), // 爱心互助 居民端 NOT_IN_THE_SIGN_IN_RANGE(8510, "您还未进入指定的签到范围~"), diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ReadInfoFormDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ReadInfoFormDTO.java new file mode 100644 index 0000000000..955bb0e86a --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ReadInfoFormDTO.java @@ -0,0 +1,36 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 我收到的,列表有红点的,点击消息,调用此接口 + * @Author yinzuomei + * @Date 2021/8/19 4:58 下午 + */ +@Data +public class ReadInfoFormDTO implements Serializable { + public interface AddUserInternalGroup { + } + + @NotBlank(message = "infoId不能为空",groups = AddUserInternalGroup.class) + private String infoId; + + + + //以下参数从token中获取 + /** + * 当前用户id + */ + @NotBlank(message = "userId不能为空",groups = AddUserInternalGroup.class) + private String userId; + + /** + * 当前客户id + */ + @NotBlank(message = "customerId不能为空",groups = AddUserInternalGroup.class) + private String customerId; +} + diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ReadReplyFormDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ReadReplyFormDTO.java new file mode 100644 index 0000000000..d374fb5e56 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ReadReplyFormDTO.java @@ -0,0 +1,37 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 我发出的,发布人点击详情后,阅读回复,将未读回复数置为0 + * @Author yinzuomei + * @Date 2021/8/19 5:49 下午 + */ +@Data +public class ReadReplyFormDTO implements Serializable { + private static final long serialVersionUID = 1315143292245373474L; + + public interface AddUserInternalGroup { + } + + @NotBlank(message = "infoId不能为空", groups = AddUserInternalGroup.class) + private String infoId; + + + //以下参数从token中获取 + /** + * 当前用户id + */ + @NotBlank(message = "userId不能为空", groups = AddUserInternalGroup.class) + private String userId; + + /** + * 当前客户id + */ + @NotBlank(message = "customerId不能为空", groups = AddUserInternalGroup.class) + private String customerId; +} + diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ReplyInfoFormDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ReplyInfoFormDTO.java new file mode 100644 index 0000000000..33d4c2ca7d --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ReplyInfoFormDTO.java @@ -0,0 +1,43 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.dto.form.FileCommonDTO; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.List; + +/** + * @Description 回复消息 + * @Author yinzuomei + * @Date 2021/8/19 5:18 下午 + */ + +@Data +public class ReplyInfoFormDTO implements Serializable { + public interface AddUserInternalGroup { + } + + @NotBlank(message = "infoId不能为空",groups = ReadInfoFormDTO.AddUserInternalGroup.class) + private String infoId; + + private String content; + /** + * 附件列表 + */ + private List attachmentList; + + //以下参数从token中获取 + /** + * 当前用户id + */ + @NotBlank(message = "userId不能为空",groups = ReadInfoFormDTO.AddUserInternalGroup.class) + private String userId; + + /** + * 当前客户id + */ + @NotBlank(message = "customerId不能为空",groups = ReadInfoFormDTO.AddUserInternalGroup.class) + private String customerId; +} + diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/InfoController.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/InfoController.java index 15ff4df649..d77ad612f8 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/InfoController.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/InfoController.java @@ -21,6 +21,9 @@ import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.dto.form.ReadInfoFormDTO; +import com.epmet.dto.form.ReadReplyFormDTO; +import com.epmet.dto.form.ReplyInfoFormDTO; import com.epmet.dto.form.SendInfoFormDTO; import com.epmet.dto.result.SendInfoResultDTO; import com.epmet.service.InfoService; @@ -62,6 +65,58 @@ public class InfoController { return new Result().ok(infoService.sendInfo(formDTO)); } + /** + * 【发送消息】我收到的-阅读消息 + * + * @param tokenDto + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @date 2021/8/19 5:03 下午 + */ + @PostMapping("read-info") + public Result readInfo(@LoginUser TokenDto tokenDto,@RequestBody ReadInfoFormDTO formDTO){ + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(formDTO,ReadInfoFormDTO.AddUserInternalGroup.class); + infoService.readInfo(formDTO); + return new Result(); + } + + /** + * 回复消息(目前需求是发布人不可以回复) + * + * @param tokenDto + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @date 2021/8/19 5:29 下午 + */ + @PostMapping("reply-info") + public Result replyInfo(@LoginUser TokenDto tokenDto,@RequestBody ReplyInfoFormDTO formDTO){ + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(formDTO,ReplyInfoFormDTO.AddUserInternalGroup.class); + infoService.replyInfo(formDTO); + return new Result(); + } + /** + * 我发出的,发布人点击详情后,阅读回复,将未读回复数置为0 + * + * @param tokenDto + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @date 2021/8/19 5:51 下午 + */ + @PostMapping("read-reply") + public Result readInfoReply(@LoginUser TokenDto tokenDto,@RequestBody ReadReplyFormDTO formDTO){ + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(formDTO,ReadReplyFormDTO.AddUserInternalGroup.class); + infoService.readInfoReply(formDTO); + return new Result(); + } } \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoProfileDao.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoProfileDao.java index 4b26153662..4f7c61ea61 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoProfileDao.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoProfileDao.java @@ -29,5 +29,8 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface InfoProfileDao extends BaseDao { - + + int addReadTotal(String infoId); + + InfoProfileEntity selectByInfoId(String infoId); } \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoReceiversDao.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoReceiversDao.java index 74a19d7aba..05371ca5a1 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoReceiversDao.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoReceiversDao.java @@ -20,6 +20,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.entity.InfoReceiversEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 消息接收人记录表 @@ -29,5 +30,15 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface InfoReceiversDao extends BaseDao { - + + /** + * 消息的某一个接收人记录 + * + * @param infoId + * @param userId + * @return com.epmet.entity.InfoReceiversEntity + * @author yinzuomei + * @date 2021/8/19 5:11 下午 + */ + InfoReceiversEntity selectInfoReceiver(@Param("infoId")String infoId, @Param("userId")String userId); } \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/InfoService.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/InfoService.java index 49395bb88f..61c4766577 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/InfoService.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/InfoService.java @@ -18,6 +18,9 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.dto.form.ReadInfoFormDTO; +import com.epmet.dto.form.ReadReplyFormDTO; +import com.epmet.dto.form.ReplyInfoFormDTO; import com.epmet.dto.form.SendInfoFormDTO; import com.epmet.dto.result.SendInfoResultDTO; import com.epmet.entity.InfoEntity; @@ -39,4 +42,34 @@ public interface InfoService extends BaseService { * @date 2021/8/19 10:27 上午 */ SendInfoResultDTO sendInfo(SendInfoFormDTO formDTO); + + /** + * 【发送消息】我收到的-阅读消息 + * + * @param formDTO + * @return void + * @author yinzuomei + * @date 2021/8/19 5:03 下午 + */ + void readInfo(ReadInfoFormDTO formDTO); + + /** + * 回复消息(目前需求是发布人不可以回复) + * + * @param formDTO + * @return void + * @author yinzuomei + * @date 2021/8/19 5:30 下午 + */ + void replyInfo(ReplyInfoFormDTO formDTO); + + /** + * 我发出的,发布人点击详情后,阅读回复,将未读回复数置为0 + * + * @param formDTO + * @return void + * @author yinzuomei + * @date 2021/8/19 5:51 下午 + */ + void readInfoReply(ReadReplyFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/InfoServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/InfoServiceImpl.java index c3b60aae1c..0a7c2d3f74 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/InfoServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/InfoServiceImpl.java @@ -28,10 +28,7 @@ import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.UserMessageConstans; import com.epmet.dao.*; -import com.epmet.dto.form.OrgCommonDTO; -import com.epmet.dto.form.OrgStaffFormDTO; -import com.epmet.dto.form.RoleStaffIdFormDTO; -import com.epmet.dto.form.SendInfoFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.SendInfoResultDTO; import com.epmet.entity.*; import com.epmet.feign.EpmetUserOpenFeignClient; @@ -182,6 +179,104 @@ public class InfoServiceImpl extends BaseServiceImpl implem return resultDTO; } + /** + * 【发送消息】我收到的-阅读消息 + * + * @param formDTO + * @return void + * @author yinzuomei + * @date 2021/8/19 5:03 下午 + */ + @Override + public void readInfo(ReadInfoFormDTO formDTO) { + //已读总人数+1 + //修改为已读 + InfoReceiversEntity receiver = infoReceiversDao.selectInfoReceiver(formDTO.getInfoId(), formDTO.getUserId()); + if (!receiver.getReadFlag()) { + receiver.setReadFlag(true); + int affectRows = infoReceiversDao.updateById(receiver); + if (affectRows == 1) { + infoProfileDao.addReadTotal(formDTO.getInfoId()); + log.info("已读总人数+1"); + } + } + + } + + /** + * 回复消息(目前需求是发布人不可以回复) + * + * @param formDTO + * @return void + * @author yinzuomei + * @date 2021/8/19 5:30 下午 + */ + @Override + public void replyInfo(ReplyInfoFormDTO formDTO) { + //1、插入回复记录、回复附件 + //内容和附件 2选一 + if(StringUtils.isBlank(formDTO.getContent())&&CollectionUtils.isEmpty(formDTO.getAttachmentList())){ + throw new RenException(EpmetErrorCode.REPLY_INFO_CONTENT_NOT_NULL.getCode(), EpmetErrorCode.REPLY_INFO_CONTENT_NOT_NULL.getMsg()); + } + InfoReplyEntity infoReplyEntity=new InfoReplyEntity(); + infoReplyEntity.setInfoId(formDTO.getInfoId()); + infoReplyEntity.setCustomerId(formDTO.getCustomerId()); + infoReplyEntity.setFromUserId(formDTO.getUserId()); + infoReplyDao.insert(infoReplyEntity); + int sort=1; + if(StringUtils.isNotBlank(formDTO.getContent())){ + InfoReplyContentEntity contentEntity=new InfoReplyContentEntity(); + contentEntity.setCustomerId(formDTO.getCustomerId()); + contentEntity.setInfoReplyId(infoReplyEntity.getId()); + contentEntity.setReplyType("text"); + contentEntity.setContent(formDTO.getContent()); + contentEntity.setSort(sort); + infoReplyContentDao.insert(contentEntity); + sort++; + } + if(CollectionUtils.isNotEmpty(formDTO.getAttachmentList())){ + for(FileCommonDTO att:formDTO.getAttachmentList()) { + InfoReplyContentEntity contentEntity = new InfoReplyContentEntity(); + contentEntity.setCustomerId(formDTO.getCustomerId()); + contentEntity.setInfoReplyId(infoReplyEntity.getId()); + contentEntity.setReplyType(att.getType()); + contentEntity.setContent(att.getUrl()); + contentEntity.setAttachmentFormat(att.getFormat()); + contentEntity.setAttachmentSize(att.getSize()); + contentEntity.setDuration(att.getDuration()); + contentEntity.setAttachmentName(att.getName()); + contentEntity.setSort(sort); + infoReplyContentDao.insert(contentEntity); + sort++; + } + } + // 2、未读的回复数+1 + InfoProfileEntity infoProfileEntity=infoProfileDao.selectByInfoId(formDTO.getInfoId()); + // 3、现在是发布人不可以回复,日后如果发布人可以回复,自己发布的,不需要提示未读红点 + if(!formDTO.getUserId().equals(infoProfileEntity.getCreatedBy())){ + infoProfileEntity.setUnReadReplyNum(infoProfileEntity.getUnReadReplyNum()+1); + infoProfileDao.updateById(infoProfileEntity); + } + + } + + /** + * 我发出的,发布人点击详情后,阅读回复,将未读回复数置为0 + * + * @param formDTO + * @return void + * @author yinzuomei + * @date 2021/8/19 5:51 下午 + */ + @Override + public void readInfoReply(ReadReplyFormDTO formDTO) { + InfoProfileEntity infoProfile = infoProfileDao.selectByInfoId(formDTO.getInfoId()); + if (null != infoProfile && infoProfile.getCreatedBy().equals(formDTO.getUserId()) && infoProfile.getUnReadReplyNum() > 0) { + infoProfile.setUnReadReplyNum(NumConstant.ZERO); + infoProfileDao.updateById(infoProfile); + } + } + /** * 查询架构里面的人 * diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoProfileDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoProfileDao.xml index 5b9bea1f1e..4aa4e77000 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoProfileDao.xml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoProfileDao.xml @@ -4,5 +4,19 @@ + + UPDATE info_profile + SET read_total = read_total + 1, + UPDATED_TIME = NOW() + WHERE + INFO_ID = #{infoId} + AND DEL_FLAG = '0' + + \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoReceiversDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoReceiversDao.xml index 88acf8d276..38c13d2489 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoReceiversDao.xml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoReceiversDao.xml @@ -3,6 +3,15 @@ - + \ No newline at end of file From 7b8c5c5b468ef37ee826d7d40f1a8ab38c7d550d Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 19 Aug 2021 18:09:21 +0800 Subject: [PATCH 19/53] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9A=82=E5=AD=98=20?= =?UTF-8?q?=E9=81=BF=E5=85=8D=E5=A4=A7=E9=87=8F=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commons/tools/dto/form/IdAndNameDTO.java | 21 +++++ ...nClient.java => CommonAggFeignClient.java} | 6 +- ... CommonAggFeignClientFallBackFactory.java} | 8 +- ...java => CommonAggFeignClientFallback.java} | 4 +- .../redis/common/CustomerStaffRedis.java | 11 ++- .../common/bean/CustomerStaffInfoCache.java | 16 +++- .../redis/common/bean/StaffOrgsCache.java | 54 ------------ .../result/CustomerStaffResultDTO.java | 17 +++- .../dto/govorg/result/StaffAgencyDTO.java | 82 +++++++++++++++++++ .../dao/govorg/CustomerStaffAgencyDao.java | 13 ++- .../govorg/CustomerStaffDepartmentDao.java | 15 +++- .../epmetuser/impl/EpmetUserServiceImpl.java | 40 +++++++-- .../service/govorg/GovOrgService.java | 21 ++++- .../govorg/impl/GovOrgServiceImpl.java | 18 +++- .../mapper/govorg/CustomerStaffAgencyDao.xml | 19 ++++- .../govorg/CustomerStaffDepartmentDao.xml | 14 +++- 16 files changed, 271 insertions(+), 88 deletions(-) create mode 100644 epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/IdAndNameDTO.java rename epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/{CommonUserFeignClient.java => CommonAggFeignClient.java} (80%) rename epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/{CommonUserFeignClientFallBackFactory.java => CommonAggFeignClientFallBackFactory.java} (57%) rename epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/{CommonUserFeignClientFallback.java => CommonAggFeignClientFallback.java} (82%) delete mode 100644 epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/StaffOrgsCache.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/StaffAgencyDTO.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/IdAndNameDTO.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/IdAndNameDTO.java new file mode 100644 index 0000000000..306f47bbc5 --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/IdAndNameDTO.java @@ -0,0 +1,21 @@ +package com.epmet.commons.tools.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * desc:通用Id and Name 不要轻易修改 + * + * @author: LiuJanJun + * @date: 2021/8/19 4:12 下午 + * @version: 1.0 + */ +@Data +public class IdAndNameDTO implements Serializable { + + private static final long serialVersionUID = 4481647404402681862L; + private String id; + private String name; + +} diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonUserFeignClient.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonAggFeignClient.java similarity index 80% rename from epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonUserFeignClient.java rename to epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonAggFeignClient.java index 70b2a1abc5..d9ceb0f3a0 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonUserFeignClient.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonAggFeignClient.java @@ -1,7 +1,7 @@ package com.epmet.commons.tools.feign; import com.epmet.commons.tools.constant.ServiceConstant; -import com.epmet.commons.tools.feign.fallback.CommonUserFeignClientFallBackFactory; +import com.epmet.commons.tools.feign.fallback.CommonAggFeignClientFallBackFactory; import com.epmet.commons.tools.redis.common.bean.CustomerStaffInfoCache; import com.epmet.commons.tools.utils.Result; import org.springframework.cloud.openfeign.FeignClient; @@ -13,8 +13,8 @@ import org.springframework.web.bind.annotation.PostMapping; * @Description * @Author sun */ -@FeignClient(name = ServiceConstant.DATA_AGGREGATOR_SERVER, fallbackFactory = CommonUserFeignClientFallBackFactory.class) -public interface CommonUserFeignClient { +@FeignClient(name = ServiceConstant.DATA_AGGREGATOR_SERVER, fallbackFactory = CommonAggFeignClientFallBackFactory.class) +public interface CommonAggFeignClient { /** * desc:根据工作人员Id 获取工作人员信息 diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonUserFeignClientFallBackFactory.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonAggFeignClientFallBackFactory.java similarity index 57% rename from epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonUserFeignClientFallBackFactory.java rename to epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonAggFeignClientFallBackFactory.java index af8bd61954..cd396ed402 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonUserFeignClientFallBackFactory.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonAggFeignClientFallBackFactory.java @@ -1,18 +1,18 @@ package com.epmet.commons.tools.feign.fallback; import com.epmet.commons.tools.exception.ExceptionUtils; -import com.epmet.commons.tools.feign.CommonUserFeignClient; +import com.epmet.commons.tools.feign.CommonAggFeignClient; import feign.hystrix.FallbackFactory; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @Component @Slf4j -public class CommonUserFeignClientFallBackFactory implements FallbackFactory { - private CommonUserFeignClientFallback fallback = new CommonUserFeignClientFallback(); +public class CommonAggFeignClientFallBackFactory implements FallbackFactory { + private CommonAggFeignClientFallback fallback = new CommonAggFeignClientFallback(); @Override - public CommonUserFeignClient create(Throwable cause) { + public CommonAggFeignClient create(Throwable cause) { log.error(String.format("FeignClient调用发生异常,异常信息:%s", ExceptionUtils.getThrowableErrorStackTrace(cause))); return fallback; } diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonUserFeignClientFallback.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonAggFeignClientFallback.java similarity index 82% rename from epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonUserFeignClientFallback.java rename to epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonAggFeignClientFallback.java index 7dca0b3552..2495d6b588 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonUserFeignClientFallback.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonAggFeignClientFallback.java @@ -1,7 +1,7 @@ package com.epmet.commons.tools.feign.fallback; import com.epmet.commons.tools.constant.ServiceConstant; -import com.epmet.commons.tools.feign.CommonUserFeignClient; +import com.epmet.commons.tools.feign.CommonAggFeignClient; import com.epmet.commons.tools.redis.common.bean.CustomerStaffInfoCache; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; @@ -14,7 +14,7 @@ import org.springframework.stereotype.Component; * @Date 2020/4/24 11:17 **/ @Component -public class CommonUserFeignClientFallback implements CommonUserFeignClient { +public class CommonAggFeignClientFallback implements CommonAggFeignClient { @Override public Result getStaffInfo(String staffId) { diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java index f45e1b46f8..5984a70d09 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java @@ -20,12 +20,13 @@ package com.epmet.commons.tools.redis.common; import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSON; import com.epmet.commons.tools.exception.RenException; -import com.epmet.commons.tools.feign.CommonUserFeignClient; +import com.epmet.commons.tools.feign.CommonAggFeignClient; import com.epmet.commons.tools.redis.RedisKeys; import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.commons.tools.redis.common.bean.CustomerStaffInfoCache; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; +import org.redisson.api.RedissonClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -44,7 +45,9 @@ public class CustomerStaffRedis { @Autowired private RedisUtils redisUtils; @Autowired - private CommonUserFeignClient commonUserFeignClient; + private RedissonClient redissonClient; + @Autowired + private CommonAggFeignClient commonAggFeignClient; //@PostConstruct public void init(){ @@ -65,10 +68,10 @@ public class CustomerStaffRedis { boolean empty = roleMap.isEmpty(); if (!empty){ CustomerStaffInfoCache result = ConvertUtils.mapToEntity(roleMap, CustomerStaffInfoCache.class); - return result; + //return result; } try { - Result staffResult = commonUserFeignClient.getStaffInfo(staffId); + Result staffResult = commonAggFeignClient.getStaffInfo(staffId); if (staffResult == null || !staffResult.success()){ throw new RenException("获取工作人员信息失败"); } diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/CustomerStaffInfoCache.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/CustomerStaffInfoCache.java index 63eaa7ccf0..76755387cc 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/CustomerStaffInfoCache.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/CustomerStaffInfoCache.java @@ -1,8 +1,10 @@ package com.epmet.commons.tools.redis.common.bean; +import com.epmet.commons.tools.dto.form.IdAndNameDTO; import lombok.Data; import java.io.Serializable; +import java.util.List; import java.util.Map; /** @@ -55,8 +57,18 @@ public class CustomerStaffInfoCache implements Serializable { private Map roleMap; /** - * 工作人员所在网格及部门列表 + * 所属组织的上级组织 */ - private StaffOrgsCache orgInfo; + private IdAndNameDTO parentAgency; + + /** + * 所属网格列表 + */ + private List gridList; + + /** + * 所属部门 + */ + private List deptList; } diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/StaffOrgsCache.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/StaffOrgsCache.java deleted file mode 100644 index db790af859..0000000000 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/StaffOrgsCache.java +++ /dev/null @@ -1,54 +0,0 @@ -/** - * Copyright 2018 人人开源 https://www.renren.io - *

- * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - *

- * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - *

- * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.epmet.commons.tools.redis.common.bean; - -import lombok.Data; - -import java.io.Serializable; -import java.util.List; - -/** - * desc: 工作人员所属的组织关系 - * @date 2021/8/19 10:07 上午 - */ -@Data -public class StaffOrgsCache implements Serializable { - - private static final long serialVersionUID = 1L; - - /** - * 所属组织的上级组织 - */ - private IdAndName parentAgency; - - /** - * 所属网格列表 - */ - private List gridList; - - /** - * 所属部门 - */ - private List deptList; - - @Data - class IdAndName { - private String id; - private String name; - } -} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/CustomerStaffResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/CustomerStaffResultDTO.java index 03f7f669be..17ca080240 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/CustomerStaffResultDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/CustomerStaffResultDTO.java @@ -1,9 +1,10 @@ package com.epmet.dataaggre.dto.epmetuser.result; -import com.epmet.commons.tools.redis.common.bean.StaffOrgsCache; +import com.epmet.commons.tools.dto.form.IdAndNameDTO; import lombok.Data; import java.io.Serializable; +import java.util.List; import java.util.Map; /** @@ -56,8 +57,18 @@ public class CustomerStaffResultDTO implements Serializable { private Map roleMap; /** - * 工作人员所在网格及部门列表 + * 所属组织的上级组织 */ - private StaffOrgsCache orgInfo; + private IdAndNameDTO parentAgency; + + /** + * 所属网格列表 + */ + private List gridList; + + /** + * 所属部门 + */ + private List deptList; } diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/StaffAgencyDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/StaffAgencyDTO.java new file mode 100644 index 0000000000..7a1a144f31 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/StaffAgencyDTO.java @@ -0,0 +1,82 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dto.govorg.result; + +import lombok.Data; + +import java.io.Serializable; + + +/** + * 机关单位信息表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-04-20 + */ +@Data +public class StaffAgencyDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * ID + */ + private String agencyId; + + /** + * 组织名称 + */ + private String agencyName; + + /** + * 上级组织机构ID + */ + private String pid; + + /** + * 所有上级组织机构ID(以英文:隔开) + */ + private String pids; + + /** + * 所有上级名称,以-连接 + */ + private String allParentName; + + private String parentAgencyName; + + /** + * 机关级别(社区级:community, + 乡(镇、街道)级:street, + 区县级: district, + 市级: city + 省级:province) 机关级别(社区级:community,乡(镇、街道)级:street,区县级: district,市级: city省级:province) + */ + private String level; + + /** + * 地区编码 + */ + private String areaCode; + + /** + * 当前组织的上级行政地区编码add0204;举例平阴县对应的是济南市3701 + */ + private String parentAreaCode; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffAgencyDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffAgencyDao.java index 445e796c61..87895b78bd 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffAgencyDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffAgencyDao.java @@ -19,11 +19,14 @@ package com.epmet.dataaggre.dao.govorg; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO; +import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; import com.epmet.dataaggre.dto.govorg.CustomerStaffAgencyDTO; import com.epmet.dataaggre.entity.govorg.CustomerStaffAgencyEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * 人员-机关单位关系表 * @@ -44,4 +47,12 @@ public interface CustomerStaffAgencyDao extends BaseDao getStaffGridList(@Param("staffId") String staffId); + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffDepartmentDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffDepartmentDao.java index bde0fbaf92..f033ddede2 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffDepartmentDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffDepartmentDao.java @@ -18,11 +18,15 @@ package com.epmet.dataaggre.dao.govorg; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dataaggre.dto.govorg.CustomerDepartmentDTO; import com.epmet.dataaggre.entity.govorg.CustomerStaffDepartmentEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** - * 部门人员关系表 + * 部门人员关系表 * * @author generator generator@elink-cn.com * @since v1.0.0 2020-04-20 @@ -30,4 +34,11 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface CustomerStaffDepartmentDao extends BaseDao { -} \ No newline at end of file + /** + * desc:获取工作人员所在的部门列表 + * + * @param staffId + * @return + */ + List getStaffDeptList(@Param("staffId") String staffId); +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java index 260d18a594..037201b2c7 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java @@ -3,17 +3,20 @@ package com.epmet.dataaggre.service.epmetuser.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.dto.form.IdAndNameDTO; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.constant.BadgeConstant; import com.epmet.dataaggre.constant.DataSourceConstant; import com.epmet.dataaggre.dao.epmetuser.*; +import com.epmet.dataaggre.dao.govorg.CustomerAgencyDao; import com.epmet.dataaggre.dto.epmetuser.CustomerStaffDTO; import com.epmet.dataaggre.dto.epmetuser.StaffPatrolDetailDTO; import com.epmet.dataaggre.dto.epmetuser.StaffPatrolRecordDTO; import com.epmet.dataaggre.dto.epmetuser.form.*; import com.epmet.dataaggre.dto.epmetuser.result.*; import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO; +import com.epmet.dataaggre.dto.govorg.CustomerDepartmentDTO; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO; import com.epmet.dataaggre.dto.govorg.result.StaffOrgNameResultDTO; @@ -66,6 +69,8 @@ public class EpmetUserServiceImpl implements EpmetUserService { private GovProjectService govProjectService; @Resource private GovStaffRoleDao govStaffRoleDao; + @Autowired + private CustomerAgencyDao customerAgencyDao; /** * @Description 根据UserIds查询 @@ -521,11 +526,36 @@ public class EpmetUserServiceImpl implements EpmetUserService { CustomerStaffEntity staffEntity = customerStaffDao.selectOne(queryWrapper); CustomerStaffResultDTO result = ConvertUtils.sourceToTarget(staffEntity, CustomerStaffResultDTO.class); - //1.查询当前人员所属组织及下级所有网格列表数据,供后续封装数据使用 - /*List list = govOrgService.getGridList(staffId); - if (list.size() < NumConstant.ONE) { - return resultList; - }*/ + //2.查询工作人员所属组织信息 + CustomerAgencyDTO agencyDTO = govOrgService.gridByAgencyId(null,staffId); + if (agencyDTO == null){ + log.error("getStaffInfo have any agency staffId:{}",staffId); + return null; + } + result.setAgencyName(agencyDTO.getOrganizationName()); + + //1.查询当前人员所在的网格列表 + List list = govOrgService.getStaffGridList(staffId); + List idAndNameList = new ArrayList<>(); + for (CustomerGridDTO customerGridDTO : list) { + IdAndNameDTO grid = new IdAndNameDTO(); + grid.setId(customerGridDTO.getId()); + grid.setName(customerGridDTO.getGridName()); + idAndNameList.add(grid); + } + result.setGridList(idAndNameList); + + List deptList = govOrgService.getStaffDeptList(staffId); + idAndNameList = new ArrayList<>(); + for (CustomerDepartmentDTO org : deptList) { + IdAndNameDTO grid = new IdAndNameDTO(); + grid.setId(org.getId()); + grid.setName(org.getDepartmentName()); + idAndNameList.add(grid); + } + result.setDeptList(idAndNameList); + + return result; } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java index 69acad6539..24c0d7bd56 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java @@ -2,8 +2,12 @@ package com.epmet.dataaggre.service.govorg; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO; +import com.epmet.dataaggre.dto.govorg.CustomerDepartmentDTO; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; -import com.epmet.dataaggre.dto.govorg.form.*; +import com.epmet.dataaggre.dto.govorg.form.NextAreaCodeFormDTO; +import com.epmet.dataaggre.dto.govorg.form.OrgStaffListFormDTO; +import com.epmet.dataaggre.dto.govorg.form.StaffDetailV2FormDTO; +import com.epmet.dataaggre.dto.govorg.form.SubOrgFormDTO; import com.epmet.dataaggre.dto.govorg.result.*; import com.epmet.dataaggre.dto.resigroup.result.OrgInfoCommonDTO; @@ -110,4 +114,19 @@ public interface GovOrgService { */ List getStaffOrgName(List staffIdList); + + /** + * desc:工作人员所在网格 + * @param staffId + * @return + */ + List getStaffGridList(String staffId); + + /** + * desc:工作人员所在部门 + * @param staffId + * @return + */ + List getStaffDeptList(String staffId); + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index e993673734..ba8ab9847d 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -7,12 +7,10 @@ import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dataaggre.constant.DataSourceConstant; -import com.epmet.dataaggre.dao.govorg.CustomerAgencyDao; -import com.epmet.dataaggre.dao.govorg.CustomerGridDao; -import com.epmet.dataaggre.dao.govorg.CustomerStaffAgencyDao; -import com.epmet.dataaggre.dao.govorg.CustomerStaffGridDao; +import com.epmet.dataaggre.dao.govorg.*; import com.epmet.dataaggre.dto.epmetuser.result.StaffRoleListResultDTO; import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO; +import com.epmet.dataaggre.dto.govorg.CustomerDepartmentDTO; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; import com.epmet.dataaggre.dto.govorg.CustomerStaffAgencyDTO; import com.epmet.dataaggre.dto.govorg.form.*; @@ -48,6 +46,8 @@ public class GovOrgServiceImpl implements GovOrgService { @Autowired private CustomerStaffAgencyDao customerStaffAgencyDao; @Autowired + private CustomerStaffDepartmentDao customerStaffDepartmentDao; + @Autowired private CustomerGridDao customerGridDao; @Autowired private AreaCodeService areaCodeService; @@ -415,4 +415,14 @@ public class GovOrgServiceImpl implements GovOrgService { return resultList; } + @Override + public List getStaffGridList(String staffId) { + return customerStaffAgencyDao.getStaffGridList(staffId); + } + + @Override + public List getStaffDeptList(String staffId) { + return customerStaffDepartmentDao.getStaffDeptList(staffId); + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffAgencyDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffAgencyDao.xml index 4ed6d3a2d1..bf47a3cfe0 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffAgencyDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffAgencyDao.xml @@ -33,8 +33,23 @@ WHERE csa.del_flag = '0' AND ca.del_flag = '0' - AND csa.customer_id = #{customerId} + + AND csa.customer_id = #{customerId} + AND csa.user_id = #{staffId} + + - \ No newline at end of file + diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffDepartmentDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffDepartmentDao.xml index b7ae78179e..1d54253076 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffDepartmentDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffDepartmentDao.xml @@ -2,4 +2,16 @@ - \ No newline at end of file + + From 7ebeaead8d3e365632deba1f8c9890f217ab57da Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 19 Aug 2021 22:41:58 +0800 Subject: [PATCH 20/53] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E4=BA=BA=E5=91=98=E7=BC=93=E5=AD=98=E4=BB=A3=E7=A0=81=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../result/CustomerStaffInfoCacheResult.java | 74 +++++++++++++ .../tools/feign/CommonAggFeignClient.java | 2 +- .../redis/common/CustomerStaffRedis.java | 104 ++++++++---------- .../dao/epmetuser/GovStaffRoleDao.java | 15 ++- .../epmetuser/impl/EpmetUserServiceImpl.java | 5 + .../mapper/epmetuser/GovStaffRoleDao.xml | 16 ++- 6 files changed, 153 insertions(+), 63 deletions(-) create mode 100644 epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/CustomerStaffInfoCacheResult.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/CustomerStaffInfoCacheResult.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/CustomerStaffInfoCacheResult.java new file mode 100644 index 0000000000..8359f4d020 --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/CustomerStaffInfoCacheResult.java @@ -0,0 +1,74 @@ +package com.epmet.commons.tools.dto.result; + +import com.epmet.commons.tools.dto.form.IdAndNameDTO; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; +import java.util.Map; + +/** + * @Author zxc + * @DateTime 2021/6/15 10:00 上午 + * @DESC + */ +@Data +public class CustomerStaffInfoCacheResult implements Serializable { + + private static final long serialVersionUID = 3519630252798469087L; + /** + * 工作人员所属组织ID + */ + private String agencyId; + + /** + * 工作人员所属组织名称 + */ + private String agencyName; + + /** + * 工作人员ID + */ + private String staffId; + + /** + * 真实姓名 + */ + private String realName; + + /** + * 性别0.未知,1男,2.女 + */ + private Integer gender; + + /** + * 手机号-唯一键 + */ + private String mobile; + + /** + * 头像 + */ + private String headPhoto; + + /** + * 角色map key为角色key value 为角色名称 + */ + private Map roleMap; + + /** + * 所属组织的上级组织 + */ + private IdAndNameDTO parentAgency; + + /** + * 所属网格列表 + */ + private List gridList; + + /** + * 所属部门 + */ + private List deptList; + +} diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonAggFeignClient.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonAggFeignClient.java index d9ceb0f3a0..7b87579a4d 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonAggFeignClient.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonAggFeignClient.java @@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.PostMapping; * @Description * @Author sun */ -@FeignClient(name = ServiceConstant.DATA_AGGREGATOR_SERVER, fallbackFactory = CommonAggFeignClientFallBackFactory.class) +@FeignClient(name = ServiceConstant.DATA_AGGREGATOR_SERVER, fallbackFactory = CommonAggFeignClientFallBackFactory.class,url = "http://localhost:8114") public interface CommonAggFeignClient { /** diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java index 5984a70d09..362294b66b 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java @@ -1,20 +1,3 @@ -/** - * Copyright 2018 人人开源 https://www.renren.io - *

- * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - *

- * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - *

- * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - package com.epmet.commons.tools.redis.common; import cn.hutool.core.bean.BeanUtil; @@ -26,78 +9,81 @@ import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.commons.tools.redis.common.bean.CustomerStaffInfoCache; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; -import org.redisson.api.RedissonClient; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; import java.util.Map; -import static com.epmet.commons.tools.redis.RedisUtils.NOT_EXPIRE; - /** - * 工作人员缓存 + * 工作人员缓存通用类 * * @author generator generator@elink-cn.com * @since v1.0.0 2020-04-22 */ +@Slf4j @Component public class CustomerStaffRedis { @Autowired private RedisUtils redisUtils; @Autowired - private RedissonClient redissonClient; - @Autowired private CommonAggFeignClient commonAggFeignClient; //@PostConstruct - public void init(){ - CustomerStaffInfoCache role = this.getRole("45687aa479955f9d06204d415238f7cc", "9e37adcce6472152e6508a19d3683e02"); + public void init() { + CustomerStaffInfoCache role = this.getStaffInfo("45687aa479955f9d06204d415238f7cc", "9e37adcce6472152e6508a19d3683e02"); System.out.println(JSON.toJSONString(role)); } /** - * @Description 查询工作人员的角色 - * @Param customerId - * @Param userId - * @author zxc - * @date 2021/6/15 3:20 下午 + * desc: 根据工作人员Id 获取某工作人员信息,如果缓存不存在则查询db返回;缓存默认一天 + * + * @param customerId + * @param staffId + * @return com.epmet.commons.tools.redis.common.bean.CustomerStaffInfoCache + * @author LiuJanJun + * @date 2021/8/19 10:29 下午 + * @remark 此方法仅用于 获取某个工作人员的信息,不用于获取客户下所有工作人员信息 */ - public CustomerStaffInfoCache getRole(String customerId, String staffId){ - String key = RedisKeys.getCustomerStaffInfoKey(customerId,staffId); + public CustomerStaffInfoCache getStaffInfo(String customerId, String staffId) { + String key = RedisKeys.getCustomerStaffInfoKey(customerId, staffId); Map roleMap = redisUtils.hGetAll(key); - boolean empty = roleMap.isEmpty(); - if (!empty){ - CustomerStaffInfoCache result = ConvertUtils.mapToEntity(roleMap, CustomerStaffInfoCache.class); - //return result; + if (!CollectionUtils.isEmpty(roleMap)) { + return ConvertUtils.mapToEntity(roleMap, CustomerStaffInfoCache.class); } - try { - Result staffResult = commonAggFeignClient.getStaffInfo(staffId); - if (staffResult == null || !staffResult.success()){ - throw new RenException("获取工作人员信息失败"); - } - if (staffResult.getData() == null){ - return null; - } - Map map = BeanUtil.beanToMap(staffResult.getData(), false, true); - redisUtils.hMSet(key,map); - } catch (Exception e) { - e.printStackTrace(); + + Result staffResult = commonAggFeignClient.getStaffInfo(staffId); + if (staffResult == null || !staffResult.success()) { + throw new RenException("获取工作人员信息失败"); + } + if (staffResult.getData() == null) { + log.warn("getStaffInfo staff is null,staffId:{}", staffId); + return null; } - return null; + Map map = BeanUtil.beanToMap(staffResult.getData(), false, true); + redisUtils.hMSet(key, map); + + return staffResult.getData(); } /** - * @Description 放入缓存角色 - * @Param customerId - * @Param userId - * @Param dto - * @author zxc - * @date 2021/6/15 4:01 下午 + * desc: 根据客户id及工作人员Id 删除缓存 + * + * @param customerId + * @param staffId + * @return boolean + * @author LiuJanJun + * @date 2021/8/19 10:39 下午 */ - public void setRole(String customerId, String staffId, CustomerStaffInfoCache dto){ - String key = RedisKeys.getCustomerStaffInfoKey(customerId,staffId); - Map map = BeanUtil.beanToMap(dto, false, true); - redisUtils.hMSet(key, map,NOT_EXPIRE); + public boolean delStaffInfoFormCache(String customerId, String staffId) { + if (StringUtils.isBlank(customerId) || StringUtils.isBlank(staffId)) { + log.warn("delStaffInfoFormCache param is blank,customerId:{},staffId:{}", customerId, staffId); + return false; + } + String key = RedisKeys.getCustomerStaffInfoKey(customerId, staffId); + return redisUtils.delete(key); } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/GovStaffRoleDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/GovStaffRoleDao.java index 5cdb42779f..a1bb0cccd9 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/GovStaffRoleDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/GovStaffRoleDao.java @@ -19,7 +19,11 @@ package com.epmet.dataaggre.dao.epmetuser; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dataaggre.entity.epmetuser.GovStaffRoleEntity; +import com.epmet.dto.result.StaffRoleResultDTO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 政府端角色表 @@ -29,5 +33,12 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface GovStaffRoleDao extends BaseDao { - -} \ No newline at end of file + + /** + * desc:根据员工id 获取角色列表 + * + * @param staffId + * @return + */ + List getStaffRoleList(@Param("staffId") String staffId); +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java index 037201b2c7..c75bcc1ebe 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java @@ -29,6 +29,7 @@ import com.epmet.dataaggre.service.epmetuser.StaffPatrolDetailService; import com.epmet.dataaggre.service.epmetuser.StaffPatrolRecordService; import com.epmet.dataaggre.service.govorg.GovOrgService; import com.epmet.dataaggre.service.govproject.GovProjectService; +import com.epmet.dto.result.StaffRoleResultDTO; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -534,6 +535,10 @@ public class EpmetUserServiceImpl implements EpmetUserService { } result.setAgencyName(agencyDTO.getOrganizationName()); + List roleList = govStaffRoleDao.getStaffRoleList(staffId); + Map roleMap = roleList.stream().collect(Collectors.toMap(StaffRoleResultDTO::getRoleKey, StaffRoleResultDTO::getRoleName)); + result.setRoleMap(roleMap); + //1.查询当前人员所在的网格列表 List list = govOrgService.getStaffGridList(staffId); List idAndNameList = new ArrayList<>(); diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/GovStaffRoleDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/GovStaffRoleDao.xml index 70497272c6..d81d193c57 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/GovStaffRoleDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/GovStaffRoleDao.xml @@ -3,4 +3,18 @@ - \ No newline at end of file + + + From 5fa3d88a95683301139b9faf5821167f5d3e07a0 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 20 Aug 2021 08:31:41 +0800 Subject: [PATCH 21/53] =?UTF-8?q?=E6=A5=BC=E6=A2=AF=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/commons/tools/redis/RedisUtils.java | 4 ++-- .../main/java/com/epmet/dto/result/StaffRoleResultDTO.java | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java index cbd00c3aeb..1de1fce475 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java @@ -115,8 +115,8 @@ public class RedisUtils { redisTemplate.delete(keys(pattern)); } - public void delete(String key) { - redisTemplate.delete(key); + public Boolean delete(String key) { + return redisTemplate.delete(key); } public void delete(Collection keys) { diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffRoleResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffRoleResultDTO.java index b39085d40c..7962be5504 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffRoleResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffRoleResultDTO.java @@ -17,6 +17,10 @@ public class StaffRoleResultDTO implements Serializable { * 角色ID */ private String roleId; + /** + * 角色key + */ + private String roleKey; /** * 角色名称 */ From cf17ea2587549dcd3a97361fdeb12d5634ab7aa5 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 20 Aug 2021 10:16:48 +0800 Subject: [PATCH 22/53] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BE=A4=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/exception/EpmetErrorCode.java | 2 + .../dto/form/AddReceiverGroupFormDTO.java | 52 ++++++++++++++++ .../dto/result/AddReceiverGroupResultDTO.java | 17 ++++++ .../epmet/dto/result/ReplyInfoResultDTO.java | 17 ++++++ .../com/epmet/controller/InfoController.java | 45 +++++++++++--- .../com/epmet/dao/InfoReceiverGroupDao.java | 4 +- .../java/com/epmet/service/InfoService.java | 19 ++++-- .../epmet/service/impl/InfoServiceImpl.java | 60 ++++++++++++++++++- .../resources/mapper/InfoReceiverGroupDao.xml | 12 +++- 9 files changed, 212 insertions(+), 16 deletions(-) create mode 100644 epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/AddReceiverGroupFormDTO.java create mode 100644 epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/AddReceiverGroupResultDTO.java create mode 100644 epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/ReplyInfoResultDTO.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java index f4a72b9040..3ec318507f 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java @@ -105,6 +105,8 @@ public enum EpmetErrorCode { PLEASE_CHOOSE_RECEIVER(8609,"请选择接收人"), REPLY_INFO_CONTENT_NOT_NULL(8610,"回复内容不能为空"), + PLEASE_CHOOSE_MEMBER(8611,"请选择成员"), + INFO_GROUP_NAME_EXISTS(8612,"名称已存在"), // 爱心互助 居民端 NOT_IN_THE_SIGN_IN_RANGE(8510, "您还未进入指定的签到范围~"), diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/AddReceiverGroupFormDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/AddReceiverGroupFormDTO.java new file mode 100644 index 0000000000..392b3d382b --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/AddReceiverGroupFormDTO.java @@ -0,0 +1,52 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.Set; + +/** + * @Description 发送消息-新增群组 + * @Author yinzuomei + * @Date 2021/8/20 9:39 上午 + */ +@Data +public class AddReceiverGroupFormDTO implements Serializable { + private static final long serialVersionUID = 6221853016790893895L; + public interface AddUserInternalGroup { + } + public interface AddUserShowGroup extends CustomerClientShowGroup { + } + + @NotBlank(message = "名称不能为空",groups = AddUserShowGroup.class) + @Length(min = 1,max = 20,groups = AddUserShowGroup.class,message = "名称最多输入20个字") + private String name; + + + /** + * 单独选择的人的userId集合 + */ + private Set staffIdList; + /** + * 按架构选择的,组织或者网格或者部门的集合 + */ + private Set orgList; + + + //以下参数从token中获取 + /** + * 当前用户id + */ + @NotBlank(message = "userId不能为空", groups = AddUserInternalGroup.class) + private String userId; + + /** + * 当前客户id + */ + @NotBlank(message = "customerId不能为空", groups = AddUserInternalGroup.class) + private String customerId; +} + diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/AddReceiverGroupResultDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/AddReceiverGroupResultDTO.java new file mode 100644 index 0000000000..59f1519d2f --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/AddReceiverGroupResultDTO.java @@ -0,0 +1,17 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 添加小组返参 + * @Author yinzuomei + * @Date 2021/8/20 9:56 上午 + */ +@Data +public class AddReceiverGroupResultDTO implements Serializable { + private static final long serialVersionUID = 4729777797252376046L; + private String receiverGroupId; +} + diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/ReplyInfoResultDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/ReplyInfoResultDTO.java new file mode 100644 index 0000000000..90aed81589 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/ReplyInfoResultDTO.java @@ -0,0 +1,17 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 回复消息返参 + * @Author yinzuomei + * @Date 2021/8/20 9:51 上午 + */ +@Data +public class ReplyInfoResultDTO implements Serializable { + private static final long serialVersionUID = -634463925415755405L; + private String replyId; +} + diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/InfoController.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/InfoController.java index d77ad612f8..859db0c3f6 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/InfoController.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/InfoController.java @@ -21,10 +21,9 @@ import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.dto.form.ReadInfoFormDTO; -import com.epmet.dto.form.ReadReplyFormDTO; -import com.epmet.dto.form.ReplyInfoFormDTO; -import com.epmet.dto.form.SendInfoFormDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.AddReceiverGroupResultDTO; +import com.epmet.dto.result.ReplyInfoResultDTO; import com.epmet.dto.result.SendInfoResultDTO; import com.epmet.service.InfoService; import org.springframework.beans.factory.annotation.Autowired; @@ -93,12 +92,11 @@ public class InfoController { * @date 2021/8/19 5:29 下午 */ @PostMapping("reply-info") - public Result replyInfo(@LoginUser TokenDto tokenDto,@RequestBody ReplyInfoFormDTO formDTO){ + public Result replyInfo(@LoginUser TokenDto tokenDto, @RequestBody ReplyInfoFormDTO formDTO){ formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setUserId(tokenDto.getUserId()); ValidatorUtils.validateEntity(formDTO,ReplyInfoFormDTO.AddUserInternalGroup.class); - infoService.replyInfo(formDTO); - return new Result(); + return new Result().ok(infoService.replyInfo(formDTO)); } /** @@ -119,4 +117,37 @@ public class InfoController { return new Result(); } + + /** + * 添加群组 + * + * @param tokenDto + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @date 2021/8/20 9:58 上午 + */ + @PostMapping("add-receivergroup") + public Result addReceiverGroup(@LoginUser TokenDto tokenDto, @RequestBody AddReceiverGroupFormDTO formDTO){ + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(formDTO,AddReceiverGroupFormDTO.AddUserShowGroup.class,AddReceiverGroupFormDTO.AddUserInternalGroup.class); + return new Result().ok(infoService.addReceiverGroup(formDTO)); + } + + + + + + + + + + + + + + + + } \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoReceiverGroupDao.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoReceiverGroupDao.java index a5b7f35b54..3b60dbc623 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoReceiverGroupDao.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoReceiverGroupDao.java @@ -20,6 +20,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.entity.InfoReceiverGroupEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 消息-群组表 @@ -29,5 +30,6 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface InfoReceiverGroupDao extends BaseDao { - + + int selectCountName(@Param("name") String name, @Param("customerId")String customerId, @Param("userId")String userId); } \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/InfoService.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/InfoService.java index 61c4766577..601cbb4ab0 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/InfoService.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/InfoService.java @@ -18,10 +18,9 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; -import com.epmet.dto.form.ReadInfoFormDTO; -import com.epmet.dto.form.ReadReplyFormDTO; -import com.epmet.dto.form.ReplyInfoFormDTO; -import com.epmet.dto.form.SendInfoFormDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.AddReceiverGroupResultDTO; +import com.epmet.dto.result.ReplyInfoResultDTO; import com.epmet.dto.result.SendInfoResultDTO; import com.epmet.entity.InfoEntity; @@ -61,7 +60,7 @@ public interface InfoService extends BaseService { * @author yinzuomei * @date 2021/8/19 5:30 下午 */ - void replyInfo(ReplyInfoFormDTO formDTO); + ReplyInfoResultDTO replyInfo(ReplyInfoFormDTO formDTO); /** * 我发出的,发布人点击详情后,阅读回复,将未读回复数置为0 @@ -72,4 +71,14 @@ public interface InfoService extends BaseService { * @date 2021/8/19 5:51 下午 */ void readInfoReply(ReadReplyFormDTO formDTO); + + /** + * 添加群组 + * + * @param formDTO + * @return com.epmet.dto.result.AddReceiverGroupResultDTO + * @author yinzuomei + * @date 2021/8/20 9:58 上午 + */ + AddReceiverGroupResultDTO addReceiverGroup(AddReceiverGroupFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/InfoServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/InfoServiceImpl.java index 0a7c2d3f74..8139440f91 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/InfoServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/InfoServiceImpl.java @@ -29,6 +29,8 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.constant.UserMessageConstans; import com.epmet.dao.*; import com.epmet.dto.form.*; +import com.epmet.dto.result.AddReceiverGroupResultDTO; +import com.epmet.dto.result.ReplyInfoResultDTO; import com.epmet.dto.result.SendInfoResultDTO; import com.epmet.entity.*; import com.epmet.feign.EpmetUserOpenFeignClient; @@ -187,6 +189,7 @@ public class InfoServiceImpl extends BaseServiceImpl implem * @author yinzuomei * @date 2021/8/19 5:03 下午 */ + @Transactional(rollbackFor = Exception.class) @Override public void readInfo(ReadInfoFormDTO formDTO) { //已读总人数+1 @@ -211,8 +214,9 @@ public class InfoServiceImpl extends BaseServiceImpl implem * @author yinzuomei * @date 2021/8/19 5:30 下午 */ + @Transactional(rollbackFor = Exception.class) @Override - public void replyInfo(ReplyInfoFormDTO formDTO) { + public ReplyInfoResultDTO replyInfo(ReplyInfoFormDTO formDTO) { //1、插入回复记录、回复附件 //内容和附件 2选一 if(StringUtils.isBlank(formDTO.getContent())&&CollectionUtils.isEmpty(formDTO.getAttachmentList())){ @@ -257,7 +261,9 @@ public class InfoServiceImpl extends BaseServiceImpl implem infoProfileEntity.setUnReadReplyNum(infoProfileEntity.getUnReadReplyNum()+1); infoProfileDao.updateById(infoProfileEntity); } - + ReplyInfoResultDTO resultDTO=new ReplyInfoResultDTO(); + resultDTO.setReplyId(infoReplyEntity.getId()); + return resultDTO; } /** @@ -268,6 +274,7 @@ public class InfoServiceImpl extends BaseServiceImpl implem * @author yinzuomei * @date 2021/8/19 5:51 下午 */ + @Transactional(rollbackFor = Exception.class) @Override public void readInfoReply(ReadReplyFormDTO formDTO) { InfoProfileEntity infoProfile = infoProfileDao.selectByInfoId(formDTO.getInfoId()); @@ -277,6 +284,55 @@ public class InfoServiceImpl extends BaseServiceImpl implem } } + /** + * 添加群组 + * + * @param formDTO + * @return com.epmet.dto.result.AddReceiverGroupResultDTO + * @author yinzuomei + * @date 2021/8/20 9:58 上午 + */ + @Transactional(rollbackFor = Exception.class) + @Override + public AddReceiverGroupResultDTO addReceiverGroup(AddReceiverGroupFormDTO formDTO) { + // 1、人员列表和组织列表不能同时为空 + if(CollectionUtils.isEmpty(formDTO.getStaffIdList())&&CollectionUtils.isEmpty(formDTO.getOrgList())){ + throw new RenException(EpmetErrorCode.PLEASE_CHOOSE_MEMBER.getCode(), EpmetErrorCode.PLEASE_CHOOSE_MEMBER.getMsg()); + } + // 2、选择了组织,但是组织下没有人,也要提示给用户,:请选择成员 + Set orgStaffIds=queryOrgStaffIds(formDTO.getCustomerId(),formDTO.getOrgList()); + if(CollectionUtils.isEmpty(formDTO.getStaffIdList())&&CollectionUtils.isEmpty(orgStaffIds)){ + throw new RenException(EpmetErrorCode.PLEASE_CHOOSE_MEMBER.getCode(), EpmetErrorCode.PLEASE_CHOOSE_MEMBER.getMsg()); + } + // 3、群名称是否存在 + if (infoReceiverGroupDao.selectCountName(formDTO.getName().trim(),formDTO.getCustomerId(),formDTO.getUserId()) > 1) { + throw new RenException(EpmetErrorCode.INFO_GROUP_NAME_EXISTS.getCode(), EpmetErrorCode.INFO_GROUP_NAME_EXISTS.getMsg()); + } + InfoReceiverGroupEntity groupEntity=new InfoReceiverGroupEntity(); + groupEntity.setCustomerId(formDTO.getCustomerId()); + groupEntity.setName(formDTO.getName()); + groupEntity.setCreateStaffId(formDTO.getUserId()); + // 4、插入小组表 + infoReceiverGroupDao.insert(groupEntity); + + Set members=new LinkedHashSet(); + members.addAll(formDTO.getStaffIdList()); + members.addAll(orgStaffIds); + members.forEach(memStaffId->{ + // 5、插入群成员表 + InfoGroupReceiversEntity memberEntity=new InfoGroupReceiversEntity(); + memberEntity.setCustomerId(formDTO.getCustomerId()); + memberEntity.setInfoReceiverGroupId(groupEntity.getId()); + memberEntity.setStaffId(memStaffId); + infoGroupReceiversDao.insert(memberEntity); + }); + + // 6、返回小组id + AddReceiverGroupResultDTO resultDTO=new AddReceiverGroupResultDTO(); + resultDTO.setReceiverGroupId(groupEntity.getId()); + return resultDTO; + } + /** * 查询架构里面的人 * diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoReceiverGroupDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoReceiverGroupDao.xml index 264c96846f..23f4fec727 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoReceiverGroupDao.xml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoReceiverGroupDao.xml @@ -3,6 +3,16 @@ - + \ No newline at end of file From c25da91e9b5972ed56eab2eb665092d718fefbc1 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 20 Aug 2021 13:25:45 +0800 Subject: [PATCH 23/53] =?UTF-8?q?=E5=8F=91=E9=80=81=E6=B6=88=E6=81=AF-?= =?UTF-8?q?=E7=BE=A4=E7=BB=84=E5=88=97=E8=A1=A8=E3=80=81=E7=BE=A4=E8=AF=A6?= =?UTF-8?q?=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constant/DataSourceConstant.java | 2 +- .../message/form/InfoGroupDetailFormDTO.java | 34 ++++++++ .../message/result/InfoGroupDetailResDTO.java | 19 ++++ .../message/result/MyInfoGroupResultDTO.java | 24 +++++ .../message/result/StaffInfoCommonDTO.java | 21 +++++ .../dataaggre/controller/InfoController.java | 37 ++++++++ .../dao/epmetmessage/InfoReceiversDao.java | 29 ++++++- .../epmetmessage/EpmetMessageService.java | 26 ++++++ .../impl/EpmetMessageServiceImpl.java | 87 ++++++++++++++++++- .../mapper/epmetmessage/InfoReceiversDao.xml | 46 +++++++++- 10 files changed, 319 insertions(+), 6 deletions(-) create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/form/InfoGroupDetailFormDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/InfoGroupDetailResDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/MyInfoGroupResultDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/StaffInfoCommonDTO.java diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java index c6a3b0e1bc..dd9ab18035 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java @@ -32,5 +32,5 @@ public interface DataSourceConstant { String EVALUATION_INDEX = "evaluationIndex"; String OPERCUSTOMIZE="opercustomize"; - String EPMET_MESSAGE="epmentmessage"; + String EPMET_MESSAGE="epmetmessage"; } diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/form/InfoGroupDetailFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/form/InfoGroupDetailFormDTO.java new file mode 100644 index 0000000000..7b1ba38061 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/form/InfoGroupDetailFormDTO.java @@ -0,0 +1,34 @@ +package com.epmet.dataaggre.dto.message.form; + +import com.epmet.commons.tools.dto.form.PageFormDTO; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 群组列表 + * @Author yinzuomei + * @Date 2021/8/20 12:54 下午 + */ +@Data +public class InfoGroupDetailFormDTO extends PageFormDTO implements Serializable { + @NotBlank(message = "群组id不能为空",groups = PageFormDTO.AddUserInternalGroup.class) + private String receiverGroupId; + + + + //以下参数从token中获取 + /** + * 当前用户id + */ + @NotBlank(message = "userId不能为空",groups =PageFormDTO.AddUserInternalGroup.class) + private String userId; + + /** + * 当前客户id + */ + @NotBlank(message = "customerId不能为空",groups = PageFormDTO.AddUserInternalGroup.class) + private String customerId; +} + diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/InfoGroupDetailResDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/InfoGroupDetailResDTO.java new file mode 100644 index 0000000000..552e4c2a77 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/InfoGroupDetailResDTO.java @@ -0,0 +1,19 @@ +package com.epmet.dataaggre.dto.message.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description 群组详情 + * @Author yinzuomei + * @Date 2021/8/20 12:58 下午 + */ +@Data +public class InfoGroupDetailResDTO implements Serializable { + private String receiverGroupId; + private String name; + private List staffList; +} + diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/MyInfoGroupResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/MyInfoGroupResultDTO.java new file mode 100644 index 0000000000..4e4c89b2d0 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/MyInfoGroupResultDTO.java @@ -0,0 +1,24 @@ +package com.epmet.dataaggre.dto.message.result; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description 我创建的群组列表 + * @Author yinzuomei + * @Date 2021/8/20 10:30 上午 + */ +@Data +public class MyInfoGroupResultDTO implements Serializable { + private static final long serialVersionUID = 3621868560778309056L; + private String receiverGroupId; + private String name; + private Integer totalMem; + @JsonIgnore + private List staffIdList; + private List staffNameList; +} + diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/StaffInfoCommonDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/StaffInfoCommonDTO.java new file mode 100644 index 0000000000..c766f176ec --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/StaffInfoCommonDTO.java @@ -0,0 +1,21 @@ +package com.epmet.dataaggre.dto.message.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 工作人员列表基本信息,通用吧 + * @Author yinzuomei + * @Date 2021/8/20 1:02 下午 + */ +@Data +public class StaffInfoCommonDTO implements Serializable { + private String staffId; + private String staffName; + private String gender; + private String orgName; + private String headPhoto; + +} + diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java index 29d4ea7e24..8df2d52213 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java @@ -1,9 +1,15 @@ package com.epmet.dataaggre.controller; +import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.dto.form.PageFormDTO; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dataaggre.dto.govorg.form.ReceiversFormDTO; import com.epmet.dataaggre.dto.govorg.result.ReceiversResultDTO; +import com.epmet.dataaggre.dto.message.form.InfoGroupDetailFormDTO; +import com.epmet.dataaggre.dto.message.result.InfoGroupDetailResDTO; +import com.epmet.dataaggre.dto.message.result.MyInfoGroupResultDTO; import com.epmet.dataaggre.service.epmetmessage.EpmetMessageService; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -11,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.util.List; /** * @Description @@ -37,4 +44,34 @@ public class InfoController { return new Result().ok(result); } + + /** + * 发送消息-我创建的群组列表 + * + * @param tokenDto + * @return com.epmet.commons.tools.utils.Result> + * @author yinzuomei + * @date 2021/8/20 10:32 上午 + */ + @PostMapping("grouplist") + public Result> queryMyGroupList(@LoginUser TokenDto tokenDto){ + return new Result>().ok(epmetMessageService.queryMyGroupList(tokenDto.getUserId(),tokenDto.getCustomerId())); + } + + /** + * 发送消息-群组详情 + * + * @param tokenDto + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @date 2021/8/20 12:59 下午 + */ + @PostMapping("groupdetail") + public Result queryGroupDetail(@LoginUser TokenDto tokenDto, @RequestBody InfoGroupDetailFormDTO formDTO){ + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class); + return new Result().ok(epmetMessageService.queryGroupDetail(formDTO)); + } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetmessage/InfoReceiversDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetmessage/InfoReceiversDao.java index be4a2b9b00..194410bce2 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetmessage/InfoReceiversDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetmessage/InfoReceiversDao.java @@ -18,8 +18,12 @@ package com.epmet.dataaggre.dao.epmetmessage; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dataaggre.dto.message.result.MyInfoGroupResultDTO; import com.epmet.dataaggre.entity.epmetmessage.InfoReceiversEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 消息接收人记录表 @@ -29,5 +33,28 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface InfoReceiversDao extends BaseDao { - + + /** + * 我创建的群组列表 + * + * @param staffId + * @param customerId + * @return java.util.List + * @author yinzuomei + * @date 2021/8/20 10:37 上午 + */ + List selectMyGroupList(@Param("staffId") String staffId,@Param("customerId") String customerId,@Param("receiverGroupId")String receiverGroupId); + + /** + * 我创建的组内所有的人 + * + * @param staffId + * @param customerId + * @return java.util.List + * @author yinzuomei + * @date 2021/8/20 10:46 上午 + */ + List selectDistinctStaffIds(@Param("staffId") String staffId, + @Param("customerId") String customerId, + @Param("receiverGroupId")String receiverGroupId); } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/EpmetMessageService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/EpmetMessageService.java index eb5cd94040..982cb862a3 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/EpmetMessageService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/EpmetMessageService.java @@ -2,6 +2,11 @@ package com.epmet.dataaggre.service.epmetmessage; import com.epmet.dataaggre.dto.govorg.form.ReceiversFormDTO; import com.epmet.dataaggre.dto.govorg.result.ReceiversResultDTO; +import com.epmet.dataaggre.dto.message.form.InfoGroupDetailFormDTO; +import com.epmet.dataaggre.dto.message.result.InfoGroupDetailResDTO; +import com.epmet.dataaggre.dto.message.result.MyInfoGroupResultDTO; + +import java.util.List; /** * @author Administrator @@ -15,4 +20,25 @@ public interface EpmetMessageService { * @Date 2021/8/19 14:56 */ ReceiversResultDTO getReceiverList(ReceiversFormDTO formDTO); + + /** + * 我创建的群组列表 + * + * @param staffId + * @param customerId + * @return java.util.List + * @author yinzuomei + * @date 2021/8/20 10:33 上午 + */ + List queryMyGroupList(String staffId, String customerId); + + /** + * 发送消息-群组详情 + * + * @param formDTO + * @return com.epmet.dataaggre.dto.message.result.InfoGroupDetailResDTO + * @author yinzuomei + * @date 2021/8/20 12:59 下午 + */ + InfoGroupDetailResDTO queryGroupDetail(InfoGroupDetailFormDTO formDTO); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java index 892ada3a5e..c83e72ac5e 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java @@ -5,19 +5,27 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.StrConstant; +import com.epmet.commons.tools.redis.common.CustomerStaffRedis; +import com.epmet.commons.tools.redis.common.bean.CustomerStaffInfoCache; import com.epmet.dataaggre.constant.DataSourceConstant; import com.epmet.dataaggre.dao.epmetmessage.InfoReceiversDao; import com.epmet.dataaggre.dto.govorg.ReceiverDTO; import com.epmet.dataaggre.dto.govorg.form.ReceiversFormDTO; import com.epmet.dataaggre.dto.govorg.result.ReceiversResultDTO; +import com.epmet.dataaggre.dto.message.form.InfoGroupDetailFormDTO; +import com.epmet.dataaggre.dto.message.result.InfoGroupDetailResDTO; +import com.epmet.dataaggre.dto.message.result.MyInfoGroupResultDTO; +import com.epmet.dataaggre.dto.message.result.StaffInfoCommonDTO; import com.epmet.dataaggre.entity.epmetmessage.InfoReceiversEntity; import com.epmet.dataaggre.service.epmetmessage.EpmetMessageService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import javax.annotation.Resource; +import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.stream.Collectors; @@ -31,9 +39,10 @@ import java.util.stream.Collectors; @DataSource(DataSourceConstant.EPMET_MESSAGE) @Slf4j public class EpmetMessageServiceImpl implements EpmetMessageService { - @Resource + @Autowired private InfoReceiversDao infoReceiversDao; - + @Autowired + private CustomerStaffRedis customerStaffRedis; /** * @param formDTO @@ -70,4 +79,76 @@ public class EpmetMessageServiceImpl implements EpmetMessageService { result.setDataList(dataList); return result; } + + /** + * 我创建的群组列表 + * + * @param staffId + * @param customerId + * @return java.util.List + * @author yinzuomei + * @date 2021/8/20 10:33 上午 + */ + @Override + public List queryMyGroupList(String staffId, String customerId) { + List list = infoReceiversDao.selectMyGroupList(staffId, customerId,null); + if (CollectionUtils.isNotEmpty(list)) { + // 2、遍历每个群组,赋值工作人员姓名列表 + for (MyInfoGroupResultDTO group : list) { + List staffNameList = new ArrayList<>(); + for (String userId : group.getStaffIdList()) { + //查询每个工作人员的基本信息,获取姓名 + CustomerStaffInfoCache staffInfoCache = customerStaffRedis.getStaffInfo(customerId, userId); + if (null != staffInfoCache) { + staffNameList.add(staffInfoCache.getRealName()); + } + } + group.setStaffNameList(staffNameList); + } + } + return list; + } + + /** + * 发送消息-群组详情 + * + * @param formDTO + * @return com.epmet.dataaggre.dto.message.result.InfoGroupDetailResDTO + * @author yinzuomei + * @date 2021/8/20 12:59 下午 + */ + @Override + public InfoGroupDetailResDTO queryGroupDetail(InfoGroupDetailFormDTO formDTO) { + List list = infoReceiversDao.selectMyGroupList(formDTO.getUserId(), formDTO.getCustomerId(),formDTO.getReceiverGroupId()); + InfoGroupDetailResDTO resDTO = new InfoGroupDetailResDTO(); + if (CollectionUtils.isNotEmpty(list)) { + // 2、遍历每个群组,赋值工作人员姓名列表 + for (MyInfoGroupResultDTO group : list) { + resDTO.setReceiverGroupId(group.getReceiverGroupId()); + resDTO.setName(group.getName()); + List staffList=new ArrayList<>(); + + for (String userId : group.getStaffIdList()) { + //查询每个工作人员的基本信息 + CustomerStaffInfoCache staffInfoCache = customerStaffRedis.getStaffInfo(formDTO.getCustomerId(), userId); + if (null != staffInfoCache) { + StaffInfoCommonDTO staffInfo=new StaffInfoCommonDTO(); + staffInfo.setStaffId(userId); + staffInfo.setStaffName(staffInfoCache.getRealName()); + staffInfo.setGender(staffInfoCache.getGender().toString()); + staffInfo.setHeadPhoto(StringUtils.isNotBlank(staffInfoCache.getHeadPhoto())?staffInfoCache.getHeadPhoto(): StrConstant.EPMETY_STR); + // 从网格添加的,显示 XXX-网格名 + // 部门添加的,显示XXX-部门名 + // 组织添加的,XXX组织名-XXX组织名 + String showOrgName="todo"; + //todo + staffInfo.setOrgName(showOrgName); + staffList.add(staffInfo); + } + } + resDTO.setStaffList(staffList); + } + } + return resDTO; + } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoReceiversDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoReceiversDao.xml index dc4ed3221c..3c8d98b10a 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoReceiversDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoReceiversDao.xml @@ -3,6 +3,50 @@ + + + + + + + + + + - + + \ No newline at end of file From 996a089cd0b85f350b5594c10ca21471baebe755 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 20 Aug 2021 13:52:59 +0800 Subject: [PATCH 24/53] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/commons/tools/enums}/OrgTypeEnum.java | 3 ++- .../redis/common/bean/CustomerStaffInfoCache.java | 6 ++++++ .../epmetuser/result/CustomerStaffResultDTO.java | 6 ++++++ .../dataaggre/dao/govorg/CustomerAgencyDao.java | 13 ++++++++++--- .../epmetuser/impl/EpmetUserServiceImpl.java | 5 ++--- .../dataaggre/service/govorg/GovOrgService.java | 6 ++++++ .../service/govorg/impl/GovOrgServiceImpl.java | 5 +++++ .../resources/mapper/govorg/CustomerAgencyDao.xml | 5 ++++- .../controller/screen/IndexController.java | 2 +- 9 files changed, 42 insertions(+), 9 deletions(-) rename {epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/eum => epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums}/OrgTypeEnum.java (92%) diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/eum/OrgTypeEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/OrgTypeEnum.java similarity index 92% rename from epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/eum/OrgTypeEnum.java rename to epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/OrgTypeEnum.java index 6938746a29..0f61110113 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/eum/OrgTypeEnum.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/OrgTypeEnum.java @@ -1,4 +1,4 @@ -package com.epmet.datareport.eum; +package com.epmet.commons.tools.enums; /** * 需要组织类型枚举类 @@ -8,6 +8,7 @@ package com.epmet.datareport.eum; **/ public enum OrgTypeEnum { DEPARTMENT("department", "部门"), + DEPT("dept", "部门"), AGENCY("agency", "组织"), GRID("grid", "网格"), ; diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/CustomerStaffInfoCache.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/CustomerStaffInfoCache.java index 76755387cc..4ea3abe7dc 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/CustomerStaffInfoCache.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/CustomerStaffInfoCache.java @@ -56,6 +56,12 @@ public class CustomerStaffInfoCache implements Serializable { */ private Map roleMap; + /** + * 工作人员是从哪中组织类型添加的 3个值:agency,grid,dept + * @see com.epmet.commons.tools.enums.OrgTypeEnum + */ + private String fromOrgType; + /** * 所属组织的上级组织 */ diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/CustomerStaffResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/CustomerStaffResultDTO.java index 17ca080240..b3281cbad7 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/CustomerStaffResultDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/CustomerStaffResultDTO.java @@ -51,6 +51,12 @@ public class CustomerStaffResultDTO implements Serializable { */ private String headPhoto; + /** + * 工作人员是从哪中组织类型添加的 3个值:agency,grid,dept + * @see com.epmet.commons.tools.enums.OrgTypeEnum + */ + private String fromOrgType; + /** * 角色map key为角色key value 为角色名称 */ diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java index 7f95839f61..5d343f2616 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java @@ -43,7 +43,7 @@ public interface CustomerAgencyDao extends BaseDao { List selectAllSubAgency(@Param("subPids") String subPids); /** - * @Description 根据userId查询组织ID + * @Description 根据userId查询组织ID * @Param userId * @author zxc * @date 2020/12/25 下午4:55 @@ -53,7 +53,7 @@ public interface CustomerAgencyDao extends BaseDao { List selectUsedAreaCodeList(@Param("parentAreaCode") String parentAreaCode); - List selectNextAgency(@Param("customerId")String customerId, @Param("pid")String pid); + List selectNextAgency(@Param("customerId") String customerId, @Param("pid") String pid); /** * @Author sun @@ -66,4 +66,11 @@ public interface CustomerAgencyDao extends BaseDao { * @author sun */ List selelctStaffOrg(@Param("staffIdList") List staffIdList); -} \ No newline at end of file + + /** + * desc:获取工作人员是怎么添加的 + * @param staffId + * @return + */ + String getStaffFromOrgType(@Param("staffId") String staffId); +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java index c75bcc1ebe..adbf1503e9 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java @@ -9,7 +9,6 @@ import com.epmet.commons.tools.utils.DateUtils; import com.epmet.constant.BadgeConstant; import com.epmet.dataaggre.constant.DataSourceConstant; import com.epmet.dataaggre.dao.epmetuser.*; -import com.epmet.dataaggre.dao.govorg.CustomerAgencyDao; import com.epmet.dataaggre.dto.epmetuser.CustomerStaffDTO; import com.epmet.dataaggre.dto.epmetuser.StaffPatrolDetailDTO; import com.epmet.dataaggre.dto.epmetuser.StaffPatrolRecordDTO; @@ -70,8 +69,6 @@ public class EpmetUserServiceImpl implements EpmetUserService { private GovProjectService govProjectService; @Resource private GovStaffRoleDao govStaffRoleDao; - @Autowired - private CustomerAgencyDao customerAgencyDao; /** * @Description 根据UserIds查询 @@ -534,6 +531,8 @@ public class EpmetUserServiceImpl implements EpmetUserService { return null; } result.setAgencyName(agencyDTO.getOrganizationName()); + String fromOrgType = govOrgService.getStaffFromOrgType(staffId); + result.setFromOrgType(fromOrgType); List roleList = govStaffRoleDao.getStaffRoleList(staffId); Map roleMap = roleList.stream().collect(Collectors.toMap(StaffRoleResultDTO::getRoleKey, StaffRoleResultDTO::getRoleName)); diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java index 24c0d7bd56..4aeae36d72 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java @@ -129,4 +129,10 @@ public interface GovOrgService { */ List getStaffDeptList(String staffId); + /** + * desc:获取工作人员是由哪个类型添加进来的 + * @param staffId + * @return + */ + String getStaffFromOrgType(String staffId); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index ba8ab9847d..2341d88128 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -425,4 +425,9 @@ public class GovOrgServiceImpl implements GovOrgService { return customerStaffDepartmentDao.getStaffDeptList(staffId); } + @Override + public String getStaffFromOrgType(String staffId) { + return customerAgencyDao.getStaffFromOrgType(staffId); + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml index 0ed59dbca9..eda0707461 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml @@ -146,5 +146,8 @@ ) + - \ No newline at end of file + diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/IndexController.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/IndexController.java index b0f7fcf03f..31fed42445 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/IndexController.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/IndexController.java @@ -1,8 +1,8 @@ package com.epmet.datareport.controller.screen; +import com.epmet.commons.tools.enums.OrgTypeEnum; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.datareport.eum.OrgTypeEnum; import com.epmet.datareport.service.evaluationindex.screen.IndexService; import com.epmet.evaluationindex.screen.dto.form.*; import com.epmet.evaluationindex.screen.dto.result.*; From d95c654291fdbd34e119b65297be9f2dfa283e86 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 20 Aug 2021 14:32:19 +0800 Subject: [PATCH 25/53] =?UTF-8?q?=E3=80=90=E9=80=9A=E8=AE=AF=E5=BD=95?= =?UTF-8?q?=E3=80=91=E7=BB=84=E7=BB=87/=E9=83=A8=E9=97=A8/=E7=BD=91?= =?UTF-8?q?=E6=A0=BC=E4=B8=8B=E4=BA=BA=E5=91=98=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/govorg/form/OrgStaffListFormDTO.java | 39 ++++++++---- .../govorg/result/OrgStaffListResultDTO.java | 12 +++- .../controller/GovOrgController.java | 12 +++- .../dao/epmetuser/CustomerStaffDao.java | 7 +++ .../dao/govorg/CustomerStaffAgencyDao.java | 6 ++ .../service/epmetuser/EpmetUserService.java | 7 +++ .../epmetuser/impl/EpmetUserServiceImpl.java | 14 +++++ .../service/govorg/GovOrgService.java | 2 +- .../govorg/impl/GovOrgServiceImpl.java | 24 +++++++- .../mapper/epmetuser/CustomerStaffDao.xml | 59 +++++++++++++++++++ .../mapper/govorg/CustomerStaffAgencyDao.xml | 38 ++++++++++++ 11 files changed, 197 insertions(+), 23 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/OrgStaffListFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/OrgStaffListFormDTO.java index 595139ee97..add6167998 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/OrgStaffListFormDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/OrgStaffListFormDTO.java @@ -1,9 +1,12 @@ package com.epmet.dataaggre.dto.govorg.form; +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; import lombok.Data; +import javax.validation.constraints.Min; import javax.validation.constraints.NotBlank; import java.io.Serializable; +import java.util.List; /** * @Description 【通讯录】组织/部门/网格下人员列表-接口入参 @@ -12,20 +15,30 @@ import java.io.Serializable; @Data public class OrgStaffListFormDTO implements Serializable { private static final long serialVersionUID = -1974456701949979946L; - @NotBlank(message = "parentAgencyId不能为空",groups = AddUserInternalGroup.class) - private String parentAgencyId; - private String areaCode; /** - * 社区级:community, - * 乡(镇、街道)级:street, - * 区县级: district, - * 市级: city - * 省级:province + * 组织部门网格Id */ - @NotBlank(message = "level不能为空",groups = AddUserInternalGroup.class) - private String level; - - public interface AddUserInternalGroup { - } + @NotBlank(message = "类型Id不能为空", groups = OrgStaffListFormDTO.OrgStaff.class) + private String orgId; + /** + * 类型【组织:agency 部门:dept 网格:grid】 + */ + @NotBlank(message = "类型不能为空", groups = OrgStaffListFormDTO.OrgStaff.class) + private String orgType; + /** + * 页码,从1开始 + */ + @Min(value = 1, message = "页码必须大于0", groups = OrgStaffListFormDTO.OrgStaff.class) + private Integer pageNo; + /** + * 页容量,默认10页 + */ + @Min(value = 1, message = "每页条数必须大于0", groups = OrgStaffListFormDTO.OrgStaff.class) + private Integer pageSize = 10; + //客户Id + private String customerId; + //工作人员id集合 + private List staffIds; + public interface OrgStaff extends CustomerClientShowGroup {} } diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/OrgStaffListResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/OrgStaffListResultDTO.java index 54a2328ebe..20933648fe 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/OrgStaffListResultDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/OrgStaffListResultDTO.java @@ -17,9 +17,11 @@ package com.epmet.dataaggre.dto.govorg.result; +import com.epmet.dataaggre.dto.epmetuser.result.ListStaffResultDTO; import lombok.Data; import java.io.Serializable; +import java.util.List; /** @@ -30,10 +32,14 @@ import java.io.Serializable; public class OrgStaffListResultDTO implements Serializable { private static final long serialVersionUID = 1L; - /** - * 树结构对象 + * 人员总数 + */ + private Integer staffCount; + /** + * 人员列表 */ - private AgencyGridResultDTO agencyGridList; + private List staffList; + } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java index 63a0922080..7895a8d5e7 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java @@ -130,8 +130,13 @@ public class GovOrgController { * @author sun */ @PostMapping("stafflist") - public Result> staffList(@LoginUser OrgStaffListFormDTO formDTO) { - return new Result>().ok(govOrgService.staffList(formDTO)); + public Result staffList(@LoginUser TokenDto tokenDto, @RequestBody OrgStaffListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, OrgStaffListFormDTO.OrgStaff.class); + if(!"agency".equals(formDTO.getOrgType())&&!"dept".equals(formDTO.getOrgType())&&!"grid".equals(formDTO.getOrgType())){ + throw new RenException("参数类型错误"); + } + formDTO.setCustomerId(tokenDto.getCustomerId()); + return new Result().ok(govOrgService.staffList(formDTO)); } /** @@ -140,7 +145,8 @@ public class GovOrgController { * @author sun */ @PostMapping("staffdetailv2") - public Result staffDetailV2(@LoginUser StaffDetailV2ResultDTO formDTO) { + public Result staffDetailV2(@RequestBody StaffDetailV2ResultDTO formDTO) { + //ValidatorUtils.validateEntity(formDTO, StaffDetailV2ResultDTO.listGridMemberDatas.class); return new Result().ok(govOrgService.staffDetailV2(formDTO)); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/CustomerStaffDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/CustomerStaffDao.java index 9e2833aacb..f277da4ee1 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/CustomerStaffDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/CustomerStaffDao.java @@ -20,6 +20,7 @@ package com.epmet.dataaggre.dao.epmetuser; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dataaggre.dto.epmetuser.CustomerStaffDTO; import com.epmet.dataaggre.dto.epmetuser.result.ListStaffResultDTO; +import com.epmet.dataaggre.dto.govorg.form.OrgStaffListFormDTO; import com.epmet.dataaggre.entity.epmetuser.CustomerStaffEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -51,4 +52,10 @@ public interface CustomerStaffDao extends BaseDao { * @author sun */ List selectByRealName(@Param("customerId") String customerId, @Param("realName") String realName); + + /** + * @Description 分页查询工作人员基础信息、角色信息【组织人员单位领导角色人员在前;部门人员部门领导角色人员在前;网格人员网格长角色人员在前】 + * @author sun + */ + List selectStaffList(OrgStaffListFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffAgencyDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffAgencyDao.java index 87895b78bd..bcae3db264 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffAgencyDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffAgencyDao.java @@ -55,4 +55,10 @@ public interface CustomerStaffAgencyDao extends BaseDao getStaffGridList(@Param("staffId") String staffId); + /** + * @Description 按类型查询组织、部门、网格下所有工作人员Id列表 + * @author sun + */ + List selectStaffList(String orgId, String orgType); + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java index 5f9025171a..91cc70fefd 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java @@ -2,6 +2,7 @@ package com.epmet.dataaggre.service.epmetuser; import com.epmet.dataaggre.dto.epmetuser.form.*; import com.epmet.dataaggre.dto.epmetuser.result.*; +import com.epmet.dataaggre.dto.govorg.form.OrgStaffListFormDTO; import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO; import java.util.List; @@ -125,4 +126,10 @@ public interface EpmetUserService { * @return */ CustomerStaffResultDTO getStaffInfo(String staffId); + + /** + * @Description 分页查询工作人员基础信息、角色信息【组织人员单位领导角色人员在前;部门人员部门领导角色人员在前;网格人员网格长角色人员在前】 + * @author sun + */ + List getStaffInfoList(OrgStaffListFormDTO formDTO); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java index adbf1503e9..df7cb62151 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java @@ -17,6 +17,7 @@ import com.epmet.dataaggre.dto.epmetuser.result.*; import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO; import com.epmet.dataaggre.dto.govorg.CustomerDepartmentDTO; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; +import com.epmet.dataaggre.dto.govorg.form.OrgStaffListFormDTO; import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO; import com.epmet.dataaggre.dto.govorg.result.StaffOrgNameResultDTO; import com.epmet.dataaggre.entity.epmetuser.CustomerStaffEntity; @@ -563,5 +564,18 @@ public class EpmetUserServiceImpl implements EpmetUserService { return result; } + /** + * @Description 分页查询工作人员基础信息、角色信息【组织人员单位领导角色人员在前;部门人员部门领导角色人员在前;网格人员网格长角色人员在前】 + * @author sun + */ + @Override + public List getStaffInfoList(OrgStaffListFormDTO formDTO) { + //分别查询不能类型下人员信息、角色信息,按需求排序 + int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); + formDTO.setPageNo(pageIndex); + List resultList = customerStaffDao.selectStaffList(formDTO); + return resultList; + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java index 4aeae36d72..68b1f2ddb8 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java @@ -90,7 +90,7 @@ public interface GovOrgService { * @Description 【通讯录】组织/部门/网格下人员列表 * @author sun */ - List staffList(OrgStaffListFormDTO formDTO); + OrgStaffListResultDTO staffList(OrgStaffListFormDTO formDTO); /** * @Param formDTO diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index 2341d88128..381ce0a5c6 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -8,12 +8,16 @@ import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dataaggre.constant.DataSourceConstant; import com.epmet.dataaggre.dao.govorg.*; +import com.epmet.dataaggre.dto.epmetuser.result.ListStaffResultDTO; import com.epmet.dataaggre.dto.epmetuser.result.StaffRoleListResultDTO; import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO; import com.epmet.dataaggre.dto.govorg.CustomerDepartmentDTO; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; import com.epmet.dataaggre.dto.govorg.CustomerStaffAgencyDTO; -import com.epmet.dataaggre.dto.govorg.form.*; +import com.epmet.dataaggre.dto.govorg.form.NextAreaCodeFormDTO; +import com.epmet.dataaggre.dto.govorg.form.OrgStaffListFormDTO; +import com.epmet.dataaggre.dto.govorg.form.StaffDetailV2FormDTO; +import com.epmet.dataaggre.dto.govorg.form.SubOrgFormDTO; import com.epmet.dataaggre.dto.govorg.result.*; import com.epmet.dataaggre.dto.resigroup.result.OrgInfoCommonDTO; import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity; @@ -378,8 +382,22 @@ public class GovOrgServiceImpl implements GovOrgService { * @author sun */ @Override - public List staffList(OrgStaffListFormDTO formDTO) { - return null; + public OrgStaffListResultDTO staffList(OrgStaffListFormDTO formDTO) { + OrgStaffListResultDTO resultDTO = new OrgStaffListResultDTO(); + //1.按类型查询组织、部门、网格下所有工作人员Id列表[需要按角色排序 所以这里不能分页] + List staffIds = customerStaffAgencyDao.selectStaffList(formDTO.getOrgId(), formDTO.getOrgType()); + if (org.springframework.util.CollectionUtils.isEmpty(staffIds)) { + return resultDTO; + } + formDTO.setStaffIds(staffIds); + + //2.分页查询工作人员基础信息、角色信息【组织人员单位领导角色人员在前;部门人员部门领导角色人员在前;网格人员网格长角色人员在前】 + List staffList = epmetUserService.getStaffInfoList(formDTO); + + //3.封装数据并返回 + resultDTO.setStaffCount(staffIds.size()); + resultDTO.setStaffList((null == staffList ? new ArrayList<>() : staffList)); + return resultDTO; } /** diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml index 437c70005f..2783476730 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml @@ -51,4 +51,63 @@ AND real_name LIKE CONCAT('%', #{realName}, '%') + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffAgencyDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffAgencyDao.xml index bf47a3cfe0..b762c98242 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffAgencyDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffAgencyDao.xml @@ -51,5 +51,43 @@ AND sg.USER_ID = #{staffId} + + From 3866ab4ece04301ae967e401ba541f9f4c82eb09 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 20 Aug 2021 14:43:03 +0800 Subject: [PATCH 26/53] =?UTF-8?q?=E5=9B=9E=E5=A4=8D=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/message/form/InfoRepliesFormDTO.java | 33 +++++++ .../dto/message/result/InfoReplyDetail.java | 28 ++++++ .../dto/message/result/InfoReplyResDTO.java | 18 ++++ .../dataaggre/controller/InfoController.java | 18 ++++ .../dao/epmetmessage/InfoReceiversDao.java | 33 +++++++ .../epmetmessage/EpmetMessageService.java | 12 +++ .../impl/EpmetMessageServiceImpl.java | 86 ++++++++++++------- .../mapper/epmetmessage/InfoReceiversDao.xml | 59 ++++++++++++- 8 files changed, 255 insertions(+), 32 deletions(-) create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/form/InfoRepliesFormDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/InfoReplyDetail.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/InfoReplyResDTO.java diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/form/InfoRepliesFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/form/InfoRepliesFormDTO.java new file mode 100644 index 0000000000..2544e2ad63 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/form/InfoRepliesFormDTO.java @@ -0,0 +1,33 @@ +package com.epmet.dataaggre.dto.message.form; + +import com.epmet.commons.tools.dto.form.PageFormDTO; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 发送消息详情页-回复列表 + * @Author yinzuomei + * @Date 2021/8/20 1:42 下午 + */ +@Data +public class InfoRepliesFormDTO extends PageFormDTO implements Serializable { + private static final long serialVersionUID = 8001971787502569463L; + @NotBlank(message = "消息id不能为空",groups = PageFormDTO.AddUserInternalGroup.class) + private String infoId; + + //以下参数从token中获取 + /** + * 当前用户id + */ + @NotBlank(message = "userId不能为空",groups =PageFormDTO.AddUserInternalGroup.class) + private String userId; + + /** + * 当前客户id + */ + @NotBlank(message = "customerId不能为空",groups = PageFormDTO.AddUserInternalGroup.class) + private String customerId; +} + diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/InfoReplyDetail.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/InfoReplyDetail.java new file mode 100644 index 0000000000..2a4bde6fc2 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/InfoReplyDetail.java @@ -0,0 +1,28 @@ +package com.epmet.dataaggre.dto.message.result; + +import com.epmet.commons.tools.dto.form.FileCommonDTO; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * @Description 发送消息-回复详情 + * @Author yinzuomei + * @Date 2021/8/20 2:01 下午 + */ +@Data +public class InfoReplyDetail extends StaffInfoCommonDTO implements Serializable { + private static final long serialVersionUID = -9038141920493410767L; + private String replyId; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") + private Date replyTime; + private String content; + /** + * 附件列表 + */ + private List attachmentList; +} + diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/InfoReplyResDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/InfoReplyResDTO.java new file mode 100644 index 0000000000..a30090acb1 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/InfoReplyResDTO.java @@ -0,0 +1,18 @@ +package com.epmet.dataaggre.dto.message.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description 发送消息-回复列表 + * @Author yinzuomei + * @Date 2021/8/20 2:00 下午 + */ +@Data +public class InfoReplyResDTO implements Serializable { + private Integer total; + private List dataList; +} + diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java index 8df2d52213..35078415c2 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java @@ -8,7 +8,9 @@ import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dataaggre.dto.govorg.form.ReceiversFormDTO; import com.epmet.dataaggre.dto.govorg.result.ReceiversResultDTO; import com.epmet.dataaggre.dto.message.form.InfoGroupDetailFormDTO; +import com.epmet.dataaggre.dto.message.form.InfoRepliesFormDTO; import com.epmet.dataaggre.dto.message.result.InfoGroupDetailResDTO; +import com.epmet.dataaggre.dto.message.result.InfoReplyResDTO; import com.epmet.dataaggre.dto.message.result.MyInfoGroupResultDTO; import com.epmet.dataaggre.service.epmetmessage.EpmetMessageService; import org.springframework.web.bind.annotation.PostMapping; @@ -74,4 +76,20 @@ public class InfoController { ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class); return new Result().ok(epmetMessageService.queryGroupDetail(formDTO)); } + + /** + * 发送消息-消息详情-回复列表(分页查询) + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @date 2021/8/20 2:09 下午 + */ + @PostMapping("replylist") + public Result queryInfoReplies(@LoginUser TokenDto tokenDto,@RequestBody InfoRepliesFormDTO formDTO){ + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class); + return new Result().ok(epmetMessageService.queryInfoReplies(formDTO)); + } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetmessage/InfoReceiversDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetmessage/InfoReceiversDao.java index 194410bce2..c0d8b4c86d 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetmessage/InfoReceiversDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetmessage/InfoReceiversDao.java @@ -18,6 +18,9 @@ package com.epmet.dataaggre.dao.epmetmessage; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.commons.tools.dto.form.FileCommonDTO; +import com.epmet.dataaggre.dto.message.result.InfoGroupDetailResDTO; +import com.epmet.dataaggre.dto.message.result.InfoReplyDetail; import com.epmet.dataaggre.dto.message.result.MyInfoGroupResultDTO; import com.epmet.dataaggre.entity.epmetmessage.InfoReceiversEntity; import org.apache.ibatis.annotations.Mapper; @@ -57,4 +60,34 @@ public interface InfoReceiversDao extends BaseDao { List selectDistinctStaffIds(@Param("staffId") String staffId, @Param("customerId") String customerId, @Param("receiverGroupId")String receiverGroupId); + + /** + * 根据小组id,查询群组基本信息 (群组id, 群组名称) + * + * @param receiverGroupId + * @return com.epmet.dataaggre.dto.message.result.InfoGroupDetailResDTO + * @author yinzuomei + * @date 2021/8/20 2:19 下午 + */ + InfoGroupDetailResDTO selectGroupInfo(String receiverGroupId); + + /** + * 分页查询消息的回复列表 + * + * @param infoId + * @return java.util.List + * @author yinzuomei + * @date 2021/8/20 2:20 下午 + */ + List selectListReply(String infoId); + + /** + * 回复附件 + * + * @param replyId + * @return java.util.List + * @author yinzuomei + * @date 2021/8/20 2:31 下午 + */ + List selectReplyAtt(String replyId); } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/EpmetMessageService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/EpmetMessageService.java index 982cb862a3..cb48524cfd 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/EpmetMessageService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/EpmetMessageService.java @@ -3,7 +3,9 @@ package com.epmet.dataaggre.service.epmetmessage; import com.epmet.dataaggre.dto.govorg.form.ReceiversFormDTO; import com.epmet.dataaggre.dto.govorg.result.ReceiversResultDTO; import com.epmet.dataaggre.dto.message.form.InfoGroupDetailFormDTO; +import com.epmet.dataaggre.dto.message.form.InfoRepliesFormDTO; import com.epmet.dataaggre.dto.message.result.InfoGroupDetailResDTO; +import com.epmet.dataaggre.dto.message.result.InfoReplyResDTO; import com.epmet.dataaggre.dto.message.result.MyInfoGroupResultDTO; import java.util.List; @@ -41,4 +43,14 @@ public interface EpmetMessageService { * @date 2021/8/20 12:59 下午 */ InfoGroupDetailResDTO queryGroupDetail(InfoGroupDetailFormDTO formDTO); + + /** + * 发送消息-消息详情-回复列表(分页查询) + * + * @param formDTO + * @return com.epmet.dataaggre.dto.message.result.InfoReplyResDTO + * @author yinzuomei + * @date 2021/8/20 2:09 下午 + */ + InfoReplyResDTO queryInfoReplies(InfoRepliesFormDTO formDTO); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java index c83e72ac5e..574d7eb9fc 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; +import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.redis.common.bean.CustomerStaffInfoCache; import com.epmet.dataaggre.constant.DataSourceConstant; @@ -14,11 +15,12 @@ import com.epmet.dataaggre.dto.govorg.ReceiverDTO; import com.epmet.dataaggre.dto.govorg.form.ReceiversFormDTO; import com.epmet.dataaggre.dto.govorg.result.ReceiversResultDTO; import com.epmet.dataaggre.dto.message.form.InfoGroupDetailFormDTO; -import com.epmet.dataaggre.dto.message.result.InfoGroupDetailResDTO; -import com.epmet.dataaggre.dto.message.result.MyInfoGroupResultDTO; -import com.epmet.dataaggre.dto.message.result.StaffInfoCommonDTO; +import com.epmet.dataaggre.dto.message.form.InfoRepliesFormDTO; +import com.epmet.dataaggre.dto.message.result.*; import com.epmet.dataaggre.entity.epmetmessage.InfoReceiversEntity; import com.epmet.dataaggre.service.epmetmessage.EpmetMessageService; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -91,6 +93,7 @@ public class EpmetMessageServiceImpl implements EpmetMessageService { */ @Override public List queryMyGroupList(String staffId, String customerId) { + // 按照小组的创建时间升序,新创建在后面, 显示的人员时按照info_group_receivers 群成员表的主键升序 List list = infoReceiversDao.selectMyGroupList(staffId, customerId,null); if (CollectionUtils.isNotEmpty(list)) { // 2、遍历每个群组,赋值工作人员姓名列表 @@ -119,36 +122,59 @@ public class EpmetMessageServiceImpl implements EpmetMessageService { */ @Override public InfoGroupDetailResDTO queryGroupDetail(InfoGroupDetailFormDTO formDTO) { - List list = infoReceiversDao.selectMyGroupList(formDTO.getUserId(), formDTO.getCustomerId(),formDTO.getReceiverGroupId()); - InfoGroupDetailResDTO resDTO = new InfoGroupDetailResDTO(); - if (CollectionUtils.isNotEmpty(list)) { - // 2、遍历每个群组,赋值工作人员姓名列表 - for (MyInfoGroupResultDTO group : list) { - resDTO.setReceiverGroupId(group.getReceiverGroupId()); - resDTO.setName(group.getName()); - List staffList=new ArrayList<>(); - - for (String userId : group.getStaffIdList()) { - //查询每个工作人员的基本信息 - CustomerStaffInfoCache staffInfoCache = customerStaffRedis.getStaffInfo(formDTO.getCustomerId(), userId); - if (null != staffInfoCache) { - StaffInfoCommonDTO staffInfo=new StaffInfoCommonDTO(); - staffInfo.setStaffId(userId); - staffInfo.setStaffName(staffInfoCache.getRealName()); - staffInfo.setGender(staffInfoCache.getGender().toString()); - staffInfo.setHeadPhoto(StringUtils.isNotBlank(staffInfoCache.getHeadPhoto())?staffInfoCache.getHeadPhoto(): StrConstant.EPMETY_STR); - // 从网格添加的,显示 XXX-网格名 - // 部门添加的,显示XXX-部门名 - // 组织添加的,XXX组织名-XXX组织名 - String showOrgName="todo"; - //todo - staffInfo.setOrgName(showOrgName); - staffList.add(staffInfo); - } + InfoGroupDetailResDTO resDTO = infoReceiversDao.selectGroupInfo(formDTO.getReceiverGroupId()); + if (null == resDTO) { + throw new RenException("info_receiver_group dosen't have record"); + } + resDTO.setStaffList(new ArrayList<>()); + //按照info_group_receivers 群成员表的主键升序 + PageInfo staffIds = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> infoReceiversDao.selectDistinctStaffIds(formDTO.getUserId(), formDTO.getCustomerId(), formDTO.getReceiverGroupId())); + if (CollectionUtils.isNotEmpty(staffIds.getList())) { + for (String userId : staffIds.getList()) { + //查询每个工作人员的基本信息 + CustomerStaffInfoCache staffInfoCache = customerStaffRedis.getStaffInfo(formDTO.getCustomerId(), userId); + if (null != staffInfoCache) { + StaffInfoCommonDTO staffInfo = new StaffInfoCommonDTO(); + staffInfo.setStaffId(userId); + staffInfo.setStaffName(staffInfoCache.getRealName()); + staffInfo.setGender(staffInfoCache.getGender().toString()); + staffInfo.setHeadPhoto(StringUtils.isNotBlank(staffInfoCache.getHeadPhoto()) ? staffInfoCache.getHeadPhoto() : StrConstant.EPMETY_STR); + //todo + staffInfo.setOrgName("todo get"); + resDTO.getStaffList().add(staffInfo); } - resDTO.setStaffList(staffList); } } return resDTO; } + + /** + * 发送消息-消息详情-回复列表(分页查询) + * + * @param formDTO + * @return com.epmet.dataaggre.dto.message.result.InfoReplyResDTO + * @author yinzuomei + * @date 2021/8/20 2:09 下午 + */ + @Override + public InfoReplyResDTO queryInfoReplies(InfoRepliesFormDTO formDTO) { + InfoReplyResDTO result = new InfoReplyResDTO(); + // 按照回复时间降序排列 ,新回复的在最上面 + PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> infoReceiversDao.selectListReply(formDTO.getInfoId())); + result.setTotal((int) data.getTotal()); + for (InfoReplyDetail detail : data.getList()) { + //查询每个工作人员的基本信息 + CustomerStaffInfoCache staffInfoCache = customerStaffRedis.getStaffInfo(formDTO.getCustomerId(), detail.getStaffId()); + detail.setStaffName(staffInfoCache.getRealName()); + detail.setGender(staffInfoCache.getGender().toString()); + detail.setHeadPhoto(StringUtils.isNotBlank(staffInfoCache.getHeadPhoto()) ? staffInfoCache.getHeadPhoto() : StrConstant.EPMETY_STR); + //todo + detail.setOrgName("todo get"); + } + result.setDataList(data.getList()); + return result; + } + + + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoReceiversDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoReceiversDao.xml index 3c8d98b10a..179b3469fd 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoReceiversDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoReceiversDao.xml @@ -23,13 +23,13 @@ left join info_group_receivers igr on(irg.id=igr.info_receiver_group_id and igr.DEL_FLAG='0') WHERE - irg.DEL_FLAG = '0' + AND irg.CREATE_STAFF_ID = #{staffId} AND irg.CUSTOMER_ID = #{customerId} and irg.id=#{receiverGroupId} - order by irg.CREATED_TIME asc + order by irg.CREATED_TIME asc,igr.id asc @@ -48,5 +48,60 @@ AND irg.id =#{receiverGroupId} + order by igr.id asc + + + + + + + + + + + + + + + + + \ No newline at end of file From 7caf76f37e10eecc86e78222c8662e8224949b88 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 20 Aug 2021 14:48:57 +0800 Subject: [PATCH 27/53] =?UTF-8?q?=E9=80=9A=E8=AE=AF=E5=BD=95=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/govorg/CustomerStaffAgencyDao.java | 10 +++++++ .../govorg/CustomerStaffDepartmentDao.java | 10 +++++++ .../dao/govorg/CustomerStaffGridDao.java | 10 +++++++ .../govorg/impl/GovOrgServiceImpl.java | 15 ++++++++++- .../mapper/govorg/CustomerStaffAgencyDao.xml | 26 +++++++++++++++++++ .../govorg/CustomerStaffDepartmentDao.xml | 19 ++++++++++++++ .../mapper/govorg/CustomerStaffGridDao.xml | 17 ++++++++++++ 7 files changed, 106 insertions(+), 1 deletion(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffAgencyDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffAgencyDao.java index bcae3db264..75734a058b 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffAgencyDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffAgencyDao.java @@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; import com.epmet.dataaggre.dto.govorg.CustomerStaffAgencyDTO; +import com.epmet.dataaggre.dto.govorg.OrgDTO; import com.epmet.dataaggre.entity.govorg.CustomerStaffAgencyEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -61,4 +62,13 @@ public interface CustomerStaffAgencyDao extends BaseDao selectStaffList(String orgId, String orgType); + /** + * @Description 获取下级组织列表 + * @Param agencyId + * @Return {@link List} + * @Author zhaoqifeng + * @Date 2021/8/20 14:08 + */ + List selectSubAgency(@Param("agencyId") String agencyId); + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffDepartmentDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffDepartmentDao.java index f033ddede2..014c374aca 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffDepartmentDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffDepartmentDao.java @@ -19,6 +19,7 @@ package com.epmet.dataaggre.dao.govorg; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dataaggre.dto.govorg.CustomerDepartmentDTO; +import com.epmet.dataaggre.dto.govorg.OrgDTO; import com.epmet.dataaggre.entity.govorg.CustomerStaffDepartmentEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -41,4 +42,13 @@ public interface CustomerStaffDepartmentDao extends BaseDao getStaffDeptList(@Param("staffId") String staffId); + + /** + * @Description + * @Param agencyId + * @Return {@link List< OrgDTO>} + * @Author zhaoqifeng + * @Date 2021/8/20 14:29 + */ + List selectDepartmentList(@Param("agencyId") String agencyId); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffGridDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffGridDao.java index a6757c8cca..9a4c01d8b6 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffGridDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffGridDao.java @@ -18,6 +18,7 @@ package com.epmet.dataaggre.dao.govorg; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dataaggre.dto.govorg.OrgDTO; import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO; import com.epmet.dataaggre.dto.govorg.result.StaffAgencyGridListResultDTO; import com.epmet.dataaggre.entity.govorg.CustomerStaffGridEntity; @@ -46,4 +47,13 @@ public interface CustomerStaffGridDao extends BaseDao { * @author sun */ List getStaffGridList(@Param("agencyId") String agencyId, @Param("staffId") String staffId); + + /** + * @Description 获取组织下的网格级网格人数 + * @Param agencyId + * @Return {@link List< OrgDTO>} + * @Author zhaoqifeng + * @Date 2021/8/20 14:37 + */ + List selectGridList(@Param("agencyId") String agencyId); } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index 381ce0a5c6..12de5400ce 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -1,6 +1,7 @@ package com.epmet.dataaggre.service.govorg.impl; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; @@ -10,6 +11,8 @@ import com.epmet.dataaggre.constant.DataSourceConstant; import com.epmet.dataaggre.dao.govorg.*; import com.epmet.dataaggre.dto.epmetuser.result.ListStaffResultDTO; import com.epmet.dataaggre.dto.epmetuser.result.StaffRoleListResultDTO; +import com.epmet.dataaggre.dto.govorg.*; +import com.epmet.dataaggre.dto.govorg.form.*; import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO; import com.epmet.dataaggre.dto.govorg.CustomerDepartmentDTO; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; @@ -420,7 +423,17 @@ public class GovOrgServiceImpl implements GovOrgService { */ @Override public SubOrgResultDTO getSubOrg(SubOrgFormDTO formDTO) { - return null; + //下级组织列表 + List subAgencyList = customerStaffAgencyDao.selectSubAgency(formDTO.getAgencyId()); + //下级部门列表 + List departmentList = customerStaffDepartmentDao.selectDepartmentList(formDTO.getAgencyId()); + //下级网格列表 + List gridList = customerStaffGridDao.selectGridList(formDTO.getAgencyId()); + SubOrgResultDTO result = new SubOrgResultDTO(); + result.setSubAgencyList(subAgencyList); + result.setDepartmentList(departmentList); + result.setGridList(gridList); + return result; } /** diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffAgencyDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffAgencyDao.xml index b762c98242..d08de26805 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffAgencyDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffAgencyDao.xml @@ -90,4 +90,30 @@ + diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffDepartmentDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffDepartmentDao.xml index 1d54253076..3d217ce65e 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffDepartmentDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffDepartmentDao.xml @@ -14,4 +14,23 @@ AND g.DEL_FLAG = '0' AND sg.USER_ID = #{staffId} + + diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffGridDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffGridDao.xml index 6c5cb0281d..1534bf1fab 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffGridDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffGridDao.xml @@ -35,4 +35,21 @@ AND ca.id = #{agencyId} + \ No newline at end of file From 199961197bfcf69281f4382c820097b736512e37 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 20 Aug 2021 14:52:06 +0800 Subject: [PATCH 28/53] =?UTF-8?q?=E6=B7=BB=E5=8A=A02=E7=BA=A7=E7=BB=84?= =?UTF-8?q?=E7=BB=87=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../result/CustomerStaffInfoCacheResult.java | 11 ++++ .../redis/common/CustomerStaffRedis.java | 16 +++--- .../common/bean/CustomerStaffInfoCache.java | 13 ++++- .../result/CustomerStaffResultDTO.java | 11 ++++ .../result/StaffOrgRelationResultDTO.java | 51 +++++++++++++++++++ .../dao/govorg/CustomerAgencyDao.java | 3 +- .../impl/EpmetMessageServiceImpl.java | 6 +-- .../epmetuser/impl/EpmetUserServiceImpl.java | 41 ++++++++++++--- .../service/govorg/GovOrgService.java | 2 +- .../govorg/impl/GovOrgServiceImpl.java | 2 +- .../mapper/govorg/CustomerAgencyDao.xml | 4 +- 11 files changed, 138 insertions(+), 22 deletions(-) create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/StaffOrgRelationResultDTO.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/CustomerStaffInfoCacheResult.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/CustomerStaffInfoCacheResult.java index 8359f4d020..ef027fc105 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/CustomerStaffInfoCacheResult.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/CustomerStaffInfoCacheResult.java @@ -26,6 +26,11 @@ public class CustomerStaffInfoCacheResult implements Serializable { */ private String agencyName; + /** + * 2级组织名称 根据添加的来源返回(xx组织-组织/网格/部门) + */ + private String twoOrgName; + /** * 工作人员ID */ @@ -51,6 +56,12 @@ public class CustomerStaffInfoCacheResult implements Serializable { */ private String headPhoto; + /** + * 工作人员是从哪中组织类型添加的 3个值:agency,grid,dept + * @see com.epmet.commons.tools.enums.OrgTypeEnum + */ + private String fromOrgType; + /** * 角色map key为角色key value 为角色名称 */ diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java index 362294b66b..af2d09cc09 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java @@ -2,6 +2,7 @@ package com.epmet.commons.tools.redis.common; import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSON; +import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.feign.CommonAggFeignClient; import com.epmet.commons.tools.redis.RedisKeys; @@ -33,7 +34,8 @@ public class CustomerStaffRedis { //@PostConstruct public void init() { - CustomerStaffInfoCache role = this.getStaffInfo("45687aa479955f9d06204d415238f7cc", "9e37adcce6472152e6508a19d3683e02"); + CustomerStaffInfoCacheResult role = this.getStaffInfo("45687aa479955f9d06204d415238f7cc", "9e37adcce6472152e6508a19d3683e02"); + role = this.getStaffInfo("45687aa479955f9d06204d415238f7cc", "7f694a66efe60a47c2114875f310248a"); System.out.println(JSON.toJSONString(role)); } @@ -47,25 +49,27 @@ public class CustomerStaffRedis { * @date 2021/8/19 10:29 下午 * @remark 此方法仅用于 获取某个工作人员的信息,不用于获取客户下所有工作人员信息 */ - public CustomerStaffInfoCache getStaffInfo(String customerId, String staffId) { + public CustomerStaffInfoCacheResult getStaffInfo(String customerId, String staffId) { String key = RedisKeys.getCustomerStaffInfoKey(customerId, staffId); Map roleMap = redisUtils.hGetAll(key); if (!CollectionUtils.isEmpty(roleMap)) { - return ConvertUtils.mapToEntity(roleMap, CustomerStaffInfoCache.class); + return ConvertUtils.mapToEntity(roleMap, CustomerStaffInfoCacheResult.class); } Result staffResult = commonAggFeignClient.getStaffInfo(staffId); if (staffResult == null || !staffResult.success()) { throw new RenException("获取工作人员信息失败"); } - if (staffResult.getData() == null) { + CustomerStaffInfoCache resultData = staffResult.getData(); + if (resultData == null) { log.warn("getStaffInfo staff is null,staffId:{}", staffId); return null; } - Map map = BeanUtil.beanToMap(staffResult.getData(), false, true); + + Map map = BeanUtil.beanToMap(resultData, false, true); redisUtils.hMSet(key, map); - return staffResult.getData(); + return ConvertUtils.sourceToTarget(resultData,CustomerStaffInfoCacheResult.class); } /** diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/CustomerStaffInfoCache.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/CustomerStaffInfoCache.java index 4ea3abe7dc..577bdf3910 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/CustomerStaffInfoCache.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/CustomerStaffInfoCache.java @@ -8,6 +8,7 @@ import java.util.List; import java.util.Map; /** + * desc:客户工作人员缓存实体类 * @Author zxc * @DateTime 2021/6/15 10:00 上午 * @DESC @@ -15,7 +16,7 @@ import java.util.Map; @Data public class CustomerStaffInfoCache implements Serializable { - private static final long serialVersionUID = -4078910245000135305L; + private static final long serialVersionUID = 4627478063125903910L; /** * 工作人员所属组织ID */ @@ -26,6 +27,11 @@ public class CustomerStaffInfoCache implements Serializable { */ private String agencyName; + /** + * 2级组织名称 根据添加的来源返回(xx组织-组织/网格/部门) + */ + private String twoOrgName; + /** * 工作人员ID */ @@ -62,6 +68,11 @@ public class CustomerStaffInfoCache implements Serializable { */ private String fromOrgType; + /** + * 工作人员是从哪中组织添加的 组织Id + */ + private String fromOrgId; + /** * 所属组织的上级组织 */ diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/CustomerStaffResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/CustomerStaffResultDTO.java index b3281cbad7..b12ea53fec 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/CustomerStaffResultDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/CustomerStaffResultDTO.java @@ -57,6 +57,11 @@ public class CustomerStaffResultDTO implements Serializable { */ private String fromOrgType; + /** + * 工作人员是从哪中组织添加的 组织Id + */ + private String fromOrgId; + /** * 角色map key为角色key value 为角色名称 */ @@ -77,4 +82,10 @@ public class CustomerStaffResultDTO implements Serializable { */ private List deptList; + //特殊处理的 属性 start ========== + /** + * 2级组织名称 根据添加的来源返回(xx组织-组织/网格/部门) + */ + private String twoOrgName; + } diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/StaffOrgRelationResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/StaffOrgRelationResultDTO.java new file mode 100644 index 0000000000..6ede0cb39e --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/StaffOrgRelationResultDTO.java @@ -0,0 +1,51 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dto.govorg.result; + +import lombok.Data; + +import java.io.Serializable; + + +/** + * 工作人员注册组织关系表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-08-19 + */ +@Data +public class StaffOrgRelationResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + /** + * 工作人员Id + */ + private String staffId; + + /** + * 工作人员添加入口Id(agencyId;deptId;gridId) + */ + private String orgId; + + /** + * 工作人员添加入口类型(组织:agency;部门:dept;网格:gridId) + */ + private String orgType; + + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java index 5d343f2616..544f7387dd 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java @@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dataaggre.dto.govorg.result.AgencyGridResultDTO; import com.epmet.dataaggre.dto.govorg.result.StaffAgencyGridListResultDTO; import com.epmet.dataaggre.dto.govorg.result.StaffOrgNameResultDTO; +import com.epmet.dataaggre.dto.govorg.result.StaffOrgRelationResultDTO; import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -72,5 +73,5 @@ public interface CustomerAgencyDao extends BaseDao { * @param staffId * @return */ - String getStaffFromOrgType(@Param("staffId") String staffId); + StaffOrgRelationResultDTO getStaffFromOrgType(@Param("staffId") String staffId); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java index c83e72ac5e..22ffaec9a6 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java @@ -6,8 +6,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; +import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; -import com.epmet.commons.tools.redis.common.bean.CustomerStaffInfoCache; import com.epmet.dataaggre.constant.DataSourceConstant; import com.epmet.dataaggre.dao.epmetmessage.InfoReceiversDao; import com.epmet.dataaggre.dto.govorg.ReceiverDTO; @@ -98,7 +98,7 @@ public class EpmetMessageServiceImpl implements EpmetMessageService { List staffNameList = new ArrayList<>(); for (String userId : group.getStaffIdList()) { //查询每个工作人员的基本信息,获取姓名 - CustomerStaffInfoCache staffInfoCache = customerStaffRedis.getStaffInfo(customerId, userId); + CustomerStaffInfoCacheResult staffInfoCache = customerStaffRedis.getStaffInfo(customerId, userId); if (null != staffInfoCache) { staffNameList.add(staffInfoCache.getRealName()); } @@ -130,7 +130,7 @@ public class EpmetMessageServiceImpl implements EpmetMessageService { for (String userId : group.getStaffIdList()) { //查询每个工作人员的基本信息 - CustomerStaffInfoCache staffInfoCache = customerStaffRedis.getStaffInfo(formDTO.getCustomerId(), userId); + CustomerStaffInfoCacheResult staffInfoCache = customerStaffRedis.getStaffInfo(formDTO.getCustomerId(), userId); if (null != staffInfoCache) { StaffInfoCommonDTO staffInfo=new StaffInfoCommonDTO(); staffInfo.setStaffId(userId); diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java index adbf1503e9..3e72e9b17b 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java @@ -3,7 +3,9 @@ package com.epmet.dataaggre.service.epmetuser.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.form.IdAndNameDTO; +import com.epmet.commons.tools.enums.OrgTypeEnum; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.constant.BadgeConstant; @@ -19,6 +21,7 @@ import com.epmet.dataaggre.dto.govorg.CustomerDepartmentDTO; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO; import com.epmet.dataaggre.dto.govorg.result.StaffOrgNameResultDTO; +import com.epmet.dataaggre.dto.govorg.result.StaffOrgRelationResultDTO; import com.epmet.dataaggre.entity.epmetuser.CustomerStaffEntity; import com.epmet.dataaggre.entity.epmetuser.GovStaffRoleEntity; import com.epmet.dataaggre.entity.epmetuser.ResiUserBadgeEntity; @@ -531,8 +534,26 @@ public class EpmetUserServiceImpl implements EpmetUserService { return null; } result.setAgencyName(agencyDTO.getOrganizationName()); - String fromOrgType = govOrgService.getStaffFromOrgType(staffId); + StaffOrgRelationResultDTO fromOrgTypeDto = govOrgService.getStaffFromOrgType(staffId); + String fromOrgType = OrgTypeEnum.AGENCY.getCode(); + if (fromOrgTypeDto != null){ + fromOrgType = fromOrgTypeDto.getOrgType(); + result.setFromOrgId(fromOrgTypeDto.getOrgId()); + } result.setFromOrgType(fromOrgType); + boolean isContinueMkName = true; + StringBuilder showNameBuilder = new StringBuilder(16); + if (OrgTypeEnum.AGENCY.getCode().equals(fromOrgType)){ + String allParentName = agencyDTO.getAllParentName(); + if (StringUtils.isNotBlank(allParentName)){ + showNameBuilder.append(allParentName.substring(allParentName.lastIndexOf(StrConstant.HYPHEN)+NumConstant.ONE)); + showNameBuilder.append(StrConstant.HYPHEN); + showNameBuilder.append(agencyDTO.getOrganizationName()); + isContinueMkName = false; + }else{ + showNameBuilder.append(agencyDTO.getOrganizationName()); + } + } List roleList = govStaffRoleDao.getStaffRoleList(staffId); Map roleMap = roleList.stream().collect(Collectors.toMap(StaffRoleResultDTO::getRoleKey, StaffRoleResultDTO::getRoleName)); @@ -543,6 +564,9 @@ public class EpmetUserServiceImpl implements EpmetUserService { List idAndNameList = new ArrayList<>(); for (CustomerGridDTO customerGridDTO : list) { IdAndNameDTO grid = new IdAndNameDTO(); + if (isContinueMkName && OrgTypeEnum.GRID.getCode().equals(fromOrgType)&&grid.getId().equals(result.getFromOrgId())){ + showNameBuilder.append(agencyDTO.getOrganizationName()).append(StrConstant.HYPHEN).append(grid.getName()); + } grid.setId(customerGridDTO.getId()); grid.setName(customerGridDTO.getGridName()); idAndNameList.add(grid); @@ -552,14 +576,17 @@ public class EpmetUserServiceImpl implements EpmetUserService { List deptList = govOrgService.getStaffDeptList(staffId); idAndNameList = new ArrayList<>(); for (CustomerDepartmentDTO org : deptList) { - IdAndNameDTO grid = new IdAndNameDTO(); - grid.setId(org.getId()); - grid.setName(org.getDepartmentName()); - idAndNameList.add(grid); + IdAndNameDTO dept = new IdAndNameDTO(); + if (isContinueMkName && OrgTypeEnum.GRID.getCode().equals(fromOrgType)&&dept.getId().equals(result.getFromOrgId())){ + showNameBuilder.append(agencyDTO.getOrganizationName()).append(StrConstant.HYPHEN).append(dept.getName()); + } + dept.setId(org.getId()); + dept.setName(org.getDepartmentName()); + idAndNameList.add(dept); } result.setDeptList(idAndNameList); - - + //特殊处理 显示的名字 + result.setTwoOrgName(showNameBuilder.toString()); return result; } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java index 4aeae36d72..0d62b87e59 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java @@ -134,5 +134,5 @@ public interface GovOrgService { * @param staffId * @return */ - String getStaffFromOrgType(String staffId); + StaffOrgRelationResultDTO getStaffFromOrgType(String staffId); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index 2341d88128..78ee0d9077 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -426,7 +426,7 @@ public class GovOrgServiceImpl implements GovOrgService { } @Override - public String getStaffFromOrgType(String staffId) { + public StaffOrgRelationResultDTO getStaffFromOrgType(String staffId) { return customerAgencyDao.getStaffFromOrgType(staffId); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml index eda0707461..f9e133f945 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml @@ -146,8 +146,8 @@ ) - + SELECT STAFF_ID,ORG_ID,ORG_TYPE FROM staff_org_relation WHERE del_flag = '0' AND staff_id = #{staffId} From 5c89786c68b9e2f5e4887ef61914c9cd68362e7c Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 20 Aug 2021 14:53:47 +0800 Subject: [PATCH 29/53] =?UTF-8?q?=E6=B7=BB=E5=8A=A02=E7=BA=A7=E7=BB=84?= =?UTF-8?q?=E7=BB=87=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/epmetmessage/impl/EpmetMessageServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java index 88c23c17f9..c035e0562d 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java @@ -164,7 +164,7 @@ public class EpmetMessageServiceImpl implements EpmetMessageService { result.setTotal((int) data.getTotal()); for (InfoReplyDetail detail : data.getList()) { //查询每个工作人员的基本信息 - CustomerStaffInfoCache staffInfoCache = customerStaffRedis.getStaffInfo(formDTO.getCustomerId(), detail.getStaffId()); + CustomerStaffInfoCacheResult staffInfoCache = customerStaffRedis.getStaffInfo(formDTO.getCustomerId(), detail.getStaffId()); detail.setStaffName(staffInfoCache.getRealName()); detail.setGender(staffInfoCache.getGender().toString()); detail.setHeadPhoto(StringUtils.isNotBlank(staffInfoCache.getHeadPhoto()) ? staffInfoCache.getHeadPhoto() : StrConstant.EPMETY_STR); From 19a96955f5f946daa302a7f7aa50189a8fc916ea Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 20 Aug 2021 14:56:22 +0800 Subject: [PATCH 30/53] =?UTF-8?q?=E5=9B=9E=E5=A4=8D=E5=92=8C=E7=BE=A4?= =?UTF-8?q?=E7=BB=84=E5=88=97=E8=A1=A8=EF=BC=8C=E8=B5=8B=E5=80=BCtowOrgNam?= =?UTF-8?q?e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/epmetmessage/impl/EpmetMessageServiceImpl.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java index c035e0562d..49f53f0bfa 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java @@ -139,8 +139,7 @@ public class EpmetMessageServiceImpl implements EpmetMessageService { staffInfo.setStaffName(staffInfoCache.getRealName()); staffInfo.setGender(staffInfoCache.getGender().toString()); staffInfo.setHeadPhoto(StringUtils.isNotBlank(staffInfoCache.getHeadPhoto()) ? staffInfoCache.getHeadPhoto() : StrConstant.EPMETY_STR); - //todo - staffInfo.setOrgName("todo get"); + staffInfo.setOrgName(staffInfoCache.getTwoOrgName()); resDTO.getStaffList().add(staffInfo); } } @@ -168,8 +167,7 @@ public class EpmetMessageServiceImpl implements EpmetMessageService { detail.setStaffName(staffInfoCache.getRealName()); detail.setGender(staffInfoCache.getGender().toString()); detail.setHeadPhoto(StringUtils.isNotBlank(staffInfoCache.getHeadPhoto()) ? staffInfoCache.getHeadPhoto() : StrConstant.EPMETY_STR); - //todo - detail.setOrgName("todo get"); + detail.setOrgName(staffInfoCache.getTwoOrgName()); } result.setDataList(data.getList()); return result; From aaeb1ad4a71c23038b7f7aa1c0b0076dcb4449ae Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 20 Aug 2021 15:19:17 +0800 Subject: [PATCH 31/53] =?UTF-8?q?=E9=80=9A=E8=AE=AF=E5=BD=95=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/epmetuser/result/RoleUsersResultDTO.java | 2 +- .../com/epmet/dataaggre/dto/govorg/ReceiverDTO.java | 2 +- .../epmetmessage/impl/EpmetMessageServiceImpl.java | 6 +++++- .../service/epmetuser/impl/EpmetUserServiceImpl.java | 12 +++++++++++- 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/RoleUsersResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/RoleUsersResultDTO.java index 250c4025bd..ab1b966ac0 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/RoleUsersResultDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/RoleUsersResultDTO.java @@ -20,6 +20,6 @@ public class RoleUsersResultDTO implements Serializable { private String name; private String headPhoto; private String orgName; - private String gender; + private Integer gender; private List roles; } diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/ReceiverDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/ReceiverDTO.java index feff8e28a2..76bc2f957b 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/ReceiverDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/ReceiverDTO.java @@ -35,5 +35,5 @@ public class ReceiverDTO implements Serializable { /** * 1男2女0未知 */ - private String gender; + private Integer gender; } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java index 49f53f0bfa..0e36e842bc 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java @@ -75,7 +75,11 @@ public class EpmetMessageServiceImpl implements EpmetMessageService { ReceiverDTO dto = new ReceiverDTO(); dto.setStaffId(item.getStaffId()); dto.setReadFlag(item.getReadFlag()); - //TODO redis获取用户信息 + CustomerStaffInfoCacheResult staffInfoCache = customerStaffRedis.getStaffInfo(item.getCustomerId(), item.getStaffId()); + dto.setStaffName(staffInfoCache.getRealName()); + dto.setGender(staffInfoCache.getGender()); + dto.setHeadPhoto(staffInfoCache.getHeadPhoto()); + dto.setOrgName(staffInfoCache.getTwoOrgName()); return dto; }).collect(Collectors.toList()); result.setDataList(dataList); diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java index 2e3e0206b6..dadbe4ff01 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java @@ -5,7 +5,9 @@ import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.form.IdAndNameDTO; +import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.enums.OrgTypeEnum; +import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.constant.BadgeConstant; @@ -73,6 +75,8 @@ public class EpmetUserServiceImpl implements EpmetUserService { private GovProjectService govProjectService; @Resource private GovStaffRoleDao govStaffRoleDao; + @Resource + private CustomerStaffRedis customerStaffRedis; /** * @Description 根据UserIds查询 @@ -481,7 +485,13 @@ public class EpmetUserServiceImpl implements EpmetUserService { return staffRoleList.stream().map(item -> { RoleUsersResultDTO dto = new RoleUsersResultDTO(); dto.setStaffId(item.getStaffId()); - //TODO 从redis获取用户信息 + //从redis获取用户信息 + CustomerStaffInfoCacheResult staffInfoCache = customerStaffRedis.getStaffInfo(item.getCustomerId(), item.getStaffId()); + dto.setGender(staffInfoCache.getGender()); + dto.setHeadPhoto(staffInfoCache.getHeadPhoto()); + dto.setName(staffInfoCache.getRealName()); + dto.setOrgName(staffInfoCache.getTwoOrgName()); + dto.setRoles(new ArrayList<>(staffInfoCache.getRoleMap().values())); return dto; }).collect(Collectors.toList()); } From 6fc9cb85b091ecf909f3fa144005cc423ce084a3 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 20 Aug 2021 15:20:12 +0800 Subject: [PATCH 32/53] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=97=A0=E7=94=A8?= =?UTF-8?q?=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../redis/common/CustomerStaffRedis.java | 33 ++++++- .../screen/impl/ScreenProjectServiceImpl.java | 16 ++-- .../epmet/feign/EpmetUserOpenFeignClient.java | 9 -- .../EpmetUserOpenFeignClientFallback.java | 5 -- .../epmet/controller/StaffRoleController.java | 25 ------ .../com/epmet/redis/CustomerStaffRedis.java | 47 ---------- .../java/com/epmet/redis/StaffInfoRedis.java | 75 ---------------- .../java/com/epmet/redis/StaffRoleRedis.java | 86 ------------------- .../com/epmet/service/StaffRoleService.java | 24 ++---- .../impl/CustomerStaffServiceImpl.java | 13 +-- .../service/impl/StaffRoleServiceImpl.java | 74 ++-------------- 11 files changed, 54 insertions(+), 353 deletions(-) delete mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/redis/CustomerStaffRedis.java delete mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/redis/StaffInfoRedis.java delete mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/redis/StaffRoleRedis.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java index af2d09cc09..3597b8e801 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java @@ -12,6 +12,7 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.Nullable; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; @@ -31,12 +32,14 @@ public class CustomerStaffRedis { private RedisUtils redisUtils; @Autowired private CommonAggFeignClient commonAggFeignClient; + private static final String ROLE_MAP_KEY = "roleMap"; //@PostConstruct public void init() { CustomerStaffInfoCacheResult role = this.getStaffInfo("45687aa479955f9d06204d415238f7cc", "9e37adcce6472152e6508a19d3683e02"); role = this.getStaffInfo("45687aa479955f9d06204d415238f7cc", "7f694a66efe60a47c2114875f310248a"); System.out.println(JSON.toJSONString(role)); + System.out.println(JSON.toJSONString(this.getStaffRoleMap("45687aa479955f9d06204d415238f7cc", "7f694a66efe60a47c2114875f310248a"))); } /** @@ -56,6 +59,14 @@ public class CustomerStaffRedis { return ConvertUtils.mapToEntity(roleMap, CustomerStaffInfoCacheResult.class); } + CustomerStaffInfoCache resultData = reloadStaffCache(staffId, key); + if (resultData == null) return null; + + return ConvertUtils.sourceToTarget(resultData,CustomerStaffInfoCacheResult.class); + } + + @Nullable + private CustomerStaffInfoCache reloadStaffCache(String staffId, String key) { Result staffResult = commonAggFeignClient.getStaffInfo(staffId); if (staffResult == null || !staffResult.success()) { throw new RenException("获取工作人员信息失败"); @@ -68,8 +79,28 @@ public class CustomerStaffRedis { Map map = BeanUtil.beanToMap(resultData, false, true); redisUtils.hMSet(key, map); + return resultData; + } - return ConvertUtils.sourceToTarget(resultData,CustomerStaffInfoCacheResult.class); + /** + * desc: 根据工作人员Id 获取某工作人员信息,如果缓存不存在则查询db返回;缓存默认一天 + * + * @param customerId + * @param staffId + * @return com.epmet.commons.tools.redis.common.bean.CustomerStaffInfoCache + * @author LiuJanJun + * @date 2021/8/19 10:29 下午 + * @remark 此方法仅用于 获取某个工作人员的信息,不用于获取客户下所有工作人员信息 + */ + public Map getStaffRoleMap(String customerId, String staffId) { + String key = RedisKeys.getCustomerStaffInfoKey(customerId, staffId); + Map roleMap = (Map) redisUtils.hGet(key,ROLE_MAP_KEY); + if (!CollectionUtils.isEmpty(roleMap)) { + return roleMap; + } + + reloadStaffCache(staffId, key); + return getStaffRoleMap(customerId,staffId); } /** diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java index afd527d643..67e33d93be 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java @@ -2,6 +2,7 @@ package com.epmet.datareport.service.evaluationindex.screen.impl; import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.DataSourceConstant; @@ -10,7 +11,6 @@ import com.epmet.datareport.dao.evaluationindex.screen.ScreenEventImgDataDao; import com.epmet.datareport.dao.evaluationindex.screen.ScreenProjectCategoryOrgDailyDao; import com.epmet.datareport.dao.evaluationindex.screen.ScreenProjectDataDao; import com.epmet.datareport.service.evaluationindex.screen.ScreenProjectService; -import com.epmet.dto.CustomerAgencyUserRoleDTO; import com.epmet.dto.form.CustomerAgencyUserRoleFormDTO; import com.epmet.dto.form.screen.CategoryAnalysisFormDTO; import com.epmet.dto.form.screen.ColorProjectTotalFormDTO; @@ -56,7 +56,8 @@ public class ScreenProjectServiceImpl implements ScreenProjectService { private ScreenEventImgDataDao screenEventImgDataDao; @Autowired private ScreenProjectDataDao screenProjectDataDao; - + @Autowired + private CustomerStaffRedis staffRedis; @Autowired private ScreenProjectCategoryOrgDailyDao screenProjectCategoryOrgDailyDao; @Autowired @@ -117,14 +118,9 @@ public class ScreenProjectServiceImpl implements ScreenProjectService { CustomerAgencyUserRoleFormDTO userRoleFormDTO = new CustomerAgencyUserRoleFormDTO(); userRoleFormDTO.setCustomerId(formDTO.getCustomerId()); userRoleFormDTO.setStaffId(item.getReportUserId()); - - Result userRoles = userOpenFeignClient.getUserRoles(userRoleFormDTO); - if (userRoles != null && userRoles.success() && userRoles.getData() != null){ - Map roles = userRoles.getData().getRoles(); - - if (!CollectionUtils.isEmpty(roles)){ - item.setReportUserRoleSet(roles.keySet()); - } + Map staffRoleMap = staffRedis.getStaffRoleMap(formDTO.getCustomerId(), item.getReportUserId()); + if (!CollectionUtils.isEmpty(staffRoleMap)){ + item.setReportUserRoleSet(staffRoleMap.keySet()); } } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java index 89c8a2ac36..da36b0d6bb 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java @@ -588,15 +588,6 @@ public interface EpmetUserOpenFeignClient { @PostMapping("/epmetuser/staffpatrol/patroltrack") Result> patrolTrack(@RequestBody PatrolTrackFormDTO formDTO); - /** - * @Description 查询角色 - * @Param formDTO - * @author zxc - * @date 2021/6/15 3:03 下午 - */ - @PostMapping("/epmetuser/staffrole/getroles") - Result getUserRoles(@RequestBody CustomerAgencyUserRoleFormDTO formDTO); - /** * 结束巡查 定时任务 * @author zhaoqifeng diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java index 01b2b63d57..b9f0264618 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java @@ -404,11 +404,6 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "patrolTrack", formDTO); } - @Override - public Result getUserRoles(CustomerAgencyUserRoleFormDTO formDTO) { - return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getUserRoles", formDTO); - } - /** * 结束巡查 定时任务 * diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java index 949c104710..998c3eba7e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java @@ -4,7 +4,6 @@ import cn.hutool.core.collection.CollectionUtil; import com.epmet.commons.mybatis.entity.DataScope; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.dto.CustomerAgencyUserRoleDTO; import com.epmet.dto.GovStaffRoleDTO; import com.epmet.dto.StaffRoleDTO; import com.epmet.dto.form.*; @@ -183,30 +182,6 @@ public class StaffRoleController { return new Result>().ok(staffRoleService.staffGridRole(forms)); } - /** - * @Description 补全缓存 工作人员角色 - * @Param - * @author zxc - * @date 2021/6/15 2:05 下午 - */ - @PostMapping("repairstaffrolecache") - public Result repairStaffRoleCache(){ - staffRoleService.repairStaffRoleCache(); - return new Result(); - } - - /** - * @Description 查询角色 - * @Param formDTO - * @author zxc - * @date 2021/6/15 3:03 下午 - */ - @PostMapping("getroles") - public Result getUserRoles(@RequestBody CustomerAgencyUserRoleFormDTO formDTO){ - ValidatorUtils.validateEntity(formDTO, CustomerAgencyUserRoleFormDTO.CustomerAgencyUserRoleForm.class); - return new Result().ok(staffRoleService.getUserRoles(formDTO)); - } - /** * 根据角色,查询里面的人,去重 * diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/CustomerStaffRedis.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/CustomerStaffRedis.java deleted file mode 100644 index 0fb5b1b369..0000000000 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/CustomerStaffRedis.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Copyright 2018 人人开源 https://www.renren.io - *

- * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - *

- * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - *

- * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.epmet.redis; - -import com.epmet.commons.tools.redis.RedisUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -/** - * 政府工作人员表 - * - * @author generator generator@elink-cn.com - * @since v1.0.0 2020-04-18 - */ -@Component -public class CustomerStaffRedis { - @Autowired - private RedisUtils redisUtils; - - public void delete(Object[] ids) { - - } - - public void set(){ - - } - - public String get(String id){ - return null; - } - -} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/StaffInfoRedis.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/StaffInfoRedis.java deleted file mode 100644 index cf3ae77dda..0000000000 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/StaffInfoRedis.java +++ /dev/null @@ -1,75 +0,0 @@ -/** - * Copyright 2018 人人开源 https://www.renren.io - *

- * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - *

- * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - *

- * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.epmet.redis; - -import cn.hutool.core.bean.BeanUtil; -import com.epmet.commons.tools.redis.RedisKeys; -import com.epmet.commons.tools.redis.RedisUtils; -import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.dto.CustomerStaffInfoDTO; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import java.util.Map; - -import static com.epmet.commons.tools.redis.RedisUtils.NOT_EXPIRE; - -/** - * 工作人员-角色关系表 - * - * @author generator generator@elink-cn.com - * @since v1.0.0 2020-04-22 - */ -@Component -public class StaffInfoRedis { - @Autowired - private RedisUtils redisUtils; - - /** - * @Description 查询工作人员的角色 - * @Param customerId - * @Param userId - * @author zxc - * @date 2021/6/15 3:20 下午 - */ - public CustomerStaffInfoDTO getRole(String customerId, String staffId){ - String key = RedisKeys.getCustomerStaffInfoKey(customerId,staffId); - Map roleMap = redisUtils.hGetAll(key); - boolean empty = roleMap.isEmpty(); - if (!empty){ - CustomerStaffInfoDTO result = ConvertUtils.mapToEntity(roleMap, CustomerStaffInfoDTO.class); - return result; - } - return null; - } - - /** - * @Description 放入缓存角色 - * @Param customerId - * @Param userId - * @Param dto - * @author zxc - * @date 2021/6/15 4:01 下午 - */ - public void setRole(String customerId,String staffId,CustomerStaffInfoDTO dto){ - String key = RedisKeys.getCustomerStaffInfoKey(customerId,staffId); - Map map = BeanUtil.beanToMap(dto, false, true); - redisUtils.hMSet(key, map,NOT_EXPIRE); - } - -} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/StaffRoleRedis.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/StaffRoleRedis.java deleted file mode 100644 index 2086c6c9e2..0000000000 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/StaffRoleRedis.java +++ /dev/null @@ -1,86 +0,0 @@ -/** - * Copyright 2018 人人开源 https://www.renren.io - *

- * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - *

- * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - *

- * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.epmet.redis; - -import cn.hutool.core.bean.BeanUtil; -import com.epmet.commons.tools.redis.RedisUtils; -import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.dto.CustomerAgencyUserRoleDTO; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import java.util.Map; - -import static com.epmet.commons.tools.redis.RedisUtils.NOT_EXPIRE; - -/** - * 工作人员-角色关系表 - * - * @author generator generator@elink-cn.com - * @since v1.0.0 2020-04-22 - */ -@Component -public class StaffRoleRedis { - @Autowired - private RedisUtils redisUtils; - - public void delete(Object[] ids) { - - } - - public void set(){ - - } - - public String get(String id){ - return null; - } - - /** - * @Description 查询工作人员的角色 - * @Param customerId - * @Param userId - * @author zxc - * @date 2021/6/15 3:20 下午 - */ - public CustomerAgencyUserRoleDTO getRole(String customerId, String userId){ - String key = "epmet:staffrole:"+customerId+":"+userId; - Map roleMap = redisUtils.hGetAll(key); - boolean empty = roleMap.isEmpty(); - if (!empty){ - CustomerAgencyUserRoleDTO result = ConvertUtils.mapToEntity(roleMap, CustomerAgencyUserRoleDTO.class); - return result; - } - return null; - } - - /** - * @Description 放入缓存角色 - * @Param customerId - * @Param userId - * @Param dto - * @author zxc - * @date 2021/6/15 4:01 下午 - */ - public void setRole(String customerId,String userId,CustomerAgencyUserRoleDTO dto){ - String key = "epmet:staffrole:"+customerId+":"+userId; - Map map = BeanUtil.beanToMap(dto, false, true); - redisUtils.hMSet(key, map,NOT_EXPIRE); - } - -} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java index 00879f88a4..e8737d7a0c 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java @@ -21,9 +21,11 @@ import com.epmet.commons.mybatis.entity.DataScope; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.Result; -import com.epmet.dto.CustomerAgencyUserRoleDTO; import com.epmet.dto.StaffRoleDTO; -import com.epmet.dto.form.*; +import com.epmet.dto.form.CommonUserFormDTO; +import com.epmet.dto.form.CustomerStaffRoleListFormDTO; +import com.epmet.dto.form.RoleStaffIdFormDTO; +import com.epmet.dto.form.RolesUsersListFormDTO; import com.epmet.dto.result.*; import com.epmet.entity.StaffRoleEntity; @@ -165,22 +167,6 @@ public interface StaffRoleService extends BaseService { */ List staffGridRole(List forms); - /** - * @Description 查询角色 - * @Param formDTO - * @author zxc - * @date 2021/6/15 3:03 下午 - */ - CustomerAgencyUserRoleDTO getUserRoles(CustomerAgencyUserRoleFormDTO formDTO); - - /** - * @Description 补全缓存 工作人员角色 - * @Param - * @author zxc - * @date 2021/6/15 2:05 下午 - */ - void repairStaffRoleCache(); - /** * 根据角色,查询里面的人,去重 * @@ -190,4 +176,4 @@ public interface StaffRoleService extends BaseService { * @date 2021/8/19 11:14 上午 */ Set queryRoleStaffIds(RoleStaffIdFormDTO formDTO); -} \ No newline at end of file +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java index 70962eaaa7..0333550df2 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java @@ -18,7 +18,6 @@ package com.epmet.service.impl; import com.alibaba.fastjson.JSON; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.entity.DataScope; @@ -30,6 +29,7 @@ import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.security.password.PasswordUtils; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.CpUserDetailRedis; @@ -51,14 +51,11 @@ import com.epmet.entity.UserEntity; import com.epmet.feign.AuthFeignClient; import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.feign.OperCrmOpenFeignClient; -import com.epmet.redis.CustomerStaffRedis; -import com.epmet.redis.StaffRoleRedis; import com.epmet.service.CustomerStaffService; import com.epmet.service.GovStaffRoleService; import com.epmet.service.StaffRoleService; import com.epmet.service.UserService; import com.epmet.util.ModuleConstant; -import kotlin.jvm.internal.Lambda; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.LogManager; @@ -83,8 +80,6 @@ import java.util.stream.Collectors; public class CustomerStaffServiceImpl extends BaseServiceImpl implements CustomerStaffService { private Logger logger = LogManager.getLogger(getClass()); @Autowired - private CustomerStaffRedis customerStaffRedis; - @Autowired private GovStaffRoleService govStaffRoleService; @Autowired private UserService userService; @@ -105,7 +100,7 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl page(Map params) { @@ -348,7 +343,7 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl().ok(ConvertUtils.sourceToTarget(staffEntity, CustomerStaffDTO.class)); } @@ -421,7 +416,7 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl implements StaffRoleService { @Autowired - private StaffRoleRedis staffRoleRedis; + private CustomerStaffRedis staffRedis; @Autowired private GovStaffRoleTemplateDao govStaffRoleTemplateDao; @@ -201,67 +202,6 @@ public class StaffRoleServiceImpl extends BaseServiceImpl rolesByDB = baseDao.getRolesByDB(staffId); - if (!CollectionUtils.isEmpty(rolesByDB)) { - CustomerAgencyUserRoleDTO dto = new CustomerAgencyUserRoleDTO(); - dto.setStaffId(rolesByDB.get(NumConstant.ZERO).getStaffId()); - dto.setCustomerId(customerId); - dto.setAgencyId(rolesByDB.get(NumConstant.ZERO).getOrgId()); - Map map = new HashMap(16); - rolesByDB.forEach(l -> { - map.put(l.getRoleKey(), l.getRoleName()); - }); - dto.setRoles(map); - staffRoleRedis.setRole(customerId, staffId, dto); - return dto; - } - } - return null; - } - - /** - * @Description 补全缓存 工作人员角色 - * @Param - * @author zxc - * @date 2021/6/15 2:05 下午 - */ - @Override - public void repairStaffRoleCache() { - // 查询所有工作人员的角色 - List allRoles = baseDao.selectAllUserRoles(); - if (!CollectionUtils.isEmpty(allRoles)){ - // 根据 userId分组【staffId】 - Map> groupByStaff = allRoles.stream().collect(Collectors.groupingBy(RepairStaffRoleCacheResultDTO::getStaffId)); - groupByStaff.forEach((userId,list) -> { - CustomerAgencyUserRoleDTO dto = new CustomerAgencyUserRoleDTO(); - String customerId = list.get(NumConstant.ZERO).getCustomerId(); - dto.setStaffId(list.get(NumConstant.ZERO).getStaffId()); - dto.setCustomerId(customerId); - dto.setAgencyId(list.get(NumConstant.ZERO).getOrgId()); - Map map = new HashMap(16); - list.forEach(l -> { - map.put(l.getRoleKey(), l.getRoleName()); - }); - dto.setRoles(map); - staffRoleRedis.setRole(customerId, userId, dto); - }); - } - } - /** * 根据角色,查询里面的人,去重 * @@ -278,4 +218,4 @@ public class StaffRoleServiceImpl extends BaseServiceImpl Date: Fri, 20 Aug 2021 15:22:03 +0800 Subject: [PATCH 33/53] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/commons/tools/redis/common/CustomerStaffRedis.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java index 3597b8e801..3acbad8a1b 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java @@ -83,7 +83,7 @@ public class CustomerStaffRedis { } /** - * desc: 根据工作人员Id 获取某工作人员信息,如果缓存不存在则查询db返回;缓存默认一天 + * desc: 根据工作人员Id 获取某工作人员角色map信息 * * @param customerId * @param staffId From 6d4fd0918e6807f623692614f74d25a6cd693964 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 20 Aug 2021 15:25:51 +0800 Subject: [PATCH 34/53] =?UTF-8?q?=E4=BF=AE=E6=94=B9redis=20key?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/commons/tools/redis/RedisKeys.java | 2 +- .../epmet/commons/tools/redis/common/CustomerStaffRedis.java | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java index 8f669a3656..c3edf2dcbc 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java @@ -498,6 +498,6 @@ public class RedisKeys { * @return */ public static String getCustomerStaffInfoKey(String customerId, String staffId) { - return rootPrefix.concat(customerId).concat(StrConstant.COLON).concat(staffId); + return rootPrefix.concat("gov:staff").concat(customerId).concat(StrConstant.COLON).concat(staffId); } } diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java index 3acbad8a1b..e8e491a302 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java @@ -14,7 +14,6 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.Nullable; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import java.util.Map; @@ -26,7 +25,6 @@ import java.util.Map; * @since v1.0.0 2020-04-22 */ @Slf4j -@Component public class CustomerStaffRedis { @Autowired private RedisUtils redisUtils; From 5190df40023620ee2d11401de2e06193279a77b8 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 20 Aug 2021 15:29:32 +0800 Subject: [PATCH 35/53] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=97=A0=E7=94=A8?= =?UTF-8?q?=E7=9A=84redis=20=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/redis/GovStaffRoleRedis.java | 47 ------------------- .../java/com/epmet/redis/GridLatestRedis.java | 47 ------------------- .../com/epmet/redis/GridVisitedRedis.java | 47 ------------------- .../java/com/epmet/redis/OperUserRedis.java | 47 ------------------- .../epmet/redis/RegisterRelationRedis.java | 47 ------------------- .../main/java/com/epmet/redis/RoleRedis.java | 47 ------------------- .../com/epmet/redis/UserAdviceImgRedis.java | 47 ------------------- .../java/com/epmet/redis/UserAdviceRedis.java | 47 ------------------- .../com/epmet/redis/UserInvitationRedis.java | 47 ------------------- .../redis/UserResiRegisterVisitRedis.java | 47 ------------------- .../java/com/epmet/redis/UserRoleRedis.java | 47 ------------------- .../service/impl/GovStaffRoleServiceImpl.java | 8 +--- .../service/impl/GridLatestServiceImpl.java | 10 ---- .../service/impl/OperUserServiceImpl.java | 5 +- .../epmet/service/impl/RoleServiceImpl.java | 8 +--- .../impl/UserAdviceImgServiceImpl.java | 7 +-- .../service/impl/UserAdviceServiceImpl.java | 6 --- .../impl/UserInvitationServiceImpl.java | 7 +-- .../UserResiRegisterVisitServiceImpl.java | 9 +--- .../service/impl/UserRoleServiceImpl.java | 3 -- 20 files changed, 7 insertions(+), 573 deletions(-) delete mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/redis/GovStaffRoleRedis.java delete mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/redis/GridLatestRedis.java delete mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/redis/GridVisitedRedis.java delete mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/redis/OperUserRedis.java delete mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/redis/RegisterRelationRedis.java delete mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/redis/RoleRedis.java delete mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserAdviceImgRedis.java delete mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserAdviceRedis.java delete mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserInvitationRedis.java delete mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserResiRegisterVisitRedis.java delete mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserRoleRedis.java diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/GovStaffRoleRedis.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/GovStaffRoleRedis.java deleted file mode 100644 index 2ad77b306a..0000000000 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/GovStaffRoleRedis.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Copyright 2018 人人开源 https://www.renren.io - *

- * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - *

- * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - *

- * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.epmet.redis; - -import com.epmet.commons.tools.redis.RedisUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -/** - * 政府端角色表 - * - * @author generator generator@elink-cn.com - * @since v1.0.0 2020-04-22 - */ -@Component -public class GovStaffRoleRedis { - @Autowired - private RedisUtils redisUtils; - - public void delete(Object[] ids) { - - } - - public void set(){ - - } - - public String get(String id){ - return null; - } - -} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/GridLatestRedis.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/GridLatestRedis.java deleted file mode 100644 index 41bf0cfb49..0000000000 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/GridLatestRedis.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Copyright 2018 人人开源 https://www.renren.io - *

- * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - *

- * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - *

- * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.epmet.redis; - -import com.epmet.commons.tools.redis.RedisUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -/** - * 最近访问网格表 记录用户访问网格的最近一次记录,对同一网格只记录一条记录,同一网格每次只更新最近一次访问的时间 - * - * @author generator generator@elink-cn.com - * @since v1.0.0 2020-03-16 - */ -@Component -public class GridLatestRedis { - @Autowired - private RedisUtils redisUtils; - - public void delete(Object[] ids) { - - } - - public void set(){ - - } - - public String get(String id){ - return null; - } - -} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/GridVisitedRedis.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/GridVisitedRedis.java deleted file mode 100644 index 9316d6f3c7..0000000000 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/GridVisitedRedis.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Copyright 2018 人人开源 https://www.renren.io - *

- * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - *

- * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - *

- * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.epmet.redis; - -import com.epmet.commons.tools.redis.RedisUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -/** - * 网格访问记录表 用户对网格访问的一个记录,只有在访问网格首页时才存储数据,一个用户一天对一个网格的访问只有一条记录 - * - * @author generator generator@elink-cn.com - * @since v1.0.0 2020-03-16 - */ -@Component -public class GridVisitedRedis { - @Autowired - private RedisUtils redisUtils; - - public void delete(Object[] ids) { - - } - - public void set(){ - - } - - public String get(String id){ - return null; - } - -} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/OperUserRedis.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/OperUserRedis.java deleted file mode 100644 index ec0df3ca96..0000000000 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/OperUserRedis.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Copyright 2018 人人开源 https://www.renren.io - *

- * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - *

- * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - *

- * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.epmet.redis; - -import com.epmet.commons.tools.redis.RedisUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -/** - * 运营人员表 - * - * @author generator generator@elink-cn.com - * @since v1.0.0 2020-03-18 - */ -@Component -public class OperUserRedis { - @Autowired - private RedisUtils redisUtils; - - public void delete(Object[] ids) { - - } - - public void set(){ - - } - - public String get(String id){ - return null; - } - -} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/RegisterRelationRedis.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/RegisterRelationRedis.java deleted file mode 100644 index 5a9abca115..0000000000 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/RegisterRelationRedis.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Copyright 2018 人人开源 https://www.renren.io - *

- * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - *

- * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - *

- * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.epmet.redis; - -import com.epmet.commons.tools.redis.RedisUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -/** - * 注册关系表 用于统计客户网格的注册居民数 - * - * @author generator generator@elink-cn.com - * @since v1.0.0 2020-03-30 - */ -@Component -public class RegisterRelationRedis { - @Autowired - private RedisUtils redisUtils; - - public void delete(Object[] ids) { - - } - - public void set(){ - - } - - public String get(String id){ - return null; - } - -} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/RoleRedis.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/RoleRedis.java deleted file mode 100644 index 3af1f8f2ce..0000000000 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/RoleRedis.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Copyright 2018 人人开源 https://www.renren.io - *

- * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - *

- * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - *

- * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.epmet.redis; - -import com.epmet.commons.tools.redis.RedisUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -/** - * 角色表 - * - * @author generator generator@elink-cn.com - * @since v1.0.0 2020-03-30 - */ -@Component -public class RoleRedis { - @Autowired - private RedisUtils redisUtils; - - public void delete(Object[] ids) { - - } - - public void set(){ - - } - - public String get(String id){ - return null; - } - -} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserAdviceImgRedis.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserAdviceImgRedis.java deleted file mode 100644 index 5c409ddb94..0000000000 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserAdviceImgRedis.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Copyright 2018 人人开源 https://www.renren.io - *

- * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - *

- * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - *

- * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.epmet.redis; - -import com.epmet.commons.tools.redis.RedisUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -/** - * 用户建议图片 - * - * @author qu qu@elink-cn.com - * @since v1.0.0 2020-11-04 - */ -@Component -public class UserAdviceImgRedis { - @Autowired - private RedisUtils redisUtils; - - public void delete(Object[] ids) { - - } - - public void set(){ - - } - - public String get(String id){ - return null; - } - -} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserAdviceRedis.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserAdviceRedis.java deleted file mode 100644 index d35e8427b9..0000000000 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserAdviceRedis.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Copyright 2018 人人开源 https://www.renren.io - *

- * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - *

- * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - *

- * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.epmet.redis; - -import com.epmet.commons.tools.redis.RedisUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -/** - * user_advice - * - * @author qu qu@elink-cn.com - * @since v1.0.0 2020-11-06 - */ -@Component -public class UserAdviceRedis { - @Autowired - private RedisUtils redisUtils; - - public void delete(Object[] ids) { - - } - - public void set(){ - - } - - public String get(String id){ - return null; - } - -} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserInvitationRedis.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserInvitationRedis.java deleted file mode 100644 index 766bac411a..0000000000 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserInvitationRedis.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Copyright 2018 人人开源 https://www.renren.io - *

- * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - *

- * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - *

- * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.epmet.redis; - -import com.epmet.commons.tools.redis.RedisUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -/** - * 人员邀请关系表 记录user之间的邀请关系 - * - * @author generator generator@elink-cn.com - * @since v1.0.0 2020-03-30 - */ -@Component -public class UserInvitationRedis { - @Autowired - private RedisUtils redisUtils; - - public void delete(Object[] ids) { - - } - - public void set(){ - - } - - public String get(String id){ - return null; - } - -} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserResiRegisterVisitRedis.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserResiRegisterVisitRedis.java deleted file mode 100644 index 59c492f966..0000000000 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserResiRegisterVisitRedis.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Copyright 2018 人人开源 https://www.renren.io - *

- * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - *

- * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - *

- * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.epmet.redis; - -import com.epmet.commons.tools.redis.RedisUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -/** - * 用户居民端注册访问记录表 - * - * @author generator generator@elink-cn.com - * @since v1.0.0 2020-03-30 - */ -@Component -public class UserResiRegisterVisitRedis { - @Autowired - private RedisUtils redisUtils; - - public void delete(Object[] ids) { - - } - - public void set(){ - - } - - public String get(String id){ - return null; - } - -} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserRoleRedis.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserRoleRedis.java deleted file mode 100644 index ff678b345d..0000000000 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserRoleRedis.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Copyright 2018 人人开源 https://www.renren.io - *

- * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - *

- * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - *

- * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.epmet.redis; - -import com.epmet.commons.tools.redis.RedisUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -/** - * 用户角色关系表 - * - * @author generator generator@elink-cn.com - * @since v1.0.0 2020-03-30 - */ -@Component -public class UserRoleRedis { - @Autowired - private RedisUtils redisUtils; - - public void delete(Object[] ids) { - - } - - public void set(){ - - } - - public String get(String id){ - return null; - } - -} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GovStaffRoleServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GovStaffRoleServiceImpl.java index b359f60058..8dbac5b6b1 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GovStaffRoleServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GovStaffRoleServiceImpl.java @@ -35,7 +35,6 @@ import com.epmet.dto.form.UpGovRoleFormDTO; import com.epmet.dto.result.*; import com.epmet.entity.GovStaffRoleEntity; import com.epmet.feign.GovAccessFeignClient; -import com.epmet.redis.GovStaffRoleRedis; import com.epmet.service.GovStaffRoleService; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; @@ -45,8 +44,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.*; -import java.util.concurrent.ConcurrentHashMap; -import java.util.function.Function; import java.util.stream.Collectors; /** @@ -60,9 +57,6 @@ public class GovStaffRoleServiceImpl extends BaseServiceImpl implements GridLatestService { - private Logger logger = LoggerFactory.getLogger(getClass()); - @Autowired - private GridLatestRedis gridLatestRedis; @Autowired private GridLatestDao gridLatestDao; @Autowired private UserBaseInfoRedis userBaseInfoRedis; @Autowired private UserWechatDao userWechatDao; - @Autowired - private EpmetHeartOpenFeignClient epmetHeartOpenFeignClient; @Override diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/OperUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/OperUserServiceImpl.java index 3d3e0c986e..aba125363b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/OperUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/OperUserServiceImpl.java @@ -32,7 +32,6 @@ import com.epmet.dto.OperUserDTO; import com.epmet.entity.OperUserEntity; import com.epmet.entity.UserEntity; import com.epmet.feign.OperRoleUserFeignClient; -import com.epmet.redis.OperUserRedis; import com.epmet.service.OperUserService; import com.epmet.service.UserService; import org.apache.commons.lang3.StringUtils; @@ -53,8 +52,6 @@ import java.util.Map; @Service public class OperUserServiceImpl extends BaseServiceImpl implements OperUserService { - @Autowired - private OperUserRedis operUserRedis; @Autowired private OperUserDao operUserDao; @Autowired @@ -145,4 +142,4 @@ public class OperUserServiceImpl extends BaseServiceImpl implements RoleService { - - @Autowired - private RoleRedis roleRedis; @Autowired private UserRoleDao userRoleDao; @Autowired @@ -132,4 +128,4 @@ public class RoleServiceImpl extends BaseServiceImpl implem } return list; } -} \ No newline at end of file +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserAdviceImgServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserAdviceImgServiceImpl.java index cc8a164969..16f7ac6089 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserAdviceImgServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserAdviceImgServiceImpl.java @@ -20,16 +20,14 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.dao.UserAdviceImgDao; import com.epmet.dto.UserAdviceImgDTO; import com.epmet.entity.UserAdviceImgEntity; -import com.epmet.redis.UserAdviceImgRedis; import com.epmet.service.UserAdviceImgService; import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -46,9 +44,6 @@ import java.util.Map; @Service public class UserAdviceImgServiceImpl extends BaseServiceImpl implements UserAdviceImgService { - @Autowired - private UserAdviceImgRedis userAdviceImgRedis; - @Override public PageData page(Map params) { IPage page = baseDao.selectPage( diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserAdviceServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserAdviceServiceImpl.java index 9fb3f13947..bdf908849f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserAdviceServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserAdviceServiceImpl.java @@ -37,7 +37,6 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.ScanContentUtils; import com.epmet.constant.UserAdviceConstant; import com.epmet.dao.UserAdviceDao; -import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.CustomerDTO; import com.epmet.dto.CustomerGridDTO; import com.epmet.dto.UserAdviceDTO; @@ -47,7 +46,6 @@ import com.epmet.entity.UserAdviceEntity; import com.epmet.entity.UserAdviceImgEntity; import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.feign.OperCrmOpenFeignClient; -import com.epmet.redis.UserAdviceRedis; import com.epmet.service.UserAdviceImgService; import com.epmet.service.UserAdviceService; import com.epmet.service.UserResiInfoService; @@ -61,8 +59,6 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.text.ParseException; -import java.text.SimpleDateFormat; import java.util.*; /** @@ -75,8 +71,6 @@ import java.util.*; public class UserAdviceServiceImpl extends BaseServiceImpl implements UserAdviceService { private Logger logger = LogManager.getLogger(UserAdviceServiceImpl.class); - @Autowired - private UserAdviceRedis userAdviceRedis; @Autowired private UserAdviceImgService userAdviceImgService; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserInvitationServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserInvitationServiceImpl.java index 30e26b0a98..9655e7ab65 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserInvitationServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserInvitationServiceImpl.java @@ -20,18 +20,16 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.utils.Result; import com.epmet.dao.UserInvitationDao; import com.epmet.dto.UserInvitationDTO; import com.epmet.dto.form.UserInvitationFormDTO; import com.epmet.entity.UserInvitationEntity; -import com.epmet.redis.UserInvitationRedis; import com.epmet.service.UserInvitationService; import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -50,9 +48,6 @@ import java.util.Map; @Service public class UserInvitationServiceImpl extends BaseServiceImpl implements UserInvitationService { - @Autowired - private UserInvitationRedis userInvitationRedis; - @Override public PageData page(Map params) { IPage page = baseDao.selectPage( diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiRegisterVisitServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiRegisterVisitServiceImpl.java index 1182611384..ecab05eaf2 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiRegisterVisitServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiRegisterVisitServiceImpl.java @@ -19,11 +19,8 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.FieldConstant; -import com.epmet.commons.tools.constant.NumConstant; -import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; @@ -34,9 +31,7 @@ import com.epmet.dto.UserResiRegisterVisitDTO; import com.epmet.dto.form.ResiRegisterFormDTO; import com.epmet.dto.form.VerificationCodeFormDTO; import com.epmet.dto.result.ResiRegisterResultDTO; -import com.epmet.entity.UserResiInfoEntity; import com.epmet.entity.UserResiRegisterVisitEntity; -import com.epmet.redis.UserResiRegisterVisitRedis; import com.epmet.service.UserResiRegisterVisitService; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; @@ -61,8 +56,6 @@ public class UserResiRegisterVisitServiceImpl extends BaseServiceImpl implements UserRoleService { - @Autowired - private UserRoleRedis userRoleRedis; @Autowired private RoleService roleService; From 8fdafb62291b99cb91b0381ff57d089f914fd0eb Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 20 Aug 2021 15:33:45 +0800 Subject: [PATCH 36/53] =?UTF-8?q?=E3=80=90=E9=80=9A=E8=AE=AF=E5=BD=95?= =?UTF-8?q?=E3=80=91=E4=BA=BA=E5=91=98=E8=AF=A6=E6=83=85v2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/govorg/form/StaffDetailV2FormDTO.java | 42 ++++++++++++------- .../govorg/result/StaffDetailV2ResultDTO.java | 8 +++- .../govorg/result/StaffOrgNameResultDTO.java | 2 +- .../controller/GovOrgController.java | 2 +- .../dao/epmetuser/CustomerStaffDao.java | 6 +++ .../dao/govorg/CustomerStaffAgencyDao.java | 2 +- .../service/epmetuser/EpmetUserService.java | 8 ++++ .../epmetuser/impl/EpmetUserServiceImpl.java | 23 ++++++++++ .../govorg/impl/GovOrgServiceImpl.java | 21 +++++++++- .../mapper/epmetuser/CustomerStaffDao.xml | 10 +++++ .../mapper/govorg/CustomerAgencyDao.xml | 6 +-- 11 files changed, 107 insertions(+), 23 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/StaffDetailV2FormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/StaffDetailV2FormDTO.java index d38739c346..d568099084 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/StaffDetailV2FormDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/StaffDetailV2FormDTO.java @@ -4,6 +4,8 @@ import lombok.Data; import javax.validation.constraints.NotBlank; import java.io.Serializable; +import java.util.Date; +import java.util.List; /** * @Description 【通讯录】人员详情v2-接口返参 @@ -12,20 +14,32 @@ import java.io.Serializable; @Data public class StaffDetailV2FormDTO implements Serializable { private static final long serialVersionUID = -1974456701949979946L; - @NotBlank(message = "parentAgencyId不能为空",groups = AddUserInternalGroup.class) - private String parentAgencyId; - private String areaCode; - /** - * 社区级:community, - * 乡(镇、街道)级:street, - * 区县级: district, - * 市级: city - * 省级:province - */ - @NotBlank(message = "level不能为空",groups = AddUserInternalGroup.class) - private String level; - public interface AddUserInternalGroup { - } + //工作人员用户id + private String staffId = ""; + //工作人员姓名 + private String name = ""; + //性别 + private String gender = ""; + //手机号 + private String mobile = ""; + //头像 + private String headPhoto = ""; + //激活状态:inactive未激活,active已激活 + private String activeFlag = ""; + //激活时间 + private Date activeTime; + //未禁用enable,已禁用disabled + private String enableFlag = ""; + //fulltime专职parttime兼职 + private String workType = ""; + //人员新增所属组织名【组织-组织,组织-部门,组织-网格】 + private String orgName = ""; + //人员添加类型的Id + private String orgId = ""; + //人员添加时的类型【agency;dept;grid】 + private String orgType = ""; + //职责名称列表 + private List roles; } diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/StaffDetailV2ResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/StaffDetailV2ResultDTO.java index fda8f72636..0813592884 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/StaffDetailV2ResultDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/StaffDetailV2ResultDTO.java @@ -17,8 +17,10 @@ package com.epmet.dataaggre.dto.govorg.result; +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.io.Serializable; @@ -32,8 +34,10 @@ public class StaffDetailV2ResultDTO implements Serializable { private static final long serialVersionUID = 1L; /** - * 树结构对象 + * 工资人员Id */ - private AgencyGridResultDTO agencyGridList; + @NotBlank(message = "人员Id不能为空", groups = StaffDetailV2ResultDTO.Staff.class) + private String staffId; + public interface Staff extends CustomerClientShowGroup {} } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/StaffOrgNameResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/StaffOrgNameResultDTO.java index 703f3be160..5ab2977494 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/StaffOrgNameResultDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/StaffOrgNameResultDTO.java @@ -40,6 +40,6 @@ public class StaffOrgNameResultDTO implements Serializable { //工作人员添加入口Id(agencyId;deptId;gridId) private String orgId = ""; //工作人员添加入口类型(组织:agency;部门:dept;网格:gridId) - private String orgname = ""; + private String orgType = ""; } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java index 7895a8d5e7..3f3020c147 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java @@ -146,7 +146,7 @@ public class GovOrgController { */ @PostMapping("staffdetailv2") public Result staffDetailV2(@RequestBody StaffDetailV2ResultDTO formDTO) { - //ValidatorUtils.validateEntity(formDTO, StaffDetailV2ResultDTO.listGridMemberDatas.class); + ValidatorUtils.validateEntity(formDTO, StaffDetailV2ResultDTO.Staff.class); return new Result().ok(govOrgService.staffDetailV2(formDTO)); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/CustomerStaffDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/CustomerStaffDao.java index f277da4ee1..e06011fe40 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/CustomerStaffDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/CustomerStaffDao.java @@ -58,4 +58,10 @@ public interface CustomerStaffDao extends BaseDao { * @author sun */ List selectStaffList(OrgStaffListFormDTO formDTO); + + /** + * @Description 查询工作人员基础信息 + * @author sun + */ + CustomerStaffDTO selectByStaffId(@Param("staffId") String staffId); } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffAgencyDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffAgencyDao.java index bcae3db264..941f080bf2 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffAgencyDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerStaffAgencyDao.java @@ -59,6 +59,6 @@ public interface CustomerStaffAgencyDao extends BaseDao selectStaffList(String orgId, String orgType); + List selectStaffList(@Param("orgId") String orgId, @Param("orgType") String orgType); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java index 91cc70fefd..28820e015b 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/EpmetUserService.java @@ -1,8 +1,10 @@ package com.epmet.dataaggre.service.epmetuser; +import com.epmet.dataaggre.dto.epmetuser.CustomerStaffDTO; import com.epmet.dataaggre.dto.epmetuser.form.*; import com.epmet.dataaggre.dto.epmetuser.result.*; import com.epmet.dataaggre.dto.govorg.form.OrgStaffListFormDTO; +import com.epmet.dataaggre.dto.govorg.form.StaffDetailV2FormDTO; import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO; import java.util.List; @@ -132,4 +134,10 @@ public interface EpmetUserService { * @author sun */ List getStaffInfoList(OrgStaffListFormDTO formDTO); + + /** + * @Description 查询工作人员基础信息、角色信息 + * @author sun + */ + StaffDetailV2FormDTO selectByStaffId(String staffId); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java index df7cb62151..0aa32a6a8d 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java @@ -18,6 +18,7 @@ import com.epmet.dataaggre.dto.govorg.CustomerAgencyDTO; import com.epmet.dataaggre.dto.govorg.CustomerDepartmentDTO; import com.epmet.dataaggre.dto.govorg.CustomerGridDTO; import com.epmet.dataaggre.dto.govorg.form.OrgStaffListFormDTO; +import com.epmet.dataaggre.dto.govorg.form.StaffDetailV2FormDTO; import com.epmet.dataaggre.dto.govorg.result.GridStaffResultDTO; import com.epmet.dataaggre.dto.govorg.result.StaffOrgNameResultDTO; import com.epmet.dataaggre.entity.epmetuser.CustomerStaffEntity; @@ -577,5 +578,27 @@ public class EpmetUserServiceImpl implements EpmetUserService { return resultList; } + /** + * @Description 查询工作人员基础信息、角色信息 + * @author sun + */ + @Override + public StaffDetailV2FormDTO selectByStaffId(String staffId) { + StaffDetailV2FormDTO result = new StaffDetailV2FormDTO(); + //基本信息 + CustomerStaffDTO dto = customerStaffDao.selectByStaffId(staffId); + if (null == dto) { + return result; + } + //角色信息 + List list = staffRoleDao.selectByStaffId(staffId); + //汇总数据 + result = ConvertUtils.sourceToTarget(dto, StaffDetailV2FormDTO.class); + result.setName(dto.getRealName()); + result.setRoles(list); + + return result; + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index 381ce0a5c6..88afb38539 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -407,7 +407,26 @@ public class GovOrgServiceImpl implements GovOrgService { */ @Override public StaffDetailV2FormDTO staffDetailV2(StaffDetailV2ResultDTO formDTO) { - return null; + //1.查询工作人员基本信息、角色信息 + StaffDetailV2FormDTO result = epmetUserService.selectByStaffId(formDTO.getStaffId()); + if (null == result) { + return new StaffDetailV2FormDTO(); + } + + //2.查询工作人员注册组织关系信息 + List staffIdList = new ArrayList<>(); + staffIdList.add(formDTO.getStaffId()); + List list = customerAgencyDao.selelctStaffOrg(staffIdList); + if (null == list || list.size() < NumConstant.ONE) { + throw new RenException("未查询到工作人员注册组织信息"); + } + + //3.封装数据并返回 + result.setOrgId(list.get(0).getOrgId()); + result.setOrgName(list.get(0).getOrgName()); + result.setOrgType(list.get(0).getOrgType()); + + return result; } /** diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml index 2783476730..6fea2678fe 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml @@ -110,4 +110,14 @@ ) + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml index eda0707461..b96b990b81 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml @@ -76,7 +76,7 @@ ) )orgName, sor.org_id orgId, - 'agency' orgname + 'agency' orgType FROM staff_org_relation sor INNER JOIN customer_agency ca ON sor.org_id = ca.id @@ -103,7 +103,7 @@ ) )orgName, sor.org_id orgId, - 'dept' orgname + 'dept' orgType FROM staff_org_relation sor INNER JOIN customer_department cd ON sor.org_id = cd.id @@ -131,7 +131,7 @@ ) )orgName, sor.org_id orgId, - 'grid' orgname + 'grid' orgType FROM staff_org_relation sor INNER JOIN customer_grid cg ON sor.org_id = cg.id From fb0b753d7ec9f4e02c46f2444bf6044e90fb509b Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 20 Aug 2021 15:42:34 +0800 Subject: [PATCH 37/53] =?UTF-8?q?=E6=9B=B4=E6=AD=A3=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/commons/tools/feign/CommonAggFeignClient.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonAggFeignClient.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonAggFeignClient.java index 7b87579a4d..d9ceb0f3a0 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonAggFeignClient.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonAggFeignClient.java @@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.PostMapping; * @Description * @Author sun */ -@FeignClient(name = ServiceConstant.DATA_AGGREGATOR_SERVER, fallbackFactory = CommonAggFeignClientFallBackFactory.class,url = "http://localhost:8114") +@FeignClient(name = ServiceConstant.DATA_AGGREGATOR_SERVER, fallbackFactory = CommonAggFeignClientFallBackFactory.class) public interface CommonAggFeignClient { /** From 3b159e3c6b3b613d4fa6eec49001538364a0879d Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 20 Aug 2021 15:43:12 +0800 Subject: [PATCH 38/53] =?UTF-8?q?=E3=80=90=E5=8F=91=E9=80=81=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E3=80=91=E6=88=91=E6=94=B6=E5=88=B0=E3=80=81=E6=88=91?= =?UTF-8?q?=E5=8F=91=E9=80=81=E7=BA=A2=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../message/result/InfoRedDotResultDTO.java | 26 +++++++++++++++++++ .../dataaggre/controller/InfoController.java | 13 ++++++++++ .../epmetmessage/EpmetMessageService.java | 9 +++++++ .../impl/EpmetMessageServiceImpl.java | 12 +++++++++ 4 files changed, 60 insertions(+) create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/InfoRedDotResultDTO.java diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/InfoRedDotResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/InfoRedDotResultDTO.java new file mode 100644 index 0000000000..ce159b6a33 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/InfoRedDotResultDTO.java @@ -0,0 +1,26 @@ +package com.epmet.dataaggre.dto.message.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2021/8/20 3:22 下午 + * @DESC + */ +@Data +public class InfoRedDotResultDTO implements Serializable { + + private static final long serialVersionUID = 6417699657069808978L; + + /** + * 我发出的,新回复数量 + */ + private Integer sentNewReplyCount; + + /** + * 我收到的未读的消息数量 + */ + private Integer receivedUnReadCount; +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java index 35078415c2..0b9b807162 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java @@ -10,6 +10,7 @@ import com.epmet.dataaggre.dto.govorg.result.ReceiversResultDTO; import com.epmet.dataaggre.dto.message.form.InfoGroupDetailFormDTO; import com.epmet.dataaggre.dto.message.form.InfoRepliesFormDTO; import com.epmet.dataaggre.dto.message.result.InfoGroupDetailResDTO; +import com.epmet.dataaggre.dto.message.result.InfoRedDotResultDTO; import com.epmet.dataaggre.dto.message.result.InfoReplyResDTO; import com.epmet.dataaggre.dto.message.result.MyInfoGroupResultDTO; import com.epmet.dataaggre.service.epmetmessage.EpmetMessageService; @@ -92,4 +93,16 @@ public class InfoController { ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class); return new Result().ok(epmetMessageService.queryInfoReplies(formDTO)); } + + /** + * @Description 【发送消息】我收到、我发送红点 + * @Param userId + * @author zxc + * @date 2021/8/20 3:38 下午 + */ + @PostMapping("reddot") + public Result redDot(@LoginUser TokenDto tokenDto){ + return new Result().ok(epmetMessageService.redDot(tokenDto.getUserId())); + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/EpmetMessageService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/EpmetMessageService.java index cb48524cfd..43477866a3 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/EpmetMessageService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/EpmetMessageService.java @@ -5,6 +5,7 @@ import com.epmet.dataaggre.dto.govorg.result.ReceiversResultDTO; import com.epmet.dataaggre.dto.message.form.InfoGroupDetailFormDTO; import com.epmet.dataaggre.dto.message.form.InfoRepliesFormDTO; import com.epmet.dataaggre.dto.message.result.InfoGroupDetailResDTO; +import com.epmet.dataaggre.dto.message.result.InfoRedDotResultDTO; import com.epmet.dataaggre.dto.message.result.InfoReplyResDTO; import com.epmet.dataaggre.dto.message.result.MyInfoGroupResultDTO; @@ -53,4 +54,12 @@ public interface EpmetMessageService { * @date 2021/8/20 2:09 下午 */ InfoReplyResDTO queryInfoReplies(InfoRepliesFormDTO formDTO); + + /** + * @Description 【发送消息】我收到、我发送红点 + * @Param userId + * @author zxc + * @date 2021/8/20 3:38 下午 + */ + InfoRedDotResultDTO redDot(String userId); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java index 0e36e842bc..6d1c3ff183 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java @@ -177,6 +177,18 @@ public class EpmetMessageServiceImpl implements EpmetMessageService { return result; } + /** + * @Description 【发送消息】我收到、我发送红点 + * 我发出的查询info_profile限制住created_by=当前用户, sum未读的回复数 + * 我收到的info_receivers,并且未读的 count(distinct info_id) + * @Param userId + * @author zxc + * @date 2021/8/20 3:38 下午 + */ + @Override + public InfoRedDotResultDTO redDot(String userId) { + return null; + } } From 1afe985ce6522b17fe260e0fa2070b5d4dc872a3 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 20 Aug 2021 15:56:43 +0800 Subject: [PATCH 39/53] =?UTF-8?q?=E8=84=9A=E6=9C=AC=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/db/migration/V0.0.6__add_staff_org_relation.sql | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.6__add_staff_org_relation.sql b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.6__add_staff_org_relation.sql index 10070cdb60..02c063107d 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.6__add_staff_org_relation.sql +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.6__add_staff_org_relation.sql @@ -11,8 +11,7 @@ CREATE TABLE `staff_org_relation` ( `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', - PRIMARY KEY (`ID`) USING BTREE, - UNIQUE KEY `staffid_orgid` (`STAFF_ID`,`ORG_ID`) USING BTREE COMMENT '联合主键' + PRIMARY KEY (`ID`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='工作人员注册组织关系表'; INSERT INTO staff_org_relation SELECT From 2a4fae8799ac82be98f4e2dd8efb17981d5379d3 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 20 Aug 2021 15:59:12 +0800 Subject: [PATCH 40/53] =?UTF-8?q?=E8=84=9A=E6=9C=AC=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/db/migration/V0.0.6__add_staff_org_relation.sql | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.6__add_staff_org_relation.sql b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.6__add_staff_org_relation.sql index 02c063107d..c9cb535ea7 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.6__add_staff_org_relation.sql +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.6__add_staff_org_relation.sql @@ -11,7 +11,8 @@ CREATE TABLE `staff_org_relation` ( `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', - PRIMARY KEY (`ID`) USING BTREE + PRIMARY KEY (`ID`) USING BTREE, + KEY `staffid` (`STAFF_ID`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='工作人员注册组织关系表'; INSERT INTO staff_org_relation SELECT From 35902100204e1f6ed0820a7c0080dafd92873af2 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 20 Aug 2021 16:25:14 +0800 Subject: [PATCH 41/53] =?UTF-8?q?info=E8=A1=A8=E7=9A=84content=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=85=A8=E6=96=87=E7=B4=A2=E5=BC=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/db/migration/V0.3.16__add_infocontent_idx.sql | 1 + 1 file changed, 1 insertion(+) create mode 100644 epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.16__add_infocontent_idx.sql diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.16__add_infocontent_idx.sql b/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.16__add_infocontent_idx.sql new file mode 100644 index 0000000000..8290297c71 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.16__add_infocontent_idx.sql @@ -0,0 +1 @@ +alter table info add fulltext index idx_fulltext_infocontent(content); From 87668f180481494a17fdab0667cc202fddcf50ef Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 20 Aug 2021 16:44:58 +0800 Subject: [PATCH 42/53] =?UTF-8?q?=E5=BE=85=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/开发规范/命名规范.txt | 1 + .../commons/tools/dto/result/CustomerStaffInfoCacheResult.java | 1 + .../epmet/commons/tools/redis/common/CustomerStaffRedis.java | 2 ++ 3 files changed, 4 insertions(+) diff --git a/doc/开发规范/命名规范.txt b/doc/开发规范/命名规范.txt index 439096e23c..cae303ba64 100644 --- a/doc/开发规范/命名规范.txt +++ b/doc/开发规范/命名规范.txt @@ -9,6 +9,7 @@ 4、插入:insertXXX 5、删除:deleteXXX 6、获取统计值的方法用 selectCount +索引命名规范 idx_ 普通索引; unq_唯一索引 diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/CustomerStaffInfoCacheResult.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/CustomerStaffInfoCacheResult.java index ef027fc105..d8cf9a8265 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/CustomerStaffInfoCacheResult.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/CustomerStaffInfoCacheResult.java @@ -8,6 +8,7 @@ import java.util.List; import java.util.Map; /** + * desc:工作人员信息结果类 * @Author zxc * @DateTime 2021/6/15 10:00 上午 * @DESC diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java index e8e491a302..3acbad8a1b 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java @@ -14,6 +14,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.Nullable; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import java.util.Map; @@ -25,6 +26,7 @@ import java.util.Map; * @since v1.0.0 2020-04-22 */ @Slf4j +@Component public class CustomerStaffRedis { @Autowired private RedisUtils redisUtils; From 7c3e4c60be169d5ef8170783e428afe383ab44f2 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 20 Aug 2021 17:01:51 +0800 Subject: [PATCH 43/53] =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E8=A1=A5=E7=BC=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/mapper/epmetuser/CustomerStaffDao.xml | 8 ++++---- .../resources/mapper/govorg/CustomerStaffAgencyDao.xml | 4 ++-- .../java/com/epmet/service/impl/StaffServiceImpl.java | 3 ++- .../src/main/resources/mapper/CustomerAgencyDao.xml | 4 ++-- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml index 6fea2678fe..2f1cae9706 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml @@ -68,10 +68,10 @@ sr.staff_id, case when gsr.role_key = - + 'agency_leader' - + 'dept_leader' @@ -92,10 +92,10 @@ ORDER BY gsr.role_key ]]> - + 'agency_leader' - + 'dept_leader' diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffAgencyDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffAgencyDao.xml index d08de26805..29da78941d 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffAgencyDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffAgencyDao.xml @@ -53,7 +53,7 @@ - + SELECT ca.customer_id, ca.id AS "agencyId", @@ -464,7 +464,7 @@ AND ca.del_flag = '0' AND cd.id = #{orgId} - + SELECT ca.customer_id, ca.id AS "agencyId", From 54bc6913ede1bcae727f7b1c89b7aa9efc3ea7fd Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 20 Aug 2021 17:05:16 +0800 Subject: [PATCH 44/53] =?UTF-8?q?=E3=80=90=E5=8F=91=E9=80=81=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E3=80=91=E6=88=91=E6=94=B6=E5=88=B0=E3=80=81=E6=88=91?= =?UTF-8?q?=E5=8F=91=E9=80=81=E7=BA=A2=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../message/result/InfoRedDotResultDTO.java | 5 +++-- .../dao/epmetmessage/InfoReceiversDao.java | 16 ++++++++++++++ .../impl/EpmetMessageServiceImpl.java | 5 ++++- .../mapper/epmetmessage/InfoReceiversDao.xml | 21 +++++++++++++++++++ 4 files changed, 44 insertions(+), 3 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/InfoRedDotResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/InfoRedDotResultDTO.java index ce159b6a33..40f96878c5 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/InfoRedDotResultDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/InfoRedDotResultDTO.java @@ -1,5 +1,6 @@ package com.epmet.dataaggre.dto.message.result; +import com.epmet.commons.tools.constant.NumConstant; import lombok.Data; import java.io.Serializable; @@ -17,10 +18,10 @@ public class InfoRedDotResultDTO implements Serializable { /** * 我发出的,新回复数量 */ - private Integer sentNewReplyCount; + private Integer sentNewReplyCount = NumConstant.ZERO; /** * 我收到的未读的消息数量 */ - private Integer receivedUnReadCount; + private Integer receivedUnReadCount = NumConstant.ZERO; } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetmessage/InfoReceiversDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetmessage/InfoReceiversDao.java index c0d8b4c86d..5d232ffe09 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetmessage/InfoReceiversDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetmessage/InfoReceiversDao.java @@ -90,4 +90,20 @@ public interface InfoReceiversDao extends BaseDao { * @date 2021/8/20 2:31 下午 */ List selectReplyAtt(String replyId); + + /** + * @Description 查询我收到的未读的消息数量 + * @Param userId + * @author zxc + * @date 2021/8/20 4:16 下午 + */ + Integer selectUnReadCount(@Param("userId") String userId); + + /** + * @Description 我发出的,新回复数量 + * @Param userId + * @author zxc + * @date 2021/8/20 4:20 下午 + */ + Integer selectNewReplyCount(@Param("userId") String userId); } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java index 6d1c3ff183..69ebdbb38d 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java @@ -187,7 +187,10 @@ public class EpmetMessageServiceImpl implements EpmetMessageService { */ @Override public InfoRedDotResultDTO redDot(String userId) { - return null; + InfoRedDotResultDTO result = new InfoRedDotResultDTO(); + result.setReceivedUnReadCount(infoReceiversDao.selectUnReadCount(userId)); + result.setSentNewReplyCount(infoReceiversDao.selectNewReplyCount(userId)); + return result; } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoReceiversDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoReceiversDao.xml index 179b3469fd..bd57d3da72 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoReceiversDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoReceiversDao.xml @@ -104,4 +104,25 @@ ORDER BY m.SORT ASC + + + + + + \ No newline at end of file From 2b279651ffe05cd57c8a2e8c09aeb415ae79a528 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 20 Aug 2021 17:18:27 +0800 Subject: [PATCH 45/53] =?UTF-8?q?CustomerStaffRedis=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E4=B8=BA=E9=9D=99=E6=80=81=E6=96=B9=E6=B3=95=20=E6=97=A0?= =?UTF-8?q?=E9=9C=80=E6=B3=A8=E5=85=A5=E7=9B=B4=E6=8E=A5=E4=BD=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/filter/LogMsgSendFilter.java | 2 +- .../redis/common/CustomerStaffRedis.java | 36 +++++++++++-------- .../dataaggre/controller/DemoController.java | 5 ++- .../impl/EpmetMessageServiceImpl.java | 10 +++--- .../epmetuser/impl/EpmetUserServiceImpl.java | 4 +-- .../screen/impl/ScreenProjectServiceImpl.java | 5 ++- .../impl/CustomerStaffServiceImpl.java | 6 ++-- .../service/impl/StaffRoleServiceImpl.java | 9 ----- 8 files changed, 34 insertions(+), 43 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/filter/LogMsgSendFilter.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/filter/LogMsgSendFilter.java index 4a6332f74a..33807f7f08 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/filter/LogMsgSendFilter.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/filter/LogMsgSendFilter.java @@ -205,7 +205,7 @@ public class LogMsgSendFilter extends LevelFilter { } return slashMatcher.start(); } catch (Exception e) { - logger.warn("getCharacterPosition no matche", e); + logger.warn("getCharacterPosition no matche"); return string.length(); } } diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java index 3acbad8a1b..7f005b5eb5 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java @@ -17,6 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; +import javax.annotation.PostConstruct; import java.util.Map; /** @@ -32,14 +33,21 @@ public class CustomerStaffRedis { private RedisUtils redisUtils; @Autowired private CommonAggFeignClient commonAggFeignClient; + + private static CustomerStaffRedis customerStaffRedis; private static final String ROLE_MAP_KEY = "roleMap"; - //@PostConstruct - public void init() { - CustomerStaffInfoCacheResult role = this.getStaffInfo("45687aa479955f9d06204d415238f7cc", "9e37adcce6472152e6508a19d3683e02"); - role = this.getStaffInfo("45687aa479955f9d06204d415238f7cc", "7f694a66efe60a47c2114875f310248a"); + @PostConstruct + public void init(){ + customerStaffRedis = this; + customerStaffRedis.redisUtils = this.redisUtils; + customerStaffRedis.commonAggFeignClient = this.commonAggFeignClient; + } + public static void initTest() { + CustomerStaffInfoCacheResult role = getStaffInfo("45687aa479955f9d06204d415238f7cc", "9e37adcce6472152e6508a19d3683e02"); + role = getStaffInfo("45687aa479955f9d06204d415238f7cc", "7f694a66efe60a47c2114875f310248a"); System.out.println(JSON.toJSONString(role)); - System.out.println(JSON.toJSONString(this.getStaffRoleMap("45687aa479955f9d06204d415238f7cc", "7f694a66efe60a47c2114875f310248a"))); + System.out.println(JSON.toJSONString(getStaffRoleMap("45687aa479955f9d06204d415238f7cc", "7f694a66efe60a47c2114875f310248a"))); } /** @@ -52,9 +60,9 @@ public class CustomerStaffRedis { * @date 2021/8/19 10:29 下午 * @remark 此方法仅用于 获取某个工作人员的信息,不用于获取客户下所有工作人员信息 */ - public CustomerStaffInfoCacheResult getStaffInfo(String customerId, String staffId) { + public static CustomerStaffInfoCacheResult getStaffInfo(String customerId, String staffId) { String key = RedisKeys.getCustomerStaffInfoKey(customerId, staffId); - Map roleMap = redisUtils.hGetAll(key); + Map roleMap = customerStaffRedis.redisUtils.hGetAll(key); if (!CollectionUtils.isEmpty(roleMap)) { return ConvertUtils.mapToEntity(roleMap, CustomerStaffInfoCacheResult.class); } @@ -66,8 +74,8 @@ public class CustomerStaffRedis { } @Nullable - private CustomerStaffInfoCache reloadStaffCache(String staffId, String key) { - Result staffResult = commonAggFeignClient.getStaffInfo(staffId); + private static CustomerStaffInfoCache reloadStaffCache(String staffId, String key) { + Result staffResult = customerStaffRedis.commonAggFeignClient.getStaffInfo(staffId); if (staffResult == null || !staffResult.success()) { throw new RenException("获取工作人员信息失败"); } @@ -78,7 +86,7 @@ public class CustomerStaffRedis { } Map map = BeanUtil.beanToMap(resultData, false, true); - redisUtils.hMSet(key, map); + customerStaffRedis.redisUtils.hMSet(key, map); return resultData; } @@ -92,9 +100,9 @@ public class CustomerStaffRedis { * @date 2021/8/19 10:29 下午 * @remark 此方法仅用于 获取某个工作人员的信息,不用于获取客户下所有工作人员信息 */ - public Map getStaffRoleMap(String customerId, String staffId) { + public static Map getStaffRoleMap(String customerId, String staffId) { String key = RedisKeys.getCustomerStaffInfoKey(customerId, staffId); - Map roleMap = (Map) redisUtils.hGet(key,ROLE_MAP_KEY); + Map roleMap = (Map) customerStaffRedis.redisUtils.hGet(key,ROLE_MAP_KEY); if (!CollectionUtils.isEmpty(roleMap)) { return roleMap; } @@ -112,13 +120,13 @@ public class CustomerStaffRedis { * @author LiuJanJun * @date 2021/8/19 10:39 下午 */ - public boolean delStaffInfoFormCache(String customerId, String staffId) { + public static Boolean delStaffInfoFormCache(String customerId, String staffId) { if (StringUtils.isBlank(customerId) || StringUtils.isBlank(staffId)) { log.warn("delStaffInfoFormCache param is blank,customerId:{},staffId:{}", customerId, staffId); return false; } String key = RedisKeys.getCustomerStaffInfoKey(customerId, staffId); - return redisUtils.delete(key); + return customerStaffRedis.redisUtils.delete(key); } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/DemoController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/DemoController.java index e8fb5e18e3..16d6aa362f 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/DemoController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/DemoController.java @@ -2,7 +2,6 @@ package com.epmet.dataaggre.controller; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.utils.Result; -import com.epmet.commons.tools.utils.SpringContextUtils; import com.epmet.dataaggre.service.DemoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -21,8 +20,8 @@ public class DemoController { demoService.doIt(); - CustomerStaffRedis bean = SpringContextUtils.getBean(CustomerStaffRedis.class); - bean.init(); + //CustomerStaffRedis bean = SpringContextUtils.getBean(CustomerStaffRedis.class); + CustomerStaffRedis.initTest(); return new Result(); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java index 69ebdbb38d..f49f3cfc1f 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java @@ -43,8 +43,6 @@ import java.util.stream.Collectors; public class EpmetMessageServiceImpl implements EpmetMessageService { @Autowired private InfoReceiversDao infoReceiversDao; - @Autowired - private CustomerStaffRedis customerStaffRedis; /** * @param formDTO @@ -75,7 +73,7 @@ public class EpmetMessageServiceImpl implements EpmetMessageService { ReceiverDTO dto = new ReceiverDTO(); dto.setStaffId(item.getStaffId()); dto.setReadFlag(item.getReadFlag()); - CustomerStaffInfoCacheResult staffInfoCache = customerStaffRedis.getStaffInfo(item.getCustomerId(), item.getStaffId()); + CustomerStaffInfoCacheResult staffInfoCache = CustomerStaffRedis.getStaffInfo(item.getCustomerId(), item.getStaffId()); dto.setStaffName(staffInfoCache.getRealName()); dto.setGender(staffInfoCache.getGender()); dto.setHeadPhoto(staffInfoCache.getHeadPhoto()); @@ -105,7 +103,7 @@ public class EpmetMessageServiceImpl implements EpmetMessageService { List staffNameList = new ArrayList<>(); for (String userId : group.getStaffIdList()) { //查询每个工作人员的基本信息,获取姓名 - CustomerStaffInfoCacheResult staffInfoCache = customerStaffRedis.getStaffInfo(customerId, userId); + CustomerStaffInfoCacheResult staffInfoCache = CustomerStaffRedis.getStaffInfo(customerId, userId); if (null != staffInfoCache) { staffNameList.add(staffInfoCache.getRealName()); } @@ -136,7 +134,7 @@ public class EpmetMessageServiceImpl implements EpmetMessageService { if (CollectionUtils.isNotEmpty(staffIds.getList())) { for (String userId : staffIds.getList()) { //查询每个工作人员的基本信息 - CustomerStaffInfoCacheResult staffInfoCache = customerStaffRedis.getStaffInfo(formDTO.getCustomerId(), userId); + CustomerStaffInfoCacheResult staffInfoCache = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), userId); if (null != staffInfoCache) { StaffInfoCommonDTO staffInfo = new StaffInfoCommonDTO(); staffInfo.setStaffId(userId); @@ -167,7 +165,7 @@ public class EpmetMessageServiceImpl implements EpmetMessageService { result.setTotal((int) data.getTotal()); for (InfoReplyDetail detail : data.getList()) { //查询每个工作人员的基本信息 - CustomerStaffInfoCacheResult staffInfoCache = customerStaffRedis.getStaffInfo(formDTO.getCustomerId(), detail.getStaffId()); + CustomerStaffInfoCacheResult staffInfoCache = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), detail.getStaffId()); detail.setStaffName(staffInfoCache.getRealName()); detail.setGender(staffInfoCache.getGender().toString()); detail.setHeadPhoto(StringUtils.isNotBlank(staffInfoCache.getHeadPhoto()) ? staffInfoCache.getHeadPhoto() : StrConstant.EPMETY_STR); diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java index c743821b4e..4fdfd32af6 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java @@ -76,8 +76,6 @@ public class EpmetUserServiceImpl implements EpmetUserService { private GovProjectService govProjectService; @Resource private GovStaffRoleDao govStaffRoleDao; - @Resource - private CustomerStaffRedis customerStaffRedis; /** * @Description 根据UserIds查询 @@ -487,7 +485,7 @@ public class EpmetUserServiceImpl implements EpmetUserService { RoleUsersResultDTO dto = new RoleUsersResultDTO(); dto.setStaffId(item.getStaffId()); //从redis获取用户信息 - CustomerStaffInfoCacheResult staffInfoCache = customerStaffRedis.getStaffInfo(item.getCustomerId(), item.getStaffId()); + CustomerStaffInfoCacheResult staffInfoCache = CustomerStaffRedis.getStaffInfo(item.getCustomerId(), item.getStaffId()); dto.setGender(staffInfoCache.getGender()); dto.setHeadPhoto(staffInfoCache.getHeadPhoto()); dto.setName(staffInfoCache.getRealName()); diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java index 67e33d93be..127f239501 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java @@ -56,8 +56,7 @@ public class ScreenProjectServiceImpl implements ScreenProjectService { private ScreenEventImgDataDao screenEventImgDataDao; @Autowired private ScreenProjectDataDao screenProjectDataDao; - @Autowired - private CustomerStaffRedis staffRedis; + @Autowired private ScreenProjectCategoryOrgDailyDao screenProjectCategoryOrgDailyDao; @Autowired @@ -118,7 +117,7 @@ public class ScreenProjectServiceImpl implements ScreenProjectService { CustomerAgencyUserRoleFormDTO userRoleFormDTO = new CustomerAgencyUserRoleFormDTO(); userRoleFormDTO.setCustomerId(formDTO.getCustomerId()); userRoleFormDTO.setStaffId(item.getReportUserId()); - Map staffRoleMap = staffRedis.getStaffRoleMap(formDTO.getCustomerId(), item.getReportUserId()); + Map staffRoleMap = CustomerStaffRedis.getStaffRoleMap(formDTO.getCustomerId(), item.getReportUserId()); if (!CollectionUtils.isEmpty(staffRoleMap)){ item.setReportUserRoleSet(staffRoleMap.keySet()); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java index 0333550df2..9405f9a4a9 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java @@ -99,8 +99,6 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl page(Map params) { @@ -343,7 +341,7 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl().ok(ConvertUtils.sourceToTarget(staffEntity, CustomerStaffDTO.class)); } @@ -416,7 +414,7 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl implements StaffRoleService { - @Autowired - private CustomerStaffRedis staffRedis; - - @Autowired - private GovStaffRoleTemplateDao govStaffRoleTemplateDao; - @Override public PageData page(Map params) { IPage page = baseDao.selectPage( From bed190232db8f9fd624a16eb774087ef45fa679f Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 20 Aug 2021 17:26:37 +0800 Subject: [PATCH 46/53] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commons/tools/feign/CommonAggFeignClient.java | 2 +- .../tools/redis/common/CustomerStaffRedis.java | 4 +++- .../service/epmetuser/impl/EpmetUserServiceImpl.java | 12 ++++++------ 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonAggFeignClient.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonAggFeignClient.java index d9ceb0f3a0..7b87579a4d 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonAggFeignClient.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonAggFeignClient.java @@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.PostMapping; * @Description * @Author sun */ -@FeignClient(name = ServiceConstant.DATA_AGGREGATOR_SERVER, fallbackFactory = CommonAggFeignClientFallBackFactory.class) +@FeignClient(name = ServiceConstant.DATA_AGGREGATOR_SERVER, fallbackFactory = CommonAggFeignClientFallBackFactory.class,url = "http://localhost:8114") public interface CommonAggFeignClient { /** diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java index 7f005b5eb5..72dd12d1ab 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java @@ -45,7 +45,9 @@ public class CustomerStaffRedis { } public static void initTest() { CustomerStaffInfoCacheResult role = getStaffInfo("45687aa479955f9d06204d415238f7cc", "9e37adcce6472152e6508a19d3683e02"); - role = getStaffInfo("45687aa479955f9d06204d415238f7cc", "7f694a66efe60a47c2114875f310248a"); + role = getStaffInfo("45687aa479955f9d06204d415238f7cc", "e08316376c972b5cb3f085bb39a3680f"); + System.out.println(JSON.toJSONString(role)); + role = getStaffInfo("45687aa479955f9d06204d415238f7cc", "ec524bbbc41d0662cbb36236161005e9"); System.out.println(JSON.toJSONString(role)); System.out.println(JSON.toJSONString(getStaffRoleMap("45687aa479955f9d06204d415238f7cc", "7f694a66efe60a47c2114875f310248a"))); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java index 4fdfd32af6..bc78ba62a5 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java @@ -574,12 +574,12 @@ public class EpmetUserServiceImpl implements EpmetUserService { List idAndNameList = new ArrayList<>(); for (CustomerGridDTO customerGridDTO : list) { IdAndNameDTO grid = new IdAndNameDTO(); - if (isContinueMkName && OrgTypeEnum.GRID.getCode().equals(fromOrgType)&&grid.getId().equals(result.getFromOrgId())){ - showNameBuilder.append(agencyDTO.getOrganizationName()).append(StrConstant.HYPHEN).append(grid.getName()); - } grid.setId(customerGridDTO.getId()); grid.setName(customerGridDTO.getGridName()); idAndNameList.add(grid); + if (isContinueMkName && OrgTypeEnum.GRID.getCode().equals(fromOrgType)&&grid.getId().equals(result.getFromOrgId())){ + showNameBuilder.append(agencyDTO.getOrganizationName()).append(StrConstant.HYPHEN).append(grid.getName()); + } } result.setGridList(idAndNameList); @@ -587,12 +587,12 @@ public class EpmetUserServiceImpl implements EpmetUserService { idAndNameList = new ArrayList<>(); for (CustomerDepartmentDTO org : deptList) { IdAndNameDTO dept = new IdAndNameDTO(); - if (isContinueMkName && OrgTypeEnum.GRID.getCode().equals(fromOrgType)&&dept.getId().equals(result.getFromOrgId())){ - showNameBuilder.append(agencyDTO.getOrganizationName()).append(StrConstant.HYPHEN).append(dept.getName()); - } dept.setId(org.getId()); dept.setName(org.getDepartmentName()); idAndNameList.add(dept); + if (isContinueMkName && OrgTypeEnum.DEPT.getCode().equals(fromOrgType)&&dept.getId().equals(result.getFromOrgId())){ + showNameBuilder.append(agencyDTO.getOrganizationName()).append(StrConstant.HYPHEN).append(dept.getName()); + } } result.setDeptList(idAndNameList); //特殊处理 显示的名字 From f70d397c4206dfd61488ef66f1765d65562d7be2 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 20 Aug 2021 17:28:02 +0800 Subject: [PATCH 47/53] =?UTF-8?q?=E7=BC=93=E5=AD=98key=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/commons/tools/redis/RedisKeys.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java index c3edf2dcbc..fd52f94968 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java @@ -498,6 +498,6 @@ public class RedisKeys { * @return */ public static String getCustomerStaffInfoKey(String customerId, String staffId) { - return rootPrefix.concat("gov:staff").concat(customerId).concat(StrConstant.COLON).concat(staffId); + return rootPrefix.concat("gov:staff:").concat(customerId).concat(StrConstant.COLON).concat(staffId); } } From bdd006f0d26f9a9d09134516f01ffdf975189ba7 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 20 Aug 2021 17:37:45 +0800 Subject: [PATCH 48/53] =?UTF-8?q?=E5=BE=AE=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/commons/tools/redis/common/CustomerStaffRedis.java | 4 +++- .../service/epmetuser/impl/EpmetUserServiceImpl.java | 5 +++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java index 72dd12d1ab..97e545f98f 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java @@ -70,7 +70,9 @@ public class CustomerStaffRedis { } CustomerStaffInfoCache resultData = reloadStaffCache(staffId, key); - if (resultData == null) return null; + if (resultData == null) { + return null; + } return ConvertUtils.sourceToTarget(resultData,CustomerStaffInfoCacheResult.class); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java index bc78ba62a5..3cfb3acf89 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java @@ -537,7 +537,7 @@ public class EpmetUserServiceImpl implements EpmetUserService { CustomerStaffEntity staffEntity = customerStaffDao.selectOne(queryWrapper); CustomerStaffResultDTO result = ConvertUtils.sourceToTarget(staffEntity, CustomerStaffResultDTO.class); - //2.查询工作人员所属组织信息 + //查询工作人员所属组织信息 CustomerAgencyDTO agencyDTO = govOrgService.gridByAgencyId(null,staffId); if (agencyDTO == null){ log.error("getStaffInfo have any agency staffId:{}",staffId); @@ -569,7 +569,7 @@ public class EpmetUserServiceImpl implements EpmetUserService { Map roleMap = roleList.stream().collect(Collectors.toMap(StaffRoleResultDTO::getRoleKey, StaffRoleResultDTO::getRoleName)); result.setRoleMap(roleMap); - //1.查询当前人员所在的网格列表 + //1.查询工作人员所在的网格列表 List list = govOrgService.getStaffGridList(staffId); List idAndNameList = new ArrayList<>(); for (CustomerGridDTO customerGridDTO : list) { @@ -583,6 +583,7 @@ public class EpmetUserServiceImpl implements EpmetUserService { } result.setGridList(idAndNameList); + //查询工作人员所在的部门列表 List deptList = govOrgService.getStaffDeptList(staffId); idAndNameList = new ArrayList<>(); for (CustomerDepartmentDTO org : deptList) { From f67f1ea1f66b40a0d4205a29f83872e80a04cb58 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 20 Aug 2021 17:39:26 +0800 Subject: [PATCH 49/53] =?UTF-8?q?=E5=BE=AE=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../redis/common/CustomerStaffRedis.java | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java index 97e545f98f..831d2f177d 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerStaffRedis.java @@ -38,14 +38,15 @@ public class CustomerStaffRedis { private static final String ROLE_MAP_KEY = "roleMap"; @PostConstruct - public void init(){ + public void init() { customerStaffRedis = this; customerStaffRedis.redisUtils = this.redisUtils; customerStaffRedis.commonAggFeignClient = this.commonAggFeignClient; } + public static void initTest() { CustomerStaffInfoCacheResult role = getStaffInfo("45687aa479955f9d06204d415238f7cc", "9e37adcce6472152e6508a19d3683e02"); - role = getStaffInfo("45687aa479955f9d06204d415238f7cc", "e08316376c972b5cb3f085bb39a3680f"); + role = getStaffInfo("45687aa479955f9d06204d415238f7cc", "e08316376c972b5cb3f085bb39a3680f"); System.out.println(JSON.toJSONString(role)); role = getStaffInfo("45687aa479955f9d06204d415238f7cc", "ec524bbbc41d0662cbb36236161005e9"); System.out.println(JSON.toJSONString(role)); @@ -66,7 +67,7 @@ public class CustomerStaffRedis { String key = RedisKeys.getCustomerStaffInfoKey(customerId, staffId); Map roleMap = customerStaffRedis.redisUtils.hGetAll(key); if (!CollectionUtils.isEmpty(roleMap)) { - return ConvertUtils.mapToEntity(roleMap, CustomerStaffInfoCacheResult.class); + return ConvertUtils.mapToEntity(roleMap, CustomerStaffInfoCacheResult.class); } CustomerStaffInfoCache resultData = reloadStaffCache(staffId, key); @@ -74,7 +75,7 @@ public class CustomerStaffRedis { return null; } - return ConvertUtils.sourceToTarget(resultData,CustomerStaffInfoCacheResult.class); + return ConvertUtils.sourceToTarget(resultData, CustomerStaffInfoCacheResult.class); } @Nullable @@ -99,20 +100,16 @@ public class CustomerStaffRedis { * * @param customerId * @param staffId - * @return com.epmet.commons.tools.redis.common.bean.CustomerStaffInfoCache - * @author LiuJanJun - * @date 2021/8/19 10:29 下午 - * @remark 此方法仅用于 获取某个工作人员的信息,不用于获取客户下所有工作人员信息 */ - public static Map getStaffRoleMap(String customerId, String staffId) { + public static Map getStaffRoleMap(String customerId, String staffId) { String key = RedisKeys.getCustomerStaffInfoKey(customerId, staffId); - Map roleMap = (Map) customerStaffRedis.redisUtils.hGet(key,ROLE_MAP_KEY); + Map roleMap = (Map) customerStaffRedis.redisUtils.hGet(key, ROLE_MAP_KEY); if (!CollectionUtils.isEmpty(roleMap)) { - return roleMap; + return roleMap; } reloadStaffCache(staffId, key); - return getStaffRoleMap(customerId,staffId); + return getStaffRoleMap(customerId, staffId); } /** From 29aee85d01752afb34c9896e8b7daf2db39eecf2 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 20 Aug 2021 17:42:26 +0800 Subject: [PATCH 50/53] =?UTF-8?q?=E5=9C=B0=E5=9D=80=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/commons/tools/feign/CommonAggFeignClient.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonAggFeignClient.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonAggFeignClient.java index 7b87579a4d..d9ceb0f3a0 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonAggFeignClient.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonAggFeignClient.java @@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.PostMapping; * @Description * @Author sun */ -@FeignClient(name = ServiceConstant.DATA_AGGREGATOR_SERVER, fallbackFactory = CommonAggFeignClientFallBackFactory.class,url = "http://localhost:8114") +@FeignClient(name = ServiceConstant.DATA_AGGREGATOR_SERVER, fallbackFactory = CommonAggFeignClientFallBackFactory.class) public interface CommonAggFeignClient { /** From fab731eb5bf0194e47bb9034af1a23b102a04213 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 20 Aug 2021 18:21:02 +0800 Subject: [PATCH 51/53] mysent --- .../dto/message/form/MySentFormDTO.java | 33 ++++++++ .../dto/message/result/MySentResDTO.java | 29 +++++++ .../dataaggre/controller/InfoController.java | 19 +++++ .../dao/epmetmessage/InfoProfileDao.java | 46 +++++++++++ .../epmetmessage/InfoProfileEntity.java | 78 +++++++++++++++++++ .../epmetmessage/EpmetMessageService.java | 12 +++ .../impl/EpmetMessageServiceImpl.java | 17 ++++ .../mapper/epmetmessage/InfoProfileDao.xml | 52 +++++++++++++ .../mapper/epmetmessage/InfoReceiversDao.xml | 4 +- .../V0.3.16__add_infocontent_idx.sql | 3 +- 10 files changed, 290 insertions(+), 3 deletions(-) create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/form/MySentFormDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/MySentResDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetmessage/InfoProfileDao.java create mode 100644 epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmetmessage/InfoProfileEntity.java create mode 100644 epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoProfileDao.xml diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/form/MySentFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/form/MySentFormDTO.java new file mode 100644 index 0000000000..91af2354d2 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/form/MySentFormDTO.java @@ -0,0 +1,33 @@ +package com.epmet.dataaggre.dto.message.form; + +import com.epmet.commons.tools.dto.form.PageFormDTO; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 我发出的消息列表查询 + * @Author yinzuomei + * @Date 2021/8/20 2:58 下午 + */ +@Data +public class MySentFormDTO extends PageFormDTO implements Serializable { + private static final long serialVersionUID = 2007425752362914036L; + + private String content; + + //以下参数从token中获取 + /** + * 当前用户id + */ + @NotBlank(message = "userId不能为空",groups =PageFormDTO.AddUserInternalGroup.class) + private String userId; + + /** + * 当前客户id + */ + @NotBlank(message = "customerId不能为空",groups = PageFormDTO.AddUserInternalGroup.class) + private String customerId; +} + diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/MySentResDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/MySentResDTO.java new file mode 100644 index 0000000000..21a8a7c613 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/MySentResDTO.java @@ -0,0 +1,29 @@ +package com.epmet.dataaggre.dto.message.result; + +import com.epmet.commons.tools.dto.form.FileCommonDTO; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * @Description 我发送的消息列表 + * @Author yinzuomei + * @Date 2021/8/20 3:01 下午 + */ +@Data +public class MySentResDTO implements Serializable { + private static final long serialVersionUID = -6765856639039569052L; + private String infoId; + private String content; + private Date publishTime; + private Integer totalReceiver; + private Integer readTotal; + private String firstAttId; + /** + * 附件列表 列表默认返回一个 + */ + private List attachmentList; +} + diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java index 0b9b807162..bdb94bac56 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java @@ -9,10 +9,12 @@ import com.epmet.dataaggre.dto.govorg.form.ReceiversFormDTO; import com.epmet.dataaggre.dto.govorg.result.ReceiversResultDTO; import com.epmet.dataaggre.dto.message.form.InfoGroupDetailFormDTO; import com.epmet.dataaggre.dto.message.form.InfoRepliesFormDTO; +import com.epmet.dataaggre.dto.message.form.MySentFormDTO; import com.epmet.dataaggre.dto.message.result.InfoGroupDetailResDTO; import com.epmet.dataaggre.dto.message.result.InfoRedDotResultDTO; import com.epmet.dataaggre.dto.message.result.InfoReplyResDTO; import com.epmet.dataaggre.dto.message.result.MyInfoGroupResultDTO; +import com.epmet.dataaggre.dto.message.result.MySentResDTO; import com.epmet.dataaggre.service.epmetmessage.EpmetMessageService; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -105,4 +107,21 @@ public class InfoController { return new Result().ok(epmetMessageService.redDot(tokenDto.getUserId())); } + + /** + * 发送消息-我发送的列表 可根据内容搜索 + * + * @param tokenDto + * @param mySentFormDTO + * @return com.epmet.commons.tools.utils.Result> + * @author yinzuomei + * @date 2021/8/20 3:02 下午 + */ + @PostMapping("sentlist") + public Result> queryMySent(@LoginUser TokenDto tokenDto, @RequestBody MySentFormDTO mySentFormDTO){ + mySentFormDTO.setCustomerId(tokenDto.getCustomerId()); + mySentFormDTO.setUserId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(mySentFormDTO,PageFormDTO.AddUserInternalGroup.class); + return new Result>().ok(epmetMessageService.queryMySent(mySentFormDTO)); + } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetmessage/InfoProfileDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetmessage/InfoProfileDao.java new file mode 100644 index 0000000000..5fa41fede6 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetmessage/InfoProfileDao.java @@ -0,0 +1,46 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dao.epmetmessage; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dataaggre.dto.message.result.MySentResDTO; +import com.epmet.dataaggre.entity.epmetmessage.InfoProfileEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 消息概要表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-08-18 + */ +@Mapper +public interface InfoProfileDao extends BaseDao { + + /** + * 我发出的消息列表 + * + * @param publishStaffId + * @return java.util.List + * @author yinzuomei + * @date 2021/8/20 3:46 下午 + */ + List selectListMySent(@Param("publishStaffId") String publishStaffId,@Param("content") String content); +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmetmessage/InfoProfileEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmetmessage/InfoProfileEntity.java new file mode 100644 index 0000000000..769e95ad69 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmetmessage/InfoProfileEntity.java @@ -0,0 +1,78 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.entity.epmetmessage; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 消息概要表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-08-18 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("info_profile") +public class InfoProfileEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户id + */ + private String customerId; + + /** + * 消息主表的id + */ + private String infoId; + + /** + * 发布人id + */ + private String publishStaffId; + + /** + * 内容概要,取前100字 + */ + private String content; + + /** + * 附件ID,第一个用于展示 + */ + private String firstAttId; + + /** + * 应读人数 + */ + private Integer totalReceiver; + + /** + * 已读人数,插入是为0 + */ + private Integer readTotal; + + /** + * 未读的回复数量:发布人每次查看详情后,置为0;接收人回复一条+1 + */ + private Integer unReadReplyNum; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/EpmetMessageService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/EpmetMessageService.java index 43477866a3..43afe5795c 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/EpmetMessageService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/EpmetMessageService.java @@ -4,10 +4,12 @@ import com.epmet.dataaggre.dto.govorg.form.ReceiversFormDTO; import com.epmet.dataaggre.dto.govorg.result.ReceiversResultDTO; import com.epmet.dataaggre.dto.message.form.InfoGroupDetailFormDTO; import com.epmet.dataaggre.dto.message.form.InfoRepliesFormDTO; +import com.epmet.dataaggre.dto.message.form.MySentFormDTO; import com.epmet.dataaggre.dto.message.result.InfoGroupDetailResDTO; import com.epmet.dataaggre.dto.message.result.InfoRedDotResultDTO; import com.epmet.dataaggre.dto.message.result.InfoReplyResDTO; import com.epmet.dataaggre.dto.message.result.MyInfoGroupResultDTO; +import com.epmet.dataaggre.dto.message.result.MySentResDTO; import java.util.List; @@ -62,4 +64,14 @@ public interface EpmetMessageService { * @date 2021/8/20 3:38 下午 */ InfoRedDotResultDTO redDot(String userId); + + /** + * 发送消息-我发送的列表 可根据内容搜索 + * + * @param mySentFormDTO + * @return java.util.List + * @author yinzuomei + * @date 2021/8/20 3:03 下午 + */ + List queryMySent(MySentFormDTO mySentFormDTO); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java index 6d1c3ff183..0d602e6589 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java @@ -10,12 +10,14 @@ import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.dataaggre.constant.DataSourceConstant; +import com.epmet.dataaggre.dao.epmetmessage.InfoProfileDao; import com.epmet.dataaggre.dao.epmetmessage.InfoReceiversDao; import com.epmet.dataaggre.dto.govorg.ReceiverDTO; import com.epmet.dataaggre.dto.govorg.form.ReceiversFormDTO; import com.epmet.dataaggre.dto.govorg.result.ReceiversResultDTO; import com.epmet.dataaggre.dto.message.form.InfoGroupDetailFormDTO; import com.epmet.dataaggre.dto.message.form.InfoRepliesFormDTO; +import com.epmet.dataaggre.dto.message.form.MySentFormDTO; import com.epmet.dataaggre.dto.message.result.*; import com.epmet.dataaggre.entity.epmetmessage.InfoReceiversEntity; import com.epmet.dataaggre.service.epmetmessage.EpmetMessageService; @@ -45,6 +47,8 @@ public class EpmetMessageServiceImpl implements EpmetMessageService { private InfoReceiversDao infoReceiversDao; @Autowired private CustomerStaffRedis customerStaffRedis; + @Autowired + private InfoProfileDao infoProfileDao; /** * @param formDTO @@ -190,5 +194,18 @@ public class EpmetMessageServiceImpl implements EpmetMessageService { return null; } + /** + * 发送消息-我发送的列表 可根据内容搜索 + * + * @param formDTO + * @return java.util.List + * @author yinzuomei + * @date 2021/8/20 3:03 下午 + */ + @Override + public List queryMySent(MySentFormDTO formDTO) { + PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> infoProfileDao.selectListMySent(formDTO.getUserId(),formDTO.getContent())); + return data.getList(); + } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoProfileDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoProfileDao.xml new file mode 100644 index 0000000000..5b67409a73 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoProfileDao.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoReceiversDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoReceiversDao.xml index 179b3469fd..a97dddcecf 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoReceiversDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoReceiversDao.xml @@ -4,7 +4,7 @@ - + @@ -63,7 +63,7 @@ - + diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.16__add_infocontent_idx.sql b/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.16__add_infocontent_idx.sql index 8290297c71..4e49a38915 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.16__add_infocontent_idx.sql +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.16__add_infocontent_idx.sql @@ -1 +1,2 @@ -alter table info add fulltext index idx_fulltext_infocontent(content); +alter table info add fulltext index idx_fulltext_infocontent(content) WITH PARSER ngram; +drop index idx_fulltext_infocontent on info; From 22aa4100778a0b0478a0c1b0c939ccb47c503ef1 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 20 Aug 2021 19:16:05 +0800 Subject: [PATCH 52/53] myreceived --- .../dto/message/result/MyReceivedResDTO.java | 33 +++++++++++++ .../dataaggre/controller/InfoController.java | 24 ++++++++-- .../dao/epmetmessage/InfoProfileDao.java | 12 +++++ .../epmetmessage/EpmetMessageService.java | 16 +++++-- .../impl/EpmetMessageServiceImpl.java | 15 ++++++ .../mapper/epmetmessage/InfoProfileDao.xml | 47 ++++++++++++++++++- 6 files changed, 135 insertions(+), 12 deletions(-) create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/MyReceivedResDTO.java diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/MyReceivedResDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/MyReceivedResDTO.java new file mode 100644 index 0000000000..236fdd6143 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/MyReceivedResDTO.java @@ -0,0 +1,33 @@ +package com.epmet.dataaggre.dto.message.result; + +import com.epmet.commons.tools.dto.form.FileCommonDTO; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * @Description 我收到的消息列表 + * @Author yinzuomei + * @Date 2021/8/20 6:55 下午 + */ +@Data +public class MyReceivedResDTO implements Serializable { + private static final long serialVersionUID = 2602131254448130443L; + private String infoId; + private String publishStaffName; + private String publishStaffOrgName; + private String headPhoto; + private String content; + private Date publishTime; + /** + * 附件列表 列表默认返回一个 + */ + private List attachmentList; + private Boolean readFlag; + private String publishStaffGender; + + private String firstAttId; +} + diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java index bdb94bac56..4fe3598e1b 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java @@ -10,11 +10,7 @@ import com.epmet.dataaggre.dto.govorg.result.ReceiversResultDTO; import com.epmet.dataaggre.dto.message.form.InfoGroupDetailFormDTO; import com.epmet.dataaggre.dto.message.form.InfoRepliesFormDTO; import com.epmet.dataaggre.dto.message.form.MySentFormDTO; -import com.epmet.dataaggre.dto.message.result.InfoGroupDetailResDTO; -import com.epmet.dataaggre.dto.message.result.InfoRedDotResultDTO; -import com.epmet.dataaggre.dto.message.result.InfoReplyResDTO; -import com.epmet.dataaggre.dto.message.result.MyInfoGroupResultDTO; -import com.epmet.dataaggre.dto.message.result.MySentResDTO; +import com.epmet.dataaggre.dto.message.result.*; import com.epmet.dataaggre.service.epmetmessage.EpmetMessageService; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -124,4 +120,22 @@ public class InfoController { ValidatorUtils.validateEntity(mySentFormDTO,PageFormDTO.AddUserInternalGroup.class); return new Result>().ok(epmetMessageService.queryMySent(mySentFormDTO)); } + + /** + * 发送消息-我收到的列表 + * + * @param tokenDto + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @date 2021/8/20 6:54 下午 + */ + @PostMapping("receivedlist") + public Result> queryMyReceivedList(@LoginUser TokenDto tokenDto, @RequestBody MySentFormDTO formDTO){ + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(formDTO,PageFormDTO.AddUserInternalGroup.class); + return new Result>().ok(epmetMessageService.queryMyReceivedList(formDTO)); + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetmessage/InfoProfileDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetmessage/InfoProfileDao.java index 5fa41fede6..c63b974f3d 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetmessage/InfoProfileDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetmessage/InfoProfileDao.java @@ -18,6 +18,7 @@ package com.epmet.dataaggre.dao.epmetmessage; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dataaggre.dto.message.result.MyReceivedResDTO; import com.epmet.dataaggre.dto.message.result.MySentResDTO; import com.epmet.dataaggre.entity.epmetmessage.InfoProfileEntity; import org.apache.ibatis.annotations.Mapper; @@ -43,4 +44,15 @@ public interface InfoProfileDao extends BaseDao { * @date 2021/8/20 3:46 下午 */ List selectListMySent(@Param("publishStaffId") String publishStaffId,@Param("content") String content); + + /** + * 我收到的消息列表 + * + * @param userId + * @param content + * @return java.util.List + * @author yinzuomei + * @date 2021/8/20 7:01 下午 + */ + List selectListMyReceived(@Param("userId") String userId, @Param("content") String content); } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/EpmetMessageService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/EpmetMessageService.java index 43afe5795c..bab161d78d 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/EpmetMessageService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/EpmetMessageService.java @@ -5,11 +5,7 @@ import com.epmet.dataaggre.dto.govorg.result.ReceiversResultDTO; import com.epmet.dataaggre.dto.message.form.InfoGroupDetailFormDTO; import com.epmet.dataaggre.dto.message.form.InfoRepliesFormDTO; import com.epmet.dataaggre.dto.message.form.MySentFormDTO; -import com.epmet.dataaggre.dto.message.result.InfoGroupDetailResDTO; -import com.epmet.dataaggre.dto.message.result.InfoRedDotResultDTO; -import com.epmet.dataaggre.dto.message.result.InfoReplyResDTO; -import com.epmet.dataaggre.dto.message.result.MyInfoGroupResultDTO; -import com.epmet.dataaggre.dto.message.result.MySentResDTO; +import com.epmet.dataaggre.dto.message.result.*; import java.util.List; @@ -74,4 +70,14 @@ public interface EpmetMessageService { * @date 2021/8/20 3:03 下午 */ List queryMySent(MySentFormDTO mySentFormDTO); + + /** + * 发送消息-我收到的消息列表 可根据内容搜索 + * + * @param formDTO + * @return java.util.List + * @author yinzuomei + * @date 2021/8/20 7:00 下午 + */ + List queryMyReceivedList(MySentFormDTO formDTO); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java index bb7395802a..d31577edd5 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java @@ -209,4 +209,19 @@ public class EpmetMessageServiceImpl implements EpmetMessageService { return data.getList(); } + /** + * 发送消息-我收到的消息列表 可根据内容搜索 + * + * @param formDTO + * @return java.util.List + * @author yinzuomei + * @date 2021/8/20 7:00 下午 + */ + @Override + public List queryMyReceivedList(MySentFormDTO formDTO) { + PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()) + .doSelectPageInfo(() -> infoProfileDao.selectListMyReceived(formDTO.getUserId(),formDTO.getContent())); + return data.getList(); + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoProfileDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoProfileDao.xml index 5b67409a73..3d0b8ab823 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoProfileDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoProfileDao.xml @@ -21,7 +21,7 @@ - select i.id, ip.content, @@ -44,9 +44,52 @@ and i.DEL_FLAG='0' and i.publish_staff_id=#{publishStaffId} - i.content like concat('%',#{content},'%') + i.content like concat('%',trim(#{content}),'%') order by i.CREATED_TIME desc + + + + + + + + + + + + + + + + \ No newline at end of file From dc3d2364663c88abbd529c59aae6a810aae16fd6 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 20 Aug 2021 20:21:45 +0800 Subject: [PATCH 53/53] =?UTF-8?q?=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataaggre/dto/message/form/InfoIdDTO.java | 36 ++++++ .../dto/message/result/InfoDetailResDTO.java | 97 ++++++++++++++++ .../dto/message/result/MyReceivedResDTO.java | 2 + .../dto/message/result/MySentResDTO.java | 2 + .../dataaggre/controller/InfoController.java | 17 +++ .../dao/epmetmessage/InfoProfileDao.java | 14 +++ .../epmetmessage/EpmetMessageService.java | 11 ++ .../impl/EpmetMessageServiceImpl.java | 41 +++++++ .../mapper/epmetmessage/InfoProfileDao.xml | 106 +++++++++++++----- .../mapper/epmetmessage/InfoReceiversDao.xml | 12 +- 10 files changed, 305 insertions(+), 33 deletions(-) create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/form/InfoIdDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/InfoDetailResDTO.java diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/form/InfoIdDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/form/InfoIdDTO.java new file mode 100644 index 0000000000..8df6bd657e --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/form/InfoIdDTO.java @@ -0,0 +1,36 @@ +package com.epmet.dataaggre.dto.message.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 通用dto + * @Author yinzuomei + * @Date 2021/8/20 7:48 下午 + */ +@Data +public class InfoIdDTO implements Serializable { + private static final long serialVersionUID = -3852837936492128925L; + public interface AddUserInternalGroup { + } + + @NotBlank(message = "消息id不能为空",groups = AddUserInternalGroup.class) + private String infoId; + + + //以下参数从token中获取 + /** + * 当前用户id + */ + @NotBlank(message = "userId不能为空",groups = AddUserInternalGroup.class) + private String userId; + + /** + * 当前客户id + */ + @NotBlank(message = "customerId不能为空",groups = AddUserInternalGroup.class) + private String customerId; +} + diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/InfoDetailResDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/InfoDetailResDTO.java new file mode 100644 index 0000000000..d3b9f34c96 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/InfoDetailResDTO.java @@ -0,0 +1,97 @@ +package com.epmet.dataaggre.dto.message.result; + +import com.epmet.commons.tools.dto.form.FileCommonDTO; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * @Description 消息详情 + * @Author yinzuomei + * @Date 2021/8/20 7:49 下午 + */ +@Data +public class InfoDetailResDTO implements Serializable { + private String infoId; + + /** + * 发布人头像 + */ + private String headPhoto; + + /** + * 发布人id + */ + private String publishStaffId; + + /** + * 发布人姓名 + */ + private String publishStaffName; + + /** + * 发布人2级组织名 + */ + private String publishOrgName; + + /** + * 发布人性别 + */ + private String publishStaffGender; + + /** + * 是否本人发布,true:是当前用户发布 + */ + private Boolean isMine; + + /** + * 消息内容完整版 + */ + private String content; + + /** + * 发送时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") + private Date publishTime; + + /** + * 共XX个接收人 + */ + private Integer totalReceiver; + + /** + * 已读的数量 + */ + private Integer readTotal; + + /** + * 未读的数量 + */ + private Integer unReadCount; + + /** + * 第一个接受人的id + */ + //@JsonIgnore + private String firstReceiverStaffId; + + /** + * 第一个接受人的姓名 + */ + private String firstReceiverName; + + /** + * 未读的回复数量 + */ + private Integer unReadReplyNum; + + /** + * 附件列表 + */ + private List attachmentList; +} + diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/MyReceivedResDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/MyReceivedResDTO.java index 236fdd6143..d5a5f5b830 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/MyReceivedResDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/MyReceivedResDTO.java @@ -1,6 +1,7 @@ package com.epmet.dataaggre.dto.message.result; import com.epmet.commons.tools.dto.form.FileCommonDTO; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.io.Serializable; @@ -20,6 +21,7 @@ public class MyReceivedResDTO implements Serializable { private String publishStaffOrgName; private String headPhoto; private String content; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") private Date publishTime; /** * 附件列表 列表默认返回一个 diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/MySentResDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/MySentResDTO.java index 21a8a7c613..dbb72ca045 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/MySentResDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/message/result/MySentResDTO.java @@ -1,6 +1,7 @@ package com.epmet.dataaggre.dto.message.result; import com.epmet.commons.tools.dto.form.FileCommonDTO; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.io.Serializable; @@ -17,6 +18,7 @@ public class MySentResDTO implements Serializable { private static final long serialVersionUID = -6765856639039569052L; private String infoId; private String content; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") private Date publishTime; private Integer totalReceiver; private Integer readTotal; diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java index 4fe3598e1b..0d5cc65eba 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/InfoController.java @@ -8,6 +8,7 @@ import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dataaggre.dto.govorg.form.ReceiversFormDTO; import com.epmet.dataaggre.dto.govorg.result.ReceiversResultDTO; import com.epmet.dataaggre.dto.message.form.InfoGroupDetailFormDTO; +import com.epmet.dataaggre.dto.message.form.InfoIdDTO; import com.epmet.dataaggre.dto.message.form.InfoRepliesFormDTO; import com.epmet.dataaggre.dto.message.form.MySentFormDTO; import com.epmet.dataaggre.dto.message.result.*; @@ -138,4 +139,20 @@ public class InfoController { return new Result>().ok(epmetMessageService.queryMyReceivedList(formDTO)); } + /** + * 消息详情:我收到的,我发送的,通用 + * + * @param tokenDto + * @param infoIdDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @date 2021/8/20 7:57 下午 + */ + @PostMapping("infodetail") + public Result queryInfoDetail(@LoginUser TokenDto tokenDto,@RequestBody InfoIdDTO infoIdDTO){ + infoIdDTO.setCustomerId(tokenDto.getCustomerId()); + infoIdDTO.setUserId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(infoIdDTO,InfoIdDTO.AddUserInternalGroup.class); + return new Result().ok(epmetMessageService.queryInfoDetail(infoIdDTO)); + } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetmessage/InfoProfileDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetmessage/InfoProfileDao.java index c63b974f3d..9dd9eae766 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetmessage/InfoProfileDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetmessage/InfoProfileDao.java @@ -18,6 +18,8 @@ package com.epmet.dataaggre.dao.epmetmessage; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.commons.tools.dto.form.FileCommonDTO; +import com.epmet.dataaggre.dto.message.result.InfoDetailResDTO; import com.epmet.dataaggre.dto.message.result.MyReceivedResDTO; import com.epmet.dataaggre.dto.message.result.MySentResDTO; import com.epmet.dataaggre.entity.epmetmessage.InfoProfileEntity; @@ -55,4 +57,16 @@ public interface InfoProfileDao extends BaseDao { * @date 2021/8/20 7:01 下午 */ List selectListMyReceived(@Param("userId") String userId, @Param("content") String content); + + /** + * 消息详情 + * + * @param infoId + * @return com.epmet.dataaggre.dto.message.result.InfoDetailResDTO + * @author yinzuomei + * @date 2021/8/20 7:58 下午 + */ + InfoDetailResDTO selectInfoDetail(String infoId); + + List selectInfoAtt(String infoId); } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/EpmetMessageService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/EpmetMessageService.java index bab161d78d..09f13e55b7 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/EpmetMessageService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/EpmetMessageService.java @@ -3,6 +3,7 @@ package com.epmet.dataaggre.service.epmetmessage; import com.epmet.dataaggre.dto.govorg.form.ReceiversFormDTO; import com.epmet.dataaggre.dto.govorg.result.ReceiversResultDTO; import com.epmet.dataaggre.dto.message.form.InfoGroupDetailFormDTO; +import com.epmet.dataaggre.dto.message.form.InfoIdDTO; import com.epmet.dataaggre.dto.message.form.InfoRepliesFormDTO; import com.epmet.dataaggre.dto.message.form.MySentFormDTO; import com.epmet.dataaggre.dto.message.result.*; @@ -80,4 +81,14 @@ public interface EpmetMessageService { * @date 2021/8/20 7:00 下午 */ List queryMyReceivedList(MySentFormDTO formDTO); + + /** + * 消息详情:我收到的,我发送的,通用 + * + * @param infoIdDTO + * @return com.epmet.dataaggre.dto.message.result.InfoDetailResDTO + * @author yinzuomei + * @date 2021/8/20 7:57 下午 + */ + InfoDetailResDTO queryInfoDetail(InfoIdDTO infoIdDTO); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java index d31577edd5..df8653357b 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetmessage/impl/EpmetMessageServiceImpl.java @@ -16,6 +16,7 @@ import com.epmet.dataaggre.dto.govorg.ReceiverDTO; import com.epmet.dataaggre.dto.govorg.form.ReceiversFormDTO; import com.epmet.dataaggre.dto.govorg.result.ReceiversResultDTO; import com.epmet.dataaggre.dto.message.form.InfoGroupDetailFormDTO; +import com.epmet.dataaggre.dto.message.form.InfoIdDTO; import com.epmet.dataaggre.dto.message.form.InfoRepliesFormDTO; import com.epmet.dataaggre.dto.message.form.MySentFormDTO; import com.epmet.dataaggre.dto.message.result.*; @@ -221,7 +222,47 @@ public class EpmetMessageServiceImpl implements EpmetMessageService { public List queryMyReceivedList(MySentFormDTO formDTO) { PageInfo data = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()) .doSelectPageInfo(() -> infoProfileDao.selectListMyReceived(formDTO.getUserId(),formDTO.getContent())); + CustomerStaffInfoCacheResult staffInfoCache = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId()); + for(MyReceivedResDTO resDTO: data.getList()){ + resDTO.setHeadPhoto(StringUtils.isNotBlank(staffInfoCache.getHeadPhoto()) ? staffInfoCache.getHeadPhoto() : StrConstant.EPMETY_STR); + resDTO.setPublishStaffGender(String.valueOf(staffInfoCache.getGender())); + resDTO.setPublishStaffOrgName(staffInfoCache.getTwoOrgName()); + resDTO.setPublishStaffName(staffInfoCache.getRealName()); + } return data.getList(); } + /** + * 消息详情:我收到的,我发送的,通用 + * + * @param infoIdDTO + * @return com.epmet.dataaggre.dto.message.result.InfoDetailResDTO + * @author yinzuomei + * @date 2021/8/20 7:57 下午 + */ + @Override + public InfoDetailResDTO queryInfoDetail(InfoIdDTO infoIdDTO) { + InfoDetailResDTO resDTO=infoProfileDao.selectInfoDetail(infoIdDTO.getInfoId()); + if(null!=resDTO){ + if (resDTO.getPublishStaffId().equals(infoIdDTO.getUserId())) { + resDTO.setIsMine(true); + } else { + resDTO.setIsMine(false); + } + resDTO.setAttachmentList(infoProfileDao.selectInfoAtt(infoIdDTO.getInfoId())); + if(StringUtils.isNotBlank(resDTO.getPublishStaffId())){ + CustomerStaffInfoCacheResult publisher = CustomerStaffRedis.getStaffInfo(infoIdDTO.getCustomerId(), resDTO.getPublishStaffId()); + resDTO.setHeadPhoto(StringUtils.isNotBlank(publisher.getHeadPhoto()) ? publisher.getHeadPhoto() : StrConstant.EPMETY_STR); + resDTO.setPublishOrgName(publisher.getTwoOrgName()); + resDTO.setPublishStaffGender(publisher.getGender().toString()); + resDTO.setPublishStaffName(publisher.getRealName()); + } + if(StringUtils.isNotBlank(resDTO.getFirstReceiverStaffId())){ + CustomerStaffInfoCacheResult first = CustomerStaffRedis.getStaffInfo(infoIdDTO.getCustomerId(), resDTO.getFirstReceiverStaffId()); + resDTO.setFirstReceiverName(first.getRealName()); + } + } + return resDTO; + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoProfileDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoProfileDao.xml index 3d0b8ab823..a899fc3372 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoProfileDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoProfileDao.xml @@ -11,12 +11,12 @@ - - - - - - + + + + + + @@ -29,12 +29,16 @@ ip.total_receiver, ip.read_total, ip.first_att_id, - IFNULL(ia.ATTACHMENT_NAME,'') AS name, - IFNULL(ia.ATTACHMENT_FORMAT,'') AS format, - IFNULL(ia.ATTACHMENT_TYPE,'') AS type, - IFNULL(ia.ATTACHMENT_URL,'') AS url, - IFNULL(ia.ATTACHMENT_SIZE,'') AS size, - IFNULL(ia.DURATION,'') AS duration + ia.ATTACHMENT_NAME AS name, + ia.ATTACHMENT_FORMAT AS format, + ia.ATTACHMENT_TYPE AS type, + ia.ATTACHMENT_URL AS url, + (case when ip.first_att_id is null or ip.first_att_id='' then null + else ia.ATTACHMENT_SIZE + end) as size, + (case when ip.first_att_id is null or ip.first_att_id='' then null + else ia.duration + end) as duration from info_profile ip inner join info i on(ip.INFO_ID=i.id) @@ -44,24 +48,24 @@ and i.DEL_FLAG='0' and i.publish_staff_id=#{publishStaffId} - i.content like concat('%',trim(#{content}),'%') + and i.content like concat('%',trim(#{content}),'%') order by i.CREATED_TIME desc - + - + - - - - - - + + + + + + + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoReceiversDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoReceiversDao.xml index 52010a0236..e522a780b2 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoReceiversDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetmessage/InfoReceiversDao.xml @@ -90,11 +90,19 @@