Browse Source

Three build

JensionDzero 1 year ago
parent
commit
e21de7fb9b

+ 0 - 5
ruoyi-demo/src/main/java/com/ruoyi/demo/constant/RedisInitContant.java

@@ -1,12 +1,7 @@
 package com.ruoyi.demo.constant;
 
 public class RedisInitContant {
-    public static String INIT_CITY_TIER_MAP = "initCityTierMap";
-    public static String INIT_CITY_TIER_LIST_MAP= "initCityTierListMap";
-
-    public static String INIT_MANAGE_TYPE = "initManageType";
 
     public static String INIT_ADDR_CODE_MAP = "initAddrCodeMap";
 
-    public static String INIT_TYPE_BY_MAP = "initTypeByMap";
 }

+ 38 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/EquipmentController.java

@@ -0,0 +1,38 @@
+package com.ruoyi.demo.controller;
+
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.demo.entity.Equipment;
+import com.ruoyi.demo.entity.vo.EquipmentVo;
+import com.ruoyi.demo.service.EquipmentService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+@RequestMapping("/equimpent")
+@RestController
+public class EquipmentController {
+    @Autowired
+    EquipmentService equipmentService;
+    @PostMapping("/addEquipment")
+    public R addEquipment(EquipmentVo equipmentVo){
+        equipmentService.addEquipment(equipmentVo);
+        return R.ok();
+    }
+
+    @PutMapping("/updateEquipment")
+    public R updateEquipment(EquipmentVo equipmentVo){
+        equipmentService.updateEquipment(equipmentVo);
+        return R.ok();
+    }
+
+    @GetMapping("/getEquipment")
+    public R getEquipment(String equipmentId){
+        Equipment equipment = equipmentService.getEquipment(equipmentId);
+        return R.ok(equipment);
+    }
+
+    @DeleteMapping("/deleteEquipment")
+    public R deleteEquipment(String[] equipmentIds){
+        equipmentService.deleteEquipment(equipmentIds);
+        return R.ok();
+    }
+}

+ 4 - 3
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/StoreController.java

@@ -1,6 +1,7 @@
 package com.ruoyi.demo.controller;
 
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.demo.entity.bo.StoreBo;
 import com.ruoyi.demo.entity.vo.StoreVo;
 import com.ruoyi.demo.service.StoreService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -36,9 +37,9 @@ public class StoreController {
     }
 
     @GetMapping("/getStore")
-    public R getStore(StoreVo storeVo){
-        storeService.getStore(storeVo);
-        return R.ok();
+    public R getStore(String storeId){
+        StoreBo storeBo = storeService.getStore(storeId);
+        return R.ok(storeBo);
     }
 
 }

+ 29 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/AddrCategory.java

@@ -0,0 +1,29 @@
+package com.ruoyi.demo.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@TableName("ddt_addr_category")
+public class AddrCategory {
+    @TableField("addr_code")
+    private String addrCode;
+    @TableField("province")
+    private String province;
+    @TableField("city")
+    private String city;
+    @TableField("district")
+    private String district;
+    @TableField("addr_info")
+    private String addrInfo;
+    @TableField("lat_gd")
+    private BigDecimal latGd;
+    @TableField("lng_gd")
+    private BigDecimal lngGd;
+
+    @TableField("city_tier")
+    private String cityTier;
+}

+ 24 - 4
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/Equipment.java

@@ -1,13 +1,20 @@
 package com.ruoyi.demo.entity;
 
+import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.demo.entity.vo.EquipmentVo;
 import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
 
 @Data
 @TableName("dl_equipment")
+@NoArgsConstructor
 public class Equipment {
-    @TableField("equipment_id")
+    @TableId(value = "equipment_id",type = IdType.ASSIGN_ID)
     private String equipmentId;
     @TableField("equipment_name")
     private String equipmentName;
@@ -22,7 +29,7 @@ public class Equipment {
     @TableField("lng")
     private String lng;
     @TableField("state")
-    private String state;
+    private int state;
     @TableField("store_id")
     private String storeId;
     @TableField("manufacturers")
@@ -32,7 +39,20 @@ public class Equipment {
     @TableField("maintain_telephone")
     private String maintainTelephone;
     @TableField("enter_time")
-    private String enterTime;
+    private LocalDateTime enterTime;
     @TableField("show_detele")
-    private String showDetele;
+    private int showDetele;
+
+    public Equipment(EquipmentVo equipmentVo) {
+        this.equipmentName = equipmentVo.getEquipmentName();
+        this.addrInfo = equipmentVo.getAddrInfo();
+        this.addrCode = equipmentVo.getAddrCode();
+        this.lat = equipmentVo.getLat();
+        this.lng = equipmentVo.getLng();
+        this.state = equipmentVo.getState();
+        this.storeId = equipmentVo.getStoreId();
+        this.manufacturers = equipmentVo.getManufacturers();
+        this.maintainName = equipmentVo.getMaintainName();
+        this.maintainTelephone = equipmentVo.getMaintainTelephone();
+    }
 }

+ 35 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/bo/StoreBo.java

@@ -0,0 +1,35 @@
+package com.ruoyi.demo.entity.bo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.ruoyi.demo.entity.Equipment;
+import com.ruoyi.demo.entity.Store;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.boot.actuate.endpoint.web.Link;
+
+import java.util.List;
+
+@Data
+@NoArgsConstructor
+public class StoreBo{
+    private String storeId;
+    private String storeName;
+    private String addrInfo;
+    private String addrCode;
+    private String addrCodeInfo;
+    private String principalName;
+    private String principalTelephone;
+    List<Equipment> equipmentList;
+
+    public StoreBo(Store store) {
+        this.storeId = store.getStoreId();
+        this.storeName = store.getStoreName();
+        this.addrInfo = store.getAddrInfo();
+        this.addrCode = store.getAddrCode();
+        this.addrCodeInfo = store.getAddrCodeInfo();
+        this.principalName = store.getPrincipalName();
+        this.principalTelephone = store.getPrincipalTelephone();
+    }
+}

+ 24 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/EquipmentVo.java

@@ -0,0 +1,24 @@
+package com.ruoyi.demo.entity.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+public class EquipmentVo {
+    private String equipmentId;
+    private String equipmentName;
+    private String addrInfo;
+    private String addrCode;
+    private String addrCodeInfo;
+    private String lat;
+    private String lng;
+    private int state;
+    private String storeId;
+    private String manufacturers;
+    private String maintainName;
+    private String maintainTelephone;
+    private LocalDateTime enterTime;
+    private int showDetele;
+}

+ 31 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/init/BenyunCoreInit.java

@@ -0,0 +1,31 @@
+package com.ruoyi.demo.init;
+
+import com.ruoyi.demo.constant.RedisInitContant;
+import com.ruoyi.demo.entity.AddrCategory;
+import com.ruoyi.demo.mapper.AddrCategoryMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.redis.core.RedisTemplate;
+
+import javax.annotation.PostConstruct;
+@Configuration
+public class BenyunCoreInit {
+    @Autowired
+    AddrCategoryMapper addrCategoryDao;
+
+    @Autowired
+    RedisTemplate redisTemplate;
+
+
+    @PostConstruct
+    public void initAddrCodeMap() {
+        if(redisTemplate.hasKey(RedisInitContant.INIT_ADDR_CODE_MAP))
+            return;
+        System.out.println("正在加载AddrCodeMap");
+        for (AddrCategory addrCode : addrCategoryDao.selectList(null)) {
+            redisTemplate.boundHashOps(RedisInitContant.INIT_ADDR_CODE_MAP).put(addrCode.getAddrCode(), addrCode.getAddrInfo());
+        }
+        System.out.println("AddrCodeMap已完成");
+    }
+
+}

+ 9 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/AddrCategoryMapper.java

@@ -0,0 +1,9 @@
+package com.ruoyi.demo.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.demo.entity.AddrCategory;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface AddrCategoryMapper extends BaseMapper<AddrCategory> {
+}

+ 13 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/EquipmentMapper.java

@@ -0,0 +1,13 @@
+package com.ruoyi.demo.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.demo.entity.Equipment;
+import com.ruoyi.demo.entity.vo.EquipmentVo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Update;
+
+@Mapper
+public interface EquipmentMapper extends BaseMapper<Equipment> {
+    @Update("update dl_equipment set equipment_name=#{equipmentName},addr_info=#{addrInfo},addr_code=#{addrCode},lat=#{lat},lng=#{lng},store_id=#{storeId},manufacturers=#{manufacturers},maintain_name=#{maintainName},maintain_telephone=#{maintainTelephone} where equipmentId = #{equipmentId}")
+    void updateEquipment(EquipmentVo equipmentVo);
+}

+ 14 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/service/EquipmentService.java

@@ -0,0 +1,14 @@
+package com.ruoyi.demo.service;
+
+import com.ruoyi.demo.entity.Equipment;
+import com.ruoyi.demo.entity.vo.EquipmentVo;
+
+public interface EquipmentService {
+    void addEquipment(EquipmentVo equipmentVo);
+
+    void updateEquipment(EquipmentVo equipmentVo);
+
+    Equipment getEquipment(String equipmentId);
+
+    void deleteEquipment(String[] equipmentIds);
+}

+ 5 - 2
ruoyi-demo/src/main/java/com/ruoyi/demo/service/StoreService.java

@@ -1,7 +1,10 @@
 package com.ruoyi.demo.service;
 
+import com.ruoyi.demo.entity.bo.StoreBo;
 import com.ruoyi.demo.entity.vo.StoreVo;
 
+import java.util.List;
+
 public interface StoreService {
     void addStore(StoreVo storeVo);
 
@@ -9,7 +12,7 @@ public interface StoreService {
 
     void deleteStore(String[] storeIds);
 
-    void getStoreTree(StoreVo storeVo);
+    List<StoreBo> getStoreTree(StoreVo storeVo);
 
-    void getStore(StoreVo storeVo);
+    StoreBo getStore(String storeId);
 }

+ 45 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/EquipmentServiceImpl.java

@@ -0,0 +1,45 @@
+package com.ruoyi.demo.service.impl;
+
+import com.ruoyi.demo.entity.Equipment;
+import com.ruoyi.demo.entity.vo.EquipmentVo;
+import com.ruoyi.demo.mapper.EquipmentMapper;
+import com.ruoyi.demo.service.EquipmentService;
+import com.ruoyi.demo.utils.InitMapUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.Arrays;
+
+@Service
+public class EquipmentServiceImpl implements EquipmentService {
+    @Autowired
+    EquipmentMapper equipmentMapper;
+    @Autowired
+    InitMapUtil initMapUtil;
+    @Override
+    public void addEquipment(EquipmentVo equipmentVo) {
+        Equipment equipment = new Equipment(equipmentVo);
+        //地区码映射
+        equipment.setAddrCodeInfo(initMapUtil.getInitAddrCodeMap(equipment.getAddrCode()));
+        //时间
+        equipment.setEnterTime(LocalDateTime.now());
+        equipmentMapper.insert(equipment);
+    }
+
+    @Override
+    public void updateEquipment(EquipmentVo equipmentVo) {
+        equipmentVo.setAddrCodeInfo(initMapUtil.getInitAddrCodeMap(equipmentVo.getAddrCode()));
+        equipmentMapper.updateEquipment(equipmentVo);
+    }
+
+    @Override
+    public Equipment getEquipment(String equipmentId) {
+        return equipmentMapper.selectById(equipmentId);
+    }
+
+    @Override
+    public void deleteEquipment(String[] equipmentIds) {
+        equipmentMapper.deleteBatchIds(Arrays.asList(equipmentIds));
+    }
+}

+ 75 - 3
ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/StoreServiceImpl.java

@@ -1,39 +1,111 @@
 package com.ruoyi.demo.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ruoyi.demo.entity.Equipment;
 import com.ruoyi.demo.entity.Store;
+import com.ruoyi.demo.entity.bo.StoreBo;
 import com.ruoyi.demo.entity.vo.StoreVo;
+import com.ruoyi.demo.mapper.EquipmentMapper;
 import com.ruoyi.demo.mapper.StoreMapper;
 import com.ruoyi.demo.service.StoreService;
+import com.ruoyi.demo.utils.InitMapUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
 @Service
 public class StoreServiceImpl implements StoreService {
     @Autowired
     StoreMapper storeMapper;
+
+    @Autowired
+    EquipmentMapper equipmentMapper;
+
+    @Autowired
+    InitMapUtil initMapUtil;
+
     @Override
     public void addStore(StoreVo storeVo) {
         Store store = new Store(storeVo);
+        store.setAddrCodeInfo(initMapUtil.getInitAddrCodeMap(store.getAddrCode()));
         storeMapper.insert(store);
     }
 
     @Override
     public void updateStore(StoreVo storeVo) {
+        storeVo.setAddrCodeInfo(initMapUtil.getInitAddrCodeMap(storeVo.getAddrCode()));
         storeMapper.updateStore(storeVo);
     }
 
     @Override
     public void deleteStore(String[] storeIds) {
-
+        storeMapper.deleteBatchIds(Arrays.asList(storeIds));
     }
 
+    /*
+    * 店铺管理设备(不支持设备上层没有店铺)
+    * */
     @Override
-    public void getStoreTree(StoreVo storeVo) {
+    public List<StoreBo> getStoreTree(StoreVo storeVo) {
+        //1.找到所有店铺列表
+        QueryWrapper<Store> queryWrapper = new QueryWrapper<>();
+        if (storeVo.getStoreName() != null && !storeVo.getStoreName().equals("")){
+            queryWrapper.like("store_name",storeVo.getStoreName());
+        }
+        if(storeVo.getAddrCode() != null && !storeVo.getAddrCode().equals("")){
+            queryWrapper.and(storeQueryWrapper -> {
+                storeQueryWrapper.eq("addr_code",storeVo.getAddrCode());
+            });
+        }
+        if(storeVo.getPrincipalName() != null && !storeVo.getPrincipalName().equals("")){
+            queryWrapper.and(storeQueryWrapper -> {
+                storeQueryWrapper.like("principal_name",storeVo.getPrincipalName());
+            });
+        }
+        List<Store> stores = storeMapper.selectList(queryWrapper);
+
+        //2.找到子设备
+        List<String> collect = stores.stream().map(item -> {
+            return item.getStoreId();
+        }).collect(Collectors.toList());
+        QueryWrapper<Equipment> queryWrapper1 = new QueryWrapper<>();
+        queryWrapper1.select("equipment_id","equipment_name","addr_info","lat","lng","state");
+        queryWrapper1.in("store_id",collect);
+        List<Equipment> equipments = equipmentMapper.selectList(queryWrapper1);
 
+        List<StoreBo> storeBos = new ArrayList<>();
+        //组装
+        for (Store store : stores) {
+            StoreBo storeBo = new StoreBo(store);
+            storeBo.setEquipmentList(findEquipmentList(store.getStoreId(),equipments));
+            storeBos.add(storeBo);
+        }
+        return storeBos;
+    }
+
+    private List<Equipment> findEquipmentList(String storeId,List<Equipment> equipments){
+        List<Equipment> collect = equipments.stream().filter(item -> {
+            if (storeId.equals(item.getStoreId()))
+                return true;
+            return false;
+        }).collect(Collectors.toList());
+        return collect;
     }
 
     @Override
-    public void getStore(StoreVo storeVo) {
+    public StoreBo getStore(String storeId) {
+        Store store = storeMapper.selectById(storeId);
+        StoreBo storeBo = new StoreBo(store);
+
+        QueryWrapper<Equipment> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("store_id",storeId);
+        List<Equipment> equipment = equipmentMapper.selectList(queryWrapper);
 
+        storeBo.setEquipmentList(equipment);
+        return storeBo;
     }
 }

+ 20 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/utils/InitMapUtil.java

@@ -0,0 +1,20 @@
+package com.ruoyi.demo.utils;
+
+
+import com.ruoyi.demo.constant.RedisInitContant;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+@Component
+public class InitMapUtil {
+    @Autowired
+    RedisTemplate redisTemplate;
+
+    public String getInitAddrCodeMap(String addrCode){
+        return (String) redisTemplate.boundHashOps(RedisInitContant.INIT_ADDR_CODE_MAP).get(addrCode);
+    }
+
+}