Browse Source

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

dev_shibei_match
wxz 5 years ago
parent
commit
62b0eb9995
  1. 7
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/UserAdviceDTO.java
  2. 51
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/SubmitAdviceFormDTO.java
  3. 16
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserAdviceController.java
  4. 3
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserAdviceDao.java
  5. 11
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserAdviceService.java
  6. 99
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserAdviceServiceImpl.java
  7. 45
      epmet-user/epmet-user-server/src/main/resources/mapper/UserAdviceDao.xml
  8. 2
      epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml

7
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 String adviceType;
/**
* 问题时间
*/
private Date adviceTime;
/** /**
* 回复内容 * 回复内容
*/ */
@ -153,4 +158,4 @@ public class UserAdviceDTO implements Serializable {
*/ */
private Date updatedTime; private Date updatedTime;
} }

51
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<String> imgList;
}

16
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.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.form.SubmitAdviceFormDTO;
import com.epmet.dto.result.AdviceDetailResultDTO; import com.epmet.dto.result.AdviceDetailResultDTO;
import com.epmet.dto.result.AdviceListResultDTO; import com.epmet.dto.result.AdviceListResultDTO;
import com.epmet.dto.result.MyAdviceListResultDTO; import com.epmet.dto.result.MyAdviceListResultDTO;
@ -42,6 +43,7 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.regex.Pattern;
/** /**
@ -170,4 +172,18 @@ public class UserAdviceController {
} }
return new Result<List<MyAdviceListResultDTO>>().ok(userAdviceService.myAdviceList(pageSize,pageNo,loginUserUtil.getLoginUserId())); return new Result<List<MyAdviceListResultDTO>>().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();
}
} }

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

@ -18,6 +18,7 @@
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.UserAdviceDTO;
import com.epmet.dto.result.MyAdviceListResultDTO; 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;
@ -41,4 +42,6 @@ public interface UserAdviceDao extends BaseDao<UserAdviceEntity> {
List<MyAdviceListResultDTO> myAdviceList(@Param("pageSize") int pageSize, List<MyAdviceListResultDTO> myAdviceList(@Param("pageSize") int pageSize,
@Param("pageNo") int pageNo, @Param("pageNo") int pageNo,
@Param("userId") String loginUserId); @Param("userId") String loginUserId);
int saveUserAdvice(UserAdviceDTO dto);
} }

11
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.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.form.SubmitAdviceFormDTO;
import com.epmet.dto.result.AdviceDetailResultDTO; import com.epmet.dto.result.AdviceDetailResultDTO;
import com.epmet.dto.result.AdviceListResultDTO; import com.epmet.dto.result.AdviceListResultDTO;
import com.epmet.dto.result.MyAdviceListResultDTO; import com.epmet.dto.result.MyAdviceListResultDTO;
@ -136,4 +137,14 @@ public interface UserAdviceService extends BaseService<UserAdviceEntity> {
* @Date 2020/11/9 17:39 * @Date 2020/11/9 17:39
*/ */
List<MyAdviceListResultDTO> myAdviceList(int pageSize, int pageNo, String loginUserId); List<MyAdviceListResultDTO> 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);
} }

99
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.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.CustomerAgencyDTO;
import com.epmet.dto.CustomerDTO;
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.form.SubmitAdviceFormDTO;
import com.epmet.dto.result.AdviceListResultDTO; import com.epmet.dto.form.UserResiInfoFormDTO;
import com.epmet.dto.result.MyAdviceListResultDTO; import com.epmet.dto.result.*;
import com.epmet.entity.UserAdviceEntity; import com.epmet.entity.UserAdviceEntity;
import com.epmet.entity.UserAdviceImgEntity; import com.epmet.entity.UserAdviceImgEntity;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.feign.OperCrmOpenFeignClient;
import com.epmet.redis.UserAdviceRedis; import com.epmet.redis.UserAdviceRedis;
import com.epmet.service.UserAdviceImgService; import com.epmet.service.UserAdviceImgService;
import com.epmet.service.UserAdviceService; import com.epmet.service.UserAdviceService;
import com.epmet.service.UserResiInfoService;
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.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
@ -76,6 +81,15 @@ public class UserAdviceServiceImpl extends BaseServiceImpl<UserAdviceDao, UserAd
@Autowired @Autowired
private UserAdviceImgService userAdviceImgService; private UserAdviceImgService userAdviceImgService;
@Autowired
private OperCrmOpenFeignClient operCrmOpenFeignClient;
@Autowired
private GovOrgOpenFeignClient govOrgOpenFeignClient;
@Autowired
private UserResiInfoService userResiInfoService;
@Value("${openapi.scan.server.url}") @Value("${openapi.scan.server.url}")
private String scanApiUrl; private String scanApiUrl;
@Value("${openapi.scan.method.textSyncScan}") @Value("${openapi.scan.method.textSyncScan}")
@ -293,6 +307,85 @@ public class UserAdviceServiceImpl extends BaseServiceImpl<UserAdviceDao, UserAd
return baseDao.myAdviceList(pageSize, pageNo, loginUserId); return baseDao.myAdviceList(pageSize, pageNo, loginUserId);
} }
/**
* @param dto
* @param loginUserId
* @return void
* @Description 居民端-回复建议
* @Author liushaowen
* @Date 2020/11/10 10:57
*/
@Override
public void submitAdvice(SubmitAdviceFormDTO dto, String loginUserId) {
//审核图片文字
auditText(dto.getAdviceContent());
auditPic(dto.getImgList());
UserAdviceDTO userAdviceDTO = new UserAdviceDTO();
BeanUtils.copyProperties(dto,userAdviceDTO);
//获取customerName
CustomerDTO customerDTO = new CustomerDTO();
customerDTO.setId(dto.getCustomerId());
Result<CustomerDTO> customerInfo = operCrmOpenFeignClient.getCustomerInfo(customerDTO);
if (customerInfo.success()){
userAdviceDTO.setCustomerName(customerInfo.getData().getCustomerName());
}else {
logger.error("customerId:{},获取customerName失败",dto.getCustomerId());
}
//获取gridName,agencyId
Result<GridInfoResultDTO> gridInfoResultDTOResult = govOrgOpenFeignClient.queryGridInfo(dto.getGridId());
if (gridInfoResultDTOResult.success()){
userAdviceDTO.setGridName(gridInfoResultDTOResult.getData().getGridName());
userAdviceDTO.setAgencyId(gridInfoResultDTOResult.getData().getParentAgencyId());
//获取agencyName
Result<CustomerAgencyDTO> 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<UserResiInfoResultDTO> 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<String> govImgList = dto.getImgList();
if (!Collections.isEmpty(govImgList)) {
List<UserAdviceImgEntity> 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) { private void auditText(String text) {
TextScanParamDTO textScanParamDTO = new TextScanParamDTO(); TextScanParamDTO textScanParamDTO = new TextScanParamDTO();
TextTaskDTO taskDTO = new TextTaskDTO(); TextTaskDTO taskDTO = new TextTaskDTO();

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

@ -64,4 +64,49 @@
from user_advice_img from user_advice_img
where del_flag = 0 and advice_Id = #{id} and type = 'resi' where del_flag = 0 and advice_Id = #{id} and type = 'resi'
</select> </select>
<insert id="saveUserAdvice" parameterType="com.epmet.entity.UserAdviceEntity">
<selectKey resultType="String" keyProperty="id" order="BEFORE">
select md5(replace(UUID(),'-',''))
</selectKey>
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}
)
</insert>
</mapper> </mapper>

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

@ -105,10 +105,10 @@
user_badge_certificate_record user_badge_certificate_record
WHERE WHERE
DEL_FLAG = 0 DEL_FLAG = 0
AND IS_LAST = 'yes'
AND BADGE_ID = #{badgeId} AND BADGE_ID = #{badgeId}
<if test="userId != null and userId != '' "> <if test="userId != null and userId != '' ">
AND USER_ID = #{userId} AND USER_ID = #{userId}
AND IS_LAST = 'yes'
</if> </if>
<if test="recordId != null and recordId != ''"> <if test="recordId != null and recordId != ''">
AND ID = #{recordId} AND ID = #{recordId}

Loading…
Cancel
Save