Przeglądaj źródła

Merge remote-tracking branch 'origin/master'

tianyabing 2 lat temu
rodzic
commit
97c59d3c2d

+ 35 - 0
src/main/java/com/sky/ioc/controller/information/SecurityPersonController.java

@@ -0,0 +1,35 @@
+package com.sky.ioc.controller.information;
+
+import com.alibaba.fastjson.JSONObject;
+import com.sky.ioc.entity.domain.information.FloorConfiguration;
+import com.sky.ioc.entity.domain.information.Person;
+import com.sky.ioc.entity.domain.information.StaffConfiguration;
+import com.sky.ioc.enums.InformationTypeEnums;
+import com.sky.ioc.service.information.PersonService;
+import com.sky.ioc.service.information.SecurityPersonService;
+import com.sky.ioc.tool.ReturnMsg;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@Api(tags = "信息管理--人员")
+@Slf4j
+@RestController
+@RequestMapping("/information")
+public class SecurityPersonController {
+
+    @Autowired
+    SecurityPersonService securityPersonService;
+
+    @ApiOperation("获取人员名单")
+    @GetMapping(value = "/security_person")
+    public ReturnMsg getListByType(Integer type) {
+        return securityPersonService.getListByType(type);
+    }
+}

+ 96 - 0
src/main/java/com/sky/ioc/controller/information/StaffConfigurationController.java

@@ -0,0 +1,96 @@
+package com.sky.ioc.controller.information;
+
+import com.sky.ioc.entity.domain.information.StaffConfiguration;
+import com.sky.ioc.entity.domain.information.StaffConfigurationStaff;
+import com.sky.ioc.service.information.StaffConfigurationService;
+import com.sky.ioc.service.information.StaffConfigurationStaffService;
+import com.sky.ioc.tool.ReturnMsg;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.system.ApplicationHome;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.UUID;
+
+@Api(tags = "信息管理--安保人员配置")
+@Slf4j
+@RestController
+@RequestMapping("/information")
+public class StaffConfigurationController {
+
+    @Autowired
+    StaffConfigurationService staffConfigurationService;
+
+    @Autowired
+    StaffConfigurationStaffService staffConfigurationStaffService;
+
+    @ApiOperation("删除安保人员信息配置")
+    @DeleteMapping(value = "/staff_configuration")
+    public ReturnMsg delStaffConfiguration(@RequestParam(name="id") Integer id) {
+        return staffConfigurationService.delStaffConfiguration(id);
+    }
+
+    @ApiOperation("添加安保人员信息配置")
+    @PostMapping(value = "/staff_configuration")
+    public ReturnMsg addStaffConfiguration(StaffConfiguration staffConfiguration) {
+        return staffConfigurationService.addStaffConfiguration(staffConfiguration);
+    }
+
+
+    @ApiOperation("获取安保人员信息配置")
+    @GetMapping(value = "/staff_configuration")
+    public ReturnMsg getStaffConfiguration(Integer configuration_id,@RequestParam(defaultValue = "1")Integer page,@RequestParam(defaultValue = "20")Integer page_size) {
+        return staffConfigurationStaffService.getList(configuration_id,page,page_size);
+    }
+
+    @ApiOperation("获取人员历史记录")
+    @GetMapping(value = "/staff_configuration_history")
+    public ReturnMsg getStaffConfigurationHistory(Integer configuration_id,@RequestParam(defaultValue = "1")Integer page,@RequestParam(defaultValue = "20")Integer page_size) {
+        return staffConfigurationStaffService.getHistoryList(configuration_id,page,page_size);
+    }
+
+    @ApiOperation("上传图片")
+    @PostMapping("/upload_pictures")
+    public ReturnMsg upload(@RequestParam("file") MultipartFile file) {
+        //图片校验(图片是否为空,图片大小,上传的是不是图片、图片类型(例如只能上传png)等等)
+        String savePath = File.separator +"upload"+File.separator+ "images" + File.separator;
+        if (file.isEmpty()) {
+            return ReturnMsg.fail("图片上传失败");
+        }
+
+        //可以自己加一点校验 例如上传的是不是图片或者上传的文件是不是png格式等等 这里省略
+        //获取原来的文件名和后缀
+        String originalFilename = file.getOriginalFilename();
+//        String ext = "." + FilenameUtils.getExtension(orgFileName); --需要导依赖
+        String ext = "." + originalFilename.split("\\.")[1];
+        String type = originalFilename.indexOf(".") != -1 ? originalFilename.substring(originalFilename.lastIndexOf(".") + 1, originalFilename.length()) : null;
+        if (type != null) {// 判断文件类型是否为空
+            if ("GIF".equals(type.toUpperCase()) || "PNG".equals(type.toUpperCase()) || "JPG".equals(type.toUpperCase())) {
+                //生成一个新的文件名(以防有重复的名字存在导致被覆盖)
+                String uuid = UUID.randomUUID().toString().replace("-", "");
+                String newName = uuid + ext;
+                //拼接图片上传的路径 url+图片名
+                ApplicationHome applicationHome = new ApplicationHome(this.getClass());
+                //String pre = applicationHome.getDir().getParentFile().getParentFile().getAbsolutePath() + savePath;
+                String path = savePath + newName;
+                try {
+                    file.transferTo(new File(path));
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+                return ReturnMsg.ok("/image/" + newName);
+            } else {
+                return ReturnMsg.fail("文件类型符合要求");
+            }
+
+        } else {
+            return ReturnMsg.fail("文件类型为空");
+        }
+
+    }
+}

+ 35 - 0
src/main/java/com/sky/ioc/controller/information/StaffConfigurationStaffController.java

@@ -0,0 +1,35 @@
+package com.sky.ioc.controller.information;
+
+import com.sky.ioc.entity.domain.information.FloorConfiguration;
+import com.sky.ioc.entity.domain.information.StaffConfigurationStaff;
+import com.sky.ioc.service.information.StaffConfigurationStaffService;
+import com.sky.ioc.tool.ReturnMsg;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+@Api(tags = "信息管理--安保人员配置")
+@Slf4j
+@RestController
+@RequestMapping("/information")
+public class StaffConfigurationStaffController {
+
+    @Autowired
+    StaffConfigurationStaffService staffConfigurationStaffService;
+
+    @ApiOperation("新建人员配置")
+    @PostMapping(value = "/staff")
+    public ReturnMsg addStaffConfigurationStaff(String id,String responsibility_range,String staff_list,String remark,String duty_time) {
+        return staffConfigurationStaffService.addStaffConfigurationStaff(id,responsibility_range,staff_list,remark,duty_time);
+    }
+
+    @ApiOperation("删除人员")
+    @DeleteMapping(value = "/staff")
+    public ReturnMsg delStaffConfigurationStaff(@RequestParam(name="id") Integer id) {
+        return staffConfigurationStaffService.delById(id);
+    }
+
+
+}

+ 35 - 0
src/main/java/com/sky/ioc/entity/domain/information/SecurityPerson.java

@@ -0,0 +1,35 @@
+package com.sky.ioc.entity.domain.information;
+
+import lombok.Data;
+
+@Data
+public class SecurityPerson {
+    private String id;
+    /** 用户名 */
+    private String name;
+    /** 工号 */
+    private String work_number;
+
+    /** 手机号 */
+    private String phone;
+    /** 工作区域 */
+    private String scope;
+
+    /**头像*/
+    private String photo;
+
+    /** 单位ID */
+    private Integer company_id;
+    /** 部门ID */
+    private String dept_id;
+
+    /** 单位 */
+    private String company;
+    /** 部门 */
+    private String department;
+
+    /** 创建时间 */
+    private String register_time;
+    /** 1安防人员 2前台人员 */
+    private Integer type;
+}

+ 9 - 0
src/main/java/com/sky/ioc/mapper/information/SecurityPersonMapper.java

@@ -0,0 +1,9 @@
+package com.sky.ioc.mapper.information;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sky.ioc.entity.domain.information.SecurityPerson;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface SecurityPersonMapper extends BaseMapper<SecurityPerson> {
+}

+ 11 - 0
src/main/java/com/sky/ioc/mapper/information/StaffConfigurationStaffMapper.java

@@ -3,8 +3,19 @@ package com.sky.ioc.mapper.information;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.sky.ioc.entity.domain.information.StaffConfigurationStaff;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
 
 @Mapper
 public interface StaffConfigurationStaffMapper extends BaseMapper<StaffConfigurationStaff> {
 
+   @Select("select staff,max(update_time) as update_time from StaffConfigurationStaff where Configuration_id = #{configuration_id} " +
+           "group by staff")
+    List<StaffConfigurationStaff> getListByConfigurationId(@Param("configuration_id") Integer configuration_id);
+
+    @Select("select  update_time from StaffConfigurationStaff where Configuration_id = #{configuration_id} " +
+            "group by update")
+    List<StaffConfigurationStaff> getHistoryListByConfigurationId(@Param("configuration_id") Integer configuration_id);
 }

+ 4 - 0
src/main/java/com/sky/ioc/service/information/PersonService.java

@@ -1,5 +1,9 @@
 package com.sky.ioc.service.information;
 
+import com.sky.ioc.tool.ReturnMsg;
+
 public interface PersonService {
 
+    ReturnMsg getListByType(Integer type);
+
 }

+ 8 - 0
src/main/java/com/sky/ioc/service/information/SecurityPersonService.java

@@ -0,0 +1,8 @@
+package com.sky.ioc.service.information;
+
+import com.sky.ioc.tool.ReturnMsg;
+
+public interface SecurityPersonService {
+
+    ReturnMsg getListByType(Integer type);
+}

+ 3 - 0
src/main/java/com/sky/ioc/service/information/StaffConfigurationService.java

@@ -8,5 +8,8 @@ import java.util.List;
 public interface StaffConfigurationService {
 
     List<StaffConfiguration> getList();
+
+    ReturnMsg addStaffConfiguration(StaffConfiguration staffConfiguration);
+    ReturnMsg delStaffConfiguration(Integer id);
 }
 

+ 13 - 0
src/main/java/com/sky/ioc/service/information/StaffConfigurationStaffService.java

@@ -1,4 +1,17 @@
 package com.sky.ioc.service.information;
 
+import com.sky.ioc.entity.domain.information.StaffConfigurationStaff;
+import com.sky.ioc.tool.ReturnMsg;
+
 public interface StaffConfigurationStaffService {
+
+    ReturnMsg delById(Integer id);
+
+    ReturnMsg addStaffConfigurationStaff(String id,String responsibility_range,String staff_list,String remark,String duty_time);
+
+    ReturnMsg getList(Integer configuration_id,Integer page,Integer page_size);
+
+    ReturnMsg getHistoryList(Integer configuration_id,Integer page,Integer page_size);
+
+
 }

+ 30 - 2
src/main/java/com/sky/ioc/service/information/impl/FloorConfigurationServiceImpl.java

@@ -1,6 +1,11 @@
 package com.sky.ioc.service.information.impl;
 
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.sky.ioc.entity.domain.information.FloorConfiguration;
+import com.sky.ioc.entity.domain.information.FloorConfigurationHistory;
+import com.sky.ioc.mapper.information.FloorConfigurationHistoryMapper;
 import com.sky.ioc.mapper.information.FloorConfigurationMapper;
 import com.sky.ioc.service.information.FloorConfigurationService;
 import com.sky.ioc.tool.ReturnMsg;
@@ -8,6 +13,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Date;
 import java.util.List;
 
 @Service
@@ -16,6 +22,9 @@ public class FloorConfigurationServiceImpl implements FloorConfigurationService
     @Autowired
     FloorConfigurationMapper floorConfigurationMapper;
 
+    @Autowired
+    FloorConfigurationHistoryMapper floorConfigurationHistoryMapper;
+
     @Override
     public ReturnMsg getById(Integer id) {
         FloorConfiguration floorConfiguration = floorConfigurationMapper.selectById(id);
@@ -30,7 +39,14 @@ public class FloorConfigurationServiceImpl implements FloorConfigurationService
     @Override
     public ReturnMsg add(FloorConfiguration floorConfiguration) {
         if(StringUtils.isNotBlank(floorConfiguration.getName())){
-            return ReturnMsg.ok(floorConfigurationMapper.insert(floorConfiguration));
+            floorConfigurationMapper.insert(floorConfiguration);
+            //添加历史记录
+            FloorConfigurationHistory floorConfigurationHistory = new FloorConfigurationHistory();
+            floorConfigurationHistory.setFloor_configuration(floorConfiguration.getId()+"");
+            String res = "[{'time': "+new Date() +", 'url': "+floorConfiguration.getAttachment()+", 'account': }]";
+            floorConfigurationHistory.setUrl(res);
+            floorConfigurationHistoryMapper.insert(floorConfigurationHistory);
+            return ReturnMsg.ok();
         }else{
             return ReturnMsg.fail("配置名不能为空");
         }
@@ -39,7 +55,19 @@ public class FloorConfigurationServiceImpl implements FloorConfigurationService
     @Override
     public ReturnMsg edit(FloorConfiguration floorConfiguration) {
         if(StringUtils.isNotBlank(floorConfiguration.getName())){
-            return ReturnMsg.ok(floorConfigurationMapper.updateById(floorConfiguration));
+            floorConfigurationMapper.updateById(floorConfiguration);
+            //添加历史记录
+            FloorConfigurationHistory floorConfigurationHistory = floorConfigurationHistoryMapper
+                    .selectOne(new LambdaQueryWrapper<FloorConfigurationHistory>().eq(FloorConfigurationHistory::getFloor_configuration,floorConfiguration.getId()));
+            String url = floorConfigurationHistory.getUrl();
+            JSONArray array = JSONArray.parseArray(url);
+            JSONObject json = new JSONObject();
+            json.put("time",new Date()+"");
+            json.put("url",floorConfiguration.getAttachment());
+            json.put("account",floorConfiguration.getAccount());
+            array.add(json);
+            floorConfigurationHistory.setUrl(array.toJSONString());
+            return ReturnMsg.ok();
         }else{
             return ReturnMsg.fail("配置名不能为空");
         }

+ 21 - 1
src/main/java/com/sky/ioc/service/information/impl/PersonServiceImpl.java

@@ -1,4 +1,24 @@
 package com.sky.ioc.service.information.impl;
 
-public class PersonServiceImpl {
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.sky.ioc.entity.domain.information.Person;
+import com.sky.ioc.mapper.information.PersonMapper;
+import com.sky.ioc.service.information.PersonService;
+import com.sky.ioc.tool.ReturnMsg;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class PersonServiceImpl implements PersonService {
+
+    @Autowired
+    PersonMapper personMapper;
+
+    @Override
+    public ReturnMsg getListByType(Integer type) {
+        List<Person> list = personMapper.selectList(new LambdaQueryWrapper<Person>().eq(Person::getType,type));
+        return ReturnMsg.ok(list);
+    }
 }

+ 24 - 0
src/main/java/com/sky/ioc/service/information/impl/SecurityPersonServiceImpl.java

@@ -0,0 +1,24 @@
+package com.sky.ioc.service.information.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.sky.ioc.entity.domain.information.SecurityPerson;
+import com.sky.ioc.mapper.information.SecurityPersonMapper;
+import com.sky.ioc.service.information.SecurityPersonService;
+import com.sky.ioc.tool.ReturnMsg;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class SecurityPersonServiceImpl implements SecurityPersonService {
+
+    @Autowired
+    SecurityPersonMapper securityPersonMapper;
+
+    @Override
+    public ReturnMsg getListByType(Integer type) {
+        List<SecurityPerson> lists = securityPersonMapper.selectList(new LambdaQueryWrapper<SecurityPerson>().eq(SecurityPerson::getType,type));
+        return ReturnMsg.ok(lists);
+    }
+}

+ 21 - 0
src/main/java/com/sky/ioc/service/information/impl/StaffConfigurationServiceImpl.java

@@ -4,6 +4,7 @@ import com.sky.ioc.entity.domain.information.StaffConfiguration;
 import com.sky.ioc.mapper.information.StaffConfigurationMapper;
 import com.sky.ioc.service.information.StaffConfigurationService;
 import com.sky.ioc.tool.ReturnMsg;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -19,4 +20,24 @@ public class StaffConfigurationServiceImpl implements StaffConfigurationService
     public List<StaffConfiguration> getList() {
         return staffConfigurationMapper.selectList(null);
     }
+
+    @Override
+    public ReturnMsg addStaffConfiguration(StaffConfiguration staffConfiguration) {
+        if(StringUtils.isNotBlank(staffConfiguration.getName())){
+            staffConfigurationMapper.insert(staffConfiguration);
+            return ReturnMsg.ok();
+        }else{
+            return ReturnMsg.fail("配置名称不能为空");
+        }
+    }
+
+    @Override
+    public ReturnMsg delStaffConfiguration(Integer id) {
+        if(id==null){
+            return ReturnMsg.fail("id不能为空");
+        }else{
+            staffConfigurationMapper.deleteById(id);
+            return ReturnMsg.ok();
+        }
+    }
 }

+ 76 - 0
src/main/java/com/sky/ioc/service/information/impl/StaffConfigurationStaffServiceImpl.java

@@ -1,8 +1,84 @@
 package com.sky.ioc.service.information.impl;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.sky.ioc.entity.domain.information.StaffConfigurationStaff;
+import com.sky.ioc.mapper.information.StaffConfigurationStaffMapper;
 import com.sky.ioc.service.information.StaffConfigurationStaffService;
+import com.sky.ioc.tool.ReturnMsg;
+import net.bytebuddy.asm.Advice;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.xml.crypto.Data;
+import java.util.Date;
+import java.util.List;
+
 @Service
 public class StaffConfigurationStaffServiceImpl implements StaffConfigurationStaffService {
+
+    @Autowired
+    StaffConfigurationStaffMapper staffConfigurationStaffMapper;
+
+    @Override
+    public ReturnMsg delById(Integer id) {
+        if(id==null){
+            return ReturnMsg.fail("id不能为空");
+        }else{
+            staffConfigurationStaffMapper.deleteById(id);
+            return ReturnMsg.ok();
+        }
+    }
+
+    @Override
+    public ReturnMsg addStaffConfigurationStaff(String id,String responsibility_range,String staff_list,String remark,String duty_time) {
+        if(StringUtils.isNotBlank(staff_list)){
+            JSONArray jsonArray = JSON.parseArray(staff_list);
+            if(jsonArray.size()>0){
+                for(int i=0;i<jsonArray.size();i++){
+                    JSONObject jsonObject = jsonArray.getJSONObject(i);
+                    StaffConfigurationStaff staffConfigurationStaff = new StaffConfigurationStaff();
+                    staffConfigurationStaff.setConfiguration_id(id);
+                    staffConfigurationStaff.setStaff(jsonObject.getString("id"));
+                    staffConfigurationStaff.setRemark(remark);
+                    staffConfigurationStaff.setResponsibility_range(responsibility_range);
+                    staffConfigurationStaff.setDuty_time(duty_time);
+                    staffConfigurationStaff.setUpdate_time(new Date()+"");
+                    staffConfigurationStaff.setStaff_details(jsonObject.getString("details"));
+                    staffConfigurationStaffMapper.insert(staffConfigurationStaff);
+                }
+            }
+
+        }
+        return ReturnMsg.ok();
+    }
+
+    @Override
+    public ReturnMsg getList(Integer configuration_id, Integer page, Integer page_size) {
+        if(configuration_id==null){
+            return ReturnMsg.fail("配置id不能为空");
+        }else{
+            PageHelper.startPage(page,page_size);
+            List<StaffConfigurationStaff> lists = staffConfigurationStaffMapper.getListByConfigurationId(configuration_id);
+            return ReturnMsg.ok(new PageInfo<>(lists));
+        }
+
+    }
+
+    @Override
+    public ReturnMsg getHistoryList(Integer configuration_id, Integer page, Integer page_size) {
+        if(configuration_id==null){
+            return ReturnMsg.fail("配置id不能为空");
+        }else{
+            PageHelper.startPage(page,page_size);
+            List<StaffConfigurationStaff> lists = staffConfigurationStaffMapper.getHistoryListByConfigurationId(configuration_id);
+            return ReturnMsg.ok(new PageInfo<>(lists));
+        }
+
+    }
 }