Przeglądaj źródła

场景类型增加删除校验

wangyangyang 4 lat temu
rodzic
commit
de20d2eca0

+ 1 - 1
common/src/main/java/com/huaxu/model/ResultStatus.java

@@ -107,7 +107,7 @@ public enum ResultStatus {
     EXSIT_IS_DICTCODE_ERROR(800002,"存在相同字典编码不能新增"),
     EXSIT_IS_ACCOUNT_ERROR(800003,"登录用户不能删除当前登录用户信息"),
     DELETE_IS_ACCOUNT_ERROR(800003,"租户管理员不能删除"),
-
+    SCENETYPE_NAME_ALREADY_EXISTS(100011, "所选场景类型已经被引用,不能被删除"),
     SYSTEM_ERROR(999999, "系统错误"),
     PARAM_ERROR(700001, "参数缺失"),
 

+ 8 - 0
sms_water/src/main/java/com/huaxu/controller/SceneTypeController.java

@@ -1,8 +1,10 @@
 package com.huaxu.controller;
 
+import com.huaxu.entity.SceneEntity;
 import com.huaxu.model.AjaxMessage;
 import com.huaxu.model.LoginUser;
 import com.huaxu.model.ResultStatus;
+import com.huaxu.service.SceneService;
 import com.huaxu.util.UserUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -30,6 +32,8 @@ public class SceneTypeController {
 
     @Autowired
     private SceneTypeService sceneTypeService;
+    @Autowired
+    private SceneService sceneService;
 
     @ApiOperation(value = "按父级节点查询子节点信息")
     @RequestMapping(value = "/selectListByParentId", method = RequestMethod.GET)
@@ -95,6 +99,10 @@ public class SceneTypeController {
     @RequestMapping(value = "/deleteByIds", method = RequestMethod.POST)
     @ResponseBody
     public AjaxMessage<Integer> del(@ApiParam(value = "场景类型ID", required = true) @RequestBody Long[] ids) {
+        List<SceneEntity> sceneEntities = sceneService.findBySceneTypeIds(ids);
+        if (sceneEntities.size() > 0) {
+            return new AjaxMessage<>(ResultStatus.SCENETYPE_NAME_ALREADY_EXISTS);
+        }
         int result = sceneTypeService.delSceneTypeByIds(ids) ? 1 : 0;
         return new AjaxMessage<>(ResultStatus.OK, result);
     }

+ 25 - 0
sms_water/src/main/java/com/huaxu/dao/SceneImageMapper.java

@@ -0,0 +1,25 @@
+package com.huaxu.dao;
+
+import com.huaxu.entity.SceneImageEntity;
+import java.io.Serializable;
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+/**
+ *
+ * sms_scene_imageDAO接口
+ * @author: WYY
+ * @date 2020-11-17 22:38
+ */
+@Mapper
+public interface SceneImageMapper extends BaseMapper<SceneImageEntity> {
+     SceneImageEntity findSceneImageById(Serializable id);
+
+
+     List<SceneImageEntity> findList(SceneImageEntity sceneImageEntity);
+
+     /**删除相关方法  使用mybatis-plus集成的 **/
+}

+ 2 - 0
sms_water/src/main/java/com/huaxu/dao/SceneMapper.java

@@ -28,5 +28,7 @@ public interface SceneMapper extends BaseMapper<SceneEntity> {
 
      List<SceneEntity> findList(@Param(value = "scene") SceneEntity sceneEntity);
 
+     List<SceneEntity>  findBySceneTypeIds(@Param(value = "Ids") Long[] Ids);
+
      /**删除相关方法  使用mybatis-plus集成的 **/
 }

+ 3 - 0
sms_water/src/main/java/com/huaxu/entity/SceneEntity.java

@@ -87,6 +87,9 @@ public class SceneEntity implements Serializable {
     @ApiModelProperty(value = "创建人")
     private String createBy;
 
+    /** 更新者 */
+    @ApiModelProperty(value = "更新者")
+    private String updateBy;
     /** 更新时间 */
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "2020-12-12 12:12:12")
     @ApiModelProperty(value = "更新时间",example = "2020-12-12 12:12:12")

+ 58 - 0
sms_water/src/main/java/com/huaxu/entity/SceneImageEntity.java

@@ -0,0 +1,58 @@
+package com.huaxu.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableName;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * sms_scene_image
+ * @author: WYY
+ * @date 2020-11-17 22:38
+ */
+@Data
+@TableName("sms_scene_image")
+public class SceneImageEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /** 主键 */ 
+	@TableId(type = IdType.AUTO)
+    private Long id;
+
+    /** 图片类型 */
+    private Long imageType;
+
+    /** 图片路径 */
+    private String imagePath;
+
+    /** 所属场景 */
+    private Long sceneId;
+
+    /** 数据删除标记 */
+    private Integer status;
+
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+
+    /** 更新者 */
+    @ApiModelProperty(value = "更新者")
+    private String updateBy;
+
+    /** 创建时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
+    private Date dateCreate;
+
+    /** 更新时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
+    private Date dateUpdate;
+
+}

+ 4 - 0
sms_water/src/main/java/com/huaxu/entity/SceneTypeEntity.java

@@ -54,6 +54,10 @@ public class SceneTypeEntity implements Serializable {
     @ApiModelProperty(value = "创建人")
     private String createBy;
 
+    /** 更新者 */
+    @ApiModelProperty(value = "更新者")
+    private String updateBy;
+
     /** 更新时间 */
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "2020-12-12 12:12:12")
     @ApiModelProperty(value = "更新时间",example = "2020-12-12 12:12:12")

+ 79 - 0
sms_water/src/main/java/com/huaxu/service/SceneImageService.java

@@ -0,0 +1,79 @@
+package com.huaxu.service;
+
+
+import com.huaxu.dao.SceneImageMapper;
+import com.huaxu.entity.SceneImageEntity;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+
+import javax.annotation.Resource;
+
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Map;
+import java.util.List;
+import java.util.Arrays;
+
+/**
+ * 场景图片信息Service接口
+ *
+ * @author: WYY
+ * @date 2020-11-17 22:38
+ */
+@Service
+public class SceneImageService extends ServiceImpl<SceneImageMapper, SceneImageEntity> {
+
+    @Resource
+    private SceneImageMapper sceneImageMapper;
+
+    /**
+     * 查列表
+     */
+    public List<SceneImageEntity> findList(SceneImageEntity sceneImageEntity) {
+        return sceneImageMapper.findList(sceneImageEntity);
+    }
+
+    /**
+     * 批量删除
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public boolean delSceneImageByIds(Long[] ids) {
+        return this.removeByIds(Arrays.asList(ids));
+    }
+
+    /**
+     * 单个删除
+     */
+    public boolean delSceneImageById(Long id) {
+        return this.removeById(id);
+    }
+
+    /**
+     * 保存
+     */
+    public boolean addSceneImage(SceneImageEntity sceneImage) {
+        if (this.save(sceneImage)) {
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     * 修改根居ID
+     */
+    public boolean updateSceneImageById(SceneImageEntity sceneImage) {
+        if (this.updateById(sceneImage)) {
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     * 根居ID获取对象
+     */
+    public SceneImageEntity findSceneImageById(Long id) {
+        return sceneImageMapper.findSceneImageById(id);
+    }
+}

+ 9 - 1
sms_water/src/main/java/com/huaxu/service/SceneService.java

@@ -9,6 +9,7 @@ import com.huaxu.model.AjaxMessage;
 import com.huaxu.model.LoginUser;
 import com.huaxu.model.ResultStatus;
 import com.huaxu.util.UserUtil;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -40,7 +41,7 @@ public class SceneService extends ServiceImpl<SceneMapper, SceneEntity> {
     /**
      * 自定义分页查询,含关联实体对像
      */
-    public IPage<SceneEntity> findPage(IPage<SceneEntity> page,SceneEntity sceneEntity) {
+    public IPage<SceneEntity> findPage(IPage<SceneEntity> page, SceneEntity sceneEntity) {
         LoginUser currentUser = UserUtil.getCurrentUser();
         sceneEntity.setTenantId(currentUser.getTenantId());
         sceneEntity.setProgramItems(currentUser.getProgramItemList());
@@ -80,6 +81,7 @@ public class SceneService extends ServiceImpl<SceneMapper, SceneEntity> {
             return null;
         }
     }
+
     /**
      * 查列表
      */
@@ -141,6 +143,8 @@ public class SceneService extends ServiceImpl<SceneMapper, SceneEntity> {
      * 修改根居ID
      */
     public boolean updateSceneById(SceneEntity scene) {
+        LoginUser currentUser = UserUtil.getCurrentUser();
+        scene.setUpdateBy(currentUser.getName());
         if (this.updateById(scene)) {
             return true;
         }
@@ -153,4 +157,8 @@ public class SceneService extends ServiceImpl<SceneMapper, SceneEntity> {
     public SceneEntity findSceneById(Long id) {
         return sceneMapper.findSceneById(id);
     }
+
+    public List<SceneEntity> findBySceneTypeIds(Long[] Ids) {
+        return sceneMapper.findBySceneTypeIds(Ids);
+    }
 }

+ 4 - 0
sms_water/src/main/java/com/huaxu/service/SceneTypeService.java

@@ -2,10 +2,12 @@ package com.huaxu.service;
 
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.huaxu.dao.SceneMapper;
 import com.huaxu.dao.SceneTypeMapper;
 import com.huaxu.entity.SceneTypeEntity;
 import com.huaxu.model.LoginUser;
 import com.huaxu.util.UserUtil;
+import com.huaxu.entity.SceneEntity;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -33,6 +35,8 @@ public class SceneTypeService extends ServiceImpl<SceneTypeMapper, SceneTypeEnti
 
     @Resource
     private SceneTypeMapper sceneTypeMapper;
+    @Resource
+    private SceneMapper sceneMapper;
 
     /**
      * 查列表

+ 69 - 0
sms_water/src/main/resources/mapper/SceneImageMapper.xml

@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huaxu.dao.SceneImageMapper">
+
+
+    <resultMap type="SceneImageEntity" id="SceneImageResult">
+        <result property="id" column="id"/>
+        <result property="imageType" column="image_type"/>
+        <result property="imagePath" column="image_path"/>
+        <result property="sceneId" column="scene_id"/>
+        <result property="status" column="status"/>
+        <result property="dateCreate" column="date_create"/>
+        <result property="createBy" column="create_by"/>
+        <result property="dateUpdate" column="date_update"/>
+        <result property="updateBy" column="update_by"/>
+    </resultMap>
+
+    <!--  实体栏位  -->
+    <sql id="sceneImageColumns">
+         a.id as "id" ,
+         a.image_type as "imageType" ,
+         a.image_path as "imagePath" ,
+         a.scene_id as "sceneId" ,
+         a.status as "status" ,
+         a.date_create as "dateCreate" ,
+         a.create_by as "createBy" ,
+         a.date_update as "dateUpdate" ,
+         a.update_by as "updateBy" 
+     </sql>
+
+
+    <!--  根据主键获取实体   -->
+    <select id="findSceneImageById" resultType="com.huaxu.entity.SceneImageEntity">
+        SELECT
+        <include refid="sceneImageColumns"/>
+        FROM sms_scene_image a
+        WHERE a.id = #{id}
+    </select>
+
+    <!--  根据获取实体List   -->
+    <select id="findList" resultType="com.huaxu.entity.SceneImageEntity">
+        SELECT
+        <include refid="sceneImageColumns"/>
+        FROM sms_scene_image a
+        <where>
+            <if test="imageType != null ">and a.image_type = #{imageType}</if>
+            <if test="imagePath != null  and imagePath != ''">and a.image_path = #{imagePath}</if>
+            <if test="sceneId != null ">and a.scene_id = #{sceneId}</if>
+            <if test="dateUpdate != null ">and a.date_update = #{dateUpdate}</if>
+        </where>
+    </select>
+
+    <!--  根据获取实体 page   -->
+    <select id="findPage" resultType="com.huaxu.entity.SceneImageEntity">
+        SELECT
+        <include refid="sceneImageColumns"/>
+        FROM sms_scene_image a
+        <where>
+            <if test="sceneImage.imageType != null ">and a.image_type = #{sceneImage.imageType}</if>
+            <if test="sceneImage.imagePath != null  and sceneImage.imagePath != ''">and a.image_path =
+                #{sceneImage.imagePath}
+            </if>
+            <if test="sceneImage.sceneId != null ">and a.scene_id = #{sceneImage.sceneId}</if>
+            <if test="sceneImage.dateUpdate != null ">and a.date_update = #{sceneImage.dateUpdate}</if>
+        </where>
+    </select>
+</mapper>

+ 9 - 1
sms_water/src/main/resources/mapper/SceneMapper.xml

@@ -97,7 +97,15 @@
         </where>
         order by  a.date_create
     </select>
-
+    <!--  根据主键获取租户菜单  -->
+    <select id="findBySceneTypeIds" resultType="com.huaxu.entity.SceneEntity">
+        select a.id
+        FROM sms_scene a
+        WHERE a.scene_type_id in
+        <foreach collection = "Ids" item = "dramaId" open = "(" close = ")" separator = "," >
+            #{dramaId}
+        </foreach>
+    </select>
     <!--  根据获取实体 page   -->
     <select id="findPage" resultType="com.huaxu.entity.SceneEntity">
         SELECT