Browse Source

服务档位更新api

shudonghui 1 year ago
parent
commit
a1117ca085

+ 16 - 1
sop-business/src/main/java/com/qmth/sop/business/bean/result/SysLevelResult.java

@@ -3,11 +3,14 @@ package com.qmth.sop.business.bean.result;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import com.qmth.sop.business.entity.SysLevel;
+import com.qmth.sop.business.entity.SysLevelRole;
+import com.qmth.sop.business.entity.SysRole;
 import com.qmth.sop.common.enums.ProductTypeEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
+import java.util.List;
 
 /**
  * <p>
@@ -23,9 +26,13 @@ public class SysLevelResult extends SysLevel implements Serializable {
 
 
 
-    @ApiModelProperty(value = "档位")
+    @ApiModelProperty(value = "创建人")
     private String createName;
 
+
+    @ApiModelProperty(value = "项目角色配置")
+    private List<SysLevelRole> roleList;
+
     public String getCreateName() {
         return createName;
     }
@@ -33,4 +40,12 @@ public class SysLevelResult extends SysLevel implements Serializable {
     public void setCreateName(String createName) {
         this.createName = createName;
     }
+
+    public List<SysLevelRole> getRoleList() {
+        return roleList;
+    }
+
+    public void setRoleList(List<SysLevelRole> roleList) {
+        this.roleList = roleList;
+    }
 }

+ 12 - 0
sop-business/src/main/java/com/qmth/sop/business/entity/SysLevel.java

@@ -41,6 +41,10 @@ public class SysLevel implements Serializable {
     @ApiModelProperty(value = "创建时间")
     private Long createTime;
 
+    @ApiModelProperty(value = "设备配置")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long devices;
+
     public Long getId() {
         return id;
     }
@@ -88,4 +92,12 @@ public class SysLevel implements Serializable {
     public void setCreateTime(Long createTime) {
         this.createTime = createTime;
     }
+
+    public Long getDevices() {
+        return devices;
+    }
+
+    public void setDevices(Long devices) {
+        this.devices = devices;
+    }
 }

+ 12 - 0
sop-business/src/main/java/com/qmth/sop/business/entity/SysLevelRole.java

@@ -32,6 +32,10 @@ public class SysLevelRole implements Serializable {
     @JsonSerialize(using = ToStringSerializer.class)
     private Long roleId;
 
+    @ApiModelProperty(value = "配额")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long quota;
+
     public Long getId() {
         return id;
     }
@@ -55,4 +59,12 @@ public class SysLevelRole implements Serializable {
     public void setRoleId(Long roleId) {
         this.roleId = roleId;
     }
+
+    public Long getQuota() {
+        return quota;
+    }
+
+    public void setQuota(Long quota) {
+        this.quota = quota;
+    }
 }

+ 15 - 8
sop-business/src/main/java/com/qmth/sop/business/mapper/SysLevelRoleMapper.java

@@ -1,16 +1,23 @@
 package com.qmth.sop.business.mapper;
 
-import com.qmth.sop.business.entity.SysLevelRole;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.qmth.sop.business.entity.SysLevelRole;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Param;
+import java.util.Map;
 
 /**
- * <p>
- * 服务档位角色配置表 Mapper 接口
- * </p>
- *
- * @author wangliang
- * @since 2023-08-01
+ * 服务档位角色配置表 Mapper 接口.
+ * 
+ * @author: shudonghui
+ * @date: 2023-08-09 15:52:52
+ * @version: 1.0
+ * @email: shudonghui@qmth.com.cn
+ * @Company: www.qmth.com.cn
  */
 public interface SysLevelRoleMapper extends BaseMapper<SysLevelRole> {
 
-}
+	
+
+}

+ 13 - 7
sop-business/src/main/java/com/qmth/sop/business/service/SysLevelRoleService.java

@@ -1,16 +1,22 @@
 package com.qmth.sop.business.service;
 
-import com.qmth.sop.business.entity.SysLevelRole;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.qmth.sop.business.entity.SysLevelRole;
+import java.util.Map;
 
 /**
- * <p>
  * 服务档位角色配置表 服务类
- * </p>
  *
- * @author wangliang
- * @since 2023-08-01
+ * @author: shudonghui
+ * @date: 2023-08-09 15:52:52
+ * @version: 1.0
+ * @email: shudonghui@qmth.com.cn
+ * @Company: www.qmth.com.cn
  */
-public interface SysLevelRoleService extends IService<SysLevelRole> {
+public interface SysLevelRoleService extends IService<SysLevelRole>{
+
+
+
 
-}
+}

+ 2 - 2
sop-business/src/main/java/com/qmth/sop/business/service/SysLevelService.java

@@ -30,14 +30,14 @@ public interface SysLevelService extends IService<SysLevel>{
     *
     * @param sysLevel
     */
-    void add(SysLevel sysLevel);
+    void add(SysLevelResult sysLevel);
 
     /**
     * 修改档位表
     *
     * @param sysLevel
     */
-    void update(SysLevel sysLevel);
+    void update(SysLevelResult sysLevel);
 
     /**
     * 删除档位表

+ 25 - 8
sop-business/src/main/java/com/qmth/sop/business/service/impl/SysLevelRoleServiceImpl.java

@@ -1,20 +1,37 @@
 package com.qmth.sop.business.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qmth.boot.api.exception.ApiException;
 import com.qmth.sop.business.entity.SysLevelRole;
+import com.qmth.sop.business.entity.SysUser;
 import com.qmth.sop.business.mapper.SysLevelRoleMapper;
 import com.qmth.sop.business.service.SysLevelRoleService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qmth.sop.common.contant.SystemConstant;
+import com.qmth.sop.common.enums.ExceptionResultEnum;
+import com.qmth.sop.common.enums.FieldUniqueEnum;
+import com.qmth.sop.common.util.ResultUtil;
+import com.qmth.sop.common.util.ServletUtil;
+import org.springframework.dao.DuplicateKeyException;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
 
 /**
- * <p>
- * 服务档位角色配置表 服务实现类
- * </p>
+ * 服务档位角色配置表 服务实现.
  *
- * @author wangliang
- * @since 2023-08-01
+ * @author: shudonghui
+ * @date: 2023-08-09 15:52:52
+ * @version: 1.0
+ * @email: shudonghui@qmth.com.cn
+ * @Company: www.qmth.com.cn
  */
 @Service
-public class SysLevelRoleServiceImpl extends ServiceImpl<SysLevelRoleMapper, SysLevelRole> implements SysLevelRoleService {
+public class SysLevelRoleServiceImpl extends ServiceImpl<SysLevelRoleMapper, SysLevelRole> implements SysLevelRoleService{
+
+
 
-}
+}

+ 65 - 49
sop-business/src/main/java/com/qmth/sop/business/service/impl/SysLevelServiceImpl.java

@@ -1,22 +1,21 @@
 package com.qmth.sop.business.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.qmth.boot.api.exception.ApiException;
 import com.qmth.sop.business.bean.result.SysLevelResult;
 import com.qmth.sop.business.entity.SysLevel;
+import com.qmth.sop.business.entity.SysLevelRole;
 import com.qmth.sop.business.entity.SysUser;
 import com.qmth.sop.business.mapper.SysLevelMapper;
+import com.qmth.sop.business.service.SysLevelRoleService;
 import com.qmth.sop.business.service.SysLevelService;
-import com.qmth.sop.common.contant.SystemConstant;
-import com.qmth.sop.common.util.ResultUtil;
 import com.qmth.sop.common.util.ServletUtil;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+
 import javax.annotation.Resource;
-import java.util.HashMap;
 import java.util.Map;
-import java.util.Objects;
 
 /**
  * 档位表 服务实现.
@@ -28,53 +27,70 @@ import java.util.Objects;
  * @Company: www.qmth.com.cn
  */
 @Service
-public class SysLevelServiceImpl extends ServiceImpl<SysLevelMapper, SysLevel> implements SysLevelService{
+public class SysLevelServiceImpl extends ServiceImpl<SysLevelMapper, SysLevel> implements SysLevelService {
+
+    @Resource
+    SysLevelRoleService sysLevelRoleService;
 
+    /**
+     * 查询列表
+     *
+     * @param iPage
+     * @return
+     */
+    @Override
+    public IPage<SysLevelResult> query(IPage<Map> iPage) {
+        IPage<SysLevelResult> resultIPage = this.baseMapper.query(iPage);
+        resultIPage.getRecords().forEach(e -> {
+            e.setRoleList(sysLevelRoleService.list(new QueryWrapper<SysLevelRole>().lambda().eq(SysLevelRole::getLevelId, e.getId())));
+        });
+        return resultIPage;
+    }
 
-		/**
-		* 查询列表
-		*
-		* @param iPage
-		* @return
-		*/
-		@Override
-		public IPage<SysLevelResult> query(IPage<Map> iPage) {
-				return this.baseMapper.query(iPage);
-		}
-		/**
-		* 新增档位表
-		*
-		* @param sysLevel
-		*/
-		@Override
-		@Transactional
-		public void add(SysLevel sysLevel) {
-			SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-			sysLevel.setCreateId(sysUser.getId());
-			sysLevel.setCreateTime(System.currentTimeMillis());
-			this.saveOrUpdate(sysLevel);
-		}
+    /**
+     * 新增档位表
+     *
+     * @param sysLevel
+     */
+    @Override
+    @Transactional
+    public void add(SysLevelResult sysLevel) {
+        sysLevel.getRoleList().forEach(e->{
+            e.setLevelId(sysLevel.getId());
+        });
+        sysLevelRoleService.saveBatch(sysLevel.getRoleList());
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        sysLevel.setCreateId(sysUser.getId());
+        sysLevel.setCreateTime(System.currentTimeMillis());
+        this.saveOrUpdate(sysLevel);
+    }
 
-		/**
-		* 修改档位表
-		*
-		* @param sysLevel
-		*/
-		@Override
-		@Transactional
-		public void update(SysLevel sysLevel) {
-			this.saveOrUpdate(sysLevel);
-		}
+    /**
+     * 修改档位表
+     *
+     * @param sysLevel
+     */
+    @Override
+    @Transactional
+    public void update(SysLevelResult sysLevel) {
+        sysLevelRoleService.remove(new QueryWrapper<SysLevelRole>().lambda().eq(SysLevelRole::getLevelId, sysLevel.getId()));
+        sysLevel.getRoleList().forEach(e->{
+            e.setLevelId(sysLevel.getId());
+        });
+        sysLevelRoleService.saveBatch(sysLevel.getRoleList());
+        this.saveOrUpdate(sysLevel);
+    }
 
-		/**
-		* 删除档位表
-		*
-		* @param id
-		*/
-		@Override
-		@Transactional
-		public void delete(Long id) {
-			this.removeById(id);
-		}
+    /**
+     * 删除档位表
+     *
+     * @param id
+     */
+    @Override
+    @Transactional
+    public void delete(Long id) {
+        sysLevelRoleService.remove(new QueryWrapper<SysLevelRole>().lambda().eq(SysLevelRole::getLevelId, id));
+        this.removeById(id);
+    }
 
 }

+ 7 - 1
sop-business/src/main/resources/db/log/shudonghui_update_log.sql

@@ -128,4 +128,10 @@ UPDATE `sys_privilege` SET `name` = '跟进', `url` = 'Follow', `type` = 'LINK',
 UPDATE `sys_privilege` SET `name` = '关闭', `url` = 'Close', `type` = 'LINK', `parent_id` = 48, `sequence` = 2, `property` = 'AUTH', `related` = '1021', `enable` = 1, `default_auth` = 0, `front_display` = 1 WHERE `id` = 207;
 UPDATE `sys_privilege` SET `name` = '重启', `url` = 'Restart', `type` = 'LINK', `parent_id` = 48, `sequence` = 3, `property` = 'AUTH', `related` = '1024', `enable` = 1, `default_auth` = 0, `front_display` = 1 WHERE `id` = 208;
 
--------------------------------
+-------------------------------
+
+
+ALTER TABLE `sys_level_role`
+    CHANGE COLUMN `numbers` `quota` bigint NOT NULL COMMENT '配额' AFTER `role_id`;
+ALTER TABLE `sys_level`
+    ADD COLUMN `devices` bigint NULL COMMENT '设备数量' AFTER `level`;

+ 27 - 16
sop-server/src/main/java/com/qmth/sop/server/api/SysLevelController.java

@@ -1,11 +1,16 @@
 package com.qmth.sop.server.api;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.qmth.boot.api.annotation.Aac;
+import com.qmth.boot.api.annotation.BOOL;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.sop.business.bean.result.SysLevelResult;
 import com.qmth.sop.business.entity.SysLevel;
+import com.qmth.sop.business.entity.SysLevelRole;
+import com.qmth.sop.business.service.SysLevelRoleService;
 import com.qmth.sop.business.service.SysLevelService;
 import com.qmth.sop.common.contant.SystemConstant;
 import com.qmth.sop.common.util.Result;
@@ -21,7 +26,7 @@ import java.util.Objects;
 
 /**
  * 档位表 控制器.
- * 
+ *
  * @author: shudonghui
  * @date: 2023-08-02 14:37:24
  * @version: 1.0
@@ -30,7 +35,7 @@ import java.util.Objects;
  */
 @Api(tags = "档位表 Controller")
 @RestController
-@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX+SystemConstant.PREFIX_URL_LEVEL)
+@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_LEVEL)
 @Validated
 public class SysLevelController {
 
@@ -38,13 +43,17 @@ public class SysLevelController {
     @Resource
     SysLevelService sysLevelService;
 
+
+    @Resource
+    SysLevelRoleService sysLevelRoleService;
+
    
     @ApiOperation(value = "档位表查询接口")
     @RequestMapping(value = "/query", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "档位表列表信息", response = SysLevelResult.class)})
     public Result query(
-                @ApiParam(value = "分页页码", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
-                @ApiParam(value = "分页数", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
+            @ApiParam(value = "分页页码", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
+            @ApiParam(value = "分页数", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
         IPage<SysLevelResult> resultIPage = sysLevelService.query(new Page<>(pageNumber, pageSize));
 
         return ResultUtil.ok(resultIPage);
@@ -54,8 +63,8 @@ public class SysLevelController {
     @ApiOperation(value = "新增档位表接口")
     @RequestMapping(value = "/add", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "新增档位表信息", response = Object.class)})
-    public Result add(@ApiParam(value = "档位表信息", required = true) @RequestBody(required = true) SysLevel sysLevel) {
-        sysLevelService.add(sysLevel);
+    public Result add(@ApiParam(value = "档位表信息", required = true) @RequestBody(required = true) SysLevelResult sysLevelResult) {
+        sysLevelService.add(sysLevelResult);
         return ResultUtil.ok();
     }
 
@@ -63,8 +72,8 @@ public class SysLevelController {
     @ApiOperation(value = "修改档位表接口")
     @RequestMapping(value = "/update", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "修改档位表信息", response = Object.class)})
-    public Result update(@ApiParam(value = "档位表信息", required = true) @RequestBody(required = true) SysLevel sysLevel) {
-        sysLevelService.update(sysLevel);
+    public Result update(@ApiParam(value = "档位表信息", required = true) @RequestBody(required = true) SysLevelResult sysLevelResult) {
+        sysLevelService.update(sysLevelResult);
         return ResultUtil.ok();
     }
 
@@ -79,31 +88,33 @@ public class SysLevelController {
 
     /**
      * 获取档位表列表
+     *
      * @return
      */
+   
     @ApiOperation(value = "获取档位表列表接口")
     @RequestMapping(value = "/list", method = RequestMethod.GET)
     @ApiResponses({@ApiResponse(code = 200, message = "档位表列表", response = SysLevel.class)})
     public Result list(@ApiParam(value = "查询条件", required = false) @RequestParam(required = false) Boolean enable) {
-        return ResultUtil.ok(sysLevelService.list(Objects.nonNull(enable)?new QueryWrapper<SysLevel>().lambda().eq(SysLevel::getEnable, enable):new QueryWrapper<>()));
+        return ResultUtil.ok(sysLevelService.list(Objects.nonNull(enable) ? new QueryWrapper<SysLevel>().lambda().eq(SysLevel::getEnable, enable) : new QueryWrapper<>()));
     }
 
     /**
      * 获取单个
+     *
      * @param id
      * @return
      */
-
+   
     @ApiOperation(value = "获取单个档位表接口")
     @RequestMapping(value = "/get", method = RequestMethod.GET)
-    @ApiResponses({@ApiResponse(code = 200, message = "档位表", response = SysLevel.class)})
+    @ApiResponses({@ApiResponse(code = 200, message = "档位表", response = SysLevelResult.class)})
     public Result get(@ApiParam(value = "档位表id", required = true) @RequestParam long id) {
-        return ResultUtil.ok(sysLevelService.getById(id));
+        SysLevel sysLevel =sysLevelService.getById(id);
+        SysLevelResult sysLevelResult= JSON.toJavaObject((JSON) JSON.toJSON(sysLevel),SysLevelResult.class);
+        sysLevelResult.setRoleList(sysLevelRoleService.list(new QueryWrapper<SysLevelRole>().lambda().eq(SysLevelRole::getLevelId, sysLevelResult.getId())));
+        return ResultUtil.ok(sysLevelResult);
     }
 
 
-
-
-
-
 }