From 6ba1a0381e2192ec549efd3d0230ee427c8ad7c0 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 19 Oct 2021 10:35:27 +0800 Subject: [PATCH 01/16] =?UTF-8?q?=E7=BD=91=E6=A0=BC=E5=91=98=E4=BE=8B?= =?UTF-8?q?=E8=A1=8C=E5=B7=A5=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/GridUserWorkDTO.java | 148 ++++++++++++++++++ .../controller/GridUserWorkController.java | 22 +++ .../java/com/epmet/dao/GridUserWorkDao.java | 33 ++++ .../com/epmet/entity/GridUserWorkEntity.java | 118 ++++++++++++++ .../epmet/service/GridUserWorkService.java | 78 +++++++++ .../service/impl/GridUserWorkServiceImpl.java | 82 ++++++++++ .../main/resources/mapper/GridUserWorkDao.xml | 7 + 7 files changed, 488 insertions(+) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/GridUserWorkDTO.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/controller/GridUserWorkController.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/dao/GridUserWorkDao.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/entity/GridUserWorkEntity.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/GridUserWorkService.java create mode 100644 epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GridUserWorkServiceImpl.java create mode 100644 epmet-user/epmet-user-server/src/main/resources/mapper/GridUserWorkDao.xml diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/GridUserWorkDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/GridUserWorkDTO.java new file mode 100644 index 0000000000..8cb632f6bc --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/GridUserWorkDTO.java @@ -0,0 +1,148 @@ +/** + * 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-10-19 + */ +@Data +public class GridUserWorkDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 客户ID + */ + private String customerId; + + /** + * 网格ID + */ + private String gridId; + + /** + * 网格名称 + */ + private String gridName; + + /** + * 组织名称 + */ + private String orgId; + + /** + * 组织名称 xx社区-xx网格 + */ + private String orgName; + + /** + * PIDS + */ + private String pids; + + /** + * 网格编码 + */ + private String gridCode; + + /** + * 例行工作类型 +01:重点巡查 +0101:出租房巡查 +0102:新增流动人口 +0103:重点场所巡查 +0104:宗教活动 +0199:其他 +02:特殊人群 +0201:刑满释放人员 +0202:社区矫正 +0203:吸毒人员 +0204:信访人员 + */ + private String workType; + + /** + * 例行工作类型名字 + */ + private String workTypeName; + + /** + * 发生日期 格式为“YYYY-MM-DD” + */ + private Date happenTime; + + /** + * 基础信息主键 +出租房巡查、重点场所巡查、刑满释放人员、社区矫正、吸毒人员、信访人员重点青少年和精神障碍者必填 + */ + private String baseInfoId; + + /** + * 有无变动(异常)Y:是、N:否 + */ + private String workResult; + + /** + * 备注说明 + */ + private String workContent; + + /** + * + */ + private Integer delFlag; + + /** + * 乐观锁 + */ + private String revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/GridUserWorkController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/GridUserWorkController.java new file mode 100644 index 0000000000..33eb35bb46 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/GridUserWorkController.java @@ -0,0 +1,22 @@ +package com.epmet.controller; + +import com.epmet.service.GridUserWorkService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * 网格员例行工作 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-10-19 + */ +@RestController +@RequestMapping("griduserwork") +public class GridUserWorkController { + + @Autowired + private GridUserWorkService gridUserWorkService; + + + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/GridUserWorkDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/GridUserWorkDao.java new file mode 100644 index 0000000000..468a6ab5b5 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/GridUserWorkDao.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.GridUserWorkEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 网格员例行工作 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-10-19 + */ +@Mapper +public interface GridUserWorkDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/GridUserWorkEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/GridUserWorkEntity.java new file mode 100644 index 0000000000..81b54fbf02 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/GridUserWorkEntity.java @@ -0,0 +1,118 @@ +/** + * 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-10-19 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("grid_user_work") +public class GridUserWorkEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 网格ID + */ + private String gridId; + + /** + * 网格名称 + */ + private String gridName; + + /** + * 组织名称 + */ + private String orgId; + + /** + * 组织名称 xx社区-xx网格 + */ + private String orgName; + + /** + * PIDS + */ + private String pids; + + /** + * 网格编码 + */ + private String gridCode; + + /** + * 例行工作类型 +01:重点巡查 +0101:出租房巡查 +0102:新增流动人口 +0103:重点场所巡查 +0104:宗教活动 +0199:其他 +02:特殊人群 +0201:刑满释放人员 +0202:社区矫正 +0203:吸毒人员 +0204:信访人员 + */ + private String workType; + + /** + * 例行工作类型名字 + */ + private String workTypeName; + + /** + * 发生日期 格式为“YYYY-MM-DD” + */ + private Date happenTime; + + /** + * 基础信息主键 +出租房巡查、重点场所巡查、刑满释放人员、社区矫正、吸毒人员、信访人员重点青少年和精神障碍者必填 + */ + private String baseInfoId; + + /** + * 有无变动(异常)Y:是、N:否 + */ + private String workResult; + + /** + * 备注说明 + */ + private String workContent; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/GridUserWorkService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/GridUserWorkService.java new file mode 100644 index 0000000000..c5dc23b976 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/GridUserWorkService.java @@ -0,0 +1,78 @@ +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.GridUserWorkDTO; +import com.epmet.entity.GridUserWorkEntity; + +import java.util.List; +import java.util.Map; + +/** + * 网格员例行工作 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-10-19 + */ +public interface GridUserWorkService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2021-10-19 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2021-10-19 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return GridUserWorkDTO + * @author generator + * @date 2021-10-19 + */ + GridUserWorkDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2021-10-19 + */ + void save(GridUserWorkDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2021-10-19 + */ + void update(GridUserWorkDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2021-10-19 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GridUserWorkServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GridUserWorkServiceImpl.java new file mode 100644 index 0000000000..bcaf16f379 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GridUserWorkServiceImpl.java @@ -0,0 +1,82 @@ +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.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.dao.GridUserWorkDao; +import com.epmet.dto.GridUserWorkDTO; +import com.epmet.entity.GridUserWorkEntity; +import com.epmet.service.GridUserWorkService; +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-10-19 + */ +@Service +public class GridUserWorkServiceImpl extends BaseServiceImpl implements GridUserWorkService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, GridUserWorkDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, GridUserWorkDTO.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 GridUserWorkDTO get(String id) { + GridUserWorkEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, GridUserWorkDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(GridUserWorkDTO dto) { + GridUserWorkEntity entity = ConvertUtils.sourceToTarget(dto, GridUserWorkEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(GridUserWorkDTO dto) { + GridUserWorkEntity entity = ConvertUtils.sourceToTarget(dto, GridUserWorkEntity.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-user/epmet-user-server/src/main/resources/mapper/GridUserWorkDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/GridUserWorkDao.xml new file mode 100644 index 0000000000..70467112b6 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/GridUserWorkDao.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file From a905e8c82632cc14c7bf8c68307ad39b362a11e3 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 19 Oct 2021 15:33:19 +0800 Subject: [PATCH 02/16] =?UTF-8?q?=E4=BE=8B=E8=A1=8C=E5=B7=A5=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/GridUserWorkDTO.java | 6 +-- .../epmet/dto/form/GridUserWorkFormDTO.java | 49 +++++++++++++++++++ .../controller/GridUserWorkController.java | 18 ++++++- .../com/epmet/entity/GridUserWorkEntity.java | 6 +-- .../epmet/service/GridUserWorkService.java | 9 ++++ .../service/impl/GridUserWorkServiceImpl.java | 37 ++++++++++++++ 6 files changed, 118 insertions(+), 7 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/GridUserWorkFormDTO.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/GridUserWorkDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/GridUserWorkDTO.java index 8cb632f6bc..78701ffd9a 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/GridUserWorkDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/GridUserWorkDTO.java @@ -54,12 +54,12 @@ public class GridUserWorkDTO implements Serializable { private String gridName; /** - * 组织名称 + * 组织ID */ - private String orgId; + private String parentOrgId; /** - * 组织名称 xx社区-xx网格 + * 组织名称 */ private String orgName; diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/GridUserWorkFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/GridUserWorkFormDTO.java new file mode 100644 index 0000000000..5841f761f4 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/GridUserWorkFormDTO.java @@ -0,0 +1,49 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.Date; + +/** + * @Author zxc + * @DateTime 2021/10/19 10:41 上午 + * @DESC + */ +@Data +public class GridUserWorkFormDTO implements Serializable { + + private static final long serialVersionUID = -2328321123796674558L; + + public interface GridUserWorkForm{} + + @NotBlank(message = "网格ID不能为空",groups = GridUserWorkForm.class) + private String gridId; + + @NotBlank(message = "例行工作类型不能为空",groups = GridUserWorkForm.class) + private String workType; + + @NotBlank(message = "例行工作类型名字不能为空",groups = GridUserWorkForm.class) + private String workTypeName; + + /** + * Y:是、N:否 + */ + @NotBlank(message = "有无变动(异常)不能为空",groups = GridUserWorkForm.class) + private String workResult; + + @NotNull(message = "发生时间不能为空",groups = GridUserWorkForm.class) + private Date happenTime; + + /** + * 备注说明 + */ + private String workContent; + + /** + * 基础信息ID【相关信息】 + */ + private String baseInfoId; +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/GridUserWorkController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/GridUserWorkController.java index 33eb35bb46..2f32331d0f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/GridUserWorkController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/GridUserWorkController.java @@ -1,5 +1,9 @@ package com.epmet.controller; +import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.dto.form.GridUserWorkFormDTO; import com.epmet.service.GridUserWorkService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -17,6 +21,18 @@ public class GridUserWorkController { @Autowired private GridUserWorkService gridUserWorkService; - + /** + * @Description 网格员例行工作 + * @param formDTO + * @author zxc + * @date 2021/10/19 1:35 下午 + */ + @NoRepeatSubmit + @PostMapping("griduserwork") + public Result gridUserWork(@RequestBody GridUserWorkFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO, GridUserWorkFormDTO.GridUserWorkForm.class); + gridUserWorkService.gridUserWork(formDTO); + return new Result(); + } } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/GridUserWorkEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/GridUserWorkEntity.java index 81b54fbf02..25469ff30d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/GridUserWorkEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/GridUserWorkEntity.java @@ -54,12 +54,12 @@ public class GridUserWorkEntity extends BaseEpmetEntity { private String gridName; /** - * 组织名称 + * 组织ID */ - private String orgId; + private String parentOrgId; /** - * 组织名称 xx社区-xx网格 + * 组织名称 */ private String orgName; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/GridUserWorkService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/GridUserWorkService.java index c5dc23b976..8ce3cc5a10 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/GridUserWorkService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/GridUserWorkService.java @@ -3,6 +3,7 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.GridUserWorkDTO; +import com.epmet.dto.form.GridUserWorkFormDTO; import com.epmet.entity.GridUserWorkEntity; import java.util.List; @@ -75,4 +76,12 @@ public interface GridUserWorkService extends BaseService { * @date 2021-10-19 */ void delete(String[] ids); + + /** + * @Description 网格员例行工作 + * @param formDTO + * @author zxc + * @date 2021/10/19 1:35 下午 + */ + void gridUserWork(GridUserWorkFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GridUserWorkServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GridUserWorkServiceImpl.java index bcaf16f379..0a4df06acc 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GridUserWorkServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GridUserWorkServiceImpl.java @@ -3,14 +3,21 @@ 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.exception.RenException; 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.GridUserWorkDao; +import com.epmet.dto.CustomerGridDTO; import com.epmet.dto.GridUserWorkDTO; +import com.epmet.dto.form.CustomerGridFormDTO; +import com.epmet.dto.form.GridUserWorkFormDTO; import com.epmet.entity.GridUserWorkEntity; +import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.service.GridUserWorkService; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -27,6 +34,9 @@ import java.util.Map; @Service public class GridUserWorkServiceImpl extends BaseServiceImpl implements GridUserWorkService { + @Autowired + private GovOrgOpenFeignClient govOrgOpenFeignClient; + @Override public PageData page(Map params) { IPage page = baseDao.selectPage( @@ -79,4 +89,31 @@ public class GridUserWorkServiceImpl extends BaseServiceImpl gridBaseInfoData = govOrgOpenFeignClient.getGridBaseInfoByGridId(gridFormDTO); + if (!gridBaseInfoData.success()){ + throw new RenException("查询网格基本信息失败......"); + } + CustomerGridDTO gridBaseInfo = gridBaseInfoData.getData(); + entity.setGridName(gridBaseInfo.getGridName()); + // 暂时为 哈哈,后期缓存加上 gridCode在修改 + entity.setGridCode("哈哈"); + entity.setCustomerId(gridBaseInfo.getCustomerId()); + entity.setParentOrgId(gridBaseInfo.getPid()); + entity.setOrgName(gridBaseInfo.getAgencyName()); + entity.setPids(gridBaseInfo.getPids()); + baseDao.insert(entity); + } + } \ No newline at end of file From cc103a434cf7c365987da0bf8b5173dc3abefcc1 Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 21 Dec 2021 13:08:40 +0800 Subject: [PATCH 03/16] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E5=AD=97=E5=85=B8?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20=E7=88=B6=E7=BA=A7=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/SysDictDataDTO.java | 2 ++ .../src/main/java/com/epmet/entity/SysDictDataEntity.java | 4 ++++ .../com/epmet/commons/tools/dto/result/DictListResultDTO.java | 1 + 3 files changed, 7 insertions(+) diff --git a/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysDictDataDTO.java b/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysDictDataDTO.java index 344ef25601..6fe61bc0b1 100644 --- a/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysDictDataDTO.java +++ b/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysDictDataDTO.java @@ -42,6 +42,8 @@ public class SysDictDataDTO implements Serializable { private String dictValue; + private String dictPValue; + private String remark; @Min(value = 0, message = "{sort.number}", groups = DefaultGroup.class) diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysDictDataEntity.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysDictDataEntity.java index 16a7b5cad8..588a8debb2 100644 --- a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysDictDataEntity.java +++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysDictDataEntity.java @@ -39,6 +39,10 @@ public class SysDictDataEntity extends BaseEntity { * 字典值 */ private String dictValue; + /** + * 父级字典值 顶级:0 + */ + private String dictPValue; /** * 备注 */ diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/DictListResultDTO.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/DictListResultDTO.java index fe89cf0d24..cc85c39027 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/DictListResultDTO.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/DictListResultDTO.java @@ -14,4 +14,5 @@ public class DictListResultDTO implements Serializable { private static final long serialVersionUID = 8618231166600518980L; private String label; private String value; + private List children; } From 96e9a3cc374a7b31b100fda7349b1faac9072df1 Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 21 Dec 2021 15:03:06 +0800 Subject: [PATCH 04/16] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E5=AD=97=E5=85=B8?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20=E8=8E=B7=E5=8F=96=E6=A0=91=E5=BD=A2?= =?UTF-8?q?=E7=BB=93=E6=9E=84=E7=9A=84=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/controller/SysDictDataController.java | 10 ++++++++++ .../main/java/com/epmet/dao/SysDictDataDao.java | 3 +++ .../com/epmet/service/SysDictDataService.java | 3 +++ .../service/impl/SysDictDataServiceImpl.java | 8 ++++++++ .../main/resources/mapper/SysDictDataDao.xml | 14 ++++++++++++++ .../tools/dto/result/DictTreeResultDTO.java | 17 +++++++++++++++++ 6 files changed, 55 insertions(+) create mode 100644 epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/DictTreeResultDTO.java diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysDictDataController.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysDictDataController.java index aff54e6e09..3c3ac4d344 100644 --- a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysDictDataController.java +++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysDictDataController.java @@ -10,6 +10,7 @@ package com.epmet.controller; import com.epmet.commons.tools.dto.form.DictListFormDTO; import com.epmet.commons.tools.dto.result.DictListResultDTO; +import com.epmet.commons.tools.dto.result.DictTreeResultDTO; import com.epmet.commons.tools.dto.result.OptionResultDTO; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.Result; @@ -150,6 +151,15 @@ public class SysDictDataController { return new Result>().ok(sysDictDataService.dictList(formDTO.getDictType())); } + /** + * @Description 字典数据查询通用接口 + * @Author sun + */ + @PostMapping("dictTree/{dictType}") + public Result> dictListTree(@PathVariable("dictType") String dictType) { + return new Result>().ok(sysDictDataService.dictListTree(dictType)); + } + /** * 字典数据查询通用接口 * @Param dictType diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysDictDataDao.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysDictDataDao.java index 59ee893a89..7ba543b6af 100644 --- a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysDictDataDao.java +++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/SysDictDataDao.java @@ -10,6 +10,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.tools.dto.result.DictListResultDTO; +import com.epmet.commons.tools.dto.result.DictTreeResultDTO; import com.epmet.entity.DictData; import com.epmet.entity.SysDictDataEntity; import org.apache.ibatis.annotations.Mapper; @@ -30,4 +31,6 @@ public interface SysDictDataDao extends BaseDao { List getDictDataList(); List selectDictList(String dictType); + + List selectDictData(String dictType); } diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/SysDictDataService.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/SysDictDataService.java index 9109cfdc86..b49e51fbdc 100644 --- a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/SysDictDataService.java +++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/SysDictDataService.java @@ -10,6 +10,7 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.dto.result.DictListResultDTO; +import com.epmet.commons.tools.dto.result.DictTreeResultDTO; import com.epmet.commons.tools.dto.result.OptionResultDTO; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.SysDictDataDTO; @@ -87,4 +88,6 @@ public interface SysDictDataService extends BaseService { Map dictMap(String dictType); + + List dictListTree(String dictType); } diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/SysDictDataServiceImpl.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/SysDictDataServiceImpl.java index d3c61d6c16..bd042379dd 100644 --- a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/SysDictDataServiceImpl.java +++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/SysDictDataServiceImpl.java @@ -13,9 +13,11 @@ 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.dto.result.DictListResultDTO; +import com.epmet.commons.tools.dto.result.DictTreeResultDTO; import com.epmet.commons.tools.dto.result.OptionResultDTO; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.TreeUtils; import com.epmet.dao.SysDictDataDao; import com.epmet.dto.SysDictDataDTO; import com.epmet.entity.SysDictDataEntity; @@ -217,4 +219,10 @@ public class SysDictDataServiceImpl extends BaseServiceImpl dictListTree(String dictType) { + List resultDTOList = baseDao.selectDictData(dictType); + return TreeUtils.buildTree(resultDTOList); + } + } diff --git a/epmet-admin/epmet-admin-server/src/main/resources/mapper/SysDictDataDao.xml b/epmet-admin/epmet-admin-server/src/main/resources/mapper/SysDictDataDao.xml index 3760e0895a..43f0285788 100644 --- a/epmet-admin/epmet-admin-server/src/main/resources/mapper/SysDictDataDao.xml +++ b/epmet-admin/epmet-admin-server/src/main/resources/mapper/SysDictDataDao.xml @@ -19,5 +19,19 @@ ORDER BY a.sort ASC + diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/DictTreeResultDTO.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/DictTreeResultDTO.java new file mode 100644 index 0000000000..034cecee47 --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/DictTreeResultDTO.java @@ -0,0 +1,17 @@ +package com.epmet.commons.tools.dto.result; + +import com.epmet.commons.tools.utils.TreeStringNode; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 字典数据查询-接口返参 + * @Author sun + */ +@Data +public class DictTreeResultDTO extends TreeStringNode implements Serializable { + private static final long serialVersionUID = 3772355047088964759L; + private String label; + private String value; +} From 0eb3a67001988dbc328665be7c8cea2500045d27 Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 21 Dec 2021 17:15:05 +0800 Subject: [PATCH 05/16] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E5=AD=97=E5=85=B8?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20=E8=8E=B7=E5=8F=96=E6=A0=91=E5=BD=A2?= =?UTF-8?q?=E7=BB=93=E6=9E=84=E7=9A=84=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/SysDictDataDao.xml | 3 +-- .../commons/tools/dto/result/DictTreeResultDTO.java | 9 +++++++-- .../com/epmet/commons/tools/utils/TreeStringNode.java | 1 + 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/epmet-admin/epmet-admin-server/src/main/resources/mapper/SysDictDataDao.xml b/epmet-admin/epmet-admin-server/src/main/resources/mapper/SysDictDataDao.xml index 43f0285788..ff1273d4ae 100644 --- a/epmet-admin/epmet-admin-server/src/main/resources/mapper/SysDictDataDao.xml +++ b/epmet-admin/epmet-admin-server/src/main/resources/mapper/SysDictDataDao.xml @@ -23,8 +23,7 @@ SELECT a.dict_value id, a.dict_p_value pid, - a.dict_label label, - a.dict_value `value` + a.dict_label name FROM sys_dict_data a INNER JOIN sys_dict_type b ON a.dict_type_id = b.id diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/DictTreeResultDTO.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/DictTreeResultDTO.java index 034cecee47..7314d941a8 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/DictTreeResultDTO.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/DictTreeResultDTO.java @@ -1,6 +1,7 @@ package com.epmet.commons.tools.dto.result; import com.epmet.commons.tools.utils.TreeStringNode; +import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import java.io.Serializable; @@ -12,6 +13,10 @@ import java.io.Serializable; @Data public class DictTreeResultDTO extends TreeStringNode implements Serializable { private static final long serialVersionUID = 3772355047088964759L; - private String label; - private String value; + /** + * 上级ID + */ + @JsonIgnore + private String pid; + private String name; } diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/TreeStringNode.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/TreeStringNode.java index 53713e032c..6d87e3bd2c 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/TreeStringNode.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/TreeStringNode.java @@ -8,6 +8,7 @@ package com.epmet.commons.tools.utils; +import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import java.io.Serializable; From 416640b36d1292efc7ffaab257bbc8b34467fcf3 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 22 Dec 2021 09:32:05 +0800 Subject: [PATCH 06/16] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E5=AD=97=E5=85=B8?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20=E8=BF=94=E5=9B=9EpValue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/SysDictDataDao.xml | 3 ++- .../com/epmet/commons/tools/dto/result/DictListResultDTO.java | 3 +++ .../main/java/com/epmet/commons/tools/enums/DictTypeEnum.java | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/epmet-admin/epmet-admin-server/src/main/resources/mapper/SysDictDataDao.xml b/epmet-admin/epmet-admin-server/src/main/resources/mapper/SysDictDataDao.xml index ff1273d4ae..f735716edd 100644 --- a/epmet-admin/epmet-admin-server/src/main/resources/mapper/SysDictDataDao.xml +++ b/epmet-admin/epmet-admin-server/src/main/resources/mapper/SysDictDataDao.xml @@ -10,7 +10,8 @@ SELECT a.dict_label label, - a.dict_value `value`, - a.dict_p_value pValue + a.dict_value `value` FROM sys_dict_data a INNER JOIN sys_dict_type b ON a.dict_type_id = b.id diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/DictListResultDTO.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/DictListResultDTO.java index 6a49a6bf68..cc85c39027 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/DictListResultDTO.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/DictListResultDTO.java @@ -14,6 +14,5 @@ public class DictListResultDTO implements Serializable { private static final long serialVersionUID = 8618231166600518980L; private String label; private String value; - private String pValue; private List children; } From 5efb0bf3e1ad204f785e0d75c1d095532a1ea4c3 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Thu, 23 Dec 2021 14:16:52 +0800 Subject: [PATCH 13/16] =?UTF-8?q?=E7=89=88=E6=9C=AC=E5=8D=87=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data-report-server/deploy/docker-compose-prod.yml | 2 +- epmet-module/data-report/data-report-server/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-module/data-report/data-report-server/deploy/docker-compose-prod.yml b/epmet-module/data-report/data-report-server/deploy/docker-compose-prod.yml index 0f4b2974ec..b883c42d9f 100644 --- a/epmet-module/data-report/data-report-server/deploy/docker-compose-prod.yml +++ b/epmet-module/data-report/data-report-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: data-report-server: container_name: data-report-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/data-report-server:0.3.195 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/data-report-server:0.3.196 ports: - "8108:8108" network_mode: host # 使用现有网络 diff --git a/epmet-module/data-report/data-report-server/pom.xml b/epmet-module/data-report/data-report-server/pom.xml index 84e5f4d96f..6651fb7c7a 100644 --- a/epmet-module/data-report/data-report-server/pom.xml +++ b/epmet-module/data-report/data-report-server/pom.xml @@ -3,7 +3,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - 0.3.195 + 0.3.196 data-report-server From d8b72c3758d84ffc6d91bc96968774c37372fa24 Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 23 Dec 2021 18:18:14 +0800 Subject: [PATCH 14/16] =?UTF-8?q?=E6=8A=8A=E5=AD=97=E5=85=B8=E8=A1=A8?= =?UTF-8?q?=E7=9A=84=E4=B8=A4=E4=B8=AA=E8=A1=A8=E6=94=B9=E6=88=90=E6=88=91?= =?UTF-8?q?=E4=BB=AC=E8=BF=99=E7=A7=8D=E7=BB=93=E6=9E=84=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/SysDictDataDTO.java | 4 ++-- .../java/com/epmet/dto/SysDictTypeDTO.java | 4 ++-- .../com/epmet/entity/SysDictDataEntity.java | 22 +++++------------- .../com/epmet/entity/SysDictTypeEntity.java | 23 ++++++------------- 4 files changed, 17 insertions(+), 36 deletions(-) diff --git a/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysDictDataDTO.java b/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysDictDataDTO.java index 6fe61bc0b1..ae7d66cb9f 100644 --- a/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysDictDataDTO.java +++ b/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysDictDataDTO.java @@ -50,8 +50,8 @@ public class SysDictDataDTO implements Serializable { private Integer sort; @JsonProperty(access = JsonProperty.Access.READ_ONLY) - private Date createDate; + private Date createdDate; @JsonProperty(access = JsonProperty.Access.READ_ONLY) - private Date updateDate; + private Date updatedDate; } diff --git a/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysDictTypeDTO.java b/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysDictTypeDTO.java index 503078e1b5..fba0441161 100644 --- a/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysDictTypeDTO.java +++ b/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysDictTypeDTO.java @@ -47,8 +47,8 @@ public class SysDictTypeDTO implements Serializable { private Integer sort; @JsonProperty(access = JsonProperty.Access.READ_ONLY) - private Date createDate; + private Date createdDate; @JsonProperty(access = JsonProperty.Access.READ_ONLY) - private Date updateDate; + private Date updatedDate; } diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysDictDataEntity.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysDictDataEntity.java index 588a8debb2..b02d4fb4f3 100644 --- a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysDictDataEntity.java +++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysDictDataEntity.java @@ -8,15 +8,13 @@ package com.epmet.entity; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.epmet.commons.mybatis.entity.BaseEntity; +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import lombok.Data; import lombok.EqualsAndHashCode; -import java.util.Date; - /** * 数据字典 * @@ -25,8 +23,10 @@ import java.util.Date; @Data @EqualsAndHashCode(callSuper=false) @TableName("sys_dict_data") -public class SysDictDataEntity extends BaseEntity { +public class SysDictDataEntity extends BaseEpmetEntity { private static final long serialVersionUID = 1L; + @TableId(type = IdType.ID_WORKER_STR) + private String id; /** * 字典类型ID */ @@ -51,14 +51,4 @@ public class SysDictDataEntity extends BaseEntity { * 排序 */ private Integer sort; - /** - * 更新者 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - private Long updater; - /** - * 更新时间 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - private Date updateDate; } diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysDictTypeEntity.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysDictTypeEntity.java index d3e2f68a87..8640c2a7bf 100644 --- a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysDictTypeEntity.java +++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/SysDictTypeEntity.java @@ -8,15 +8,13 @@ package com.epmet.entity; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.epmet.commons.mybatis.entity.BaseEntity; +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import lombok.Data; import lombok.EqualsAndHashCode; -import java.util.Date; - /** * 字典类型 * @@ -25,8 +23,11 @@ import java.util.Date; @Data @EqualsAndHashCode(callSuper=false) @TableName("sys_dict_type") -public class SysDictTypeEntity extends BaseEntity { +public class SysDictTypeEntity extends BaseEpmetEntity { private static final long serialVersionUID = 1L; + + @TableId(type = IdType.ID_WORKER_STR) + private String id; /** * 字典类型 */ @@ -43,14 +44,4 @@ public class SysDictTypeEntity extends BaseEntity { * 排序 */ private Integer sort; - /** - * 更新者 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - private Long updater; - /** - * 更新时间 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - private Date updateDate; } From 4b8a6d36f16f82a1793e7645cdc9ac801634b2a8 Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 23 Dec 2021 18:29:55 +0800 Subject: [PATCH 15/16] =?UTF-8?q?=E6=8A=8A=E5=AD=97=E5=85=B8=E8=A1=A8?= =?UTF-8?q?=E7=9A=84=E4=B8=A4=E4=B8=AA=E8=A1=A8=E6=94=B9=E6=88=90=E6=88=91?= =?UTF-8?q?=E4=BB=AC=E8=BF=99=E7=A7=8D=E7=BB=93=E6=9E=84=E7=9A=842?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/SysDictDataDTO.java | 6 +++--- .../src/main/java/com/epmet/dto/SysDictTypeDTO.java | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysDictDataDTO.java b/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysDictDataDTO.java index ae7d66cb9f..3664870194 100644 --- a/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysDictDataDTO.java +++ b/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysDictDataDTO.java @@ -32,7 +32,7 @@ public class SysDictDataDTO implements Serializable { @Null(message="{id.null}", groups = AddGroup.class) @NotNull(message="{id.require}", groups = UpdateGroup.class) - private Long id; + private String id; @NotNull(message="{sysdict.type.require}", groups = DefaultGroup.class) private Long dictTypeId; @@ -50,8 +50,8 @@ public class SysDictDataDTO implements Serializable { private Integer sort; @JsonProperty(access = JsonProperty.Access.READ_ONLY) - private Date createdDate; + private Date createdTime; @JsonProperty(access = JsonProperty.Access.READ_ONLY) - private Date updatedDate; + private Date updatedTime; } diff --git a/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysDictTypeDTO.java b/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysDictTypeDTO.java index fba0441161..4fd3c654f4 100644 --- a/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysDictTypeDTO.java +++ b/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysDictTypeDTO.java @@ -33,7 +33,7 @@ public class SysDictTypeDTO implements Serializable { @Null(message="{id.null}", groups = AddGroup.class) @NotNull(message="{id.require}", groups = UpdateGroup.class) - private Long id; + private String id; @NotBlank(message="{sysdict.type.require}", groups = DefaultGroup.class) private String dictType; @@ -47,8 +47,8 @@ public class SysDictTypeDTO implements Serializable { private Integer sort; @JsonProperty(access = JsonProperty.Access.READ_ONLY) - private Date createdDate; + private Date createdTime; @JsonProperty(access = JsonProperty.Access.READ_ONLY) - private Date updatedDate; + private Date updatedTime; } From 87c2ed4945c64bb2c1a44692a1c9012ab9f3c98a Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Fri, 24 Dec 2021 16:18:03 +0800 Subject: [PATCH 16/16] =?UTF-8?q?=E8=A7=A3=E9=99=A4=E5=AF=B9=E6=98=93?= =?UTF-8?q?=E8=81=94=E4=BA=91=E7=9A=84=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constants/ConsomerGroupConstants.java | 11 +- .../rocketmq/constants/TopicConstants.java | 10 + .../service/impl/ActLiveRecServiceImpl.java | 22 +- .../impl/VolunteerInfoServiceImpl.java | 18 +- .../service/impl/WorkActServiceImpl.java | 46 ++-- .../com/epmet/constant/SystemMessageType.java | 45 ++++ .../com/epmet/dto/form/SystemMsgFormDTO.java | 4 +- .../impl/SystemMessageServiceImpl.java | 15 ++ .../epmet-point/epmet-point-server/pom.xml | 16 ++ .../epmet/mq/RocketMQConsumerRegister.java | 27 ++ .../com/epmet/mq/listener/PointListener.java | 236 ++++++++++++++++++ .../src/main/resources/bootstrap.yml | 4 + .../GroupMemeberOperationServiceImpl.java | 31 ++- .../impl/ResiGroupMemberServiceImpl.java | 23 +- .../impl/ResiTopicCommentServiceImpl.java | 27 +- .../service/impl/ResiTopicServiceImpl.java | 97 ++++--- .../service/impl/TopicDraftServiceImpl.java | 18 +- 17 files changed, 566 insertions(+), 84 deletions(-) create mode 100644 epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java create mode 100644 epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/mq/listener/PointListener.java diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java index 400eca1d51..67bfc91273 100644 --- a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java +++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java @@ -41,10 +41,19 @@ public interface ConsomerGroupConstants { */ String PROJECT_OPERATION_LOG_GROUP = "project_operation_log_group"; /** - * 积分操作消费组 + * 积分操作日志消费组 */ String POINT_OPERATION_LOG_GROUP = "point_operation_log_group"; + /** + * 爱心互助积分操作消费组 + */ + String EPMET_HEART_POINT_OPERATION_GROUP = "epmet_heart_point_operation_group"; + /** + * 楼院小组积分操作消费组 + */ + String RESI_GROUP_POINT_OPERATION_GROUP = "resi_group_point_operation_group"; + /** * 开放的对接数据(中间库) 组织变更事件监听器分组 */ diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java index e11400fef3..bf0c23abab 100644 --- a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java +++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java @@ -58,4 +58,14 @@ public interface TopicConstants { * 需求完成,如果服务方是区域化党建单位,重新计算这个单位的满意度 */ String CAL_PARTY_UNIT_SATISFACTION = "cal_party_unit_satisfaction"; + + /** + * 爱心互助 + */ + String EPMET_HEART = "epmet_heart"; + + /** + * 楼院小组 + */ + String RESI_GROUP = "resi_group"; } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActLiveRecServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActLiveRecServiceImpl.java index c745c98192..3c7d9a6647 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActLiveRecServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActLiveRecServiceImpl.java @@ -36,16 +36,19 @@ import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.ScanContentUtils; import com.epmet.commons.tools.utils.SendMqMsgUtils; +import com.epmet.constant.SystemMessageType; import com.epmet.dao.ActLivePicDao; import com.epmet.dao.ActLiveRecDao; import com.epmet.dto.ActInfoDTO; import com.epmet.dto.ActLivePicDTO; import com.epmet.dto.ActLiveRecDTO; +import com.epmet.dto.form.SystemMsgFormDTO; import com.epmet.dto.form.resi.ResiActInsertLiveFormDTO; import com.epmet.dto.result.UserBaseInfoResultDTO; import com.epmet.dto.result.resi.ResiActLiveRecResultDTO; import com.epmet.entity.ActLivePicEntity; import com.epmet.entity.ActLiveRecEntity; +import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.redis.ActLiveRecRedis; import com.epmet.service.ActInfoService; @@ -80,6 +83,9 @@ public class ActLiveRecServiceImpl extends BaseServiceImpl actPointEventMsgList=new ArrayList<>(); BasePointEventMsg actPointEventMsg=new BasePointEventMsg(); actPointEventMsg.setCustomerId(formDTO.getCustomerId()); @@ -242,8 +248,14 @@ public class ActLiveRecServiceImpl extends BaseServiceImpl actPointEventMsgList=new ArrayList<>(); BasePointEventMsg actPointEventMsg=new BasePointEventMsg(); actPointEventMsg.setCustomerId(formDTO.getCustomerId()); @@ -143,8 +145,14 @@ public class VolunteerInfoServiceImpl extends BaseServiceImpl basePointEventMsgArrayList=new ArrayList<>(); for(ActUserRelationEntity actUserRelationEntity:actUserRelationEntityList){ BasePointEventMsg basePointEventMsg=new BasePointEventMsg(); @@ -937,15 +935,22 @@ public class WorkActServiceImpl implements WorkActService { basePointEventMsg.setOperatorId(loginUserUtil.getLoginUserId()); basePointEventMsgArrayList.add(basePointEventMsg); } - mqBaseMsgDTO.setMsg(JSON.toJSONString(basePointEventMsgArrayList)); - Result result=SendMqMsgUtils.sendMsg(mqBaseMsgDTO); + //mqBaseMsgDTO.setMsg(JSON.toJSONString(basePointEventMsgArrayList)); + //Result result=SendMqMsgUtils.sendMsg(mqBaseMsgDTO); + + SystemMsgFormDTO systemMsgFormDTO = new SystemMsgFormDTO(); + systemMsgFormDTO.setMessageType(SystemMessageType.ACTIVE_SEND_POINT); + systemMsgFormDTO.setContent(basePointEventMsgArrayList); + + Result result = epmetMessageOpenFeignClient.sendSystemMsgByMQ(systemMsgFormDTO); + ActGrantPointLogEntity actGrantPointLogEntity=new ActGrantPointLogEntity(); actGrantPointLogEntity.setActId(actInfoDTO.getId()); actGrantPointLogEntity.setCustomerId(actInfoDTO.getCustomerId()); actGrantPointLogEntity.setOperatorId(loginUserUtil.getLoginUserId()); actGrantPointLogEntity.setRemark(remark); actGrantPointLogEntity.setReward(actInfoDTO.getReward()); - actGrantPointLogEntity.setSendMsg(JSON.toJSONString(mqBaseMsgDTO)); + actGrantPointLogEntity.setSendMsg(JSON.toJSONString(systemMsgFormDTO)); actGrantPointLogEntity.setResponseMsg(JSON.toJSONString(result)); actGrantPointLogDao.insert(actGrantPointLogEntity); if(!result.success()){ @@ -958,11 +963,11 @@ public class WorkActServiceImpl implements WorkActService { //查询当前用户所属组织信息 Result userResult = govOrgOpenFeignClient.getAgencyByStaff(loginUserUtil.getLoginUserId()); String opAgencyId = userResult.getData().getId(); - MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO(); + //MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO(); //mq的事件类型 - mqBaseMsgDTO.setEventClass(EventEnum.ACTIVE_SEND_POINT.getEventClass()); + //mqBaseMsgDTO.setEventClass(EventEnum.ACTIVE_SEND_POINT.getEventClass()); //事件code - mqBaseMsgDTO.setEventTag(EventEnum.ACTIVE_SEND_POINT.getEventTag()); + //mqBaseMsgDTO.setEventTag(EventEnum.ACTIVE_SEND_POINT.getEventTag()); List basePointEventMsgArrayList = new ArrayList<>(); BasePointEventMsg basePointEventMsg = new BasePointEventMsg(); basePointEventMsg.setOpAgencyId(opAgencyId); @@ -976,9 +981,16 @@ public class WorkActServiceImpl implements WorkActService { basePointEventMsg.setSourceId(formDTO.getSourceId()); basePointEventMsg.setOperatorId(loginUserUtil.getLoginUserId()); basePointEventMsgArrayList.add(basePointEventMsg); - mqBaseMsgDTO.setMsg(JSON.toJSONString(basePointEventMsgArrayList)); - logger.info("发送消息入参:"+JSON.toJSON(mqBaseMsgDTO)); - Result result = SendMqMsgUtils.sendMsg(mqBaseMsgDTO); + //mqBaseMsgDTO.setMsg(JSON.toJSONString(basePointEventMsgArrayList)); + //logger.info("发送消息入参:"+JSON.toJSON(mqBaseMsgDTO)); + //Result result = SendMqMsgUtils.sendMsg(mqBaseMsgDTO); + + SystemMsgFormDTO msgForm = new SystemMsgFormDTO(); + msgForm.setMessageType(SystemMessageType.ACTIVE_SEND_POINT); + msgForm.setContent(basePointEventMsgArrayList); + + Result result = epmetMessageOpenFeignClient.sendSystemMsgByMQ(msgForm); + logger.info("发送消息返参:"+JSON.toJSON(result)); ActGrantPointLogEntity actGrantPointLogEntity=new ActGrantPointLogEntity(); actGrantPointLogEntity.setActId(formDTO.getSourceId()); @@ -986,7 +998,7 @@ public class WorkActServiceImpl implements WorkActService { actGrantPointLogEntity.setOperatorId(loginUserUtil.getLoginUserId()); actGrantPointLogEntity.setRemark(formDTO.getRemark()); actGrantPointLogEntity.setReward(formDTO.getReward()); - actGrantPointLogEntity.setSendMsg(JSON.toJSONString(mqBaseMsgDTO)); + actGrantPointLogEntity.setSendMsg(JSON.toJSONString(msgForm)); actGrantPointLogEntity.setResponseMsg(JSON.toJSONString(result)); actGrantPointLogDao.insert(actGrantPointLogEntity); if (!result.success()) { diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java index 284be1cb95..4418c1ebde 100644 --- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java @@ -104,4 +104,49 @@ public interface SystemMessageType { * 需求完成,如果服务方是区域化党建单位,重新计算这个单位的满意度 */ String CAL_PARTY_UNIT_SATISFACTION = "cal_party_unit_satisfaction"; + + /** + * 活动发放积分 + */ + String ACTIVE_SEND_POINT = "active_send_point"; + /** + * 认证志愿者 + */ + String REGISTER_VOLUNTEER = "register_volunteer"; + /** + * 添加活动实况 + */ + String ACTIVE_INSERT_LIVE = "active_insert_live"; + /** + * 拉新用户入组 + */ + String INVITE_NEW_INTO_GROUP = "invite_new_into_group"; + /** + * 邀请已注册的用户入组 + */ + String INVITE_RESI_INTO_GROUP = "invite_resi_into_group"; + /** + * 发布话题 + */ + String PUBLISH_ONE_TOPIC = "publish_one_topic"; + /** + * 对小组内话题进行15字以上评论 + */ + String PARTICIPATE_ONE_TOPIC = "participate_one_topic"; + /** + * 话题被转为议题(小组中发布的话题被组长转为议题) + */ + String TOPIC_TO_ISSUE = "topic_to_issue"; + /** + * 转话题为议题(将自建小组中话题转为议题) + */ + String SHIFT_TOPIC_TO_ISSUE = "shift_topic_to_issue"; + /** + * 话题被转为项目 + */ + String TOPIC_TO_PROJECT = "topic_to_project"; + /** + * 组长解决组内话题 + */ + String LEADER_RESOLVE_TOPIC = "leader_resolve_topic"; } diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/SystemMsgFormDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/SystemMsgFormDTO.java index c0fb1400e9..24dbd8694f 100644 --- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/SystemMsgFormDTO.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/SystemMsgFormDTO.java @@ -19,6 +19,6 @@ public class SystemMsgFormDTO { @NotNull(message = "消息内容不能为空", groups = { SendMsgByMQ.class }) private Object content; - @NotNull(message = "pendingMsgLabel不能为空", groups = { AckMsgByMQ.class }) - private String pendingMsgLabel; + //@NotNull(message = "pendingMsgLabel不能为空", groups = { AckMsgByMQ.class }) + //private String pendingMsgLabel; } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java index 92703db76e..83b6c23e7e 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java @@ -195,6 +195,21 @@ public class SystemMessageServiceImpl implements SystemMessageService { case SystemMessageType.CAL_PARTY_UNIT_SATISFACTION: topic=TopicConstants.CAL_PARTY_UNIT_SATISFACTION; break; + case SystemMessageType.INVITE_NEW_INTO_GROUP: + case SystemMessageType.INVITE_RESI_INTO_GROUP: + case SystemMessageType.PUBLISH_ONE_TOPIC: + case SystemMessageType.PARTICIPATE_ONE_TOPIC: + case SystemMessageType.TOPIC_TO_ISSUE: + case SystemMessageType.SHIFT_TOPIC_TO_ISSUE: + case SystemMessageType.TOPIC_TO_PROJECT: + case SystemMessageType.LEADER_RESOLVE_TOPIC: + topic = TopicConstants.RESI_GROUP; + break; + case SystemMessageType.ACTIVE_SEND_POINT: + case SystemMessageType.REGISTER_VOLUNTEER: + case SystemMessageType.ACTIVE_INSERT_LIVE: + topic = TopicConstants.EPMET_HEART; + break; } return topic; } diff --git a/epmet-module/epmet-point/epmet-point-server/pom.xml b/epmet-module/epmet-point/epmet-point-server/pom.xml index 89c84eb878..c0224fd49d 100644 --- a/epmet-module/epmet-point/epmet-point-server/pom.xml +++ b/epmet-module/epmet-point/epmet-point-server/pom.xml @@ -167,6 +167,10 @@ https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4 SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd + + + true + 192.168.1.140:9876;192.168.1.141:9876 @@ -210,6 +214,10 @@ https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4 SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd + + + true + 192.168.1.140:9876;192.168.1.141:9876 @@ -253,6 +261,10 @@ https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4 SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd + + + true + 192.168.10.161:9876 @@ -296,6 +308,10 @@ https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1 + + + true + 192.168.11.187:9876;192.168.11.184:9876 diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java new file mode 100644 index 0000000000..28b4ea9087 --- /dev/null +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java @@ -0,0 +1,27 @@ +package com.epmet.mq; + +import com.epmet.commons.rocketmq.constants.ConsomerGroupConstants; +import com.epmet.commons.rocketmq.constants.TopicConstants; +import com.epmet.commons.rocketmq.register.MQAbstractRegister; +import com.epmet.commons.rocketmq.register.MQConsumerProperties; +import com.epmet.mq.listener.PointListener; +import com.epmet.service.UserPointActionLogService; +import org.apache.rocketmq.common.protocol.heartbeat.MessageModel; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +public class RocketMQConsumerRegister extends MQAbstractRegister { + + @Autowired + private UserPointActionLogService userPointActionLogService; + + @Override + public void registerAllListeners(String env, MQConsumerProperties consumerProperties) { + // 客户初始化监听器注册 + register(consumerProperties, ConsomerGroupConstants.RESI_GROUP_POINT_OPERATION_GROUP, MessageModel.CLUSTERING, TopicConstants.RESI_GROUP, "*", new PointListener(userPointActionLogService)); + register(consumerProperties, ConsomerGroupConstants.EPMET_HEART_POINT_OPERATION_GROUP, MessageModel.CLUSTERING, TopicConstants.EPMET_HEART, "*", new PointListener(userPointActionLogService)); + + // ...其他监听器类似 + } +} \ No newline at end of file diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/mq/listener/PointListener.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/mq/listener/PointListener.java new file mode 100644 index 0000000000..d6bc028d24 --- /dev/null +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/mq/listener/PointListener.java @@ -0,0 +1,236 @@ +package com.epmet.mq.listener; + +import com.alibaba.fastjson.JSON; +import com.epmet.commons.rocketmq.constants.MQUserPropertys; +import com.epmet.commons.rocketmq.messages.LoginMQMsg; +import com.epmet.commons.tools.distributedlock.DistributedLock; +import com.epmet.commons.tools.dto.form.mq.eventmsg.BasePointEventMsg; +import com.epmet.commons.tools.enums.EventEnum; +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.redis.RedisKeys; +import com.epmet.commons.tools.redis.RedisUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.utils.SpringContextUtils; +import com.epmet.constant.SystemMessageType; +import com.epmet.service.UserPointActionLogService; +import dto.form.SendPointFormDTO; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext; +import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus; +import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; +import org.apache.rocketmq.common.message.MessageExt; +import org.redisson.api.RLock; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.List; +import java.util.concurrent.TimeUnit; + +/** + * @author wxz + * @Description 登录操作日志监听器 + + * @return + * @date 2021.06.07 16:12 + */ +@Slf4j +public class PointListener implements MessageListenerConcurrently { + + private RedisUtils redisUtils; + + private UserPointActionLogService userPointActionLogService; + + public PointListener(UserPointActionLogService userPointActionLogService) { + this.userPointActionLogService = userPointActionLogService; + } + + @Override + public ConsumeConcurrentlyStatus consumeMessage(List msgs, ConsumeConcurrentlyContext context) { + + if (redisUtils == null) { + redisUtils = SpringContextUtils.getBean(RedisUtils.class); + } + + try { + msgs.forEach(msg -> consumeMessage(msg)); + } catch (Exception e) { + log.error(ExceptionUtils.getErrorStackTrace(e)); + return ConsumeConcurrentlyStatus.RECONSUME_LATER; + } + return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; + } + + private void consumeMessage(MessageExt messageExt) { + String tags = messageExt.getTags(); + String msg = new String(messageExt.getBody()); + String pendingMsgLabel = messageExt.getUserProperty(MQUserPropertys.BLOCKED_MSG_LABEL); + log.info("【积分操作监听器】-收到消息内容:{}", msg); + + DistributedLock distributedLock = null; + RLock lock = null; + try { + distributedLock = SpringContextUtils.getBean(DistributedLock.class); + lock = distributedLock.getLock("lock:point_operation", 30L, 30L, TimeUnit.SECONDS); + + switch (tags) { + case SystemMessageType.PARTICIPATE_ONE_TOPIC: + resiGroupPointOpe(msg); + break; + case SystemMessageType.ACTIVE_SEND_POINT: + // 爱心活动积分发放 + activeSendPoint(msg); + break; + case SystemMessageType.ACTIVE_INSERT_LIVE: + // 添加活动实况 + activeInsertLive(msg); + break; + case SystemMessageType.REGISTER_VOLUNTEER: + // 注册志愿者 + registerVolunteer(msg); + break; + case SystemMessageType.TOPIC_TO_ISSUE: + // 话题被组长转为议题 + topicToIssue(msg); + break; + case SystemMessageType.TOPIC_TO_PROJECT: + // 话题转为项目 + topicToProject(msg); + break; + case SystemMessageType.INVITE_RESI_INTO_GROUP: + inviteResiIntoGroup(msg); + break; + case SystemMessageType.INVITE_NEW_INTO_GROUP: + inviteNewIntoGroup(msg); + break; + case SystemMessageType.SHIFT_TOPIC_TO_ISSUE: + shiftTopicToIssue(msg); + break; + case SystemMessageType.PUBLISH_ONE_TOPIC: + publicOneTopic(msg); + break; + case SystemMessageType.LEADER_RESOLVE_TOPIC: + leaderResolveTopic(msg); + break; + } + + } catch (RenException e) { + // 如果是我们手动抛出的异常,说明在业务可控范围内。目前不需要MQ重试 + log.error("【积分操作监听器】消费消息失败:".concat(ExceptionUtils.getErrorStackTrace(e))); + } catch (Exception e) { + // 不是我们自己抛出的异常,可以让MQ重试 + log.error("【积分操作监听器】消费消息失败:".concat(ExceptionUtils.getErrorStackTrace(e))); + throw e; + } finally { + distributedLock.unLock(lock); + } + + if (StringUtils.isNotBlank(pendingMsgLabel)) { + try { + removePendingMqMsgCache(pendingMsgLabel); + } catch (Exception e) { + log.error("【登录操作事件监听器】-删除mq阻塞消息缓存失败:{}", ExceptionUtils.getErrorStackTrace(e)); + } + } + } + + private void leaderResolveTopic(String msg) { + List formList = JSON.parseArray(msg, BasePointEventMsg.class); + + formList.forEach(obj -> { + userPointActionLogService.grantPointByEvent(obj.getEventTag(),obj); + }); + } + + private void publicOneTopic(String msg) { + List formList = JSON.parseArray(msg, BasePointEventMsg.class); + + formList.forEach(obj -> { + userPointActionLogService.grantPointByEvent(obj.getEventTag(),obj); + }); + } + + private void shiftTopicToIssue(String msg) { + List formList = JSON.parseArray(msg, BasePointEventMsg.class); + + formList.forEach(obj -> { + userPointActionLogService.grantPointByEvent(obj.getEventTag(),obj); + }); + } + + private void inviteNewIntoGroup(String msg) { + List formList = JSON.parseArray(msg, BasePointEventMsg.class); + + formList.forEach(obj -> { + userPointActionLogService.grantPointByEvent(obj.getEventTag(),obj); + }); + } + + private void inviteResiIntoGroup(String msg) { + List formList = JSON.parseArray(msg, BasePointEventMsg.class); + + formList.forEach(obj -> { + userPointActionLogService.grantPointByEvent(obj.getEventTag(),obj); + }); + } + + private void topicToProject(String msg) { + List formList = JSON.parseArray(msg, BasePointEventMsg.class); + + formList.forEach(obj -> { + userPointActionLogService.grantPointByEvent(obj.getEventTag(),obj); + }); + } + + private void topicToIssue(String msg) { + List formList = JSON.parseArray(msg, BasePointEventMsg.class); + + formList.forEach(obj -> { + userPointActionLogService.grantPointByEvent(obj.getEventTag(), obj); + }); + } + + private void registerVolunteer(String msg) { + List formList = JSON.parseArray(msg, BasePointEventMsg.class); + formList.forEach(obj -> { + userPointActionLogService.grantPointByEvent(EventEnum.REGISTER_VOLUNTEER.getEventTag(),obj); + }); + } + + private void activeInsertLive(String msg) { + List formList = JSON.parseArray(msg, BasePointEventMsg.class); + formList.forEach(obj -> { + userPointActionLogService.grantPointByEvent(EventEnum.ACTIVE_INSERT_LIVE.getEventTag(), obj); + }); + } + + private void activeSendPoint(String msg) { + List formDTO = JSON.parseArray(msg, SendPointFormDTO.class); + userPointActionLogService.grantPoint(formDTO); + } + + private void resiGroupPointOpe(String msg) { + List formList = JSON.parseArray(msg, BasePointEventMsg.class); + + formList.forEach(obj -> { + userPointActionLogService.grantPointByEvent(obj.getEventTag(),obj); + }); + } + + + /** + * @description + * + * @param pendingMsgLabel + * @return + * @author wxz + * @date 2021.10.14 16:32:32 + */ + private void removePendingMqMsgCache(String pendingMsgLabel) { + String key = RedisKeys.blockedMqMsgKey(pendingMsgLabel); + redisUtils.delete(key); + //logger.info("【登录操作事件监听器】删除pendingMsgLabel成功:{}", pendingMsgLabel); + } +} diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/resources/bootstrap.yml b/epmet-module/epmet-point/epmet-point-server/src/main/resources/bootstrap.yml index af068df15d..4d5434a25f 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/resources/bootstrap.yml +++ b/epmet-module/epmet-point/epmet-point-server/src/main/resources/bootstrap.yml @@ -141,3 +141,7 @@ shutdown: graceful: enable: true #是否开启优雅停机 waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 + +rocketmq: + enable: @rocketmq.enable@ + name-server: @rocketmq.nameserver@ \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/GroupMemeberOperationServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/GroupMemeberOperationServiceImpl.java index de5c0b5207..648c64fca0 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/GroupMemeberOperationServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/GroupMemeberOperationServiceImpl.java @@ -21,6 +21,7 @@ import com.alibaba.fastjson.JSON; 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.rocketmq.constants.TopicConstants; import com.epmet.commons.tools.constant.EpmetRoleKeyConstant; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.MqConstant; @@ -34,12 +35,15 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.SendMqMsgUtils; +import com.epmet.constant.SystemMessageType; import com.epmet.dto.IssueShareLinkRecordDTO; import com.epmet.dto.IssueShareLinkVisitRecordDTO; import com.epmet.dto.form.CommonGridIdFormDTO; import com.epmet.dto.form.GetRoleKeyListFormDTO; +import com.epmet.dto.form.SystemMsgFormDTO; import com.epmet.dto.result.CommonDataFilterResultDTO; import com.epmet.dto.result.UserBaseInfoResultDTO; +import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.GovIssueOpenFeignClient; import com.epmet.modules.feign.GovOrgFeignClient; @@ -120,6 +124,8 @@ public class GroupMemeberOperationServiceImpl extends BaseServiceImpl page(Map params) { @@ -352,10 +358,13 @@ public class GroupMemeberOperationServiceImpl extends BaseServiceImpl pointEventMsgList = new ArrayList<>(); BasePointEventMsg pointEventMsg = new BasePointEventMsg(); pointEventMsg.setCustomerId(resiGroupDTO.getCustomerId()); @@ -368,8 +377,8 @@ public class GroupMemeberOperationServiceImpl extends BaseServiceImpl pointEventMsgList = new ArrayList<>(); BasePointEventMsg pointEventMsg = new BasePointEventMsg(); pointEventMsg.setCustomerId(groupCache.getCustomerId()); @@ -689,7 +693,7 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl userParam = new LinkedList<>(); @@ -707,8 +711,15 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl NumConstant.FIFTEEN){ + String eventClass = EventEnum.PARTICIPATE_ONE_TOPIC.getEventClass(); + String eventTag = EventEnum.PARTICIPATE_ONE_TOPIC.getEventTag(); + //mq的事件类型 - MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO(); - mqBaseMsgDTO.setEventClass(EventEnum.PARTICIPATE_ONE_TOPIC.getEventClass()); + //MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO(); + //mqBaseMsgDTO.setEventClass(EventEnum.PARTICIPATE_ONE_TOPIC.getEventClass()); //事件code - mqBaseMsgDTO.setEventTag(EventEnum.PARTICIPATE_ONE_TOPIC.getEventTag()); + //mqBaseMsgDTO.setEventTag(EventEnum.PARTICIPATE_ONE_TOPIC.getEventTag()); List pointEventMsgList = new ArrayList<>(); BasePointEventMsg pointEventMsg = new BasePointEventMsg(); String customerId = resiTopicdDao.selectCustomerIdByTopicId(resiCommentFormDTO.getTopicId()); @@ -297,8 +304,8 @@ public class ResiTopicCommentServiceImpl extends BaseServiceImpl pointEventMsgList = new ArrayList<>(); BasePointEventMsg pointEventMsg = new BasePointEventMsg(); ResiGroupInfoRedisDTO resiGroupInfoRedisDTO = resiGroupRedis.get(resiTopicPublishFormDTO.getGroupId()); @@ -449,13 +455,19 @@ public class ResiTopicServiceImpl extends BaseServiceImpl pointEventMsgList = new ArrayList<>(); BasePointEventMsg pointEventMsg = new BasePointEventMsg(); @@ -840,8 +852,15 @@ public class ResiTopicServiceImpl extends BaseServiceImpl result = SendMqMsgUtils.sendMsg(mqBaseMsgDTO); + + SystemMsgFormDTO msgFormDTO = new SystemMsgFormDTO(); + msgFormDTO.setContent(pointEventMsgList); + msgFormDTO.setMessageType(SystemMessageType.LEADER_RESOLVE_TOPIC); + Result result = epmetMessageOpenFeignClient.sendSystemMsgByMQ(msgFormDTO); + + if (!result.success()) { log.error("组长解决话题事件发送失败,参数:{}", JSON.toJSONString(closeFormDTO)); } } @@ -1931,15 +1950,22 @@ public class ResiTopicServiceImpl extends BaseServiceImpl { - MqBaseMsgDTO msgDTO = new MqBaseMsgDTO(); - msgDTO.setEventClass("resi_group"); + //MqBaseMsgDTO msgDTO = new MqBaseMsgDTO(); + //msgDTO.setEventClass("resi_group"); //事件code 因为楼院小组的事件回调统一入口,外层的EventTag不能够判断具体的事件 //因为可能会一次发送多个事件集合,需要对集合里的对象逐个判断 - msgDTO.setEventTag(EventEnum.SHIFT_TOPIC_TO_ISSUE.getEventTag()); + //msgDTO.setEventTag(EventEnum.SHIFT_TOPIC_TO_ISSUE.getEventTag()); List msgList = new ArrayList<>(); msgList.add(item); - msgDTO.setMsg(JSON.toJSONString(msgList)); - if(!SendMqMsgUtils.sendMsg(msgDTO).success()){ + //msgDTO.setMsg(JSON.toJSONString(msgList)); + + SystemMsgFormDTO msgForm = new SystemMsgFormDTO(); + msgForm.setMessageType(SystemMessageType.SHIFT_TOPIC_TO_ISSUE); + msgForm.setContent(msgList); + Result sendMsgResult = epmetMessageOpenFeignClient.sendSystemMsgByMQ(msgForm); + + //Result sendMsgResult = SendMqMsgUtils.sendMsg(msgDTO); + if(!sendMsgResult.success()){ log.error("话题转议题事件发送失败,参数:{}",JSON.toJSONString(topicTurnIssueFromDTO)); } }); @@ -2104,15 +2130,22 @@ public class ResiTopicServiceImpl extends BaseServiceImpl { - MqBaseMsgDTO msgDTO = new MqBaseMsgDTO(); - msgDTO.setEventClass("resi_group"); + //MqBaseMsgDTO msgDTO = new MqBaseMsgDTO(); + //msgDTO.setEventClass("resi_group"); //事件code 因为楼院小组的事件回调统一入口,外层的EventTag不能够判断具体的事件 //因为可能会一次发送多个事件集合,需要对集合里的对象逐个判断 - msgDTO.setEventTag(EventEnum.SHIFT_TOPIC_TO_ISSUE.getEventTag()); + //msgDTO.setEventTag(EventEnum.SHIFT_TOPIC_TO_ISSUE.getEventTag()); List msgList = new ArrayList<>(); msgList.add(item); - msgDTO.setMsg(JSON.toJSONString(msgList)); - if(!SendMqMsgUtils.sendMsg(msgDTO).success()){ + //msgDTO.setMsg(JSON.toJSONString(msgList)); + + SystemMsgFormDTO sendMsgForm = new SystemMsgFormDTO(); + sendMsgForm.setContent(msgList); + sendMsgForm.setMessageType(SystemMessageType.SHIFT_TOPIC_TO_ISSUE); + Result sendMsgResult = epmetMessageOpenFeignClient.sendSystemMsgByMQ(sendMsgForm); + + //Result sendMsgResult = SendMqMsgUtils.sendMsg(msgDTO); + if(!sendMsgResult.success()){ log.error("话题转议题事件发送失败,参数:{}",JSON.toJSONString(param)); } }); @@ -2462,10 +2495,10 @@ public class ResiTopicServiceImpl extends BaseServiceImpl pointEventMsgList = new ArrayList<>(); //话题被转为项目 话题作者 @@ -2493,8 +2526,16 @@ public class ResiTopicServiceImpl extends BaseServiceImpl content.length() ? "\"" : "…\"") ).append("被转为项目").toString()); pointEventMsgList.add(pointEventMsg); - mqBaseMsgDTO.setMsg(JSON.toJSONString(pointEventMsgList)); - if(!SendMqMsgUtils.sendMsg(mqBaseMsgDTO).success()){ + //mqBaseMsgDTO.setMsg(JSON.toJSONString(pointEventMsgList)); + + //Result sendMsgResult = SendMqMsgUtils.sendMsg(mqBaseMsgDTO); + + SystemMsgFormDTO sendMsgForm = new SystemMsgFormDTO(); + sendMsgForm.setContent(pointEventMsgList); + sendMsgForm.setMessageType(SystemMessageType.TOPIC_TO_PROJECT); + Result sendMsgResult = epmetMessageOpenFeignClient.sendSystemMsgByMQ(sendMsgForm); + + if(!sendMsgResult.success()){ log.error("话题转议题事件发送失败,参数:{}",JSON.toJSONString(param)); } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java index 9a60f060b2..0d681d7368 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java @@ -38,7 +38,9 @@ import com.epmet.commons.tools.scan.result.SyncScanResult; import com.epmet.commons.tools.scan.result.VoiceResultDTO; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.*; +import com.epmet.constant.SystemMessageType; import com.epmet.dto.form.CommonGridIdFormDTO; +import com.epmet.dto.form.SystemMsgFormDTO; import com.epmet.dto.result.AllGridsByUserIdResultDTO; import com.epmet.dto.result.UserInfoResultDTO; import com.epmet.dto.result.CommonDataFilterResultDTO; @@ -1004,11 +1006,11 @@ public class TopicDraftServiceImpl extends BaseServiceImpl actPointEventMsgList=new ArrayList<>(); BasePointEventMsg actPointEventMsg=new BasePointEventMsg(); actPointEventMsg.setCustomerId(customerId); @@ -1026,8 +1028,14 @@ public class TopicDraftServiceImpl extends BaseServiceImpl