From 7c79b96478f23d948824d689594bafba9aa0b38b Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 13 Jan 2023 17:54:30 +0800 Subject: [PATCH 01/12] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=B8=8B/epmetuser/myH?= =?UTF-8?q?ome/homeInfo=E8=BF=99=E4=B8=AA=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/service/impl/MyHomeServiceImpl.java | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/MyHomeServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/MyHomeServiceImpl.java index 9f5df02195..0e209992c1 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/MyHomeServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/MyHomeServiceImpl.java @@ -196,20 +196,25 @@ public class MyHomeServiceImpl implements MyHomeService { */ @Override public HomeInfoResultDTO getHomeInfo(TokenDto tokenDto) { - HomeInfoResultDTO resultDto = new HomeInfoResultDTO(); //通过用户ID获取居民端用户信息 ResiUserBaseInfoResultDTO baseInfo = userBaseInfoDao.selecUserBaseInfoByUserId(tokenDto.getUserId()); - if (null == baseInfo) { - return resultDto; + if (null == baseInfo||StringUtils.isBlank(baseInfo.getIdNum())) { + log.warn(String.format("user_base_info.id_num is null userId:%s",tokenDto.getUserId())); + return null; } //通过居民身份证号获取居民信息 LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(IcResiUserEntity::getCustomerId, tokenDto.getCustomerId()); wrapper.eq(IcResiUserEntity::getIdCard, baseInfo.getIdNum()); + wrapper.select(IcResiUserEntity::getId) + .select(IcResiUserEntity::getHomeId) + .select(IcResiUserEntity::getIdCard); IcResiUserEntity icUser = icResiUserDao.selectOne(wrapper); if (null == icUser) { - return resultDto; + log.warn(String.format("ic_resi_user is null id_card:%s",baseInfo.getIdNum())); + return null; } + HomeInfoResultDTO resultDto = new HomeInfoResultDTO(); resultDto.setIcResiUserId(icUser.getId()); //通过房屋ID获取房屋信息 HouseInfoCache houseInfo = CustomerIcHouseRedis.getHouseInfo(tokenDto.getCustomerId(), icUser.getHomeId()); @@ -221,6 +226,7 @@ public class MyHomeServiceImpl implements MyHomeService { resultDto.setHouseCode(houseInfo.getHouseCode()); resultDto.setQrCodeUrl(houseInfo.getHouseQrcodeUrl()); resultDto.setCoding(houseInfo.getCoding()); + /*没必要再调用feign了,上面缓存houseInfo已经有值了 //获取房屋房主信息,判断是否是房主 Result icHouseResult = govOrgOpenFeignClient.get(icUser.getHomeId()); if (!icHouseResult.success() || null == icHouseResult.getData()) { @@ -230,8 +236,13 @@ public class MyHomeServiceImpl implements MyHomeService { resultDto.setIsOwner(NumConstant.ONE_STR); } else { resultDto.setIsOwner(NumConstant.ZERO_STR); + }*/ + if (icUser.getIdCard().equals(houseInfo.getOwnerIdCard())) { + resultDto.setIsOwner(NumConstant.ONE_STR); + } else { + resultDto.setIsOwner(NumConstant.ZERO_STR); } - resultDto.setOwnerIdCard(icHouseResult.getData().getOwnerIdCard()); + resultDto.setOwnerIdCard(houseInfo.getOwnerIdCard()); return resultDto; } From e23d6d98f8bf582fe5e0e964053e66022fe00442 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 13 Jan 2023 17:56:31 +0800 Subject: [PATCH 02/12] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=B8=8B/epmetuser/myH?= =?UTF-8?q?ome/homeInfo=E8=BF=99=E4=B8=AA=E6=96=B9=E6=B3=95=EF=BC=8C?= =?UTF-8?q?=E5=8E=BB=E6=8E=89=E5=86=97=E4=BD=99=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/service/impl/MyHomeServiceImpl.java | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/MyHomeServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/MyHomeServiceImpl.java index 0e209992c1..7b1051f587 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/MyHomeServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/MyHomeServiceImpl.java @@ -226,17 +226,6 @@ public class MyHomeServiceImpl implements MyHomeService { resultDto.setHouseCode(houseInfo.getHouseCode()); resultDto.setQrCodeUrl(houseInfo.getHouseQrcodeUrl()); resultDto.setCoding(houseInfo.getCoding()); - /*没必要再调用feign了,上面缓存houseInfo已经有值了 - //获取房屋房主信息,判断是否是房主 - Result icHouseResult = govOrgOpenFeignClient.get(icUser.getHomeId()); - if (!icHouseResult.success() || null == icHouseResult.getData()) { - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取房屋信息失败", "获取房屋信息失败"); - } - if (icUser.getIdCard().equals(icHouseResult.getData().getOwnerIdCard())) { - resultDto.setIsOwner(NumConstant.ONE_STR); - } else { - resultDto.setIsOwner(NumConstant.ZERO_STR); - }*/ if (icUser.getIdCard().equals(houseInfo.getOwnerIdCard())) { resultDto.setIsOwner(NumConstant.ONE_STR); } else { From 792c0f6a5745c0ea636deee73d6b9c461fa2e809 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 30 Jan 2023 13:54:21 +0800 Subject: [PATCH 03/12] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E8=BD=AC=E8=AE=AE?= =?UTF-8?q?=E9=A2=98=E5=8F=91=E9=80=81=E7=AB=99=E5=86=85=E4=BF=A1=E3=80=82?= =?UTF-8?q?=E9=80=9A=E7=9F=A5=E5=B1=85=E6=B0=91=E7=AB=AF=E7=94=A8=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/IcEventServiceImpl.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java index d40ff78a46..e5bf477bc6 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java @@ -1870,6 +1870,28 @@ public class IcEventServiceImpl extends BaseServiceImpl msgList = new ArrayList<>(); + UserMessageFormDTO messageFormDTO = new UserMessageFormDTO(); + messageFormDTO.setCustomerId(formDTO.getCustomerId()); + messageFormDTO.setApp(ProjectConstant.RESI); + messageFormDTO.setGridId(icEventEntity.getGridId()); + messageFormDTO.setUserId(icEventEntity.getCreatedBy()); + messageFormDTO.setTitle(UserMessageConstant.EVENT_TITILE); + // 获取当前工作人员缓存信息 + CustomerStaffInfoCacheResult staffInfo = getStaffInfo(formDTO.getCustomerId(), formDTO.getCurrentUserId()); + messageFormDTO.setMessageContent(String.format("%s将您上报的事件转为议题,请查看。", staffInfo.getAgencyName())); + messageFormDTO.setReadFlag(Constant.UNREAD); + messageFormDTO.setMessageType(UserMessageTypeConstant.IC_EVENT); + messageFormDTO.setTargetId(icEventEntity.getId()); + msgList.add(messageFormDTO); + Result sendMessageRes = messageOpenFeignClient.saveUserMessageList(msgList); + if (!sendMessageRes.success()) { + log.warn(String.format("事件转议题,给居民端用户发送站内信异常,事件Id->%s", icEventEntity.getId())); + } + } } /** From 1f26db0966ad66d121142f3abced0260fa896747 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 30 Jan 2023 15:03:52 +0800 Subject: [PATCH 04/12] =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=8F=8D=E9=A6=88?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=9F=A5=E8=AF=A2=E8=B0=83=E6=95=B4=E4=B8=BA?= =?UTF-8?q?=E5=85=BC=E5=AE=B9pc=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/form/AdviceListFormDTO.java | 21 +++++++++-- .../controller/UserAdviceController.java | 10 ++++-- .../java/com/epmet/dao/UserAdviceDao.java | 3 ++ .../service/impl/UserAdviceServiceImpl.java | 31 +++++++++++++--- .../main/resources/mapper/UserAdviceDao.xml | 36 +++++++++++++++++++ 5 files changed, 93 insertions(+), 8 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AdviceListFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AdviceListFormDTO.java index 39ca1de27d..620e1b3f5e 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AdviceListFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AdviceListFormDTO.java @@ -1,8 +1,11 @@ package com.epmet.dto.form; +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; import lombok.Data; import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; /** * @description: @@ -11,16 +14,28 @@ import javax.validation.constraints.Min; */ @Data public class AdviceListFormDTO { + /** + * 工作端pc调用此接口,校验参数 + */ + public interface WorkPcGroup extends CustomerClientShowGroup { + } /** * 客户id 不填查询所有 */ + @NotBlank(message = "customerId不能为空",groups = WorkPcGroup.class) private String customerId; /** * 组织id 不填查询所有 */ + @NotBlank(message = "agencyId不能为空",groups = WorkPcGroup.class) private String agencyId; + /** + * 网格id + */ + private String gridId; + /** * 是否被回复,0未回复,1回复, 传空查询所有 */ @@ -44,12 +59,14 @@ public class AdviceListFormDTO { /** * 页码 */ + @NotNull(message = "pageNo不能为空",groups = WorkPcGroup.class) @Min(1) - private int pageNo; + private Integer pageNo; /** * 页大小 */ + @NotNull(message = "pageSize不能为空",groups = WorkPcGroup.class) @Min(1) - private int pageSize; + private Integer pageSize; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserAdviceController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserAdviceController.java index 8ad9e5da00..e58a7ad95b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserAdviceController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserAdviceController.java @@ -17,8 +17,11 @@ package com.epmet.controller; +import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.constant.AppClientConstant; 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; import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; @@ -145,8 +148,11 @@ public class UserAdviceController { * @Date 2020/11/10 9:32 */ @PostMapping("advicelist") - public Result> adviceList(@RequestBody AdviceListFormDTO dto) { - ValidatorUtils.validateEntity(dto); + public Result> adviceList(@LoginUser TokenDto tokenDto, @RequestBody AdviceListFormDTO dto) { + if (AppClientConstant.APP_GOV.equals(tokenDto.getApp())) { + //工作端调用,校验参数 + ValidatorUtils.validateEntity(dto, AdviceListFormDTO.WorkPcGroup.class); + } //校验时间 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserAdviceDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserAdviceDao.java index 3fd6a4f205..7497af5dbd 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserAdviceDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserAdviceDao.java @@ -19,6 +19,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.UserAdviceDTO; +import com.epmet.dto.form.AdviceListFormDTO; import com.epmet.dto.result.MyAdviceListResultDTO; import com.epmet.entity.UserAdviceEntity; import org.apache.ibatis.annotations.Mapper; @@ -44,4 +45,6 @@ public interface UserAdviceDao extends BaseDao { @Param("userId") String loginUserId); int saveUserAdvice(UserAdviceDTO dto); + + List selectListAdvice(AdviceListFormDTO dto); } 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 a6480dca76..6a8b259095 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 @@ -20,8 +20,6 @@ package com.epmet.service.impl; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.metadata.OrderItem; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; @@ -52,6 +50,8 @@ import com.epmet.feign.OperCrmOpenFeignClient; import com.epmet.service.UserAdviceImgService; import com.epmet.service.UserAdviceService; import com.epmet.service.UserResiInfoService; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import io.jsonwebtoken.lang.Collections; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.LogManager; @@ -242,7 +242,7 @@ public class UserAdviceServiceImpl extends BaseServiceImpl adviceList(AdviceListFormDTO dto) { - //page分页 + /*//page分页 Page page = new Page<>(dto.getPageNo(), dto.getPageSize()); //时间降序 page.addOrder(OrderItem.desc(FieldConstant.CREATED_TIME)); @@ -300,7 +300,30 @@ public class UserAdviceServiceImpl extends BaseServiceImpl list = baseDao.selectListAdvice(dto); + List records=ConvertUtils.sourceToTarget(list,AdviceListResultDTO.class); + //拼接type + + for (int i = 0; i < records.size(); i++) { + if (!"*".equals(records.get(i).getAdviceType())) { + StringBuilder type = new StringBuilder(); + if (records.get(i).getAdviceType().contains("gov")) { + type.append(UserAdviceConstant.GOV_TYPE_TEXT); + } + if (records.get(i).getAdviceType().contains("software")) { + if (type.length() != 0) { + type.append("\n"); + } + type.append(UserAdviceConstant.SOFTWARE_TYPE_TEXT); + } + records.get(i).setAdviceType(type.toString()); + } + } + PageInfo pageInfo = new PageInfo<>(records); + return new PageData<>(records, pageInfo.getTotal()); } /** diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserAdviceDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserAdviceDao.xml index 53433e05ec..6ed2dbc8ae 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserAdviceDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserAdviceDao.xml @@ -116,4 +116,40 @@ 0,0,#{userId},#{adviceTime},#{userId},#{adviceTime} ) + + From 9c812a2ca93690140508a6ec7b26b37305c44e57 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 30 Jan 2023 16:44:51 +0800 Subject: [PATCH 05/12] =?UTF-8?q?certification/add-autopass=20=E7=83=9F?= =?UTF-8?q?=E5=8F=B0=E5=BE=BD=E7=AB=A0=E8=AE=A4=E8=AF=81=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E9=80=9A=E8=BF=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/form/BadgeAuditFormDTO.java | 5 ++ .../dto/form/CertificationAddFormDTO.java | 16 +++++ .../com/epmet/controller/BadgeController.java | 3 +- .../epmet/controller/UserBadgeController.java | 22 +++++++ .../java/com/epmet/service/BadgeService.java | 3 +- .../epmet/service/impl/BadgeServiceImpl.java | 24 +++---- .../service/impl/UserBadgeServiceImpl.java | 64 ++++++++++++++++--- .../main/resources/mapper/UserBadgeDao.xml | 3 - 8 files changed, 113 insertions(+), 27 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/BadgeAuditFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/BadgeAuditFormDTO.java index c3748fe49f..9803eb3c25 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/BadgeAuditFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/BadgeAuditFormDTO.java @@ -20,4 +20,9 @@ public class BadgeAuditFormDTO implements Serializable { @NotBlank(message = "审核结果不能为空") private String auditStatus; private String auditRemark; + + /** + * tokenDto.getUserId + */ + private String currentUserId; } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CertificationAddFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CertificationAddFormDTO.java index da021d64f0..85ed907b4a 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CertificationAddFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CertificationAddFormDTO.java @@ -65,4 +65,20 @@ public class CertificationAddFormDTO implements Serializable { */ private String code; + /** + * 是否需要发送站内信: + * 您有一条徽章认证消息,,%s申请认证%s,请审核 + * true:发送 + * false:不发送 + * 微信小程序发送 + * 烟台钉钉自动通过,默认false不发送 + */ + private Boolean sendMsgFlag; + + /** + * 自动通过标识 + * true:自动通过,目前只有烟台这么搞 + */ + private Boolean autoPassFlag; + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/BadgeController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/BadgeController.java index eace8b90b0..7f58178ffe 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/BadgeController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/BadgeController.java @@ -152,7 +152,8 @@ public class BadgeController { @NoRepeatSubmit public Result audit(@LoginUser TokenDto tokenDto, @RequestBody BadgeAuditFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO); - badgeService.audit(tokenDto, formDTO); + formDTO.setCurrentUserId(tokenDto.getUserId()); + badgeService.audit(formDTO); return new Result(); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBadgeController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBadgeController.java index e4ad4a63b0..4b6b4c2c56 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBadgeController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBadgeController.java @@ -1,6 +1,7 @@ package com.epmet.controller; import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; @@ -56,6 +57,27 @@ public class UserBadgeController { */ @PostMapping("authbadgerecord") public Result authBadgeRecord(@RequestBody CertificationAddFormDTO certificationAddFormDTO){ + //发送微信站内信 + certificationAddFormDTO.setSendMsgFlag(true); + certificationAddFormDTO.setAutoPassFlag(false); + ValidatorUtils.validateEntity(certificationAddFormDTO, CertificationAddFormDTO.CertificationAdd.class); + return userBadgeService.authBadgeRecord(certificationAddFormDTO); + } + + /** + * 烟台钉钉居民端应用 + * + * @param tokenDto + * @param certificationAddFormDTO + * @return + */ + @NoRepeatSubmit + @PostMapping("certification/add-autopass") + public Result certificationAddAutoPass(@LoginUser TokenDto tokenDto, @RequestBody CertificationAddFormDTO certificationAddFormDTO) { + certificationAddFormDTO.setUserId(tokenDto.getUserId()); + certificationAddFormDTO.setSendMsgFlag(false); + // 是否自动通过 + certificationAddFormDTO.setAutoPassFlag(true); ValidatorUtils.validateEntity(certificationAddFormDTO, CertificationAddFormDTO.CertificationAdd.class); return userBadgeService.authBadgeRecord(certificationAddFormDTO); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/BadgeService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/BadgeService.java index 34defc0541..379d3c8fad 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/BadgeService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/BadgeService.java @@ -169,11 +169,10 @@ public interface BadgeService extends BaseService { * 审核 * @author zhaoqifeng * @date 2020/11/5 11:08 - * @param tokenDto * @param formDTO * @return void */ - void audit(TokenDto tokenDto, BadgeAuditFormDTO formDTO); + void audit(BadgeAuditFormDTO formDTO); void testCache(); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java index 2a3809feb3..39359b29ea 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java @@ -356,32 +356,30 @@ public class BadgeServiceImpl extends BaseServiceImpl imp /** * 审核 * - * @param tokenDto token * @param formDTO 入参 * @return void * @author zhaoqifeng * @date 2020/11/5 11:08 */ @Override - public void audit(TokenDto tokenDto, BadgeAuditFormDTO formDTO) { + public void audit(BadgeAuditFormDTO formDTO) { if(BadgeConstant.REJECTED.equals(formDTO.getAuditStatus())) { if (StringUtils.isEmpty(formDTO.getAuditRemark())) { throw new ValidateException(EpmetErrorCode.CUSTOMER_VALIDATE_ERROR.getCode(), "驳回理由不能为空"); } } UserBadgeCertificateRecordDTO dto = userBadgeCertificateRecordService.get(formDTO.getRecordId()); - BadgeDetailResultDTO detail = baseDao.selectDetail(dto.getCustomerId(), dto.getBadgeId()); dto.setAuditStatus(formDTO.getAuditStatus()); dto.setAuditRemark(formDTO.getAuditRemark()); - dto.setStaffId(tokenDto.getUserId()); + dto.setStaffId(formDTO.getCurrentUserId()); dto.setIsLast(BadgeConstant.YES); dto.setAuditTime(new Date()); userBadgeCertificateRecordService.update(dto); + BadgeDetailResultDTO detail = baseDao.selectDetail(dto.getCustomerId(), dto.getBadgeId()); List msgList = new ArrayList<>(); List wxmpMsgList = new ArrayList<>(); if(BadgeConstant.APPROVED.equals(formDTO.getAuditStatus())) { - ResiUserBadgeDTO resiUserBadgeDTO = new ResiUserBadgeDTO(); resiUserBadgeDTO.setCustomerId(dto.getCustomerId()); resiUserBadgeDTO.setBadgeId(dto.getBadgeId()); @@ -435,12 +433,16 @@ public class BadgeServiceImpl extends BaseServiceImpl imp wxmp.setGridId(dto.getGridId()); wxmpMsgList.add(wxmp); } - messageFeignClient.saveUserMessageList(msgList); - log.info("徽章消息,开始推送微信订阅消息"); - Result result = epmetMessageOpenFeignClient.sendWxSubscribeMessage(wxmpMsgList); - if (!result.success()) { - log.error("徽章消息,发送微信订阅消息失败" + JSON.toJSONString(result)); - } + if(CollectionUtils.isNotEmpty(msgList)){ + messageFeignClient.saveUserMessageList(msgList); + } + if(CollectionUtils.isNotEmpty(wxmpMsgList)){ + log.info("徽章消息,开始推送微信订阅消息"); + Result result = epmetMessageOpenFeignClient.sendWxSubscribeMessage(wxmpMsgList); + if (!result.success()) { + log.error("徽章消息,发送微信订阅消息失败" + JSON.toJSONString(result)); + } + } } @Override diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java index 7758ca7921..f9d07dbfc0 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java @@ -1,6 +1,7 @@ package com.epmet.service.impl; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; @@ -8,6 +9,7 @@ import com.epmet.commons.tools.exception.RenException; 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.commons.tools.utils.SpringContextUtils; import com.epmet.commons.tools.validator.PhoneValidatorUtils; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.constant.BadgeConstant; @@ -24,6 +26,8 @@ import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.GovOrgFeignClient; import com.epmet.redis.UserBadgeRedis; import com.epmet.redis.UserBaseInfoRedis; +import com.epmet.service.ResiUserBadgeService; +import com.epmet.service.UserBadgeCertificateRecordService; import com.epmet.service.UserBadgeService; import com.epmet.service.UserBaseInfoService; import com.epmet.util.ModuleConstant; @@ -275,7 +279,7 @@ public class UserBadgeServiceImpl implements UserBadgeService { userIds.add(certificationAddFormDTO.getUserId()); List userBaseInfoResultDTOS = userBaseInfoService.queryUserBaseInfo(userIds); if (CollectionUtils.isEmpty(userBaseInfoResultDTOS)) { - throw new RenException("查询用户基本信息集合为空......"); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),String.format("查询用户基本信息集合为空,userId:%s",certificationAddFormDTO.getUserId()),"查询用户基本信息异常"); } userBadgeDao.updateCertificateRecordIsLast(form.getBadgeId(),form.getUserId()); form.setGridId(userBaseInfoResultDTOS.get(NumConstant.ZERO).getRegisteredGridId()); @@ -283,17 +287,57 @@ public class UserBadgeServiceImpl implements UserBadgeService { form.setCertificationImg(certificationAddFormDTO.getCertificationImg()); form.setSurname(certificationAddFormDTO.getSurname()); log.info(JSON.toJSONString(form)); + String recordId=IdWorker.getIdStr(); + form.setId(recordId); userBadgeDao.insertUserBadgeCertificateRecord(form); - //TODO 站内信发送 - String badgeName = badgeDao.selectBadgeName(form.getCustomerId(), form.getBadgeId()); - String s = StringUtils.isBlank(userBaseInfoResultDTOS.get(NumConstant.ZERO).getDistrict()) ? userBaseInfoResultDTOS.get(NumConstant.ZERO).getRealName() : userBaseInfoResultDTOS.get(NumConstant.ZERO).getDistrict().concat(userBaseInfoResultDTOS.get(NumConstant.ZERO).getRealName()); - String msg = String.format(BadgeConstant.MESSAGE_CONTENT, s, badgeName); - // 记录待审核id,和消息类型 - sendMessage(BadgeConstant.AUTH_TITLE,msg,form.getGridId(),form.getUserId(),form.getCustomerId(), - UserMessageTypeConstant.BADGE_AUTH_APPLY, - form.getId()); + if(certificationAddFormDTO.getSendMsgFlag()){ + //TODO 站内信发送 + String badgeName = badgeDao.selectBadgeName(form.getCustomerId(), form.getBadgeId()); + String s = StringUtils.isBlank(userBaseInfoResultDTOS.get(NumConstant.ZERO).getDistrict()) ? userBaseInfoResultDTOS.get(NumConstant.ZERO).getRealName() : userBaseInfoResultDTOS.get(NumConstant.ZERO).getDistrict().concat(userBaseInfoResultDTOS.get(NumConstant.ZERO).getRealName()); + String msg = String.format(BadgeConstant.MESSAGE_CONTENT, s, badgeName); + // 记录待审核id,和消息类型 + sendMessage(BadgeConstant.AUTH_TITLE,msg,form.getGridId(),form.getUserId(),form.getCustomerId(), + UserMessageTypeConstant.BADGE_AUTH_APPLY, + form.getId()); + } + //烟台:徽章认证自动审核通过 + if(certificationAddFormDTO.getAutoPassFlag()){ + BadgeAuditFormDTO badgeAuditFormDTO=new BadgeAuditFormDTO(); + badgeAuditFormDTO.setRecordId(recordId); + //审核状态 approved:审核通过,rejected:审核驳回;auditing:审核中 + badgeAuditFormDTO.setAuditStatus(BadgeConstant.APPROVED); + badgeAuditFormDTO.setCurrentUserId("APP_USER"); + autoPassBadge(badgeAuditFormDTO); + } + Map resultMap=new HashMap(); + resultMap.put("recordId",recordId); + return new Result().ok(resultMap); + } + + /** + * 烟台:徽章认证,自动审核通过 + * @param badgeAuditFormDTO + */ + private void autoPassBadge(BadgeAuditFormDTO badgeAuditFormDTO) { + UserBadgeCertificateRecordDTO dto = SpringContextUtils.getBean(UserBadgeCertificateRecordService.class).get(badgeAuditFormDTO.getRecordId()); + dto.setAuditStatus(badgeAuditFormDTO.getAuditStatus()); + dto.setAuditRemark(badgeAuditFormDTO.getAuditRemark()); + dto.setStaffId(badgeAuditFormDTO.getCurrentUserId()); + dto.setIsLast(BadgeConstant.YES); + dto.setAuditTime(new Date()); + SpringContextUtils.getBean(UserBadgeCertificateRecordService.class).update(dto); + + ResiUserBadgeDTO resiUserBadgeDTO = new ResiUserBadgeDTO(); + resiUserBadgeDTO.setCustomerId(dto.getCustomerId()); + resiUserBadgeDTO.setBadgeId(dto.getBadgeId()); + resiUserBadgeDTO.setGridId(dto.getGridId()); + resiUserBadgeDTO.setUserId(dto.getUserId()); + resiUserBadgeDTO.setIsOpened(NumConstant.ONE); + resiUserBadgeDTO.setCertificationAutidStatus(dto.getAuditStatus()); + SpringContextUtils.getBean(ResiUserBadgeService.class).save(resiUserBadgeDTO); + //更新Redis + userBadgeRedis.pushOrRemoveUserBadge4List(dto.getUserId(),dto.getBadgeId(),dto.getCustomerId()); - return new Result(); } private void validateParams(CertificationAddFormDTO certificationAddFormDTO, AuthFieldFormDTO authFieldFormDTO) { diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml index c42a648c62..95b77d51a7 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml @@ -171,9 +171,6 @@ - - select replace(uuid(),'-','') AS ID - INSERT INTO user_badge_certificate_record ( ID, CUSTOMER_ID, From a4b92ac44ae285ecd23672e1360f71bd409d9d39 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 31 Jan 2023 14:13:36 +0800 Subject: [PATCH 06/12] =?UTF-8?q?=E5=BE=BD=E7=AB=A0=E8=AE=A4=E8=AF=81?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E7=BD=91=E6=A0=BC=E4=B8=BA=E7=A9=BA=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=E5=87=BA=E6=9D=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/service/impl/UserBadgeServiceImpl.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java index f9d07dbfc0..527c8e0c43 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java @@ -278,9 +278,12 @@ public class UserBadgeServiceImpl implements UserBadgeService { List userIds = new ArrayList<>(); userIds.add(certificationAddFormDTO.getUserId()); List userBaseInfoResultDTOS = userBaseInfoService.queryUserBaseInfo(userIds); - if (CollectionUtils.isEmpty(userBaseInfoResultDTOS)) { + if (CollectionUtils.isEmpty(userBaseInfoResultDTOS)||null==userBaseInfoResultDTOS.get(NumConstant.ZERO)) { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),String.format("查询用户基本信息集合为空,userId:%s",certificationAddFormDTO.getUserId()),"查询用户基本信息异常"); } + if(StringUtils.isBlank(userBaseInfoResultDTOS.get(NumConstant.ZERO).getRegisteredGridId())){ + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"异常信息:注册网格为空","服务器开小差了...注册网格为空"); + } userBadgeDao.updateCertificateRecordIsLast(form.getBadgeId(),form.getUserId()); form.setGridId(userBaseInfoResultDTOS.get(NumConstant.ZERO).getRegisteredGridId()); form.setIdNum(certificationAddFormDTO.getIdcard()); From a29336c25b6166e2996384cc2b8d30ba7543b54a Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 31 Jan 2023 15:04:56 +0800 Subject: [PATCH 07/12] =?UTF-8?q?/epmetuser/userbaseinfo/page-reguser?= =?UTF-8?q?=E5=AE=8C=E5=96=84=E4=BF=A1=E6=81=AF=E5=88=97=E8=A1=A8=E8=AF=A6?= =?UTF-8?q?=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/form/PageRegUserFormDTO.java | 21 ++++++++++ .../controller/UserBaseInfoController.java | 16 ++++++-- .../java/com/epmet/dao/UserBaseInfoDao.java | 7 ++++ .../epmet/service/UserBaseInfoService.java | 8 ++++ .../service/impl/UserBaseInfoServiceImpl.java | 27 +++++++++++-- .../main/resources/mapper/UserBaseInfoDao.xml | 38 +++++++++++++++++++ 6 files changed, 109 insertions(+), 8 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageRegUserFormDTO.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageRegUserFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageRegUserFormDTO.java new file mode 100644 index 0000000000..4d6cabafc6 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageRegUserFormDTO.java @@ -0,0 +1,21 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.dto.form.PageFormDTO; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 来源于烟台需求,pc端新增菜单:用户完善信息列表 + * @Author yzm + * @Date 2023/1/31 14:37 + */ +@Data +public class PageRegUserFormDTO extends PageFormDTO implements Serializable { + private String agencyId; + private String gridId; + private String regStartTime; + private String regEndTime; + private String name; +} + diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBaseInfoController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBaseInfoController.java index edd488e9e4..a78c214b26 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBaseInfoController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBaseInfoController.java @@ -18,6 +18,7 @@ package com.epmet.controller; import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.dto.form.PageFormDTO; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.redis.common.bean.ResiUserInfoCache; import com.epmet.commons.tools.security.dto.TokenDto; @@ -30,10 +31,7 @@ import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.RegisterRelationDTO; import com.epmet.dto.UserBaseInfoDTO; -import com.epmet.dto.form.CommonUserIdFormDTO; -import com.epmet.dto.form.DingLoginResiFormDTO; -import com.epmet.dto.form.IssueInitiatorFormDTO; -import com.epmet.dto.form.VolunteerRegResiFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.UserBaseInfoEntity; import com.epmet.excel.UserBaseInfoExcel; @@ -238,5 +236,15 @@ public class UserBaseInfoController { public Result dingResiLogin(@RequestBody DingLoginResiFormDTO formDTO){ return new Result().ok(userBaseInfoService.dingResiLogin(formDTO)); } + + /** + * 来源于烟台需求,pc端新增菜单:用户完善信息列表 + * @return + */ + @PostMapping("page-reguser") + public Result> pageRegUser(@RequestBody PageRegUserFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class); + return new Result>().ok(userBaseInfoService.pageRegUser(formDTO)); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBaseInfoDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBaseInfoDao.java index b415ca67c8..00edb5c70c 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBaseInfoDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBaseInfoDao.java @@ -94,4 +94,11 @@ public interface UserBaseInfoDao extends BaseDao { String selectIdCard(String userId); UserBaseInfoEntity selectUserByMobile(@Param("customerId") String customerId, @Param("mobile")String mobile); + + List pageRegUser(@Param("customerId") String customerId, + @Param("agencyId") String agencyId, + @Param("gridId") String gridId, + @Param("name") String name, + @Param("regStartTime") String regStartTime, + @Param("regEndTime") String regEndTime); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBaseInfoService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBaseInfoService.java index ccd55f362c..b97e4aa3a8 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBaseInfoService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBaseInfoService.java @@ -25,6 +25,7 @@ import com.epmet.dto.RegisterRelationDTO; import com.epmet.dto.UserBaseInfoDTO; import com.epmet.dto.form.CommonUserIdFormDTO; import com.epmet.dto.form.DingLoginResiFormDTO; +import com.epmet.dto.form.PageRegUserFormDTO; import com.epmet.dto.form.VolunteerRegResiFormDTO; import com.epmet.dto.result.*; import com.epmet.entity.UserBaseInfoEntity; @@ -220,4 +221,11 @@ public interface UserBaseInfoService extends BaseService { * @Date 2022/9/15 11:17 */ DingLoginResiResDTO dingResiLogin(DingLoginResiFormDTO formDTO); + + /** + * 用户完善信息列表 + * @param formDTO + * @return + */ + PageData pageRegUser(PageRegUserFormDTO formDTO); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java index a328399810..651b706471 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java @@ -34,6 +34,7 @@ import com.epmet.commons.tools.redis.common.CustomerOrgRedis; import com.epmet.commons.tools.redis.common.bean.GridInfoCache; import com.epmet.commons.tools.redis.common.bean.ResiUserInfoCache; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.EpmetRequestHolder; import com.epmet.commons.tools.utils.NameUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dao.*; @@ -41,10 +42,7 @@ import com.epmet.dto.RegisterRelationDTO; import com.epmet.dto.UserBaseInfoDTO; import com.epmet.dto.UserResiInfoDTO; import com.epmet.dto.UserWechatDTO; -import com.epmet.dto.form.CommonUserIdFormDTO; -import com.epmet.dto.form.DingLoginResiFormDTO; -import com.epmet.dto.form.UserRoleFormDTO; -import com.epmet.dto.form.VolunteerRegResiFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.RegisterRelationEntity; import com.epmet.entity.UserBaseInfoEntity; @@ -58,6 +56,8 @@ import com.epmet.service.RegisterRelationService; import com.epmet.service.UserBaseInfoService; import com.epmet.service.UserResiInfoService; import com.epmet.util.ModuleConstant; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -602,4 +602,23 @@ public class UserBaseInfoServiceImpl extends BaseServiceImpl pageRegUser(PageRegUserFormDTO formDTO) { + PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage()); + List list = baseDao.pageRegUser(EpmetRequestHolder.getLoginUserCustomerId(), + formDTO.getAgencyId(), + formDTO.getGridId(), + formDTO.getName(), + formDTO.getRegStartTime(), + formDTO.getRegEndTime()); + PageInfo pageInfo = new PageInfo<>(list); + return new PageData<>(list, pageInfo.getTotal()); + } } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml index c8f4d403a1..2c023fa780 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml @@ -167,4 +167,42 @@ AND ubi.DEL_FLAG = '0' order by ubi.CREATED_TIME desc limit 1 + + From d6f7a173769d280659da3bae8d844bd0f93ba8c5 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 31 Jan 2023 15:06:33 +0800 Subject: [PATCH 08/12] =?UTF-8?q?=E9=BB=98=E8=AE=A4=E6=89=80=E5=B1=9E?= =?UTF-8?q?=E7=BB=84=E7=BB=87id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/form/AdviceListFormDTO.java | 1 - 1 file changed, 1 deletion(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AdviceListFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AdviceListFormDTO.java index 620e1b3f5e..9bf7351837 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AdviceListFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AdviceListFormDTO.java @@ -28,7 +28,6 @@ public class AdviceListFormDTO { /** * 组织id 不填查询所有 */ - @NotBlank(message = "agencyId不能为空",groups = WorkPcGroup.class) private String agencyId; /** From d999609a7b0d7e610d46e21a84db087ddb57c1d6 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 31 Jan 2023 15:38:28 +0800 Subject: [PATCH 09/12] =?UTF-8?q?=E7=83=9F=E5=8F=B0=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E5=AE=8C=E5=96=84=E4=BF=A1=E6=81=AF=E5=88=97=E8=A1=A8+?= =?UTF-8?q?=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/form/PageRegUserFormDTO.java | 5 +++++ .../dto/result/ResiUserBaseInfoResultDTO.java | 18 ++++++++++++++++++ .../controller/UserBaseInfoController.java | 2 ++ .../java/com/epmet/dao/UserBaseInfoDao.java | 3 ++- .../service/impl/UserBaseInfoServiceImpl.java | 3 ++- .../main/resources/mapper/UserBaseInfoDao.xml | 15 ++++++++++++--- 6 files changed, 41 insertions(+), 5 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageRegUserFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageRegUserFormDTO.java index 4d6cabafc6..fa4fb4878c 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageRegUserFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PageRegUserFormDTO.java @@ -17,5 +17,10 @@ public class PageRegUserFormDTO extends PageFormDTO implements Serializable { private String regStartTime; private String regEndTime; private String name; + + /** + * 查询详情时也调用此接口 + */ + private String userId; } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ResiUserBaseInfoResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ResiUserBaseInfoResultDTO.java index 5fb44fd6af..59ffdc648c 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ResiUserBaseInfoResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ResiUserBaseInfoResultDTO.java @@ -1,7 +1,10 @@ package com.epmet.dto.result; + +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.io.Serializable; +import java.util.Date; /** * 用户基础信息 返回值 @@ -73,4 +76,19 @@ public class ResiUserBaseInfoResultDTO implements Serializable { * 头像(目前来源于微信,后续系统顾客支持上传头像) */ private String headImgUrl; + + /** + * 注册时间 + * user_Base_info.CREATED_TIME + * register_relation.CREATED_TIME + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date regTime; + + /** + * 用户完善信息列表返回 + */ + private String gridId; + private String agencyId; + private String showIdNum; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBaseInfoController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBaseInfoController.java index a78c214b26..252195a076 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBaseInfoController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBaseInfoController.java @@ -18,6 +18,7 @@ package com.epmet.controller; import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.annotation.MaskResponse; import com.epmet.commons.tools.dto.form.PageFormDTO; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.redis.common.bean.ResiUserInfoCache; @@ -241,6 +242,7 @@ public class UserBaseInfoController { * 来源于烟台需求,pc端新增菜单:用户完善信息列表 * @return */ + @MaskResponse(fieldNames = { "showIdNum"}, fieldsMaskType = {MaskResponse.MASK_TYPE_ID_CARD }) @PostMapping("page-reguser") public Result> pageRegUser(@RequestBody PageRegUserFormDTO formDTO){ ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBaseInfoDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBaseInfoDao.java index 00edb5c70c..01d7fa11d7 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBaseInfoDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBaseInfoDao.java @@ -100,5 +100,6 @@ public interface UserBaseInfoDao extends BaseDao { @Param("gridId") String gridId, @Param("name") String name, @Param("regStartTime") String regStartTime, - @Param("regEndTime") String regEndTime); + @Param("regEndTime") String regEndTime, + @Param("userId") String userId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java index 651b706471..89da786c34 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java @@ -617,7 +617,8 @@ public class UserBaseInfoServiceImpl extends BaseServiceImpl pageInfo = new PageInfo<>(list); return new PageData<>(list, pageInfo.getTotal()); } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml index 2c023fa780..7cdcdc0913 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml @@ -83,7 +83,8 @@ DISTRICT district, BUILDING_ADDRESS buildingAddress, NICKNAME nickname, - HEAD_IMG_URL headImgUrl + HEAD_IMG_URL headImgUrl, + CREATED_TIME as regTime FROM user_base_info WHERE DEL_FLAG = '0' AND USER_ID = #{userId} @@ -181,7 +182,11 @@ ubi.DISTRICT district, ubi.BUILDING_ADDRESS buildingAddress, ubi.NICKNAME nickname, - ubi.HEAD_IMG_URL headImgUrl + ubi.HEAD_IMG_URL headImgUrl, + rr.CREATED_TIME as regTime, + rr.GRID_ID, + rr.AGENCY_ID, + ubi.ID_NUM as showIdNum FROM register_relation rr LEFT JOIN user_base_info ubi ON ( rr.USER_ID = ubi.USER_ID ) @@ -189,6 +194,9 @@ rr.DEL_FLAG = '0' AND rr.CUSTOMER_ID = #{customerId} AND rr.FIRST_REGISTER = '1' + + AND rr.USER_ID = #{userId} + AND rr.GRID_ID = #{gridId} @@ -196,7 +204,7 @@ AND rr.AGENCY_ID_PATH LIKE concat( '%', #{agencyId}, '%' ) - and rr.REAL_NAME like concat( '%', #{name}, '%' ) + and ubi.REAL_NAME like concat( '%', #{name}, '%' ) AND DATE_FORMAT( rr.CREATED_TIME, '%Y%m%d' ) >= #{regStartTime} @@ -204,5 +212,6 @@ AND DATE_FORMAT( rr.CREATED_TIME, '%Y%m%d' ) <= #{regEndTime} + order by rr.CREATED_TIME desc From e65aa491a2ff5e70d440ce343a7d9da29f7492c3 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 1 Feb 2023 13:47:45 +0800 Subject: [PATCH 10/12] =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=8F=8D=E9=A6=88?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E8=AF=A6=E6=83=85=E3=80=81=E5=9B=9E=E5=A4=8D?= =?UTF-8?q?=EF=BC=9B=E5=85=BC=E5=AE=B9=E8=BF=90=E8=90=A5=E7=AB=AF+?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=AB=AF=EF=BC=9Bbugfix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/form/ReplyAdviceFormDTO.java | 11 ++++++++ .../controller/UserAdviceController.java | 6 +++-- .../java/com/epmet/dao/UserAdviceDao.java | 3 ++- .../com/epmet/service/OperUserService.java | 7 +++++ .../com/epmet/service/UserAdviceService.java | 3 +-- .../service/impl/OperUserServiceImpl.java | 16 +++++++++++ .../service/impl/UserAdviceServiceImpl.java | 27 +++++++++++++------ .../main/resources/mapper/UserAdviceDao.xml | 2 +- 8 files changed, 61 insertions(+), 14 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ReplyAdviceFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ReplyAdviceFormDTO.java index f353919247..a602634f6f 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ReplyAdviceFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ReplyAdviceFormDTO.java @@ -24,4 +24,15 @@ public class ReplyAdviceFormDTO implements Serializable { private List govImgList; private String govContent; + + /** + * 回复人id + * 工作端回复:customer_staff.user_id + * 运营端回复:oper_user.user_id + */ + private String replyUserId; + /** + * 政府端:gov、居民端:resi、运营端:oper + */ + private String app; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserAdviceController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserAdviceController.java index e58a7ad95b..885099e001 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserAdviceController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserAdviceController.java @@ -118,9 +118,11 @@ public class UserAdviceController { * @Date 2020/11/10 9:34 */ @PostMapping("replyadvice") - public Result replyAdvice(@RequestBody ReplyAdviceFormDTO dto) { + public Result replyAdvice(@LoginUser TokenDto tokenDto,@RequestBody ReplyAdviceFormDTO dto) { + dto.setReplyUserId(tokenDto.getUserId()); + dto.setApp(tokenDto.getApp()); ValidatorUtils.validateEntity(dto); - userAdviceService.replyAdvice(dto, loginUserUtil.getLoginUserId()); + userAdviceService.replyAdvice(dto); return new Result(); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserAdviceDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserAdviceDao.java index 7497af5dbd..02409f8dac 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserAdviceDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserAdviceDao.java @@ -38,7 +38,8 @@ public interface UserAdviceDao extends BaseDao { void replyAdvice(@Param("adviceId") String adviceId, @Param("replyContent") String replyContent, @Param("govContent") String govContent, - @Param("replyUserId") String loginUserId); + @Param("replyUserId") String replyUserId, + @Param("replyUserName")String replyUserName); List myAdviceList(@Param("pageSize") int pageSize, @Param("pageNo") int pageNo, diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/OperUserService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/OperUserService.java index 4aff1ed012..852192ceb0 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/OperUserService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/OperUserService.java @@ -107,4 +107,11 @@ public interface OperUserService extends BaseService { * @param dto */ void updatePwd(String userId, PasswordDTO dto); + + /** + * 查询运营人员信息 + * @param userId + * @return + */ + OperUserDTO getOperUserDTO(String userId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserAdviceService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserAdviceService.java index 4bfc5d5307..7edb2de544 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserAdviceService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserAdviceService.java @@ -102,12 +102,11 @@ public interface UserAdviceService extends BaseService { /** * @Description 回复建议 * @param dto - * @param loginUserId * @return void * @Author liushaowen * @Date 2020/11/6 16:44 */ - void replyAdvice(ReplyAdviceFormDTO dto, String loginUserId); + void replyAdvice(ReplyAdviceFormDTO dto); /** * @Description 建议详情 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 d44fe607eb..4758d01cd1 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 @@ -196,4 +196,20 @@ public class OperUserServiceImpl extends BaseServiceImpl queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(OperUserEntity::getUserId, userId); + OperUserEntity entity = baseDao.selectOne(queryWrapper); + if (null != entity) { + return ConvertUtils.sourceToTarget(entity, OperUserDTO.class); + } + return null; + } } 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 6a8b259095..55c7bd0e13 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 @@ -21,10 +21,13 @@ 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.tools.constant.AppClientConstant; import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.constant.StrConstant; 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.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.scan.param.ImgScanParamDTO; import com.epmet.commons.tools.scan.param.ImgTaskDTO; import com.epmet.commons.tools.scan.param.TextScanParamDTO; @@ -33,10 +36,12 @@ import com.epmet.commons.tools.scan.result.SyncScanResult; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.ScanContentUtils; +import com.epmet.commons.tools.utils.SpringContextUtils; import com.epmet.constant.UserAdviceConstant; import com.epmet.dao.UserAdviceDao; import com.epmet.dto.CustomerDTO; import com.epmet.dto.CustomerGridDTO; +import com.epmet.dto.OperUserDTO; import com.epmet.dto.UserAdviceDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.AdviceDetailResultDTO; @@ -148,14 +153,13 @@ public class UserAdviceServiceImpl extends BaseServiceImpl govImgList = dto.getGovImgList(); if (!Collections.isEmpty(govImgList)) { @@ -179,7 +190,7 @@ public class UserAdviceServiceImpl extends BaseServiceImpl govImgList = new ArrayList<>(); List resiImgList = new ArrayList<>(); for (UserAdviceImgEntity entity : imgsByAdviceId) { - if ("resi".equals(entity.getType())) { + if (AppClientConstant.APP_RESI.equals(entity.getType())) { resiImgList.add(entity.getImgUrl()); - } else if ("oper".equals(entity.getType())) { + } else if (AppClientConstant.APP_OPER.equals(entity.getType())||AppClientConstant.APP_GOV.equals(entity.getType())) { govImgList.add(entity.getImgUrl()); } } @@ -410,7 +421,7 @@ public class UserAdviceServiceImpl extends BaseServiceImpl Date: Wed, 1 Feb 2023 18:36:29 +0800 Subject: [PATCH 11/12] /resi/home/voice/latestarticlelist --- .../java/com/epmet/dto/form/CommonArticleListFormDTO.java | 4 ++++ .../src/main/java/com/epmet/dao/ArticleDao.java | 6 +++++- .../java/com/epmet/service/impl/ArticleServiceImpl.java | 7 +++++-- .../src/main/resources/mapper/ArticleDao.xml | 6 ++++-- 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/CommonArticleListFormDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/CommonArticleListFormDTO.java index e86357966e..a0cb76ed86 100644 --- a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/CommonArticleListFormDTO.java +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/CommonArticleListFormDTO.java @@ -39,5 +39,9 @@ public class CommonArticleListFormDTO implements Serializable { * 排除的标签名称(高级配置里的参数) * */ private String excludeTagName; + /** + * 是否置顶 1是;0否; + */ + private Integer isTop; } diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleDao.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleDao.java index 2c19c2aa38..3a549dfa61 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleDao.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleDao.java @@ -114,7 +114,11 @@ public interface ArticleDao extends BaseDao { * @author wangc * @date 2020.06.02 16:04 **/ - List selectLatestArticleMsg(@Param("gridId") String gridId, @Param("tagName") String tagName, @Param("excludeTagName") String excludeTagName, @Param("num") Integer num); + List selectLatestArticleMsg(@Param("gridId") String gridId, + @Param("tagName") String tagName, + @Param("excludeTagName") String excludeTagName, + @Param("num") Integer num, + @Param("isTop")Integer isTop); /** * @param gridId diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java index c355bd1cc9..72f3abf0c3 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java @@ -704,9 +704,12 @@ public class ArticleServiceImpl extends BaseServiceImpl getLatestArticleList(CommonArticleListFormDTO commonArticleListFormDTO) { - return baseDao.selectLatestArticleMsg(commonArticleListFormDTO.getGridId(),commonArticleListFormDTO.getTagName(),commonArticleListFormDTO.getExcludeTagName(), + return baseDao.selectLatestArticleMsg(commonArticleListFormDTO.getGridId(), + commonArticleListFormDTO.getTagName(), + commonArticleListFormDTO.getExcludeTagName(), null == commonArticleListFormDTO.getNum() || commonArticleListFormDTO.getNum() <= NumConstant.ZERO ? - NumConstant.FIVE : commonArticleListFormDTO.getNum()); + NumConstant.FIVE : commonArticleListFormDTO.getNum(), + commonArticleListFormDTO.getIsTop()); } /** diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml b/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml index 61c6e4c517..379e7fbbc1 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml +++ b/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml @@ -187,7 +187,7 @@ - SELECT art.ID AS articleId, art.TITLE AS articleTitle , @@ -224,7 +224,9 @@ art.DEL_FLAG = '0' AND art.STATUS_FLAG = 'published' - + + AND art.IS_TOP=#{isTop} + GROUP BY art.ID HAVING 1 = 1 From 197ad1cdbaf0d7bda97debf602f7b516621bc63e Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 2 Feb 2023 10:31:34 +0800 Subject: [PATCH 12/12] =?UTF-8?q?=E5=8A=9E=E4=BA=8B=E6=8C=87=E5=8D=97?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E8=BF=94=E5=9B=9E=E5=B7=B2=E8=AF=BB=EF=BC=8C?= =?UTF-8?q?=E6=9C=AA=E8=AF=BB=E3=80=82=E9=98=85=E8=AF=BB=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/form/GuideListFormDTO.java | 8 ++++ .../epmet/dto/result/GuideListResultDTO.java | 6 +++ .../com/epmet/controller/GuideController.java | 4 +- .../java/com/epmet/dao/GuideReaderDao.java | 16 +++++++ .../com/epmet/entity/GuideReaderEntity.java | 44 +++++++++++++++++++ .../com/epmet/service/GuideReaderService.java | 34 ++++++++++++++ .../java/com/epmet/service/GuideService.java | 2 +- .../service/impl/GuideReaderServiceImpl.java | 35 +++++++++++++++ .../epmet/service/impl/GuideServiceImpl.java | 23 ++++++---- .../db/migration/V0.0.12__guide_reader.sql | 14 ++++++ .../src/main/resources/mapper/GuideDao.xml | 5 ++- .../main/resources/mapper/GuideReaderDao.xml | 21 +++++++++ 12 files changed, 201 insertions(+), 11 deletions(-) create mode 100644 epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/GuideReaderDao.java create mode 100644 epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/GuideReaderEntity.java create mode 100644 epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideReaderService.java create mode 100644 epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/GuideReaderServiceImpl.java create mode 100644 epmet-module/gov-voice/gov-voice-server/src/main/resources/db/migration/V0.0.12__guide_reader.sql create mode 100644 epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/GuideReaderDao.xml diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GuideListFormDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GuideListFormDTO.java index d8edcf1308..212cfd9a7a 100644 --- a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GuideListFormDTO.java +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GuideListFormDTO.java @@ -16,7 +16,15 @@ import java.io.Serializable; public class GuideListFormDTO extends PageFormDTO implements Serializable { private static final long serialVersionUID = -4471422632936288213L; + /** + * tokenDto.customerId + */ private String customerId; + + /** + * tokenDto.userId + */ + private String userId; /** * 组织ID */ diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/GuideListResultDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/GuideListResultDTO.java index 7cd2400afa..f4b2403608 100644 --- a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/GuideListResultDTO.java +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/GuideListResultDTO.java @@ -32,4 +32,10 @@ public class GuideListResultDTO implements Serializable { * 更新时间 */ private Date updatedTime; + + /** + * 1:已读 + * 0:未读 + */ + private Integer readFlag; } \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/GuideController.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/GuideController.java index 8fe57c6f76..a1586ee736 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/GuideController.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/GuideController.java @@ -100,8 +100,10 @@ public class GuideController { */ @PostMapping("list") public Result> guideList(@LoginUser TokenDto tokenDto, @RequestBody GuideListFormDTO formDTO) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setUserId(tokenDto.getUserId()); ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class); - PageData page = guideService.guideList(tokenDto, formDTO); + PageData page = guideService.guideList(formDTO); return new Result>().ok(page); } diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/GuideReaderDao.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/GuideReaderDao.java new file mode 100644 index 0000000000..a7f5887077 --- /dev/null +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/GuideReaderDao.java @@ -0,0 +1,16 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.GuideReaderEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 办事指南阅读记录 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-02-02 + */ +@Mapper +public interface GuideReaderDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/GuideReaderEntity.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/GuideReaderEntity.java new file mode 100644 index 0000000000..b5b1f881fc --- /dev/null +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/entity/GuideReaderEntity.java @@ -0,0 +1,44 @@ +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 2023-02-02 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("guide_reader") +public class GuideReaderEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 办事指南id + */ + private String guideId; + + /** + * 用户id;进入过办事指南详情就算是已读 + */ + private String userId; + + /** + * 工作端:gov;居民端:resi + */ + private String userType; + +} diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideReaderService.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideReaderService.java new file mode 100644 index 0000000000..646a578a72 --- /dev/null +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideReaderService.java @@ -0,0 +1,34 @@ +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.entity.GuideReaderEntity; + +/** + * 办事指南阅读记录 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-02-02 + */ +public interface GuideReaderService extends BaseService { + + /** + * 单条查询 + * + * @param guideId + * @param userId + * @return GuideReaderDTO + * @author generator + * @date 2023-02-02 + */ + GuideReaderEntity get(String guideId,String userId); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2023-02-02 + */ + void save(GuideReaderEntity dto); +} \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideService.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideService.java index a2493a88ac..6f5d3c7071 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideService.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/GuideService.java @@ -109,7 +109,7 @@ public interface GuideService extends BaseService { * @Author zhaoqifeng * @Date 2021/9/7 14:00 */ - PageData guideList(TokenDto tokenDto, GuideListFormDTO formDTO); + PageData guideList(GuideListFormDTO formDTO); /** * 添加指南 diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/GuideReaderServiceImpl.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/GuideReaderServiceImpl.java new file mode 100644 index 0000000000..e66e635289 --- /dev/null +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/GuideReaderServiceImpl.java @@ -0,0 +1,35 @@ +package com.epmet.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.dao.GuideReaderDao; +import com.epmet.entity.GuideReaderEntity; +import com.epmet.service.GuideReaderService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * 办事指南阅读记录 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-02-02 + */ +@Service +public class GuideReaderServiceImpl extends BaseServiceImpl implements GuideReaderService { + + @Override + public GuideReaderEntity get(String guideId,String userId) { + LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); + queryWrapper.eq(GuideReaderEntity::getGuideId,guideId) + .eq(GuideReaderEntity::getUserId,userId); + GuideReaderEntity entity = baseDao.selectOne(queryWrapper); + return entity; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(GuideReaderEntity entity) { + insert(entity); + } + +} \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/GuideServiceImpl.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/GuideServiceImpl.java index d93f21b2af..6c22b22f8d 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/GuideServiceImpl.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/GuideServiceImpl.java @@ -22,6 +22,7 @@ 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.constant.NumConstant; +import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.form.PageFormDTO; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.exception.EpmetErrorCode; @@ -31,6 +32,7 @@ import com.epmet.commons.tools.redis.common.CustomerStaffRedis; 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.commons.tools.utils.SpringContextUtils; import com.epmet.constant.OrgInfoConstant; import com.epmet.dao.GuideDao; import com.epmet.dto.GuideDTO; @@ -38,10 +40,7 @@ import com.epmet.dto.form.*; import com.epmet.dto.result.GuideDetailResultDTO; import com.epmet.dto.result.GuideListResultDTO; import com.epmet.dto.result.OrgResultDTO; -import com.epmet.entity.GuideAttachmentEntity; -import com.epmet.entity.GuideEntity; -import com.epmet.entity.GuideExternalLinkEntity; -import com.epmet.entity.GuideModuleEntity; +import com.epmet.entity.*; import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.service.*; import com.github.pagehelper.PageHelper; @@ -140,15 +139,14 @@ public class GuideServiceImpl extends BaseServiceImpl imp * @Date 2021/9/7 14:00 */ @Override - public PageData guideList(TokenDto tokenDto, GuideListFormDTO formDTO) { + public PageData guideList(GuideListFormDTO formDTO) { PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()); - formDTO.setCustomerId(tokenDto.getCustomerId()); List list = baseDao.getGuideList(formDTO); if (CollectionUtils.isNotEmpty(list)) { list.forEach(item -> { - CustomerStaffInfoCacheResult staffInfoCache = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), item.getCreatedId()); + CustomerStaffInfoCacheResult staffInfoCache = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), item.getCreatedId()); if (null == staffInfoCache) { - item.setCategoryName(""); + item.setCategoryName(StrConstant.EPMETY_STR); } else { item.setCreatedName(staffInfoCache.getRealName()); } @@ -390,6 +388,15 @@ public class GuideServiceImpl extends BaseServiceImpl imp if (null != guideCollectionService.getCollection(tokenDto, formDTO.getGuideId())) { result.setCollectionFlag(NumConstant.ONE_STR); } + //记录已读未读 + if (null == SpringContextUtils.getBean(GuideReaderService.class).get(formDTO.getGuideId(), tokenDto.getUserId())) { + GuideReaderEntity guideReaderEntity=new GuideReaderEntity(); + guideReaderEntity.setGuideId(formDTO.getGuideId()); + guideReaderEntity.setCustomerId(formDTO.getCustomerId()); + guideReaderEntity.setUserId(tokenDto.getUserId()); + guideReaderEntity.setUserType(tokenDto.getApp()); + SpringContextUtils.getBean(GuideReaderService.class).save(guideReaderEntity); + } return result; } diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/resources/db/migration/V0.0.12__guide_reader.sql b/epmet-module/gov-voice/gov-voice-server/src/main/resources/db/migration/V0.0.12__guide_reader.sql new file mode 100644 index 0000000000..eb1fb181c0 --- /dev/null +++ b/epmet-module/gov-voice/gov-voice-server/src/main/resources/db/migration/V0.0.12__guide_reader.sql @@ -0,0 +1,14 @@ +CREATE TABLE `guide_reader` ( + `ID` varchar(64) NOT NULL COMMENT 'ID', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID', + `GUIDE_ID` varchar(64) NOT NULL COMMENT '办事指南id', + `USER_ID` varchar(64) NOT NULL COMMENT '用户id;进入过办事指南详情就算是已读', + `USER_TYPE` varchar(10) NOT NULL COMMENT '工作端:gov;居民端:resi', + `DEL_FLAG` int(11) 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`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='办事指南阅读记录'; \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/GuideDao.xml b/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/GuideDao.xml index d3d5c34a56..06e0fa5407 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/GuideDao.xml +++ b/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/GuideDao.xml @@ -26,7 +26,10 @@ g.TITLE AS "title", gc.CATEGORY_NAME AS "categoryName", g.CREATED_BY AS "createdId", - g.UPDATED_TIME AS "updatedTime" + g.UPDATED_TIME AS "updatedTime", + if(exists( select gr.id from guide_reader gr + where gr.del_flag='0' + and gr.GUIDE_ID=g.id),1,0) AS readFlag FROM guide g INNER JOIN guide_category gc ON g.CATEGORY_CODE = gc.CATEGORY_CODE AND gc.DEL_FLAG = 0 AND gc.CUSTOMER_ID = #{customerId} diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/GuideReaderDao.xml b/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/GuideReaderDao.xml new file mode 100644 index 0000000000..0c1d006449 --- /dev/null +++ b/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/GuideReaderDao.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file