Browse Source

Merge remote-tracking branch 'origin/dev_personal_center' into dev_personal_center

dev_shibei_match
wangchao 5 years ago
parent
commit
5da4bafe10
  1. 1
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/fact/FactIndexController.java
  2. 12
      epmet-user/epmet-user-client/src/main/java/com/epmet/constant/BadgeConstant.java
  3. 4
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/BadgeFormDTO.java
  4. 2
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CertificationAddFormDTO.java
  5. 50
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/AdviceListResultDTO.java
  6. 2
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CertificationDetailResultDTO.java
  7. 30
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/MyAdviceListResultDTO.java
  8. 4
      epmet-user/epmet-user-server/pom.xml
  9. 51
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserAdviceController.java
  10. 69
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/BadgeDao.java
  11. 7
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserAdviceDao.java
  12. 9
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBadgeDao.java
  13. 5
      epmet-user/epmet-user-server/src/main/java/com/epmet/entity/UserAdviceEntity.java
  14. 5
      epmet-user/epmet-user-server/src/main/java/com/epmet/excel/UserAdviceExcel.java
  15. 15
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserAdviceService.java
  16. 6
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java
  17. 140
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserAdviceServiceImpl.java
  18. 54
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java
  19. 10
      epmet-user/epmet-user-server/src/main/resources/bootstrap.yml
  20. 2
      epmet-user/epmet-user-server/src/main/resources/mapper/BadgeDao.xml
  21. 21
      epmet-user/epmet-user-server/src/main/resources/mapper/UserAdviceDao.xml
  22. 28
      epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml

1
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/fact/FactIndexController.java

@ -63,6 +63,7 @@ public class FactIndexController {
* @Description 按月查询各项指标数据 * @Description 按月查询各项指标数据
* @author sun * @author sun
*/ */
@PostMapping("index/ablitylist") @PostMapping("index/ablitylist")
public Result<List<AblityListResultDTO>> ablityList(@RequestBody AblityListFormDTO formDTO) { public Result<List<AblityListResultDTO>> ablityList(@RequestBody AblityListFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, AblityListFormDTO.AddUserInternalGroup.class); ValidatorUtils.validateEntity(formDTO, AblityListFormDTO.AddUserInternalGroup.class);

12
epmet-user/epmet-user-client/src/main/java/com/epmet/constant/BadgeConstant.java

@ -30,4 +30,16 @@ public interface BadgeConstant {
String OFFLINE ="offline"; String OFFLINE ="offline";
String RESI = "resi";
String AUTH_TITLE = "您有一条认证消息";
String GET_BADGE_NAME_FAILURE = "获取徽章名称失败......";
String MESSAGE_CONTENT = "您好,您的%s因认证失败未成功点亮,请查看";
String READ_FLAG = "unread";
String DEFAULT = "default";
} }

4
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/BadgeFormDTO.java

@ -21,4 +21,8 @@ public class BadgeFormDTO implements Serializable {
* 每页显示数量 * 每页显示数量
*/ */
private Integer pageSize = 20; private Integer pageSize = 20;
/**
* 网格Id
*/
private String gridId;
} }

2
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CertificationAddFormDTO.java

@ -47,7 +47,7 @@ public class CertificationAddFormDTO implements Serializable {
/** /**
* 身份证号 * 身份证号
*/ */
private String idCard; private String idcard;
/** /**
* 认证证件图片url * 认证证件图片url

50
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/AdviceListResultDTO.java

@ -0,0 +1,50 @@
package com.epmet.dto.result;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @description:
* @author: liushaowen
* @date: 2020/11/9 14:46
*/
@Data
public class AdviceListResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 建议id
*/
private String id;
/**
* 客户名
*/
private String customerName;
/**
* 网格名
*/
private String gridName;
/**
* 建议类型
*/
private String adviceType;
/**
* 提交的电话
*/
private String phone;
/**
* 建议时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date adviceTime;
private String adviceContent;
}

2
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CertificationDetailResultDTO.java

@ -26,7 +26,7 @@ public class CertificationDetailResultDTO implements Serializable {
/** /**
* 身份证号 * 身份证号
*/ */
private String idCard; private String idcard;
/** /**
* 是否认证 yes 认证 no 已认证 * 是否认证 yes 认证 no 已认证

30
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/MyAdviceListResultDTO.java

@ -0,0 +1,30 @@
package com.epmet.dto.result;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* @description:
* @author: liushaowen
* @date: 2020/11/9 17:21
*/
@Data
public class MyAdviceListResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
private String adviceContent;
private List<String> imgList;
@JsonFormat(pattern = "yyyy/MM/dd", timezone = "GMT+8")
private Date adviceTime;
private String replyContent;
@JsonFormat(pattern = "yyyy/MM/dd", timezone = "GMT+8")
private Date replyTime;
}

4
epmet-user/epmet-user-server/pom.xml

@ -155,6 +155,7 @@
<nacos.ip/> <nacos.ip/>
<spring.flyway.enabled>false</spring.flyway.enabled> <spring.flyway.enabled>false</spring.flyway.enabled>
<openapi.scan.server.url>https://epmet-dev.elinkservice.cn/api/epmetscan/api</openapi.scan.server.url>
</properties> </properties>
</profile> </profile>
<profile> <profile>
@ -187,6 +188,7 @@
<nacos.ip/> <nacos.ip/>
<spring.flyway.enabled>false</spring.flyway.enabled> <spring.flyway.enabled>false</spring.flyway.enabled>
<openapi.scan.server.url>https://epmet-dev.elinkservice.cn/api/epmetscan/api</openapi.scan.server.url>
</properties> </properties>
</profile> </profile>
<profile> <profile>
@ -219,6 +221,7 @@
<nacos.ip/> <nacos.ip/>
<spring.flyway.enabled>true</spring.flyway.enabled> <spring.flyway.enabled>true</spring.flyway.enabled>
<openapi.scan.server.url>https://epmet-dev.elinkservice.cn/api/epmetscan/api</openapi.scan.server.url>
</properties> </properties>
</profile> </profile>
<profile> <profile>
@ -248,6 +251,7 @@
<nacos.ip/> <nacos.ip/>
<spring.flyway.enabled>true</spring.flyway.enabled> <spring.flyway.enabled>true</spring.flyway.enabled>
<openapi.scan.server.url>https://epmet-open.elinkservice.cn/api/epmetscan/api</openapi.scan.server.url>
</properties> </properties>
</profile> </profile>
</profiles> </profiles>

51
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserAdviceController.java

@ -31,6 +31,8 @@ import com.epmet.dto.UserAdviceDTO;
import com.epmet.dto.form.AdviceListFormDTO; import com.epmet.dto.form.AdviceListFormDTO;
import com.epmet.dto.form.ReplyAdviceFormDTO; import com.epmet.dto.form.ReplyAdviceFormDTO;
import com.epmet.dto.result.AdviceDetailResultDTO; import com.epmet.dto.result.AdviceDetailResultDTO;
import com.epmet.dto.result.AdviceListResultDTO;
import com.epmet.dto.result.MyAdviceListResultDTO;
import com.epmet.excel.UserAdviceExcel; import com.epmet.excel.UserAdviceExcel;
import com.epmet.service.UserAdviceService; import com.epmet.service.UserAdviceService;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -59,19 +61,19 @@ public class UserAdviceController {
private LoginUserUtil loginUserUtil; private LoginUserUtil loginUserUtil;
@GetMapping("page") @GetMapping("page")
public Result<PageData<UserAdviceDTO>> page(@RequestParam Map<String, Object> params){ public Result<PageData<UserAdviceDTO>> page(@RequestParam Map<String, Object> params) {
PageData<UserAdviceDTO> page = userAdviceService.page(params); PageData<UserAdviceDTO> page = userAdviceService.page(params);
return new Result<PageData<UserAdviceDTO>>().ok(page); return new Result<PageData<UserAdviceDTO>>().ok(page);
} }
@GetMapping("{id}") @GetMapping("{id}")
public Result<UserAdviceDTO> get(@PathVariable("id") String id){ public Result<UserAdviceDTO> get(@PathVariable("id") String id) {
UserAdviceDTO data = userAdviceService.get(id); UserAdviceDTO data = userAdviceService.get(id);
return new Result<UserAdviceDTO>().ok(data); return new Result<UserAdviceDTO>().ok(data);
} }
@PostMapping @PostMapping
public Result save(@RequestBody UserAdviceDTO dto){ public Result save(@RequestBody UserAdviceDTO dto) {
//效验数据 //效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
userAdviceService.save(dto); userAdviceService.save(dto);
@ -79,7 +81,7 @@ public class UserAdviceController {
} }
@PutMapping @PutMapping
public Result update(@RequestBody UserAdviceDTO dto){ public Result update(@RequestBody UserAdviceDTO dto) {
//效验数据 //效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
userAdviceService.update(dto); userAdviceService.update(dto);
@ -87,7 +89,7 @@ public class UserAdviceController {
} }
@DeleteMapping @DeleteMapping
public Result delete(@RequestBody String[] ids){ public Result delete(@RequestBody String[] ids) {
//效验数据 //效验数据
AssertUtils.isArrayEmpty(ids, "id"); AssertUtils.isArrayEmpty(ids, "id");
userAdviceService.delete(ids); userAdviceService.delete(ids);
@ -101,24 +103,49 @@ public class UserAdviceController {
} }
@PostMapping("replyadvice") @PostMapping("replyadvice")
public Result replyAdvice(@RequestBody ReplyAdviceFormDTO dto){ public Result replyAdvice(@RequestBody ReplyAdviceFormDTO dto) {
ValidatorUtils.validateEntity(dto); ValidatorUtils.validateEntity(dto);
userAdviceService.replyAdvice(dto,loginUserUtil.getLoginUserId()); userAdviceService.replyAdvice(dto, loginUserUtil.getLoginUserId());
return new Result(); return new Result();
} }
@PostMapping("advicedetail") @PostMapping("advicedetail")
public Result adviceDetail(String adviceId){ public Result adviceDetail(String adviceId) {
if (StringUtils.isBlank(adviceId)){ if (StringUtils.isBlank(adviceId)) {
throw new RenException("adviceId不能为空"); throw new RenException("adviceId不能为空");
} }
return new Result<AdviceDetailResultDTO>().ok(userAdviceService.adviceDetail(adviceId)); return new Result<AdviceDetailResultDTO>().ok(userAdviceService.adviceDetail(adviceId));
} }
@PostMapping("advicelist") @PostMapping("advicelist")
public Result<PageData<UserAdviceDTO>> adviceList(AdviceListFormDTO dto){ public Result<PageData<AdviceListResultDTO>> adviceList(@RequestBody AdviceListFormDTO dto) {
ValidatorUtils.validateEntity(dto); ValidatorUtils.validateEntity(dto);
PageData<UserAdviceDTO> page = userAdviceService.adviceList(dto); if (dto.getStartTime() != null && dto.getEndTime() != null) {
return new Result<PageData<UserAdviceDTO>>().ok(page); if (dto.getStartTime().after(dto.getEndTime())) {
throw new RenException("开始时间不能大于结束时间");
}
}
PageData<AdviceListResultDTO> page = userAdviceService.adviceList(dto);
return new Result<PageData<AdviceListResultDTO>>().ok(page);
}
/**
* @Description 居民端-我的建议列表
* @param map ->pageSize,pageNo
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.dto.result.MyAdviceListResultDTO>>
* @Author liushaowen
* @Date 2020/11/9 17:35
*/
@PostMapping("myadvicelist")
public Result<List<MyAdviceListResultDTO>> myAdviceList(@RequestBody Map<String,Integer> map) {
int pageSize = map.get("pageSize");
int pageNo = map.get("pageNo");
if (pageSize == 0){
pageSize = 10;
}
if (pageNo == 0){
pageNo = 1;
}
return new Result<List<MyAdviceListResultDTO>>().ok(userAdviceService.myAdviceList(pageSize,pageNo,loginUserUtil.getLoginUserId()));
} }
} }

69
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/BadgeDao.java

@ -19,15 +19,10 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.BadgeDTO; import com.epmet.dto.BadgeDTO;
import com.epmet.dto.result.BadgeAuditRecordResultDTO; import com.epmet.dto.result.*;
import com.epmet.dto.result.BadgeAuditingResultDTO;
import com.epmet.dto.result.BadgeDetailResultDTO;
import com.epmet.dto.result.BadgeListResultDTO;
import com.epmet.dto.result.UserBadgeListResultDTO;
import com.epmet.entity.BadgeEntity; import com.epmet.entity.BadgeEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.omg.PortableInterceptor.ORBInitInfoPackage.DuplicateName;
import java.util.List; import java.util.List;
@ -42,114 +37,126 @@ public interface BadgeDao extends BaseDao<BadgeEntity> {
/** /**
* 获取徽章列表 * 获取徽章列表
* @author zhaoqifeng *
* @date 2020/11/3 17:30
* @param customerId * @param customerId
* @return java.util.List<com.epmet.dto.result.BadgeListResultDTO> * @return java.util.List<com.epmet.dto.result.BadgeListResultDTO>
* @author zhaoqifeng
* @date 2020/11/3 17:30
*/ */
List<BadgeListResultDTO> selectList(@Param("customerId") String customerId); List<BadgeListResultDTO> selectList(@Param("customerId") String customerId);
/** /**
* 重名校验 * 重名校验
* @author zhaoqifeng *
* @date 2020/11/4 10:40
* @param customerId * @param customerId
* @param badgeName * @param badgeName
* @return java.util.List<com.epmet.dto.result.BadgeListResultDTO> * @return java.util.List<com.epmet.dto.result.BadgeListResultDTO>
* @author zhaoqifeng
* @date 2020/11/4 10:40
*/ */
List<BadgeListResultDTO> getDuplicateName(@Param("customerId") String customerId, @Param("badgeName") String badgeName); List<BadgeListResultDTO> getDuplicateName(@Param("customerId") String customerId, @Param("badgeName") String badgeName);
/** /**
* 编辑重名校验 * 编辑重名校验
* @author zhaoqifeng *
* @date 2020/11/4 15:09
* @param customerId * @param customerId
* @param badgeId * @param badgeId
* @param badgeName * @param badgeName
* @return java.util.List<com.epmet.dto.result.BadgeListResultDTO> * @return java.util.List<com.epmet.dto.result.BadgeListResultDTO>
* @author zhaoqifeng
* @date 2020/11/4 15:09
*/ */
List<BadgeListResultDTO> getDuplicateNameForEdit(@Param("customerId") String customerId, @Param("badgeId") String badgeId, List<BadgeListResultDTO> getDuplicateNameForEdit(@Param("customerId") String customerId, @Param("badgeId") String badgeId,
@Param("badgeName") String badgeName); @Param("badgeName") String badgeName);
/** /**
* 获取徽章详情 * 获取徽章详情
* @author zhaoqifeng *
* @date 2020/11/4 14:30
* @param customerId * @param customerId
* @param badgeId * @param badgeId
* @return com.epmet.dto.result.BadgeDetailResultDTO * @return com.epmet.dto.result.BadgeDetailResultDTO
* @author zhaoqifeng
* @date 2020/11/4 14:30
*/ */
BadgeDetailResultDTO selectDetail(@Param("customerId") String customerId, @Param("badgeId") String badgeId); BadgeDetailResultDTO selectDetail(@Param("customerId") String customerId, @Param("badgeId") String badgeId);
/** /**
* 获取徽章信息 * 获取徽章信息
* @author zhaoqifeng *
* @date 2020/11/4 15:16
* @param customerId * @param customerId
* @param badgeId * @param badgeId
* @return com.epmet.entity.BadgeEntity * @return com.epmet.entity.BadgeEntity
* @author zhaoqifeng
* @date 2020/11/4 15:16
*/ */
BadgeEntity selectBadgeInfo(@Param("customerId") String customerId, @Param("badgeId") String badgeId); BadgeEntity selectBadgeInfo(@Param("customerId") String customerId, @Param("badgeId") String badgeId);
/** /**
* 更新徽章信息 * 更新徽章信息
* @author zhaoqifeng *
* @date 2020/11/4 15:38
* @param entity * @param entity
* @return void * @return void
* @author zhaoqifeng
* @date 2020/11/4 15:38
*/ */
void updateBadge(BadgeEntity entity); void updateBadge(BadgeEntity entity);
/** /**
* 删除徽章信息 * 删除徽章信息
* @author zhaoqifeng *
* @date 2020/11/4 15:39
* @param customerId * @param customerId
* @param badgeId * @param badgeId
* @return void * @return void
* @author zhaoqifeng
* @date 2020/11/4 15:39
*/ */
void deleteBadge(@Param("customerId") String customerId, @Param("badgeId") String badgeId); void deleteBadge(@Param("customerId") String customerId, @Param("badgeId") String badgeId);
/** /**
* 待审核列表 * 待审核列表
* @author zhaoqifeng *
* @date 2020/11/5 10:01
* @param customerId * @param customerId
* @param pageNo * @param pageNo
* @param pageSize * @param pageSize
* @param gridId
* @return java.util.List<com.epmet.dto.result.BadgeAuditingResultDTO> * @return java.util.List<com.epmet.dto.result.BadgeAuditingResultDTO>
* @author zhaoqifeng
* @date 2020/11/5 10:01
*/ */
List<BadgeAuditingResultDTO> selectAuditingList(@Param("customerId") String customerId, @Param("pageNo") Integer pageNo, List<BadgeAuditingResultDTO> selectAuditingList(@Param("customerId") String customerId, @Param("pageNo") Integer pageNo,
@Param("pageSize") Integer pageSize); @Param("pageSize") Integer pageSize, @Param("gridId") String gridId);
/** /**
* 审核历史列表 * 审核历史列表
* @author zhaoqifeng *
* @date 2020/11/5 11:01
* @param customerId * @param customerId
* @param pageNo * @param pageNo
* @param pageSize * @param pageSize
* @param gridId
* @return java.util.List<com.epmet.dto.result.BadgeAuditRecordResultDTO> * @return java.util.List<com.epmet.dto.result.BadgeAuditRecordResultDTO>
* @author zhaoqifeng
* @date 2020/11/5 11:01
*/ */
List<BadgeAuditRecordResultDTO> selectAuditRecord(@Param("customerId") String customerId, @Param("pageNo") Integer pageNo, List<BadgeAuditRecordResultDTO> selectAuditRecord(@Param("customerId") String customerId, @Param("pageNo") Integer pageNo,
@Param("pageSize") Integer pageSize); @Param("pageSize") Integer pageSize, @Param("gridId") String gridId);
/** /**
* @Description 查询客户的徽章
* @param customerId * @param customerId
* @return java.util.List<com.epmet.dto.result.UserBadgeListResultDTO> * @return java.util.List<com.epmet.dto.result.UserBadgeListResultDTO>
* @Description 查询客户的徽章
* @author wangc * @author wangc
* @date 2020.11.05 15:50 * @date 2020.11.05 15:50
*/ */
List<UserBadgeListResultDTO> selectCustomerBadgePool(@Param("customerId") String customerId); List<UserBadgeListResultDTO> selectCustomerBadgePool(@Param("customerId") String customerId);
/** /**
* 插入数据 * 插入数据
* @author zhaoqifeng *
* @date 2020/11/6 14:46
* @param entity * @param entity
* @return void * @return void
* @author zhaoqifeng
* @date 2020/11/6 14:46
*/ */
void insertBadge(BadgeDTO dto); void insertBadge(BadgeDTO dto);
} }

7
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserAdviceDao.java

@ -18,10 +18,13 @@
package com.epmet.dao; package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.MyAdviceListResultDTO;
import com.epmet.entity.UserAdviceEntity; import com.epmet.entity.UserAdviceEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* user_advice * user_advice
* *
@ -34,4 +37,8 @@ public interface UserAdviceDao extends BaseDao<UserAdviceEntity> {
@Param("replyContent") String replyContent, @Param("replyContent") String replyContent,
@Param("govContent") String govContent, @Param("govContent") String govContent,
@Param("replyUserId") String loginUserId); @Param("replyUserId") String loginUserId);
List<MyAdviceListResultDTO> myAdviceList(@Param("pageSize") int pageSize,
@Param("pageNo") int pageNo,
@Param("userId") String loginUserId);
} }

9
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBadgeDao.java

@ -37,6 +37,15 @@ public interface UserBadgeDao {
*/ */
List<UserBadgeListResultDTO> selectAllBadge(@Param("customerId") String customerId); List<UserBadgeListResultDTO> selectAllBadge(@Param("customerId") String customerId);
/**
* @Description 查询单个徽章信息
* @Param customerId
* @Param badgeId
* @author zxc
* @date 2020/11/9 11:17 上午
*/
UserBadgeListResultDTO selectBadgeByBadgeId(@Param("customerId") String customerId,@Param("badgeId") String badgeId);
/** /**
* @Description 查询徽章认证记录 * @Description 查询徽章认证记录
* @Param userId * @Param userId

5
epmet-user/epmet-user-server/src/main/java/com/epmet/entity/UserAdviceEntity.java

@ -123,4 +123,9 @@ public class UserAdviceEntity extends BaseEpmetEntity {
*/ */
private String govContent; private String govContent;
/**
* 建议时间
*/
private Date adviceTime;
} }

5
epmet-user/epmet-user-server/src/main/java/com/epmet/excel/UserAdviceExcel.java

@ -61,6 +61,9 @@ public class UserAdviceExcel {
@Excel(name = "用户注册手机号") @Excel(name = "用户注册手机号")
private String regPhone; private String regPhone;
@Excel(name = "建议时间")
private Date adviceTime;
@Excel(name = "建议描述") @Excel(name = "建议描述")
private String adviceContent; private String adviceContent;
@ -104,4 +107,4 @@ public class UserAdviceExcel {
private Date updatedTime; private Date updatedTime;
} }

15
epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserAdviceService.java

@ -23,6 +23,8 @@ import com.epmet.dto.UserAdviceDTO;
import com.epmet.dto.form.AdviceListFormDTO; import com.epmet.dto.form.AdviceListFormDTO;
import com.epmet.dto.form.ReplyAdviceFormDTO; import com.epmet.dto.form.ReplyAdviceFormDTO;
import com.epmet.dto.result.AdviceDetailResultDTO; import com.epmet.dto.result.AdviceDetailResultDTO;
import com.epmet.dto.result.AdviceListResultDTO;
import com.epmet.dto.result.MyAdviceListResultDTO;
import com.epmet.entity.UserAdviceEntity; import com.epmet.entity.UserAdviceEntity;
import java.util.List; import java.util.List;
@ -122,5 +124,16 @@ public interface UserAdviceService extends BaseService<UserAdviceEntity> {
* @Author liushaowen * @Author liushaowen
* @Date 2020/11/9 10:41 * @Date 2020/11/9 10:41
*/ */
PageData<UserAdviceDTO> adviceList(AdviceListFormDTO dto); PageData<AdviceListResultDTO> adviceList(AdviceListFormDTO dto);
/**
* @Description 居民端-我的建议列表
* @param pageSize
* @param pageNo
* @param loginUserId
* @return java.util.List<com.epmet.dto.result.MyAdviceListResultDTO>
* @Author liushaowen
* @Date 2020/11/9 17:39
*/
List<MyAdviceListResultDTO> myAdviceList(int pageSize, int pageNo, String loginUserId);
} }

6
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java

@ -21,13 +21,13 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.Constant; import com.epmet.commons.tools.constant.Constant;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.constant.BadgeConstant; import com.epmet.constant.BadgeConstant;
import com.epmet.constant.BadgeMessageConstant; import com.epmet.constant.BadgeMessageConstant;
import com.epmet.constant.UserConstant; import com.epmet.constant.UserConstant;
@ -289,7 +289,7 @@ public class BadgeServiceImpl extends BaseServiceImpl<BadgeDao, BadgeEntity> imp
@Override @Override
public List<BadgeAuditingResultDTO> auditingList(TokenDto tokenDto, BadgeFormDTO formDTO) { public List<BadgeAuditingResultDTO> auditingList(TokenDto tokenDto, BadgeFormDTO formDTO) {
int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize();
List<BadgeAuditingResultDTO> list = baseDao.selectAuditingList(tokenDto.getCustomerId(), pageIndex, formDTO.getPageSize()); List<BadgeAuditingResultDTO> list = baseDao.selectAuditingList(tokenDto.getCustomerId(), pageIndex, formDTO.getPageSize(), formDTO.getGridId());
list.forEach(item -> item.setCreateTime(item.getCreateTime()/NumConstant.SIXTY)); list.forEach(item -> item.setCreateTime(item.getCreateTime()/NumConstant.SIXTY));
return list; return list;
} }
@ -306,7 +306,7 @@ public class BadgeServiceImpl extends BaseServiceImpl<BadgeDao, BadgeEntity> imp
@Override @Override
public List<BadgeAuditRecordResultDTO> auditRecord(TokenDto tokenDto, BadgeFormDTO formDTO) { public List<BadgeAuditRecordResultDTO> auditRecord(TokenDto tokenDto, BadgeFormDTO formDTO) {
int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize();
List<BadgeAuditRecordResultDTO> list = baseDao.selectAuditRecord(tokenDto.getCustomerId(), pageIndex, formDTO.getPageSize()); List<BadgeAuditRecordResultDTO> list = baseDao.selectAuditRecord(tokenDto.getCustomerId(), pageIndex, formDTO.getPageSize(), formDTO.getGridId());
list.forEach(item -> item.setCreateTime(item.getCreateTime()/NumConstant.SIXTY)); list.forEach(item -> item.setCreateTime(item.getCreateTime()/NumConstant.SIXTY));
return list; return list;
} }

140
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserAdviceServiceImpl.java

@ -17,21 +17,32 @@
package com.epmet.service.impl; package com.epmet.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.metadata.OrderItem; import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.scan.param.ImgScanParamDTO;
import com.epmet.commons.tools.scan.param.ImgTaskDTO;
import com.epmet.commons.tools.scan.param.TextScanParamDTO;
import com.epmet.commons.tools.scan.param.TextTaskDTO;
import com.epmet.commons.tools.scan.result.SyncScanResult;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.ScanContentUtils;
import com.epmet.constant.UserAdviceConstant; import com.epmet.constant.UserAdviceConstant;
import com.epmet.dao.UserAdviceDao; import com.epmet.dao.UserAdviceDao;
import com.epmet.dto.UserAdviceDTO; import com.epmet.dto.UserAdviceDTO;
import com.epmet.dto.form.AdviceListFormDTO; import com.epmet.dto.form.AdviceListFormDTO;
import com.epmet.dto.form.ReplyAdviceFormDTO; import com.epmet.dto.form.ReplyAdviceFormDTO;
import com.epmet.dto.result.AdviceDetailResultDTO; import com.epmet.dto.result.AdviceDetailResultDTO;
import com.epmet.dto.result.AdviceListResultDTO;
import com.epmet.dto.result.MyAdviceListResultDTO;
import com.epmet.entity.UserAdviceEntity; import com.epmet.entity.UserAdviceEntity;
import com.epmet.entity.UserAdviceImgEntity; import com.epmet.entity.UserAdviceImgEntity;
import com.epmet.redis.UserAdviceRedis; import com.epmet.redis.UserAdviceRedis;
@ -39,18 +50,15 @@ import com.epmet.service.UserAdviceImgService;
import com.epmet.service.UserAdviceService; import com.epmet.service.UserAdviceService;
import io.jsonwebtoken.lang.Collections; import io.jsonwebtoken.lang.Collections;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.formula.functions.T; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import java.util.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/** /**
* user_advice * user_advice
@ -61,12 +69,20 @@ import java.util.Map;
@Service @Service
public class UserAdviceServiceImpl extends BaseServiceImpl<UserAdviceDao, UserAdviceEntity> implements UserAdviceService { public class UserAdviceServiceImpl extends BaseServiceImpl<UserAdviceDao, UserAdviceEntity> implements UserAdviceService {
private Logger logger = LogManager.getLogger(UserAdviceServiceImpl.class);
@Autowired @Autowired
private UserAdviceRedis userAdviceRedis; private UserAdviceRedis userAdviceRedis;
@Autowired @Autowired
private UserAdviceImgService userAdviceImgService; private UserAdviceImgService userAdviceImgService;
@Value("${openapi.scan.server.url}")
private String scanApiUrl;
@Value("${openapi.scan.method.textSyncScan}")
private String textSyncScanMethod;
@Value("${openapi.scan.method.imgSyncScan}")
private String imgSyncScanMethod;
@Override @Override
public PageData<UserAdviceDTO> page(Map<String, Object> params) { public PageData<UserAdviceDTO> page(Map<String, Object> params) {
IPage<UserAdviceEntity> page = baseDao.selectPage( IPage<UserAdviceEntity> page = baseDao.selectPage(
@ -134,6 +150,10 @@ public class UserAdviceServiceImpl extends BaseServiceImpl<UserAdviceDao, UserAd
if (StringUtils.isNotBlank(userAdviceEntity.getReplyContent()) || StringUtils.isNotBlank(userAdviceEntity.getReplyUserId())) { if (StringUtils.isNotBlank(userAdviceEntity.getReplyContent()) || StringUtils.isNotBlank(userAdviceEntity.getReplyUserId())) {
throw new RenException("该建议已被回复,不能再次回复"); throw new RenException("该建议已被回复,不能再次回复");
} }
//审核图片
auditPic(dto.getGovImgList());
//审核文字
auditText(dto.getReplyContent());
//更新advice表 //更新advice表
baseDao.replyAdvice(dto.getAdviceId(), dto.getReplyContent(), dto.getGovContent(), loginUserId); baseDao.replyAdvice(dto.getAdviceId(), dto.getReplyContent(), dto.getGovContent(), loginUserId);
//如果govImg不为空,插入advice_img表 //如果govImg不为空,插入advice_img表
@ -168,7 +188,6 @@ public class UserAdviceServiceImpl extends BaseServiceImpl<UserAdviceDao, UserAd
AdviceDetailResultDTO adviceDetailResultDTO = new AdviceDetailResultDTO(); AdviceDetailResultDTO adviceDetailResultDTO = new AdviceDetailResultDTO();
BeanUtils.copyProperties(userAdviceEntity, adviceDetailResultDTO); BeanUtils.copyProperties(userAdviceEntity, adviceDetailResultDTO);
adviceDetailResultDTO.setAdviceId(userAdviceEntity.getId()); adviceDetailResultDTO.setAdviceId(userAdviceEntity.getId());
adviceDetailResultDTO.setAdviceTime(userAdviceEntity.getCreatedTime());
//拼接建议类型 //拼接建议类型
if (!"*".equals(userAdviceEntity.getAdviceType())) { if (!"*".equals(userAdviceEntity.getAdviceType())) {
StringBuilder type = new StringBuilder(); StringBuilder type = new StringBuilder();
@ -207,7 +226,7 @@ public class UserAdviceServiceImpl extends BaseServiceImpl<UserAdviceDao, UserAd
* @Date 2020/11/9 10:41 * @Date 2020/11/9 10:41
*/ */
@Override @Override
public PageData<UserAdviceDTO> adviceList(AdviceListFormDTO dto) { public PageData<AdviceListResultDTO> adviceList(AdviceListFormDTO dto) {
//page分页 //page分页
Page<UserAdviceEntity> page = new Page<>(dto.getPageNo(), dto.getPageSize()); Page<UserAdviceEntity> page = new Page<>(dto.getPageNo(), dto.getPageSize());
//时间降序 //时间降序
@ -215,9 +234,108 @@ public class UserAdviceServiceImpl extends BaseServiceImpl<UserAdviceDao, UserAd
//wrapper //wrapper
QueryWrapper<UserAdviceEntity> wrapper = new QueryWrapper<>(); QueryWrapper<UserAdviceEntity> wrapper = new QueryWrapper<>();
//客户Id
wrapper.eq(StringUtils.isNotBlank(dto.getCustomerId()), "CUSTOMER_ID", dto.getCustomerId());
//是否回复
if ("1".equals(dto.getIsReply())) {
wrapper.ne("REPLY_USER_ID", "");
wrapper.ne("REPLY_CONTENT", "");
} else if ("0".equals(dto.getIsReply())) {
wrapper.eq("REPLY_USER_ID", "");
wrapper.eq("REPLY_CONTENT", "");
}
// 组织id
wrapper.eq(StringUtils.isNotBlank(dto.getAgencyId()), "AGENCY_ID", dto.getAgencyId());
//建议类型
wrapper.like(StringUtils.isNotBlank(dto.getAdviceType()), "ADVICE_TYPE", dto.getAdviceType());
//开始时间
wrapper.ge(dto.getStartTime() != null, "CREATED_TIME", dto.getStartTime());
//结束时间
wrapper.le(dto.getEndTime() != null, "CREATED_TIME", dto.getEndTime());
IPage<UserAdviceEntity> result = baseDao.selectPage(page, wrapper);
List<UserAdviceEntity> records = result.getRecords();
//拼接type
IPage<UserAdviceEntity> result = baseDao.selectPage(page,wrapper); for (int i = 0; i < records.size(); i++) {
return null; 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());
}
}
result.setRecords(records);
return getPageData(result, AdviceListResultDTO.class);
}
/**
* @param pageSize
* @param pageNo
* @param loginUserId
* @return java.util.List<com.epmet.dto.result.MyAdviceListResultDTO>
* @Description 居民端-我的建议列表
* @Author liushaowen
* @Date 2020/11/9 17:39
*/
@Override
public List<MyAdviceListResultDTO> myAdviceList(int pageSize, int pageNo, String loginUserId) {
return baseDao.myAdviceList(pageSize, pageNo, loginUserId);
}
private void auditText(String text) {
TextScanParamDTO textScanParamDTO = new TextScanParamDTO();
TextTaskDTO taskDTO = new TextTaskDTO();
taskDTO.setContent(text);
taskDTO.setDataId(UUID.randomUUID().toString().replace("-", ""));
textScanParamDTO.getTasks().add(taskDTO);
Result<SyncScanResult> textSyncScanResult = ScanContentUtils.textSyncScan(scanApiUrl.concat(textSyncScanMethod), textScanParamDTO);
logger.info("用户建议文字审核入参:" + JSON.toJSONString(textScanParamDTO));
logger.info("用户建议文字审核返参:" + JSON.toJSONString(textSyncScanResult));
if (!textSyncScanResult.success()) {
logger.warn("用户建议文字审核接口返回失败,返参:", JSON.toJSONString(textSyncScanResult));
throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode());
} else {
if (!textSyncScanResult.getData().isAllPass()) {
logger.warn("用户建议文字审核失败,文字:", text);
throw new RenException(EpmetErrorCode.ACT_REQ_SCAN_FAILED.getCode());
}
}
logger.info("用户建议文字审核成功");
}
private void auditPic(List<String> imgList) {
if (null != imgList && imgList.size() > 0) {
//审核活动详情中的图片
ImgScanParamDTO imgScanParamDTO = new ImgScanParamDTO();
imgList.forEach(url -> {
ImgTaskDTO task = new ImgTaskDTO();
task.setDataId(UUID.randomUUID().toString().replace("-", ""));
task.setUrl(url);
imgScanParamDTO.getTasks().add(task);
});
Result<SyncScanResult> imgScanResult = ScanContentUtils.imgSyncScan(scanApiUrl.concat(imgSyncScanMethod), imgScanParamDTO);
logger.info("图片审核入参:" + JSON.toJSONString(imgScanParamDTO));
logger.info("图片审核返参:" + JSON.toJSONString(imgScanResult));
if (!imgScanResult.success()) {
logger.warn("图片审核接口失败,返参:", JSON.toJSONString(imgScanResult));
throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode());
} else {
if (!imgScanResult.getData().isAllPass()) {
throw new RenException(EpmetErrorCode.ACT_CONTENT_IMG_SCAN_FAILED.getCode());
}
}
logger.info("图片审核成功");
}
} }
} }

54
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java

@ -21,7 +21,6 @@ import com.epmet.service.UserBadgeService;
import com.epmet.service.UserBaseInfoService; import com.epmet.service.UserBaseInfoService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -29,8 +28,6 @@ import org.springframework.util.CollectionUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/** /**
* @Author zxc * @Author zxc
@ -48,6 +45,8 @@ public class UserBadgeServiceImpl implements UserBadgeService {
private UserBaseInfoService userBaseInfoService; private UserBaseInfoService userBaseInfoService;
@Autowired @Autowired
private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient; private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient;
@Autowired
private EpmetMessageOpenFeignClient messageFeignClient;
/** /**
* @Description 查询已经点亮的徽章 * @Description 查询已经点亮的徽章
@ -148,13 +147,36 @@ public class UserBadgeServiceImpl implements UserBadgeService {
} }
userBadgeDao.updateCertificateRecordIsLast(form.getBadgeId(),form.getUserId()); userBadgeDao.updateCertificateRecordIsLast(form.getBadgeId(),form.getUserId());
form.setGridId(userBaseInfoResultDTOS.get(NumConstant.ZERO).getRegisteredGridId()); form.setGridId(userBaseInfoResultDTOS.get(NumConstant.ZERO).getRegisteredGridId());
form.setIdNum(certificationAddFormDTO.getIdCard()); form.setIdNum(certificationAddFormDTO.getIdcard());
form.setCertificationImg(certificationAddFormDTO.getCertificationImg()); form.setCertificationImg(certificationAddFormDTO.getCertificationImg());
form.setSurname(certificationAddFormDTO.getSurname()); form.setSurname(certificationAddFormDTO.getSurname());
userBadgeDao.insertUserBadgeCertificateRecord(form); userBadgeDao.insertUserBadgeCertificateRecord(form);
//TODO 站内信发送 您好,您的xxx徽章因认证失败未成功点亮,请查看
this.sendMessageByUser(form);
return new Result(); return new Result();
} }
public void sendMessageByUser(UserBadgeCertificateRecordDTO form){
List<UserMessageFormDTO> msgList = new ArrayList<>();
UserMessageFormDTO formDTO = new UserMessageFormDTO();
formDTO.setApp(BadgeConstant.RESI);
formDTO.setCustomerId(form.getCustomerId());
formDTO.setGridId(form.getGridId());
UserBadgeListResultDTO userBadgeListResultDTO = userBadgeDao.selectBadgeByBadgeId(form.getCustomerId(), form.getBadgeId());
if (null == userBadgeListResultDTO){
log.error(BadgeConstant.GET_BADGE_NAME_FAILURE);
return;
}
formDTO.setMessageContent(String.format(BadgeConstant.MESSAGE_CONTENT,userBadgeListResultDTO.getBadgeName()));
formDTO.setTitle(BadgeConstant.AUTH_TITLE);
formDTO.setReadFlag(BadgeConstant.READ_FLAG);
formDTO.setUserId(form.getUserId());
msgList.add(formDTO);
Result result = messageFeignClient.saveUserMessageList(msgList);
}
/** /**
* @Description 发送验证码 * @Description 发送验证码
* @Param badgeSendCodeFormDTO * @Param badgeSendCodeFormDTO
@ -184,6 +206,7 @@ public class UserBadgeServiceImpl implements UserBadgeService {
/** /**
* @Description 个人中心-获取徽章认证页面详情 * @Description 个人中心-获取徽章认证页面详情
* 先判断 userId存在不不存在从tokenDto获取工作端和居民端合用一个接口
* @Param tokenDto * @Param tokenDto
* @Param certificationDetailFormDTO * @Param certificationDetailFormDTO
* @author zxc * @author zxc
@ -191,7 +214,9 @@ public class UserBadgeServiceImpl implements UserBadgeService {
*/ */
@Override @Override
public CertificationDetailResultDTO certificationDetail(TokenDto tokenDto, CertificationDetailFormDTO certificationDetailFormDTO) { public CertificationDetailResultDTO certificationDetail(TokenDto tokenDto, CertificationDetailFormDTO certificationDetailFormDTO) {
certificationDetailFormDTO.setUserId(tokenDto.getUserId()); if (StringUtils.isEmpty(certificationDetailFormDTO.getUserId())){
certificationDetailFormDTO.setUserId(tokenDto.getUserId());
}
return userBadgeDao.selectBadgeAuthRecord(certificationDetailFormDTO.getUserId(), certificationDetailFormDTO.getBadgeId()); return userBadgeDao.selectBadgeAuthRecord(certificationDetailFormDTO.getUserId(), certificationDetailFormDTO.getBadgeId());
} }
@ -233,24 +258,9 @@ public class UserBadgeServiceImpl implements UserBadgeService {
@Override @Override
public void reloadCustomerBadge(String customerId){ public void reloadCustomerBadge(String customerId){
userBadgeRedis.delCustomerBadge(customerId); userBadgeRedis.delCustomerBadge(customerId);
List<UserBadgeListResultDTO> resultUserBadge = new ArrayList<>();
List<UserBadgeListResultDTO> userBadgeListResultDTOS = userBadgeDao.selectAllBadge(customerId); List<UserBadgeListResultDTO> userBadgeListResultDTOS = userBadgeDao.selectAllBadge(customerId);
if (!CollectionUtils.isEmpty(userBadgeListResultDTOS)){ if (CollectionUtils.isEmpty(userBadgeListResultDTOS)){
Map<String, List<UserBadgeListResultDTO>> groupByCustomer = userBadgeListResultDTOS.stream().collect(Collectors.groupingBy(UserBadgeListResultDTO::getCustomerId)); throw new RenException("客户徽章缓存初始化未查到数据");
resultUserBadge.addAll(groupByCustomer.get(BadgeConstant.DEFAULT_CUSTOMER));
List<UserBadgeListResultDTO> badgeByCustomer = groupByCustomer.get(customerId);
if (!CollectionUtils.isEmpty(badgeByCustomer)) {
resultUserBadge.forEach(r -> {
for (int i = NumConstant.ZERO; i < badgeByCustomer.size(); i++) {
if (r.getBadgeId().equals(badgeByCustomer.get(i).getBadgeId())) {
BeanUtils.copyProperties(badgeByCustomer.get(i), r);
badgeByCustomer.remove(badgeByCustomer.get(i));
}
}
});
resultUserBadge.addAll(badgeByCustomer);
}
userBadgeRedis.setCustomerBadge(resultUserBadge, customerId);
} }
userBadgeRedis.setCustomerBadge(userBadgeListResultDTOS, customerId); userBadgeRedis.setCustomerBadge(userBadgeListResultDTOS, customerId);
} }

10
epmet-user/epmet-user-server/src/main/resources/bootstrap.yml

@ -131,4 +131,12 @@ ribbon:
#pageHelper分页插件 #pageHelper分页插件
pagehelper: pagehelper:
helper-dialect: mysql helper-dialect: mysql
reasonable: false #分页合理化配置,例如输入页码为-1,则自动转化为最小页码1 reasonable: false #分页合理化配置,例如输入页码为-1,则自动转化为最小页码1
openapi:
scan:
server:
url: @openapi.scan.server.url@
method:
imgSyncScan: /imgSyncScan
textSyncScan: /textSyncScan

2
epmet-user/epmet-user-server/src/main/resources/mapper/BadgeDao.xml

@ -169,6 +169,7 @@
AUDIT_STATUS = 'auditing' AUDIT_STATUS = 'auditing'
AND ubcr.DEL_FLAG = '0' AND ubcr.DEL_FLAG = '0'
AND ubcr.CUSTOMER_ID = #{customerId} AND ubcr.CUSTOMER_ID = #{customerId}
AND ubcr.GRID_ID = #{gridId}
ORDER BY ubcr.CREATED_TIME DESC ORDER BY ubcr.CREATED_TIME DESC
LIMIT #{pageNo}, #{pageSize} LIMIT #{pageNo}, #{pageSize}
</select> </select>
@ -202,6 +203,7 @@
AUDIT_STATUS != 'auditing' AUDIT_STATUS != 'auditing'
AND ubcr.DEL_FLAG = '0' AND ubcr.DEL_FLAG = '0'
AND ubcr.CUSTOMER_ID = #{customerId} AND ubcr.CUSTOMER_ID = #{customerId}
AND ubcr.GRID_ID = #{gridId}
ORDER BY ubcr.CREATED_TIME DESC ORDER BY ubcr.CREATED_TIME DESC
LIMIT #{pageNo}, #{pageSize} LIMIT #{pageNo}, #{pageSize}
</select> </select>

21
epmet-user/epmet-user-server/src/main/resources/mapper/UserAdviceDao.xml

@ -43,4 +43,25 @@
where id = #{adviceId} and del_flag = 0 where id = #{adviceId} and del_flag = 0
</update> </update>
<resultMap id="myAdviceListResultMap" type="com.epmet.dto.result.MyAdviceListResultDTO">
<id column="id"></id>
<result property="adviceContent" column="ADVICE_CONTENT"/>
<result property="adviceTime" column="ADVICE_TIME"/>
<result property="replyContent" column="REPLY_CONTENT"/>
<result property="replyTime" column="REPLY_TIME"/>
<collection property="imgList" select="getResiImgByAdviceId" column="id"></collection>
</resultMap>
<select id="myAdviceList" resultMap="myAdviceListResultMap">
select id,advice_content,advice_time,reply_content,reply_time
from user_advice
where del_flag = 0 and user_id = #{userId}
order by created_time desc
limit ${(pageNo-1)*pageSize},${pageSize};
</select>
<select id="getResiImgByAdviceId" resultType="String">
select img_url
from user_advice_img
where del_flag = 0 and advice_Id = #{id} and type = 'resi'
</select>
</mapper> </mapper>

28
epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml

@ -32,7 +32,7 @@
LEFT JOIN badge b ON b.ID = ub.BADGE_ID LEFT JOIN badge b ON b.ID = ub.BADGE_ID
WHERE ub.DEL_FLAG = '0' WHERE ub.DEL_FLAG = '0'
AND b.DEL_FLAG = 0 AND b.DEL_FLAG = 0
AND ub.CERTIFICATION_AUTID_STATUS = 'pass' AND ub.CERTIFICATION_AUTID_STATUS = 'approved'
AND b.CUSTOMER_ID = 'default' AND b.CUSTOMER_ID = 'default'
AND b.BADGE_STATUS = 'online' AND b.BADGE_STATUS = 'online'
AND ub.USER_ID = #{userId} AND ub.USER_ID = #{userId}
@ -80,7 +80,7 @@
FROM resi_user_badge FROM resi_user_badge
WHERE WHERE
DEL_FLAG = '0' DEL_FLAG = '0'
AND CERTIFICATION_AUTID_STATUS = 'pass' AND CERTIFICATION_AUTID_STATUS = 'approved'
AND USER_ID = #{userId} AND USER_ID = #{userId}
</select> </select>
@ -89,7 +89,7 @@
SELECT SELECT
SURNAME, SURNAME,
NAME, NAME,
ID_NUM AS idCard, ID_NUM AS idcard,
( CASE WHEN AUDIT_STATUS = 'approved' THEN 'yes' ELSE 'no' END ) AS isCertificated, ( CASE WHEN AUDIT_STATUS = 'approved' THEN 'yes' ELSE 'no' END ) AS isCertificated,
MOBILE, MOBILE,
CERTIFICATION_IMG, CERTIFICATION_IMG,
@ -126,6 +126,28 @@
AND cc.BADGE_ID = #{badgeId} AND cc.BADGE_ID = #{badgeId}
ORDER BY cf.SORT ORDER BY cf.SORT
</select> </select>
<select id="selectBadgeByBadgeId" resultType="com.epmet.dto.result.UserBadgeListResultDTO">
SELECT
ID AS badgeId,
BADGE_NAME,
BADGE_ICON,
BADGE_STATUS
FROM
(
SELECT * FROM badge
WHERE CUSTOMER_ID = #{customerId}
AND DEL_FLAG = '0'
AND ID = #{badgeId}
UNION ALL
SELECT * FROM badge a
WHERE CUSTOMER_ID = 'default'
AND a.DEL_FLAG = '0'
AND BADGE_STATUS = 'online'
AND ID = #{badgeId}
AND NOT EXISTS
( SELECT ID FROM badge b WHERE CUSTOMER_ID = #{customerId} AND a.ID = b.ID)
) t
</select>
<!-- 徽章审核记录表插入 --> <!-- 徽章审核记录表插入 -->
<insert id="insertUserBadgeCertificateRecord"> <insert id="insertUserBadgeCertificateRecord">

Loading…
Cancel
Save