Просмотр исходного кода

'帮助中心-建议反馈界面调整,优化增删改查接口,新增评价接口'

james 8 месяцев назад
Родитель
Сommit
19beb24054

+ 7 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/HceReviewController.java

@@ -6,6 +6,7 @@ import com.usky.common.core.bean.CommonPage;
 import com.usky.system.domain.HceReview;
 import com.usky.system.service.HceReviewService;
 import com.usky.system.service.vo.HceReviewRequestVO;
+import com.usky.system.service.vo.HceReviewScoreVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -66,5 +67,11 @@ public class HceReviewController {
         return ApiResult.success(hceReviewService.page(requestVO));
     }
 
+    @PostMapping("score")
+    ApiResult<Void> score(@RequestBody HceReviewScoreVO scoreVO){
+        hceReviewService.score(scoreVO);
+        return ApiResult.success();
+    }
+
 }
 

+ 44 - 9
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/domain/HceReview.java

@@ -28,22 +28,17 @@ public class HceReview implements Serializable {
     private Integer id;
 
     /**
-     * 用户账号
+     * 反馈人
      */
-    private String userName;
+    private String reviewName;
 
     /**
-     * 用户昵称
-     */
-    private String nickName;
-
-    /**
-     * 反馈问题类型
+     * 反馈类型
      */
     private Integer reviewType;
 
     /**
-     * 反馈问题内容
+     * 反馈描述
      */
     private String reviewContent;
 
@@ -87,5 +82,45 @@ public class HceReview implements Serializable {
      */
     private String handleContent;
 
+    /**
+     * 反馈单编码
+     */
+    private String hceCode;
+
+    /**
+     * 用户邮箱
+     */
+    private String email;
+
+    /**
+     * 手机号码
+     */
+    private String phonenumber;
+
+    /**
+     * 评分
+     */
+    private Float score;
+
+    /**
+     * 评价内容
+     */
+    private String appraiseContent;
+
+    /**
+     * 创建人
+     */
+    private String createBy;
+
+    /**
+     * 更新人
+     */
+    private String updateBy;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
 
 }

+ 3 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/HceReviewService.java

@@ -4,6 +4,7 @@ import com.usky.common.core.bean.CommonPage;
 import com.usky.system.domain.HceReview;
 import com.usky.common.mybatis.core.CrudService;
 import com.usky.system.service.vo.HceReviewRequestVO;
+import com.usky.system.service.vo.HceReviewScoreVO;
 import org.springframework.web.bind.annotation.RequestBody;
 
 /**
@@ -22,4 +23,6 @@ public interface HceReviewService extends CrudService<HceReview> {
     void remove(Integer id);
 
     CommonPage<HceReview> page(HceReviewRequestVO requestVO);
+
+    void score(HceReviewScoreVO scoreVO);
 }

+ 31 - 6
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/HceReviewServiceImpl.java

@@ -15,10 +15,15 @@ import com.usky.system.mapper.HceReviewMapper;
 import com.usky.system.service.HceReviewService;
 import com.usky.common.mybatis.core.AbstractCrudService;
 import com.usky.system.service.vo.HceReviewRequestVO;
+import com.usky.system.service.vo.HceReviewScoreVO;
+import org.apache.tomcat.jni.Local;
 import org.springframework.stereotype.Service;
 
+import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.List;
+import java.util.Objects;
 import java.util.function.LongToIntFunction;
 
 /**
@@ -34,9 +39,10 @@ public class HceReviewServiceImpl extends AbstractCrudService<HceReviewMapper, H
 
     @Override
     public void add(HceReview hceReview){
-        hceReview.setUserName(SecurityUtils.getUsername());
-        hceReview.setNickName(SecurityUtils.getLoginUser().getSysUser().getNickName());
+        String hceCode = "hce-"+LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"));
+        hceReview.setHceCode(hceCode);
         hceReview.setStatus(0);
+        hceReview.setCreateBy(SecurityUtils.getUsername());
         hceReview.setCreateTime(LocalDateTime.now());
         hceReview.setDeptId(Integer.parseInt(String.valueOf(SecurityUtils.getLoginUser().getSysUser().getDeptId())));
         hceReview.setTenantId(SecurityUtils.getTenantId());
@@ -49,6 +55,8 @@ public class HceReviewServiceImpl extends AbstractCrudService<HceReviewMapper, H
         hceReview.setStatus(1);
         hceReview.setHandleBy(SecurityUtils.getUsername());
         hceReview.setHandleTime(LocalDateTime.now());
+        hceReview.setUpdateBy(SecurityUtils.getUsername());
+        hceReview.setUpdateTime(LocalDateTime.now());
 
         this.updateById(hceReview);
     }
@@ -67,10 +75,9 @@ public class HceReviewServiceImpl extends AbstractCrudService<HceReviewMapper, H
     public CommonPage<HceReview> page(HceReviewRequestVO requestVO){
         IPage<HceReview> page = new Page<>(requestVO.getPageNum(),requestVO.getPageSize());
         LambdaQueryWrapper<HceReview> queryWrapper = Wrappers.lambdaQuery();
-        if(StringUtils.isNotBlank(requestVO.getName())){
-            queryWrapper.and(wrapper->wrapper.like(HceReview::getUserName,requestVO.getName()).or().like(HceReview::getNickName,requestVO.getName()));
-        }
-        queryWrapper.between(StringUtils.isNotBlank(requestVO.getStartTime())&&StringUtils.isNotBlank(requestVO.getEndTime()),HceReview::getCreateTime,requestVO.getStartTime(),requestVO.getEndTime())
+        queryWrapper.like(StringUtils.isNotBlank(requestVO.getHceCode()),HceReview::getHceCode,requestVO.getHceCode())
+                .like(StringUtils.isNotBlank(requestVO.getReviewName()),HceReview::getReviewName,requestVO.getReviewName())
+                .between(StringUtils.isNotBlank(requestVO.getStartTime())&&StringUtils.isNotBlank(requestVO.getEndTime()),HceReview::getCreateTime,requestVO.getStartTime(),requestVO.getEndTime())
                 .eq(requestVO.getStatus() != null,HceReview::getStatus,requestVO.getStatus())
                 .apply(DataScopeContextHolder.getDataScopeSql())
                 .orderByDesc(HceReview::getId);
@@ -79,4 +86,22 @@ public class HceReviewServiceImpl extends AbstractCrudService<HceReviewMapper, H
         return new CommonPage<>(page.getRecords(),page.getTotal(),requestVO.getPageSize(),requestVO.getPageNum());
     }
 
+    @Override
+    public void score(HceReviewScoreVO scoreVO){
+
+        LambdaQueryWrapper<HceReview> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(HceReview::getHceCode,scoreVO.getHceCode());
+        HceReview hceReview = this.getOne(queryWrapper);
+        if(Objects.isNull(hceReview.getScore())){
+
+        }else{
+            throw new BusinessException("您已参与评分,谢谢!");
+        }
+
+        hceReview.setStatus(2);
+        hceReview.setScore(scoreVO.getScore());
+        hceReview.setAppraiseContent(scoreVO.getAppraiseContent());
+        this.updateById(hceReview);
+    }
+
 }

+ 7 - 2
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/HceReviewRequestVO.java

@@ -6,9 +6,14 @@ import lombok.Data;
 public class HceReviewRequestVO {
 
     /**
-     * 账号、昵称
+     * 反馈单编码
      */
-    private String name;
+    private String hceCode;
+
+    /**
+     * 反馈人
+     */
+    private String reviewName;
 
     /**
      * 处理状态

+ 22 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/HceReviewScoreVO.java

@@ -0,0 +1,22 @@
+package com.usky.system.service.vo;
+
+import lombok.Data;
+
+@Data
+public class HceReviewScoreVO {
+
+    /**
+     * 反馈单编码
+     */
+    private String hceCode;
+
+    /**
+     * 评分
+     */
+    private Float score;
+
+    /**
+     * 评价内容
+     */
+    private String appraiseContent;
+}

+ 9 - 2
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/HceReviewMapper.xml

@@ -5,8 +5,7 @@
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.usky.system.domain.HceReview">
         <id column="id" property="id" />
-        <result column="user_name" property="userName" />
-        <result column="nick_name" property="nickName" />
+        <result column="review_name" property="reviewName" />
         <result column="review_type" property="reviewType" />
         <result column="review_content" property="reviewContent" />
         <result column="review_picture" property="reviewPicture" />
@@ -17,6 +16,14 @@
         <result column="dept_id" property="deptId" />
         <result column="tenant_id" property="tenantId" />
         <result column="handle_content" property="handleContent" />
+        <result column="hce_code" property="hceCode" />
+        <result column="email" property="email" />
+        <result column="phonenumber" property="phonenumber" />
+        <result column="score" property="score" />
+        <result column="appraise_content" property="appraiseContent" />
+        <result column="create_by" property="createBy" />
+        <result column="update_by" property="updateBy" />
+        <result column="update_time" property="updateTime" />
     </resultMap>
 
 </mapper>