Browse Source

模板维护,添加和修改

wangyu 6 năm trước cách đây
mục cha
commit
89ec1773c7

+ 60 - 0
icssman-service/src/main/java/com/diagbot/facade/ModuleDetailFacade.java

@@ -1,8 +1,23 @@
 package com.diagbot.facade;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.diagbot.entity.ModuleDetail;
+import com.diagbot.entity.ModuleInfo;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.service.ModuleDetailService;
 import com.diagbot.service.impl.ModuleDetailServiceImpl;
+import com.diagbot.util.BeanUtil;
+import com.diagbot.util.DateUtil;
+import com.diagbot.vo.AddModuleDetailVO;
+import com.diagbot.vo.AddModuleInfoVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -13,6 +28,11 @@ import java.util.Map;
 @Component
 public class ModuleDetailFacade extends ModuleDetailServiceImpl {
 
+    @Autowired
+    private ModuleInfoFacade moduleInfoFacade;
+    @Autowired
+    @Qualifier("moduleDetailServiceImpl")
+    private ModuleDetailService moduleDetailService;
     /**
      * 根据questionId删除明细
      *
@@ -33,4 +53,44 @@ public class ModuleDetailFacade extends ModuleDetailServiceImpl {
     public void deleteByModuleIdFac(Map map) {
         this.deleteByModuleIds(map);
     }
+
+    /**
+     * 添加模板明细
+     *
+     * @param addModuleInfoVO
+     * @return
+     */
+    public Boolean saveOrUpdateInfos(AddModuleInfoVO addModuleInfoVO){
+        /*String userId = UserUtils.getCurrentPrincipleID();*/
+        Date now = DateUtil.now();
+        //获取添加的模板信息
+        QueryWrapper<ModuleInfo> moduleInfoQueryWrapper = new QueryWrapper<>();
+        moduleInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+            .eq("name",addModuleInfoVO.getName())
+            .eq("type",addModuleInfoVO.getType());
+        ModuleInfo moduleInfo = moduleInfoFacade.getOne(moduleInfoQueryWrapper);
+        //如果该模板添加过明细,先删除
+        UpdateWrapper<ModuleDetail> moduleDetailUpdateWrapper = new UpdateWrapper<>();
+        moduleDetailUpdateWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("module_id",moduleInfo.getId())
+                .set("is_deleted",IsDeleteEnum.Y.getKey())
+                .set("modifier","1"/*userId*/)
+                .set("gmt_modified",now);
+        this.update(new ModuleDetail(),moduleDetailUpdateWrapper);
+        //重新添加明细
+        List<ModuleDetail> moduleDetailList = new ArrayList<>();
+        ModuleDetail moduleDetail = null;
+        for (AddModuleDetailVO addModuleDetailVO : addModuleInfoVO.getModelDetils()) {
+            moduleDetail = new ModuleDetail();
+            BeanUtil.copyProperties(addModuleDetailVO,moduleDetail);
+            moduleDetail.setModuleId(moduleInfo.getId());
+            moduleDetail.setCreator("1"/*userId*/);
+            moduleDetail.setModifier("1"/*userId*/);
+            moduleDetail.setGmtCreate(now);
+            moduleDetail.setGmtModified(now);
+            moduleDetailList.add(moduleDetail);
+        }
+        moduleDetailService.saveBatch(moduleDetailList);
+        return true;
+    }
 }

+ 57 - 0
icssman-service/src/main/java/com/diagbot/facade/ModuleInfoFacade.java

@@ -1,14 +1,23 @@
 package com.diagbot.facade;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.diagbot.entity.ModuleInfo;
 import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
 import com.diagbot.service.impl.ModuleInfoServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.StringUtil;
 import com.diagbot.util.UserUtils;
+import com.diagbot.vo.AddModuleInfoVO;
+import com.diagbot.vo.UpdateModuleInfoVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.Arrays;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -47,4 +56,52 @@ public class ModuleInfoFacade extends ModuleInfoServiceImpl {
         moduleDetailFacade.deleteByModuleIdFac(paramMap);
         return true;
     }
+
+    /**
+     * 添加模板
+     *
+     * @param addModulInfoVO
+     * @return
+     */
+    public Boolean saveModuleInfo(AddModuleInfoVO addModulInfoVO){
+/*        String userId = UserUtils.getCurrentPrincipleID();*/
+        Date now = DateUtil.now();
+        //查询该模板是否添加过
+        QueryWrapper<ModuleInfo> moduleInfoQueryWrapper = new QueryWrapper<>();
+        moduleInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("name",addModulInfoVO.getName());
+        ModuleInfo moduleInfos = this.getOne(moduleInfoQueryWrapper);
+        if(null != moduleInfos){
+            throw new CommonException(CommonErrorCode.INSERT_DATA_FAILED,
+                    "模板名重复,请勿重复添加");
+        }
+        ModuleInfo moduleInfo = new ModuleInfo();
+        BeanUtil.copyProperties(addModulInfoVO,moduleInfo);
+        moduleInfo.setCreator("1"/*userId*/);
+        moduleInfo.setModifier("1"/*userId*/);
+        moduleInfo.setGmtCreate(now);
+        moduleInfo.setGmtModified(now);
+        this.save(moduleInfo);
+        return moduleDetailFacade.saveOrUpdateInfos(addModulInfoVO);
+    }
+    /**
+     * 修改模板
+     *
+     * @param updateModuleInfoVO
+     * @return
+     */
+    public Boolean updateModuleInfo(UpdateModuleInfoVO updateModuleInfoVO){
+        /*        String userId = UserUtils.getCurrentPrincipleID();*/
+        UpdateWrapper<ModuleInfo> moduleInfoUpdateWrapper = new UpdateWrapper<>();
+        moduleInfoUpdateWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("id",updateModuleInfoVO.getId())
+                .set("name",updateModuleInfoVO.getName())
+                .set("type",updateModuleInfoVO.getType())
+                .set("modifier","1")
+                .set("gmt_modified",DateUtil.now());
+        this.update(new ModuleInfo(),moduleInfoUpdateWrapper);
+        AddModuleInfoVO addModuleInfoVO = new AddModuleInfoVO();
+        BeanUtil.copyProperties(updateModuleInfoVO,addModuleInfoVO);
+        return moduleDetailFacade.saveOrUpdateInfos(addModuleInfoVO);
+    }
 }

+ 18 - 0
icssman-service/src/main/java/com/diagbot/vo/AddModuleDetailVO.java

@@ -0,0 +1,18 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2018/12/24 11:46
+ */
+@Getter
+@Setter
+public class AddModuleDetailVO {
+    //标签id
+    private Long questionId;
+    //特殊标识
+    private int flag;
+}

+ 23 - 0
icssman-service/src/main/java/com/diagbot/vo/AddModuleInfoVO.java

@@ -0,0 +1,23 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2018/12/24 11:35
+ */
+@Getter
+@Setter
+public class AddModuleInfoVO {
+    @NotNull(message="模板名称")
+    private String name;
+    @NotNull(message="模板类型")
+    private int type;
+    @NotNull(message="标签id必传")
+    private List<AddModuleDetailVO> modelDetils;
+}

+ 25 - 0
icssman-service/src/main/java/com/diagbot/vo/UpdateModuleInfoVO.java

@@ -0,0 +1,25 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2018/12/24 11:35
+ */
+@Getter
+@Setter
+public class UpdateModuleInfoVO {
+    @NotNull(message="模板id")
+    private Long id;
+    @NotNull(message="模板名称")
+    private String name;
+    @NotNull(message="模板类型")
+    private int type;
+    @NotNull(message="标签id")
+    private List<AddModuleDetailVO> modelDetils;
+}

+ 28 - 7
icssman-service/src/main/java/com/diagbot/web/ModuleInfoController.java

@@ -4,14 +4,19 @@ package com.diagbot.web;
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.ModuleInfoFacade;
+import com.diagbot.vo.AddModuleInfoVO;
+import com.diagbot.vo.UpdateModuleInfoVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.validation.Valid;
+
 /**
  * <p>
  * 模型表 前端控制器
@@ -30,16 +35,32 @@ public class ModuleInfoController {
     @Autowired
     ModuleInfoFacade moduleInfoFacade;
 
-    @ApiOperation(value = "模板新增或更新[by:zhoutg]",
-            notes = "")
-    @PostMapping("/saveOrUpdate")
-    @SysLogger("saveOrUpdate")
+    @ApiOperation(value = "模板新增[by:wangyu]",
+            notes = "name: 模板名称,必填<br>" +
+                    "type: 模板类型,必填<br>" +
+                    "questionId: 标签id,必填<br>" +
+                    "flag: 特殊标示类型")
+    @PostMapping("/saveModuleInfo")
+    @SysLogger("saveModuleInfo")
     @Transactional
-    public RespDTO<Boolean> saveOrUpdate() {
-
-        return RespDTO.onSuc(true);
+    public RespDTO<Boolean> saveModuleInfo(@Valid @RequestBody AddModuleInfoVO addModuleInfoVO) {
+        Boolean data = moduleInfoFacade.saveModuleInfo(addModuleInfoVO);
+        return RespDTO.onSuc(data);
     }
 
+    @ApiOperation(value = "模板修改[by:wangyu]",
+            notes = "id: 模板id,必填<br>" +
+                    "name: 模板名称,必填<br>" +
+                    "type: 模板类型,必填<br>" +
+                    "questionId: 标签id,必填<br>" +
+                    "flag: 特殊标示类型")
+    @PostMapping("/updateModuleInfo")
+    @SysLogger("updateModuleInfo")
+    @Transactional
+    public RespDTO<Boolean> updateModuleInfo(@Valid @RequestBody UpdateModuleInfoVO updateModuleInfoVO) {
+        Boolean data = moduleInfoFacade.updateModuleInfo(updateModuleInfoVO);
+        return RespDTO.onSuc(data);
+    }
 
     @ApiOperation(value = "模板删除[by:zhoutg]",
             notes = "")