Kaynağa Gözat

问卷组问题修改为先删后插

wangzl 4 ay önce
ebeveyn
işleme
4d06b21def

+ 2 - 8
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/IBizQuestionService.java

@@ -2,6 +2,7 @@ package cn.tr.module.smart.common.service;
 
 import cn.tr.module.smart.common.dto.BizQuestionDTO;
 import cn.tr.module.smart.common.dto.BizQuestionQueryDTO;
+import cn.tr.module.smart.web.dto.BizQuestionInsertOrUpdateDTO;
 import cn.tr.module.smart.wx.controller.vo.BizWxDeptQuestionVO;
 
 import java.util.*;
@@ -14,13 +15,6 @@ import java.util.*;
  **/
 public interface IBizQuestionService{
 
-    /**
-     * 编辑问卷调查问题字段
-     * @param   source 编辑实体类
-     * @author  lf
-     * @date     2025/05/23 17:03
-     */
-    boolean updateBizQuestionById(BizQuestionDTO source);
 
     /**
      * 新增问卷调查问题字段
@@ -28,7 +22,7 @@ public interface IBizQuestionService{
      * @author lf
      * @date  2025/05/23 17:03
      */
-    boolean insertBizQuestion(List<BizQuestionDTO> source);
+    boolean insertBizQuestion(BizQuestionInsertOrUpdateDTO source);
     /**
      * @description: 根据问卷组ID查询问卷详细信息
      * @author wangzl

+ 5 - 14
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/impl/BizQuestionServiceImpl.java

@@ -7,6 +7,7 @@ import cn.tr.module.smart.common.mapper.BizQuestionMapper;
 import cn.tr.module.smart.common.po.BizQuestionPO;
 import cn.tr.module.smart.common.repository.BizQuestionRepository;
 import cn.tr.module.smart.common.service.IBizQuestionService;
+import cn.tr.module.smart.web.dto.BizQuestionInsertOrUpdateDTO;
 import cn.tr.module.smart.wx.controller.vo.BizWxDeptQuestionVO;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -28,18 +29,6 @@ public class BizQuestionServiceImpl extends ServiceImpl<BizQuestionRepository, B
     private BizQuestionRepository baseRepository;
 
 
-    /**
-    * 编辑问卷调查问题字段
-    * @param   source 编辑实体类
-    * @author  lf
-    * @date     2025/05/23 17:03
-    */
-    @Transactional(rollbackFor = Exception.class)
-    @Override
-    public boolean updateBizQuestionById(BizQuestionDTO source){
-            return baseRepository.updateById(BizQuestionMapper.INSTANCE.convertPO(source))!=0;
-    }
-
     /**
     * 新增问卷调查问题字段
     * @param   source 新增实体类
@@ -48,8 +37,10 @@ public class BizQuestionServiceImpl extends ServiceImpl<BizQuestionRepository, B
     */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public boolean insertBizQuestion(List<BizQuestionDTO> source){
-        return this.saveBatch(BizQuestionMapper.INSTANCE.convertPOList(source));
+    public boolean insertBizQuestion(BizQuestionInsertOrUpdateDTO source){
+        //对问卷组进行先删后插
+        baseRepository.delete(new LambdaQueryWrapper<BizQuestionPO>().in(BizQuestionPO::getGroupId, source.getGroupId()));
+        return this.saveBatch(BizQuestionMapper.INSTANCE.convertPOList(source.getQuestionList()));
     }
 
     /**

+ 3 - 9
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/web/controller/BizQuestionController.java

@@ -2,6 +2,7 @@ package cn.tr.module.smart.web.controller;
 
 import cn.dev33.satoken.annotation.SaCheckLogin;
 import cn.tr.module.smart.common.dto.BizQuestionGroupDTO;
+import cn.tr.module.smart.web.dto.BizQuestionInsertOrUpdateDTO;
 import cn.tr.module.sys.oauth2.LoginTypeConstant;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import cn.dev33.satoken.annotation.SaCheckPermission;
@@ -44,18 +45,11 @@ public class BizQuestionController extends BaseController{
     @PostMapping("/add")
     @OperateLog
     @SaCheckPermission("common:question:add")
-    public CommonResult<Boolean> add(@RequestBody@Validated(Insert.class) List<BizQuestionDTO> source) {
+    public CommonResult<Boolean> add(@RequestBody@Validated(Insert.class) BizQuestionInsertOrUpdateDTO source) {
         return CommonResult.success(bizQuestionService.insertBizQuestion(source));
     }
 
-    @ApiOperationSupport(author = "lf",order = 2)
-    @ApiOperation(value="通过主键id编辑问卷调查问题字段",notes = "权限: common:question:edit")
-    @PostMapping("/edit")
-    @OperateLog
-    @SaCheckPermission("common:question:edit")
-    public CommonResult<Boolean> edit(@RequestBody@Validated(Update.class) BizQuestionDTO source) {
-        return CommonResult.success(bizQuestionService.updateBizQuestionById(source));
-    }
+
 
     @ApiOperationSupport(author = "wangzl",order = 3)
     @ApiOperation(value = "根据问卷组ID查询问卷详细信息",notes = "权限: common:question:query")

+ 28 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/web/dto/BizQuestionInsertOrUpdateDTO.java

@@ -0,0 +1,28 @@
+package cn.tr.module.smart.web.dto;
+
+import cn.tr.core.validation.Insert;
+import cn.tr.core.validation.Update;
+import cn.tr.module.smart.common.dto.BizQuestionDTO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.util.List;
+
+/**
+ * @author wangzl
+ * @description: 问卷信息新增或更新
+ * @date 2025/8/1 11:15
+ */
+@Data
+@ApiModel("问卷信息新增或更新")
+public class BizQuestionInsertOrUpdateDTO {
+
+    @ApiModelProperty(value = "问卷组ID", position = 1)
+    @NotBlank(message = "问卷组ID不能为空",groups = {Insert.class, Update.class})
+    private String groupId;
+
+    @ApiModelProperty(value = "问卷组集合",position = 2)
+    private List<BizQuestionDTO> questionList;
+}