From 3f5a7383c06d6d6c14e4e97ee87da2d1ac5f6c4e Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Wed, 20 Sep 2023 16:57:59 +0800
Subject: [PATCH] chore:责任单位接口

---
 screen-manage/src/main/java/com/moral/api/entity/ResponsibilityUnit.java                  |   52 +++++++
 screen-manage/src/main/java/com/moral/api/mapper/ResponsibilityUnitMapper.java            |    8 +
 screen-manage/src/main/java/com/moral/api/service/ResponsibilityUnitService.java          |   21 +++
 screen-manage/src/main/java/com/moral/api/service/impl/SysAreaServiceImpl.java            |   20 ++
 screen-manage/src/main/java/com/moral/api/controller/ResponsibilityUnitController.java    |  118 ++++++++++++++++
 screen-manage/src/main/java/com/moral/api/service/SysAreaService.java                     |    3 
 screen-manage/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java |  139 +++++++++++++++++++
 7 files changed, 360 insertions(+), 1 deletions(-)

diff --git a/screen-manage/src/main/java/com/moral/api/controller/ResponsibilityUnitController.java b/screen-manage/src/main/java/com/moral/api/controller/ResponsibilityUnitController.java
new file mode 100644
index 0000000..f0ae43f
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/controller/ResponsibilityUnitController.java
@@ -0,0 +1,118 @@
+package com.moral.api.controller;
+
+
+import io.swagger.annotations.Api;
+import org.apache.ibatis.annotations.Update;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.ObjectUtils;
+import org.springframework.web.bind.annotation.GetMapping;
+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 java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.moral.api.entity.ResponsibilityUnit;
+import com.moral.api.service.ResponsibilityUnitService;
+import com.moral.constant.ResponseCodeEnum;
+import com.moral.constant.ResultMessage;
+import com.moral.util.WebUtils;
+
+@Api(tags = "������������")
+@RestController
+@RequestMapping("unit")
+public class ResponsibilityUnitController {
+
+
+    @Autowired
+    private ResponsibilityUnitService responsibilityUnitService;
+
+
+    /**
+     * ������������
+     * @param responsibilityUnit
+     * @return
+     */
+    @PostMapping("insert")
+    public ResultMessage insert(@RequestBody ResponsibilityUnit responsibilityUnit){
+
+        Integer insert = responsibilityUnitService.insert(responsibilityUnit);
+        if (insert<0){
+            return ResultMessage.fail(ResponseCodeEnum.ROLE_IS_EXIST.getCode(),ResponseCodeEnum.ROLE_IS_EXIST.getMsg());
+        }
+        return ResultMessage.ok();
+    }
+
+    /**
+     * ������������
+     * @param request
+     * @return
+     */
+    @GetMapping("selectUint")
+    public ResultMessage selectUint(HttpServletRequest request){
+        Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null);
+
+        Map<String, Object> map = responsibilityUnitService.selectUnit(parameters);
+
+        return ResultMessage.ok(map);
+    }
+
+    /**
+     * ������������
+     * @param responsibilityUnit
+     * @return
+     */
+    @PostMapping("update")
+    public  ResultMessage updateUnit(@RequestBody ResponsibilityUnit responsibilityUnit){
+
+        Integer integer = responsibilityUnitService.updateUnit(responsibilityUnit);
+        if (integer<0){
+            return ResultMessage.fail(ResponseCodeEnum.ROLE_IS_EXIST.getCode(),ResponseCodeEnum.ROLE_IS_EXIST.getMsg());
+        }
+        return ResultMessage.ok();
+    }
+
+    /**
+     * ������������
+     * @param id
+     * @return
+     */
+    @GetMapping("state")
+    public ResultMessage state(Integer id){
+        if (ObjectUtils.isEmpty(id)){
+            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+        }
+        responsibilityUnitService.updateState(id);
+        return ResultMessage.ok();
+    }
+
+    /**
+     * ������������
+     * @param id
+     * @param code
+     * @return
+     */
+    @GetMapping("invalid")
+    public ResultMessage invalid(Integer id,String code){
+        if (ObjectUtils.isEmpty(id)){
+            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+        }
+        responsibilityUnitService.updateInvalid(id,code);
+        return ResultMessage.ok();
+    }
+
+    /**
+     * ������������
+     * @param id
+     * @return
+     */
+    @GetMapping("delete")
+    public ResultMessage delete(Integer id){
+        responsibilityUnitService.removeById(id);
+        return ResultMessage.ok();
+    }
+}
diff --git a/screen-manage/src/main/java/com/moral/api/entity/ResponsibilityUnit.java b/screen-manage/src/main/java/com/moral/api/entity/ResponsibilityUnit.java
new file mode 100644
index 0000000..e39e045
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/entity/ResponsibilityUnit.java
@@ -0,0 +1,52 @@
+package com.moral.api.entity;
+
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class ResponsibilityUnit extends Model<ResponsibilityUnit> {
+
+    //������������id
+    private Integer unitId;
+
+    private String unitName;
+
+    private Integer areaCode;
+
+    private  Integer parentCode;
+
+    private  Integer state;
+
+    private  String isDel;
+
+    private  Integer isInvalid;
+
+    private String invalidReason;
+
+    private  Integer createId;
+
+    private  String create_name;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private  Date createTime;
+
+    private Integer updateId;
+
+    private String updateName;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updateTime;
+
+    @TableField(exist = false)
+    private String areaName;
+
+    @TableField(exist = false)
+    private String parentName;
+}
diff --git a/screen-manage/src/main/java/com/moral/api/mapper/ResponsibilityUnitMapper.java b/screen-manage/src/main/java/com/moral/api/mapper/ResponsibilityUnitMapper.java
new file mode 100644
index 0000000..424b762
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/mapper/ResponsibilityUnitMapper.java
@@ -0,0 +1,8 @@
+package com.moral.api.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.moral.api.entity.ResponsibilityUnit;
+
+public interface ResponsibilityUnitMapper extends BaseMapper<ResponsibilityUnit> {
+}
diff --git a/screen-manage/src/main/java/com/moral/api/service/ResponsibilityUnitService.java b/screen-manage/src/main/java/com/moral/api/service/ResponsibilityUnitService.java
new file mode 100644
index 0000000..d0d9ba0
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/service/ResponsibilityUnitService.java
@@ -0,0 +1,21 @@
+package com.moral.api.service;
+
+import java.util.List;
+import java.util.Map;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.moral.api.entity.ResponsibilityUnit;
+
+public interface ResponsibilityUnitService extends IService<ResponsibilityUnit> {
+
+
+    Integer insert(ResponsibilityUnit responsibilityUnit);
+
+    Map<String, Object> selectUnit(Map<String, Object> parameters);
+
+    Integer updateUnit(ResponsibilityUnit responsibilityUnit);
+
+    void  updateState(Integer  id);
+
+    void updateInvalid(Integer id,String code);
+}
\ No newline at end of file
diff --git a/screen-manage/src/main/java/com/moral/api/service/SysAreaService.java b/screen-manage/src/main/java/com/moral/api/service/SysAreaService.java
index b561acd..2bdbdb1 100644
--- a/screen-manage/src/main/java/com/moral/api/service/SysAreaService.java
+++ b/screen-manage/src/main/java/com/moral/api/service/SysAreaService.java
@@ -25,4 +25,7 @@
     List<SysArea> querySysArea();
 
 
+    SysArea select(Integer code);
+
+
 }
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java
new file mode 100644
index 0000000..c44af22
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/ResponsibilityUnitServiceImpl.java
@@ -0,0 +1,139 @@
+package com.moral.api.service.impl;
+
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
+
+import java.util.Date;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.moral.api.entity.ResponsibilityUnit;
+import com.moral.api.entity.SysArea;
+import com.moral.api.mapper.ResponsibilityUnitMapper;
+import com.moral.api.service.ResponsibilityUnitService;
+import com.moral.api.service.SysAreaService;
+import com.moral.constant.Constants;
+
+@Service
+public class ResponsibilityUnitServiceImpl extends ServiceImpl<ResponsibilityUnitMapper, ResponsibilityUnit> implements ResponsibilityUnitService {
+
+
+    @Autowired
+    private ResponsibilityUnitMapper responsibilityUnitMapper;
+    @Autowired
+    private SysAreaService  sysAreaService;
+
+
+    /**
+     * ������������
+     * @param responsibilityUnit
+     * @return
+     */
+    @Override
+    public Integer insert(ResponsibilityUnit responsibilityUnit) {
+        QueryWrapper<ResponsibilityUnit> wrapper = new QueryWrapper<>();
+        wrapper.eq("unit_name",responsibilityUnit.getUnitName());
+
+        List<ResponsibilityUnit> units = responsibilityUnitMapper.selectList(wrapper);
+        if (ObjectUtils.isEmpty(units)){
+            responsibilityUnit.setIsDel(Constants.NOT_DELETE);
+            responsibilityUnit.setCreateTime(new Date());
+            responsibilityUnit.setState(0);
+            responsibilityUnit.setIsInvalid(0);
+            responsibilityUnitMapper.insert(responsibilityUnit);
+            return 200;
+        }
+        return -1;
+    }
+
+    /**
+     * ������������
+     * @param parameters
+     * @return
+     */
+    @Override
+    public Map<String, Object> selectUnit(Map<String, Object> parameters) {
+        QueryWrapper<ResponsibilityUnit> wrapper = new QueryWrapper<>();
+        wrapper.eq("is_del",Constants.NOT_DELETE);
+        int page = Integer.parseInt(parameters.get("page").toString());
+        int size = Integer.parseInt(parameters.get("size").toString());
+        //������������������
+        if (!ObjectUtils.isEmpty(parameters.get("name"))){
+            wrapper.like("unit_name",parameters.get("name").toString());
+        }
+        Page<ResponsibilityUnit> pageList = new Page<>(page, size);
+        Page<ResponsibilityUnit> responsibilityUnitPage = responsibilityUnitMapper.selectPage(pageList, wrapper);
+        for (ResponsibilityUnit record : responsibilityUnitPage.getRecords()) {
+            Integer areaCode = record.getAreaCode();
+            SysArea areaName = sysAreaService.select(areaCode);
+            Integer parentCode = record.getParentCode();
+            SysArea parentName = sysAreaService.select(parentCode);
+            if (ObjectUtils.isEmpty(areaName) || ObjectUtils.isEmpty(parentName)){
+                continue;
+            }
+            record.setAreaName(areaName.getAreaName());
+            record.setParentName(parentName.getAreaName());
+        }
+        Map<String, Object> result = new LinkedHashMap<>();
+        result.put("total", pageList.getTotal());
+        result.put("totalPage", pageList.getPages());
+        result.put("current", pageList.getCurrent());
+        result.put("pageSize", pageList.getSize());
+        result.put("item", responsibilityUnitPage.getRecords());
+//        responsibilityUnitPage.getOrders()
+        return result;
+    }
+
+
+    /**
+     * ������������
+     * @param responsibilityUnit
+     * @return
+     */
+    @Override
+    public Integer updateUnit(ResponsibilityUnit responsibilityUnit) {
+        QueryWrapper<ResponsibilityUnit> wrapper = new QueryWrapper<>();
+        wrapper.eq("unit_name",responsibilityUnit.getUnitName());
+        List<ResponsibilityUnit> units = responsibilityUnitMapper.selectList(wrapper);
+        if (ObjectUtils.isEmpty(units)){
+            responsibilityUnitMapper.updateById(responsibilityUnit);
+            return 200;
+        }
+        return -1;
+    }
+
+
+    /**
+     * ������������
+     *
+     */
+    @Override
+    public void updateState(Integer id) {
+        ResponsibilityUnit responsibilityUnit = responsibilityUnitMapper.selectById(id);
+        responsibilityUnit.setState(1);
+        responsibilityUnitMapper.updateById(responsibilityUnit);
+    }
+
+
+    /**
+     * ������������
+     * @param id
+     * @param code
+     */
+    @Override
+    public void updateInvalid(Integer id, String code) {
+        ResponsibilityUnit responsibilityUnit = responsibilityUnitMapper.selectById(id);
+        responsibilityUnit.setIsInvalid(1);
+        if (!ObjectUtils.isEmpty(code)){
+            responsibilityUnit.setInvalidReason(code);
+        }
+        responsibilityUnitMapper.updateById(responsibilityUnit);
+
+    }
+}
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/SysAreaServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/SysAreaServiceImpl.java
index 9e2c03a..baef017 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/SysAreaServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/SysAreaServiceImpl.java
@@ -2,10 +2,13 @@
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.moral.api.entity.SysArea;
 import com.moral.api.mapper.SysAreaMapper;
 import com.moral.api.service.SysAreaService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
@@ -26,6 +29,7 @@
  * @since 2021-04-07
  */
 @Service
+@Slf4j
 public class SysAreaServiceImpl extends ServiceImpl<SysAreaMapper, SysArea> implements SysAreaService {
 
     @Autowired
@@ -43,6 +47,14 @@
         return sysAreas;
     }
 
+    @Override
+    public SysArea select(Integer code) {
+        QueryWrapper<SysArea> wrapper = new QueryWrapper<>();
+        wrapper.eq("area_code",code);
+        SysArea sysArea = sysAreaMapper.selectOne(wrapper);
+        return sysArea;
+    }
+
 
     private List<SysArea> querySysAreaFromDB() {
         //������������������
@@ -58,7 +70,13 @@
             Integer parentCode = sysArea.getParentCode();
             if (!parentCode.equals(0)) {
                 SysArea parentArea = areaMap.get(parentCode);
-                parentArea.getChildren().add(sysArea);
+                if (ObjectUtils.isEmpty(parentArea)){
+                    continue;
+                }
+                List<SysArea> children = parentArea.getChildren();
+                children.add(sysArea);
+//                parentArea.getChildren().add(sysArea);
+
             }
         }
         //���������������������������������

--
Gitblit v1.8.0