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 按月查询各项指标数据
* @author sun
*/
@PostMapping("index/ablitylist")
public Result<List<AblityListResultDTO>> ablityList(@RequestBody AblityListFormDTO formDTO) {
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 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;
/**
* 网格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

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 已认证

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/>
<spring.flyway.enabled>false</spring.flyway.enabled>
<openapi.scan.server.url>https://epmet-dev.elinkservice.cn/api/epmetscan/api</openapi.scan.server.url>
</properties>
</profile>
<profile>
@ -187,6 +188,7 @@
<nacos.ip/>
<spring.flyway.enabled>false</spring.flyway.enabled>
<openapi.scan.server.url>https://epmet-dev.elinkservice.cn/api/epmetscan/api</openapi.scan.server.url>
</properties>
</profile>
<profile>
@ -219,6 +221,7 @@
<nacos.ip/>
<spring.flyway.enabled>true</spring.flyway.enabled>
<openapi.scan.server.url>https://epmet-dev.elinkservice.cn/api/epmetscan/api</openapi.scan.server.url>
</properties>
</profile>
<profile>
@ -248,6 +251,7 @@
<nacos.ip/>
<spring.flyway.enabled>true</spring.flyway.enabled>
<openapi.scan.server.url>https://epmet-open.elinkservice.cn/api/epmetscan/api</openapi.scan.server.url>
</properties>
</profile>
</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.ReplyAdviceFormDTO;
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.service.UserAdviceService;
import org.apache.commons.lang3.StringUtils;
@ -59,19 +61,19 @@ public class UserAdviceController {
private LoginUserUtil loginUserUtil;
@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);
return new Result<PageData<UserAdviceDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<UserAdviceDTO> get(@PathVariable("id") String id){
public Result<UserAdviceDTO> get(@PathVariable("id") String id) {
UserAdviceDTO data = userAdviceService.get(id);
return new Result<UserAdviceDTO>().ok(data);
}
@PostMapping
public Result save(@RequestBody UserAdviceDTO dto){
public Result save(@RequestBody UserAdviceDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
userAdviceService.save(dto);
@ -79,7 +81,7 @@ public class UserAdviceController {
}
@PutMapping
public Result update(@RequestBody UserAdviceDTO dto){
public Result update(@RequestBody UserAdviceDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
userAdviceService.update(dto);
@ -87,7 +89,7 @@ public class UserAdviceController {
}
@DeleteMapping
public Result delete(@RequestBody String[] ids){
public Result delete(@RequestBody String[] ids) {
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
userAdviceService.delete(ids);
@ -101,24 +103,49 @@ public class UserAdviceController {
}
@PostMapping("replyadvice")
public Result replyAdvice(@RequestBody ReplyAdviceFormDTO dto){
public Result replyAdvice(@RequestBody ReplyAdviceFormDTO dto) {
ValidatorUtils.validateEntity(dto);
userAdviceService.replyAdvice(dto,loginUserUtil.getLoginUserId());
userAdviceService.replyAdvice(dto, loginUserUtil.getLoginUserId());
return new Result();
}
@PostMapping("advicedetail")
public Result adviceDetail(String adviceId){
if (StringUtils.isBlank(adviceId)){
public Result adviceDetail(String adviceId) {
if (StringUtils.isBlank(adviceId)) {
throw new RenException("adviceId不能为空");
}
return new Result<AdviceDetailResultDTO>().ok(userAdviceService.adviceDetail(adviceId));
}
@PostMapping("advicelist")
public Result<PageData<UserAdviceDTO>> adviceList(AdviceListFormDTO dto){
public Result<PageData<AdviceListResultDTO>> adviceList(@RequestBody AdviceListFormDTO dto) {
ValidatorUtils.validateEntity(dto);
PageData<UserAdviceDTO> page = userAdviceService.adviceList(dto);
return new Result<PageData<UserAdviceDTO>>().ok(page);
if (dto.getStartTime() != null && dto.getEndTime() != null) {
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.dto.BadgeDTO;
import com.epmet.dto.result.BadgeAuditRecordResultDTO;
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.dto.result.*;
import com.epmet.entity.BadgeEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.omg.PortableInterceptor.ORBInitInfoPackage.DuplicateName;
import java.util.List;
@ -42,114 +37,126 @@ public interface BadgeDao extends BaseDao<BadgeEntity> {
/**
* 获取徽章列表
* @author zhaoqifeng
* @date 2020/11/3 17:30
*
* @param customerId
* @return java.util.List<com.epmet.dto.result.BadgeListResultDTO>
* @author zhaoqifeng
* @date 2020/11/3 17:30
*/
List<BadgeListResultDTO> selectList(@Param("customerId") String customerId);
/**
* 重名校验
* @author zhaoqifeng
* @date 2020/11/4 10:40
*
* @param customerId
* @param badgeName
* @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);
/**
* 编辑重名校验
* @author zhaoqifeng
* @date 2020/11/4 15:09
*
* @param customerId
* @param badgeId
* @param badgeName
* @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,
@Param("badgeName") String badgeName);
@Param("badgeName") String badgeName);
/**
* 获取徽章详情
* @author zhaoqifeng
* @date 2020/11/4 14:30
*
* @param customerId
* @param badgeId
* @return com.epmet.dto.result.BadgeDetailResultDTO
* @author zhaoqifeng
* @date 2020/11/4 14:30
*/
BadgeDetailResultDTO selectDetail(@Param("customerId") String customerId, @Param("badgeId") String badgeId);
/**
* 获取徽章信息
* @author zhaoqifeng
* @date 2020/11/4 15:16
*
* @param customerId
* @param badgeId
* @return com.epmet.entity.BadgeEntity
* @author zhaoqifeng
* @date 2020/11/4 15:16
*/
BadgeEntity selectBadgeInfo(@Param("customerId") String customerId, @Param("badgeId") String badgeId);
/**
* 更新徽章信息
* @author zhaoqifeng
* @date 2020/11/4 15:38
*
* @param entity
* @return void
* @author zhaoqifeng
* @date 2020/11/4 15:38
*/
void updateBadge(BadgeEntity entity);
/**
* 删除徽章信息
* @author zhaoqifeng
* @date 2020/11/4 15:39
*
* @param customerId
* @param badgeId
* @return void
* @author zhaoqifeng
* @date 2020/11/4 15:39
*/
void deleteBadge(@Param("customerId") String customerId, @Param("badgeId") String badgeId);
/**
* 待审核列表
* @author zhaoqifeng
* @date 2020/11/5 10:01
*
* @param customerId
* @param pageNo
* @param pageSize
* @param gridId
* @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,
@Param("pageSize") Integer pageSize);
@Param("pageSize") Integer pageSize, @Param("gridId") String gridId);
/**
* 审核历史列表
* @author zhaoqifeng
* @date 2020/11/5 11:01
*
* @param customerId
* @param pageNo
* @param pageSize
* @param gridId
* @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,
@Param("pageSize") Integer pageSize);
@Param("pageSize") Integer pageSize, @Param("gridId") String gridId);
/**
* @Description 查询客户的徽章
* @param customerId
* @return java.util.List<com.epmet.dto.result.UserBadgeListResultDTO>
* @Description 查询客户的徽章
* @author wangc
* @date 2020.11.05 15:50
*/
*/
List<UserBadgeListResultDTO> selectCustomerBadgePool(@Param("customerId") String customerId);
/**
* 插入数据
* @author zhaoqifeng
* @date 2020/11/6 14:46
*
* @param entity
* @return void
* @author zhaoqifeng
* @date 2020/11/6 14:46
*/
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;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.MyAdviceListResultDTO;
import com.epmet.entity.UserAdviceEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* user_advice
*
@ -34,4 +37,8 @@ public interface UserAdviceDao extends BaseDao<UserAdviceEntity> {
@Param("replyContent") String replyContent,
@Param("govContent") String govContent,
@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);
/**
* @Description 查询单个徽章信息
* @Param customerId
* @Param badgeId
* @author zxc
* @date 2020/11/9 11:17 上午
*/
UserBadgeListResultDTO selectBadgeByBadgeId(@Param("customerId") String customerId,@Param("badgeId") String badgeId);
/**
* @Description 查询徽章认证记录
* @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 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 = "用户注册手机号")
private String regPhone;
@Excel(name = "建议时间")
private Date adviceTime;
@Excel(name = "建议描述")
private String adviceContent;
@ -104,4 +107,4 @@ public class UserAdviceExcel {
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.ReplyAdviceFormDTO;
import com.epmet.dto.result.AdviceDetailResultDTO;
import com.epmet.dto.result.AdviceListResultDTO;
import com.epmet.dto.result.MyAdviceListResultDTO;
import com.epmet.entity.UserAdviceEntity;
import java.util.List;
@ -122,5 +124,16 @@ public interface UserAdviceService extends BaseService<UserAdviceEntity> {
* @Author liushaowen
* @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.epmet.commons.mybatis.service.impl.BaseServiceImpl;
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.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.constant.BadgeConstant;
import com.epmet.constant.BadgeMessageConstant;
import com.epmet.constant.UserConstant;
@ -289,7 +289,7 @@ public class BadgeServiceImpl extends BaseServiceImpl<BadgeDao, BadgeEntity> imp
@Override
public List<BadgeAuditingResultDTO> auditingList(TokenDto tokenDto, BadgeFormDTO formDTO) {
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));
return list;
}
@ -306,7 +306,7 @@ public class BadgeServiceImpl extends BaseServiceImpl<BadgeDao, BadgeEntity> imp
@Override
public List<BadgeAuditRecordResultDTO> auditRecord(TokenDto tokenDto, BadgeFormDTO formDTO) {
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));
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;
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.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
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.constant.FieldConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.ScanContentUtils;
import com.epmet.constant.UserAdviceConstant;
import com.epmet.dao.UserAdviceDao;
import com.epmet.dto.UserAdviceDTO;
import com.epmet.dto.form.AdviceListFormDTO;
import com.epmet.dto.form.ReplyAdviceFormDTO;
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.UserAdviceImgEntity;
import com.epmet.redis.UserAdviceRedis;
@ -39,18 +50,15 @@ import com.epmet.service.UserAdviceImgService;
import com.epmet.service.UserAdviceService;
import io.jsonwebtoken.lang.Collections;
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.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* user_advice
@ -61,12 +69,20 @@ import java.util.Map;
@Service
public class UserAdviceServiceImpl extends BaseServiceImpl<UserAdviceDao, UserAdviceEntity> implements UserAdviceService {
private Logger logger = LogManager.getLogger(UserAdviceServiceImpl.class);
@Autowired
private UserAdviceRedis userAdviceRedis;
@Autowired
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
public PageData<UserAdviceDTO> page(Map<String, Object> params) {
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())) {
throw new RenException("该建议已被回复,不能再次回复");
}
//审核图片
auditPic(dto.getGovImgList());
//审核文字
auditText(dto.getReplyContent());
//更新advice表
baseDao.replyAdvice(dto.getAdviceId(), dto.getReplyContent(), dto.getGovContent(), loginUserId);
//如果govImg不为空,插入advice_img表
@ -168,7 +188,6 @@ public class UserAdviceServiceImpl extends BaseServiceImpl<UserAdviceDao, UserAd
AdviceDetailResultDTO adviceDetailResultDTO = new AdviceDetailResultDTO();
BeanUtils.copyProperties(userAdviceEntity, adviceDetailResultDTO);
adviceDetailResultDTO.setAdviceId(userAdviceEntity.getId());
adviceDetailResultDTO.setAdviceTime(userAdviceEntity.getCreatedTime());
//拼接建议类型
if (!"*".equals(userAdviceEntity.getAdviceType())) {
StringBuilder type = new StringBuilder();
@ -207,7 +226,7 @@ public class UserAdviceServiceImpl extends BaseServiceImpl<UserAdviceDao, UserAd
* @Date 2020/11/9 10:41
*/
@Override
public PageData<UserAdviceDTO> adviceList(AdviceListFormDTO dto) {
public PageData<AdviceListResultDTO> adviceList(AdviceListFormDTO dto) {
//page分页
Page<UserAdviceEntity> page = new Page<>(dto.getPageNo(), dto.getPageSize());
//时间降序
@ -215,9 +234,108 @@ public class UserAdviceServiceImpl extends BaseServiceImpl<UserAdviceDao, UserAd
//wrapper
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);
return null;
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());
}
}
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 lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -29,8 +28,6 @@ import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @Author zxc
@ -48,6 +45,8 @@ public class UserBadgeServiceImpl implements UserBadgeService {
private UserBaseInfoService userBaseInfoService;
@Autowired
private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient;
@Autowired
private EpmetMessageOpenFeignClient messageFeignClient;
/**
* @Description 查询已经点亮的徽章
@ -148,13 +147,36 @@ public class UserBadgeServiceImpl implements UserBadgeService {
}
userBadgeDao.updateCertificateRecordIsLast(form.getBadgeId(),form.getUserId());
form.setGridId(userBaseInfoResultDTOS.get(NumConstant.ZERO).getRegisteredGridId());
form.setIdNum(certificationAddFormDTO.getIdCard());
form.setIdNum(certificationAddFormDTO.getIdcard());
form.setCertificationImg(certificationAddFormDTO.getCertificationImg());
form.setSurname(certificationAddFormDTO.getSurname());
userBadgeDao.insertUserBadgeCertificateRecord(form);
//TODO 站内信发送 您好,您的xxx徽章因认证失败未成功点亮,请查看
this.sendMessageByUser(form);
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 发送验证码
* @Param badgeSendCodeFormDTO
@ -184,6 +206,7 @@ public class UserBadgeServiceImpl implements UserBadgeService {
/**
* @Description 个人中心-获取徽章认证页面详情
* 先判断 userId存在不不存在从tokenDto获取工作端和居民端合用一个接口
* @Param tokenDto
* @Param certificationDetailFormDTO
* @author zxc
@ -191,7 +214,9 @@ public class UserBadgeServiceImpl implements UserBadgeService {
*/
@Override
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());
}
@ -233,24 +258,9 @@ public class UserBadgeServiceImpl implements UserBadgeService {
@Override
public void reloadCustomerBadge(String customerId){
userBadgeRedis.delCustomerBadge(customerId);
List<UserBadgeListResultDTO> resultUserBadge = new ArrayList<>();
List<UserBadgeListResultDTO> userBadgeListResultDTOS = userBadgeDao.selectAllBadge(customerId);
if (!CollectionUtils.isEmpty(userBadgeListResultDTOS)){
Map<String, List<UserBadgeListResultDTO>> groupByCustomer = userBadgeListResultDTOS.stream().collect(Collectors.groupingBy(UserBadgeListResultDTO::getCustomerId));
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);
if (CollectionUtils.isEmpty(userBadgeListResultDTOS)){
throw new RenException("客户徽章缓存初始化未查到数据");
}
userBadgeRedis.setCustomerBadge(userBadgeListResultDTOS, customerId);
}

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

@ -131,4 +131,12 @@ ribbon:
#pageHelper分页插件
pagehelper:
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'
AND ubcr.DEL_FLAG = '0'
AND ubcr.CUSTOMER_ID = #{customerId}
AND ubcr.GRID_ID = #{gridId}
ORDER BY ubcr.CREATED_TIME DESC
LIMIT #{pageNo}, #{pageSize}
</select>
@ -202,6 +203,7 @@
AUDIT_STATUS != 'auditing'
AND ubcr.DEL_FLAG = '0'
AND ubcr.CUSTOMER_ID = #{customerId}
AND ubcr.GRID_ID = #{gridId}
ORDER BY ubcr.CREATED_TIME DESC
LIMIT #{pageNo}, #{pageSize}
</select>

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

@ -43,4 +43,25 @@
where id = #{adviceId} and del_flag = 0
</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>

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
WHERE ub.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.BADGE_STATUS = 'online'
AND ub.USER_ID = #{userId}
@ -80,7 +80,7 @@
FROM resi_user_badge
WHERE
DEL_FLAG = '0'
AND CERTIFICATION_AUTID_STATUS = 'pass'
AND CERTIFICATION_AUTID_STATUS = 'approved'
AND USER_ID = #{userId}
</select>
@ -89,7 +89,7 @@
SELECT
SURNAME,
NAME,
ID_NUM AS idCard,
ID_NUM AS idcard,
( CASE WHEN AUDIT_STATUS = 'approved' THEN 'yes' ELSE 'no' END ) AS isCertificated,
MOBILE,
CERTIFICATION_IMG,
@ -126,6 +126,28 @@
AND cc.BADGE_ID = #{badgeId}
ORDER BY cf.SORT
</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">

Loading…
Cancel
Save