dengsixing 1 anno fa
parent
commit
353e9022ef

+ 14 - 1
src/main/java/com/fdkankan/scene/controller/ScrbController.java

@@ -1,5 +1,8 @@
 package com.fdkankan.scene.controller;
 
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fdkankan.common.constant.CommonSuccessStatus;
@@ -10,6 +13,7 @@ import com.fdkankan.scene.dto.TextVoiceTransferDTO;
 import com.fdkankan.scene.entity.LeaveWord;
 import com.fdkankan.scene.service.ILeaveWordService;
 import com.fdkankan.scene.service.IScrbService;
+import com.fdkankan.scene.vo.LeaveWordVO;
 import com.fdkankan.web.controller.BaseController;
 import com.fdkankan.web.response.ResultData;
 import lombok.extern.slf4j.Slf4j;
@@ -18,6 +22,8 @@ import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.validation.Valid;
+import java.util.List;
+import java.util.stream.Collectors;
 
 @Slf4j
 @RestController
@@ -49,7 +55,14 @@ public class ScrbController extends BaseController {
 
     @GetMapping("leaveWord/list")
     public ResultData listLeaveWord(@RequestParam("num") String num){
-        return ResultData.ok(leaveWordService.list(new LambdaQueryWrapper<LeaveWord>().eq(LeaveWord::getNum, num).eq(LeaveWord::getStatus, CommonSuccessStatus.SUCCESS.code())));
+        List<LeaveWord> list = leaveWordService.list(new LambdaQueryWrapper<LeaveWord>().eq(LeaveWord::getNum, num).eq(LeaveWord::getStatus, CommonSuccessStatus.SUCCESS.code()));
+        if(CollUtil.isEmpty(list)){
+            return ResultData.ok();
+        }
+        return ResultData.ok(list.stream().map(v->{
+            LeaveWordVO vo = BeanUtil.copyProperties(v, LeaveWordVO.class, "content");
+            vo.setContent(JSON.parseObject(v.getContent()));
+            return vo;}).collect(Collectors.toList()));
     }
 
 

+ 14 - 1
src/main/java/com/fdkankan/scene/controller/ScrbEditController.java

@@ -1,5 +1,8 @@
 package com.fdkankan.scene.controller;
 
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fdkankan.common.constant.CommonSuccessStatus;
 import com.fdkankan.scene.annotation.CheckPermit;
@@ -9,6 +12,7 @@ import com.fdkankan.scene.dto.TextVoiceTransferDTO;
 import com.fdkankan.scene.entity.LeaveWord;
 import com.fdkankan.scene.service.ILeaveWordService;
 import com.fdkankan.scene.service.IScrbService;
+import com.fdkankan.scene.vo.LeaveWordVO;
 import com.fdkankan.web.controller.BaseController;
 import com.fdkankan.web.response.ResultData;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -17,7 +21,9 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.validation.Valid;
 import java.util.Date;
+import java.util.List;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 @RestController
 @RequestMapping("/service/scene/edit/scrb")
@@ -113,7 +119,14 @@ public class ScrbEditController extends BaseController {
 //    @CheckPermit
     @GetMapping("leaveWord/list")
     public ResultData listLeaveWord(@RequestParam("num") String num){
-        return ResultData.ok(leaveWordService.list(new LambdaQueryWrapper<LeaveWord>().eq(LeaveWord::getNum, num)));
+        List<LeaveWord> list = leaveWordService.list(new LambdaQueryWrapper<LeaveWord>().eq(LeaveWord::getNum, num));
+        if(CollUtil.isEmpty(list)){
+            return ResultData.ok();
+        }
+        return ResultData.ok(list.stream().map(v->{
+            LeaveWordVO vo = BeanUtil.copyProperties(v, LeaveWordVO.class, "content");
+            vo.setContent(JSON.parseObject(v.getContent()));
+            return vo;}).collect(Collectors.toList()));
     }
 
 //    @CheckPermit

+ 4 - 2
src/main/java/com/fdkankan/scene/dto/LeaveWordDTO.java

@@ -1,14 +1,16 @@
 package com.fdkankan.scene.dto;
 
+import com.alibaba.fastjson.JSONObject;
 import com.fdkankan.scene.vo.BaseSceneParamVO;
 import lombok.Data;
 
 import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
 
 @Data
 public class LeaveWordDTO extends BaseSceneParamVO {
 
-    @NotBlank(message = "留言不能为空")
-    private String content;
+    @NotNull(message = "留言不能为空")
+    private JSONObject content;
 
 }

+ 5 - 1
src/main/java/com/fdkankan/scene/entity/LeaveWord.java

@@ -1,5 +1,6 @@
 package com.fdkankan.scene.entity;
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -7,8 +8,11 @@ import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.io.Serializable;
 import java.util.Date;
+
+import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
 import lombok.Getter;
 import lombok.Setter;
+import org.apache.ibatis.type.JdbcType;
 
 /**
  * <p>
@@ -31,7 +35,7 @@ public class LeaveWord implements Serializable {
     @TableField("num")
     private String num;
 
-    @TableField("content")
+    @TableField(value = "content")
     private String content;
 
     @TableField("status")

+ 5 - 1
src/main/java/com/fdkankan/scene/service/impl/LeaveWordServiceImpl.java

@@ -1,6 +1,8 @@
 package com.fdkankan.scene.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import com.alibaba.druid.pool.GetConnectionTimeoutException;
+import com.alibaba.fastjson.JSON;
 import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.scene.dto.LeaveWordDTO;
@@ -35,7 +37,9 @@ public class LeaveWordServiceImpl extends ServiceImpl<ILeaveWordMapper, LeaveWor
         if(Objects.isNull(scenePlusByNum)){
             throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
         }
-        LeaveWord leaveWord = BeanUtil.copyProperties(dto, LeaveWord.class);
+        LeaveWord leaveWord = new LeaveWord();
+        leaveWord.setNum(dto.getNum());
+        leaveWord.setContent(dto.getContent().toJSONString());
         this.save(leaveWord);
     }
 }

+ 35 - 0
src/main/java/com/fdkankan/scene/vo/LeaveWordVO.java

@@ -0,0 +1,35 @@
+package com.fdkankan.scene.vo;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author
+ * @since 2024-10-18
+ */
+@Getter
+@Setter
+public class LeaveWordVO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Long id;
+
+    private String num;
+
+    private JSONObject content;
+
+    private Date createTime;
+
+    private Date updateTime;
+
+}