From 8f3878c9ac837c35092b8b533bb4e5003ee2407c Mon Sep 17 00:00:00 2001
From: zxc <1272811460@qq.com>
Date: Tue, 10 Nov 2020 15:11:01 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E5=BE=BD=E7=AB=A0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/main/resources/mapper/UserBadgeDao.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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 1ce902f6d2..f7186b1424 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
@@ -105,10 +105,10 @@
user_badge_certificate_record
WHERE
DEL_FLAG = 0
- AND IS_LAST = 'yes'
AND BADGE_ID = #{badgeId}
AND USER_ID = #{userId}
+ AND IS_LAST = 'yes'
AND ID = #{recordId}
From c21527473372bee031908eb0217d05ebe1ee9173 Mon Sep 17 00:00:00 2001
From: liushaowen <565850092@qq.com>
Date: Tue, 10 Nov 2020 15:26:56 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E5=B1=85=E6=B0=91=E7=AB=AF-=E6=8F=90?=
=?UTF-8?q?=E4=BA=A4=E5=BB=BA=E8=AE=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../java/com/epmet/dto/UserAdviceDTO.java | 7 +-
.../epmet/dto/form/SubmitAdviceFormDTO.java | 51 ++++++++++
.../controller/UserAdviceController.java | 16 +++
.../java/com/epmet/dao/UserAdviceDao.java | 3 +
.../com/epmet/service/UserAdviceService.java | 11 +++
.../service/impl/UserAdviceServiceImpl.java | 99 ++++++++++++++++++-
.../main/resources/mapper/UserAdviceDao.xml | 45 +++++++++
7 files changed, 228 insertions(+), 4 deletions(-)
create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SubmitAdviceFormDTO.java
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/UserAdviceDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/UserAdviceDTO.java
index 77e6494ee6..0cea243f87 100644
--- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/UserAdviceDTO.java
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/UserAdviceDTO.java
@@ -98,6 +98,11 @@ public class UserAdviceDTO implements Serializable {
*/
private String adviceType;
+ /**
+ * 问题时间
+ */
+ private Date adviceTime;
+
/**
* 回复内容
*/
@@ -153,4 +158,4 @@ public class UserAdviceDTO implements Serializable {
*/
private Date updatedTime;
-}
\ No newline at end of file
+}
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SubmitAdviceFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SubmitAdviceFormDTO.java
new file mode 100644
index 0000000000..b4dae41cbd
--- /dev/null
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SubmitAdviceFormDTO.java
@@ -0,0 +1,51 @@
+package com.epmet.dto.form;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @description:
+ * @author: liushaowen
+ * @date: 2020/11/10 10:42
+ */
+@Data
+public class SubmitAdviceFormDTO implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 客户id
+ */
+ @NotBlank(message = "客户id不能为空")
+ private String customerId;
+
+ /**
+ * 网格id
+ */
+ @NotBlank(message = "网格id不能为空")
+ private String gridId;
+
+ /**
+ * 建议内容
+ */
+ @NotBlank(message = "建议内容不能为空")
+ private String adviceContent;
+
+ /**
+ * 电话号码可为空 存*,不为空需校验
+ */
+ private String phone;
+
+ /**
+ * 问题类型,可为空 存*,gov为政府问题,software为软件问题
+ */
+
+ private String adviceType;
+
+ /**
+ * 建议图片
+ */
+ private List imgList;
+}
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 0886a6a824..170b9188e5 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
@@ -30,6 +30,7 @@ import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.UserAdviceDTO;
import com.epmet.dto.form.AdviceListFormDTO;
import com.epmet.dto.form.ReplyAdviceFormDTO;
+import com.epmet.dto.form.SubmitAdviceFormDTO;
import com.epmet.dto.result.AdviceDetailResultDTO;
import com.epmet.dto.result.AdviceListResultDTO;
import com.epmet.dto.result.MyAdviceListResultDTO;
@@ -42,6 +43,7 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
+import java.util.regex.Pattern;
/**
@@ -170,4 +172,18 @@ public class UserAdviceController {
}
return new Result>().ok(userAdviceService.myAdviceList(pageSize,pageNo,loginUserUtil.getLoginUserId()));
}
+
+ @PostMapping("submitadvice")
+ public Result submitAdvice(@RequestBody SubmitAdviceFormDTO dto){
+ ValidatorUtils.validateEntity(dto);
+ if (StringUtils.isNotBlank(dto.getPhone())){
+ if (!Pattern.matches("^1[3456789]\\d{9}$",dto.getPhone())){
+ throw new RenException("手机号格式错误");
+ }
+ }else {
+ dto.setPhone("*");
+ }
+ userAdviceService.submitAdvice(dto,loginUserUtil.getLoginUserId());
+ 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 087b91f225..3fd6a4f205 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
@@ -18,6 +18,7 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.dto.UserAdviceDTO;
import com.epmet.dto.result.MyAdviceListResultDTO;
import com.epmet.entity.UserAdviceEntity;
import org.apache.ibatis.annotations.Mapper;
@@ -41,4 +42,6 @@ public interface UserAdviceDao extends BaseDao {
List myAdviceList(@Param("pageSize") int pageSize,
@Param("pageNo") int pageNo,
@Param("userId") String loginUserId);
+
+ int saveUserAdvice(UserAdviceDTO dto);
}
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 35a5e840ce..4bfc5d5307 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
@@ -22,6 +22,7 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.UserAdviceDTO;
import com.epmet.dto.form.AdviceListFormDTO;
import com.epmet.dto.form.ReplyAdviceFormDTO;
+import com.epmet.dto.form.SubmitAdviceFormDTO;
import com.epmet.dto.result.AdviceDetailResultDTO;
import com.epmet.dto.result.AdviceListResultDTO;
import com.epmet.dto.result.MyAdviceListResultDTO;
@@ -136,4 +137,14 @@ public interface UserAdviceService extends BaseService {
* @Date 2020/11/9 17:39
*/
List myAdviceList(int pageSize, int pageNo, String loginUserId);
+
+ /**
+ * @Description 居民端-回复建议
+ * @param dto
+ * @param loginUserId
+ * @return void
+ * @Author liushaowen
+ * @Date 2020/11/10 10:57
+ */
+ void submitAdvice(SubmitAdviceFormDTO dto, String loginUserId);
}
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 8973026d33..59038e0d91 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserAdviceServiceImpl.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserAdviceServiceImpl.java
@@ -37,17 +37,22 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.ScanContentUtils;
import com.epmet.constant.UserAdviceConstant;
import com.epmet.dao.UserAdviceDao;
+import com.epmet.dto.CustomerAgencyDTO;
+import com.epmet.dto.CustomerDTO;
import com.epmet.dto.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.dto.form.SubmitAdviceFormDTO;
+import com.epmet.dto.form.UserResiInfoFormDTO;
+import com.epmet.dto.result.*;
import com.epmet.entity.UserAdviceEntity;
import com.epmet.entity.UserAdviceImgEntity;
+import com.epmet.feign.GovOrgOpenFeignClient;
+import com.epmet.feign.OperCrmOpenFeignClient;
import com.epmet.redis.UserAdviceRedis;
import com.epmet.service.UserAdviceImgService;
import com.epmet.service.UserAdviceService;
+import com.epmet.service.UserResiInfoService;
import io.jsonwebtoken.lang.Collections;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
@@ -76,6 +81,15 @@ public class UserAdviceServiceImpl extends BaseServiceImpl customerInfo = operCrmOpenFeignClient.getCustomerInfo(customerDTO);
+ if (customerInfo.success()){
+ userAdviceDTO.setCustomerName(customerInfo.getData().getCustomerName());
+ }else {
+ logger.error("customerId:{},获取customerName失败",dto.getCustomerId());
+ }
+ //获取gridName,agencyId
+ Result gridInfoResultDTOResult = govOrgOpenFeignClient.queryGridInfo(dto.getGridId());
+ if (gridInfoResultDTOResult.success()){
+ userAdviceDTO.setGridName(gridInfoResultDTOResult.getData().getGridName());
+ userAdviceDTO.setAgencyId(gridInfoResultDTOResult.getData().getParentAgencyId());
+ //获取agencyName
+ Result agencyById = govOrgOpenFeignClient.getAgencyById(gridInfoResultDTOResult.getData().getParentAgencyId());
+ if (agencyById.success()){
+ userAdviceDTO.setAgencyName(agencyById.getData().getAllParentName());
+ }else {
+ logger.error("agencyId:{},获取组织详情失败",gridInfoResultDTOResult.getData().getParentAgencyId());
+ }
+ }else {
+ logger.error("gridId:{},获取网格详情失败",dto.getGridId());
+ }
+
+ //获取userName,regPhone
+ UserResiInfoFormDTO userResiInfoFormDTO = new UserResiInfoFormDTO();
+ userResiInfoFormDTO.setUserId(loginUserId);
+ userResiInfoFormDTO.setCustomerId(dto.getCustomerId());
+ Result userResiInfoDTO = userResiInfoService.getUserResiInfoDTO(userResiInfoFormDTO);
+ if (userResiInfoDTO.success()){
+ userAdviceDTO.setUserId(loginUserId);
+ userAdviceDTO.setUserName(userResiInfoDTO.getData().getSurname()+userResiInfoDTO.getData().getName());
+ userAdviceDTO.setRegPhone(userResiInfoDTO.getData().getRegMobile());
+ }else {
+ logger.error("userId:{},获取user注册信息失败",loginUserId);
+ }
+ //设置AdviceTime
+ userAdviceDTO.setAdviceTime(new Date());
+ //设置adviceType
+ if (StringUtils.isBlank(dto.getAdviceType())){
+ userAdviceDTO.setAdviceType("*");
+ }
+ baseDao.saveUserAdvice(userAdviceDTO);
+ //如果imgList不为空,插入advice_img表
+ List govImgList = dto.getImgList();
+ if (!Collections.isEmpty(govImgList)) {
+ List userAdviceImgEntities = new ArrayList<>();
+ for (int i = 0; i < govImgList.size(); i++) {
+ //最多存三张图片
+ if (i == 3) {
+ break;
+ }
+ UserAdviceImgEntity entity = new UserAdviceImgEntity();
+ entity.setImgUrl(govImgList.get(i));
+ entity.setAdviceId(userAdviceDTO.getId());
+ entity.setType("resi");
+ userAdviceImgEntities.add(entity);
+ }
+ userAdviceImgService.insertBatch(userAdviceImgEntities);
+ }
+ }
+
private void auditText(String text) {
TextScanParamDTO textScanParamDTO = new TextScanParamDTO();
TextTaskDTO taskDTO = new TextTaskDTO();
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 42c4b57f44..4f9aa8730c 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
@@ -64,4 +64,49 @@
from user_advice_img
where del_flag = 0 and advice_Id = #{id} and type = 'resi'
+
+
+
+ select md5(replace(UUID(),'-',''))
+
+ insert into user_advice(
+ id,
+ customer_id,
+ customer_name,
+ agency_id,
+ agency_name,
+ grid_id,
+ grid_name,
+ user_id,
+ user_name,
+ reg_phone,
+ advice_content,
+ phone,
+ advice_time,
+ advice_type,
+ del_flag,
+ revision,
+ created_by,
+ created_time,
+ updated_by,
+ updated_time
+ )
+ values (
+ #{id},
+ #{customerId},
+ #{customerName},
+ #{agencyId},
+ #{agencyName},
+ #{gridId},
+ #{gridName},
+ #{userId},
+ #{userName},
+ #{regPhone},
+ #{adviceContent},
+ #{phone},
+ #{adviceTime},
+ #{adviceType},
+ 0,0,#{userId},#{adviceTime},#{userId},#{adviceTime}
+ )
+