Browse Source

用户反馈列表查询调整为兼容pc查询

dev
yinzuomei 3 years ago
parent
commit
1f26db0966
  1. 21
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AdviceListFormDTO.java
  2. 10
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserAdviceController.java
  3. 3
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserAdviceDao.java
  4. 31
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserAdviceServiceImpl.java
  5. 36
      epmet-user/epmet-user-server/src/main/resources/mapper/UserAdviceDao.xml

21
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AdviceListFormDTO.java

@ -1,8 +1,11 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* @description:
@ -11,16 +14,28 @@ import javax.validation.constraints.Min;
*/
@Data
public class AdviceListFormDTO {
/**
* 工作端pc调用此接口校验参数
*/
public interface WorkPcGroup extends CustomerClientShowGroup {
}
/**
* 客户id 不填查询所有
*/
@NotBlank(message = "customerId不能为空",groups = WorkPcGroup.class)
private String customerId;
/**
* 组织id 不填查询所有
*/
@NotBlank(message = "agencyId不能为空",groups = WorkPcGroup.class)
private String agencyId;
/**
* 网格id
*/
private String gridId;
/**
* 是否被回复,0未回复1回复, 传空查询所有
*/
@ -44,12 +59,14 @@ public class AdviceListFormDTO {
/**
* 页码
*/
@NotNull(message = "pageNo不能为空",groups = WorkPcGroup.class)
@Min(1)
private int pageNo;
private Integer pageNo;
/**
* 页大小
*/
@NotNull(message = "pageSize不能为空",groups = WorkPcGroup.class)
@Min(1)
private int pageSize;
private Integer pageSize;
}

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

@ -17,8 +17,11 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
@ -145,8 +148,11 @@ public class UserAdviceController {
* @Date 2020/11/10 9:32
*/
@PostMapping("advicelist")
public Result<PageData<AdviceListResultDTO>> adviceList(@RequestBody AdviceListFormDTO dto) {
ValidatorUtils.validateEntity(dto);
public Result<PageData<AdviceListResultDTO>> adviceList(@LoginUser TokenDto tokenDto, @RequestBody AdviceListFormDTO dto) {
if (AppClientConstant.APP_GOV.equals(tokenDto.getApp())) {
//工作端调用,校验参数
ValidatorUtils.validateEntity(dto, AdviceListFormDTO.WorkPcGroup.class);
}
//校验时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

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

@ -19,6 +19,7 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.UserAdviceDTO;
import com.epmet.dto.form.AdviceListFormDTO;
import com.epmet.dto.result.MyAdviceListResultDTO;
import com.epmet.entity.UserAdviceEntity;
import org.apache.ibatis.annotations.Mapper;
@ -44,4 +45,6 @@ public interface UserAdviceDao extends BaseDao<UserAdviceEntity> {
@Param("userId") String loginUserId);
int saveUserAdvice(UserAdviceDTO dto);
List<UserAdviceEntity> selectListAdvice(AdviceListFormDTO dto);
}

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

@ -20,8 +20,6 @@ package com.epmet.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
@ -52,6 +50,8 @@ import com.epmet.feign.OperCrmOpenFeignClient;
import com.epmet.service.UserAdviceImgService;
import com.epmet.service.UserAdviceService;
import com.epmet.service.UserResiInfoService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import io.jsonwebtoken.lang.Collections;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
@ -242,7 +242,7 @@ public class UserAdviceServiceImpl extends BaseServiceImpl<UserAdviceDao, UserAd
*/
@Override
public PageData<AdviceListResultDTO> adviceList(AdviceListFormDTO dto) {
//page分页
/*//page分页
Page<UserAdviceEntity> page = new Page<>(dto.getPageNo(), dto.getPageSize());
//时间降序
page.addOrder(OrderItem.desc(FieldConstant.CREATED_TIME));
@ -300,7 +300,30 @@ public class UserAdviceServiceImpl extends BaseServiceImpl<UserAdviceDao, UserAd
}
result.setRecords(records);
return getPageData(result, AdviceListResultDTO.class);
return getPageData(result, AdviceListResultDTO.class);*/
PageHelper.startPage(dto.getPageNo(), dto.getPageSize());
List<UserAdviceEntity> list = baseDao.selectListAdvice(dto);
List<AdviceListResultDTO> records=ConvertUtils.sourceToTarget(list,AdviceListResultDTO.class);
//拼接type
for (int i = 0; i < records.size(); i++) {
if (!"*".equals(records.get(i).getAdviceType())) {
StringBuilder type = new StringBuilder();
if (records.get(i).getAdviceType().contains("gov")) {
type.append(UserAdviceConstant.GOV_TYPE_TEXT);
}
if (records.get(i).getAdviceType().contains("software")) {
if (type.length() != 0) {
type.append("\n");
}
type.append(UserAdviceConstant.SOFTWARE_TYPE_TEXT);
}
records.get(i).setAdviceType(type.toString());
}
}
PageInfo<AdviceListResultDTO> pageInfo = new PageInfo<>(records);
return new PageData<>(records, pageInfo.getTotal());
}
/**

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

@ -116,4 +116,40 @@
0,0,#{userId},#{adviceTime},#{userId},#{adviceTime}
)
</insert>
<select id="selectListAdvice" parameterType="com.epmet.dto.form.AdviceListFormDTO" resultType="com.epmet.entity.UserAdviceEntity">
SELECT
ua.*
FROM
user_advice ua
WHERE
ua.DEL_FLAG = '0'
<if test="customerId != null and customerId.trim() != ''">
AND ua.CUSTOMER_ID = #{customerId}
</if>
<if test="agencyId != null and agencyId.trim() != ''">
AND (
ua.AGENCY_ID = #{agencyId}
OR ua.AGENCY_PIDS LIKE concat( '%', #{agencyId}, '%' ))
</if>
<if test="gridId != null and gridId.trim() != ''">
AND ua.GRID_ID = #{gridId}
</if>
<if test="isReply == '1'">
AND ua.REPLY_USER_ID IS NOT NULL
</if>
<if test="isReply == '0'">
AND ( ua.REPLY_USER_ID IS NULL OR ua.REPLY_USER_ID = '' )
</if>
<if test="adviceType != null and adviceType.trim() != ''">
AND ua.ADVICE_TYPE LIKE concat( '%', #{adviceType}, '%' )
</if>
<if test="startTime != null and startTime != ''">
AND DATE_FORMAT( ua.CREATED_TIME, '%Y-%m-%d %h:%i:%s' ) &gt;= #{startTime}
</if>
<if test="endTime != null and endTime != ''">
AND DATE_FORMAT( ua.CREATED_TIME, '%Y-%m-%d %h:%i:%s' ) &lt;= #{endTime}
</if>
order by ua.CREATED_TIME desc
</select>
</mapper>

Loading…
Cancel
Save