Bladeren bron

Merge branch 'master' into lcy

# Conflicts:
#	ruoyi-demo/src/main/java/com/ruoyi/demo/entity/Plan.java
#	ruoyi-demo/src/main/java/com/ruoyi/demo/entity/PlanItem.java
#	ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/PlanItemVo.java
#	ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/PlanItemMapper.java
#	ruoyi-demo/src/main/resources/mapper/demo/PlanItemMapper.xml
云殇忆 1 jaar geleden
bovenliggende
commit
caa69136c2
29 gewijzigde bestanden met toevoegingen van 760 en 125 verwijderingen
  1. 1 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java
  2. 0 5
      ruoyi-admin/src/main/resources/application-prod.yml
  3. 2 2
      ruoyi-admin/src/main/resources/application.yml
  4. 24 0
      ruoyi-demo/src/main/java/com/ruoyi/demo/config/MybatisPlusConfig.java
  5. 53 4
      ruoyi-demo/src/main/java/com/ruoyi/demo/controller/AppController.java
  6. 34 4
      ruoyi-demo/src/main/java/com/ruoyi/demo/controller/CommercialController.java
  7. 114 16
      ruoyi-demo/src/main/java/com/ruoyi/demo/controller/EquipmentController.java
  8. 26 4
      ruoyi-demo/src/main/java/com/ruoyi/demo/controller/StoreController.java
  9. 3 3
      ruoyi-demo/src/main/java/com/ruoyi/demo/entity/App.java
  10. 2 2
      ruoyi-demo/src/main/java/com/ruoyi/demo/entity/Commercial.java
  11. 5 4
      ruoyi-demo/src/main/java/com/ruoyi/demo/entity/Equipment.java
  12. 3 2
      ruoyi-demo/src/main/java/com/ruoyi/demo/entity/Store.java
  13. 2 1
      ruoyi-demo/src/main/java/com/ruoyi/demo/entity/bo/CommercialBo.java
  14. 47 0
      ruoyi-demo/src/main/java/com/ruoyi/demo/entity/bo/EquipmentBo.java
  15. 63 0
      ruoyi-demo/src/main/java/com/ruoyi/demo/entity/bo/PlanItemBo.java
  16. 1 1
      ruoyi-demo/src/main/java/com/ruoyi/demo/entity/bo/StoreBo.java
  17. 10 7
      ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/AppVo.java
  18. 9 6
      ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/CommercialVo.java
  19. 15 10
      ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/EquipmentVo.java
  20. 9 7
      ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/StoreVo.java
  21. 5 2
      ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/EquipmentMapper.java
  22. 1 1
      ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/StoreMapper.java
  23. 9 1
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/AppService.java
  24. 3 1
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/CommericalService.java
  25. 20 2
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/EquipmentService.java
  26. 50 4
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/AppServiceImpl.java
  27. 49 11
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/CommercialServiceImpl.java
  28. 169 15
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/EquipmentServiceImpl.java
  29. 31 10
      ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/StoreServiceImpl.java

+ 1 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java

@@ -120,6 +120,7 @@ public class CaptchaController {
         captcha.setGenerator(codeGenerator);
         captcha.createCode();
         String code = captcha.getCode();
+        System.out.println(code);
         if (isMath) {
             ExpressionParser parser = new SpelExpressionParser();
             Expression exp = parser.parseExpression(StringUtils.remove(code, "="));

+ 0 - 5
ruoyi-admin/src/main/resources/application-prod.yml

@@ -196,8 +196,3 @@ sms:
     #地域信息默认为 ap-guangzhou 如无特殊改变可不用设置
     territory: ap-guangzhou
 
-pagehelper:
-  helper-dialect: mysql
-  reasonable: true
-  support-methods-arguments: true
-  params: count=countSql

+ 2 - 2
ruoyi-admin/src/main/resources/application.yml

@@ -1,7 +1,7 @@
 # 项目相关配置
 ruoyi:
   # 名称
-  name: benyun-bailian
+  name: benyun-dl
   # 版本
   version: ${ruoyi-vue-plus.version}
   # 版权年份
@@ -185,7 +185,7 @@ mybatis-plus:
   global-config:
     db-config:
       id-type: ASSIGN_ID
-      logic-delete-field: show_delete # 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置步骤2)
+      logic-delete-field: deleted # 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置步骤2)
       logic-delete-value: 1 # 逻辑已删除值(默认为 1)
       logic-not-delete-value: 0 # 逻辑未删除值(默认为 0
 # 数据加密

+ 24 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/config/MybatisPlusConfig.java

@@ -0,0 +1,24 @@
+package com.ruoyi.demo.config;
+
+import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+//@Configuration
+//@MapperScan("com.ruoyi.demo.mapper")
+//public class MybatisPlusConfig {
+//
+//    /**
+//     * 添加分页插件
+//     */
+//    @Bean
+//    public MybatisPlusInterceptor mybatisPlusInterceptor() {
+//        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
+//        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));//如果配置多个插件,切记分页最后添加
+//        //interceptor.addInnerInterceptor(new PaginationInnerInterceptor()); 如果有多数据源可以不配具体类型 否则都建议配上具体的DbType
+//        return interceptor;
+//    }
+//}

+ 53 - 4
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/AppController.java

@@ -1,27 +1,45 @@
 package com.ruoyi.demo.controller;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.pagehelper.PageInfo;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.validate.AddGroup;
+import com.ruoyi.common.core.validate.EditGroup;
+import com.ruoyi.common.core.validate.QueryGroup;
 import com.ruoyi.demo.entity.App;
+import com.ruoyi.demo.entity.Commercial;
 import com.ruoyi.demo.entity.vo.AppVo;
+import com.ruoyi.demo.entity.vo.CommercialVo;
 import com.ruoyi.demo.service.AppService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.HashMap;
+import java.util.List;
+
 @RestController
 @RequestMapping("/app")
 public class AppController {
     @Autowired
     AppService appService;
 
+    /**
+     * 添加小程序
+     * @param appVo
+     * @return
+     */
     @PostMapping("/addApp")
-    public R addApp(@Validated(value={AddGroup.class}) AppVo appVo){
+    public R addApp(@RequestBody @Validated(value={AddGroup.class}) AppVo appVo){
         appService.addApp(appVo);
         return R.ok();
     }
 
+    /**
+     * 删除小程序
+     * @param appKeys
+     * @return
+     */
     @DeleteMapping("/deleteApp")
     public R deleteApp(String[] appKeys){
         appService.deleteApp(appKeys);
@@ -30,18 +48,28 @@ public class AppController {
 
     @GetMapping("/getAppListByCommercialId")
     public R getAppListByCommercialId(AppVo appVo){
-        PageInfo<App> appListByCommercialId = appService.getAppList(appVo);
+        PageInfo<App> appListByCommercialId = appService.getAppListByCommercialId(appVo);
         return R.ok(appListByCommercialId);
     }
 
+    /**
+     * 获取小程序详细信息
+     * @param appVo
+     * @return
+     */
     @GetMapping("/getApp")
-    public R getApp(@Validated(value={AddGroup.class})AppVo appVo){
+    public R getApp(@Validated(value = {QueryGroup.class}) AppVo appVo){
         App app = appService.getApp(appVo);
         return R.ok(app);
     }
 
+    /**
+     * 修改小程序信息
+     * @param appVo
+     * @return
+     */
     @PutMapping("/updateApp")
-    public R updateApp(AppVo appVo){
+    public R updateApp(@RequestBody @Validated(value={EditGroup.class})AppVo appVo){
         appService.updateApp(appVo);
         return R.ok();
     }
@@ -51,4 +79,25 @@ public class AppController {
         appService.testCallBack(callBack);
         return R.ok();
     }
+
+    /**
+     * 获取小程序列表
+     * @param appVo
+     * @return
+     */
+    @GetMapping("/getAppList")
+    public R getAppList(AppVo appVo){
+        Page<App> appList = appService.getAppList(appVo);
+        return R.ok(appList);
+    }
+
+    /**
+     * 获取商户列表(下拉框)
+     * @return
+     */
+    @GetMapping("/getCommercialList")
+    public R getCommercialList(){
+        List<Commercial> commercialList = appService.getCommercialList();
+        return R.ok(commercialList);
+    }
 }

+ 34 - 4
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/CommercialController.java

@@ -2,12 +2,16 @@ package com.ruoyi.demo.controller;
 
 import com.github.pagehelper.PageInfo;
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.validate.AddGroup;
+import com.ruoyi.common.core.validate.EditGroup;
 import com.ruoyi.demo.entity.Commercial;
 import com.ruoyi.demo.entity.vo.CommercialVo;
 import com.ruoyi.demo.service.CommericalService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import javax.validation.constraints.NotEmpty;
 import java.util.HashMap;
 import java.util.List;
 
@@ -17,24 +21,50 @@ public class CommercialController {
     @Autowired
     CommericalService commericalService;
 
+    /**
+     * 新增商户
+     * @param commercialVo
+     * @return
+     */
     @PostMapping("/addCommercial")
-    public R addCommercial(@RequestBody CommercialVo commercialVo){
+    public R addCommercial(@RequestBody @Validated(value = {AddGroup.class}) CommercialVo commercialVo){
         commericalService.addCommercial(commercialVo);
         return R.ok();
     }
 
-    @DeleteMapping("/deleteCommercial")
-    public R deleteCommercial(String[] commercialIds){
-        commericalService.deleteCommercial(commercialIds);
+    @PutMapping("/updateCommercial")
+    public R updateCommercial(@RequestBody @Validated(value = {EditGroup.class}) CommercialVo commercialVo){
+        commericalService.updateCommercial(commercialVo);
         return R.ok();
     }
 
+    /**
+     * 删除商户
+     * @param commercialIds
+     * @return
+     */
+    @DeleteMapping("/deleteCommercial")
+    public R deleteCommercial(@NotEmpty String[] commercialIds){
+        String s = commericalService.deleteCommercial(commercialIds);
+        return R.ok(s);
+    }
+
+    /**
+     * 获取商户详细信息
+     * @param commercialId
+     * @return
+     */
     @GetMapping("/getCommercial")
     public R getCommercial(String commercialId){
         Commercial commercial = commericalService.getCommercial(commercialId);
         return R.ok(commercial);
     }
 
+    /**
+     * 获取商户列表
+     * @param commercialVo
+     * @return
+     */
     @GetMapping("/getCommercialList")
     public R getCommercialList(CommercialVo commercialVo){
         HashMap commercialList = commericalService.getCommercialList(commercialVo);

+ 114 - 16
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/EquipmentController.java

@@ -1,15 +1,26 @@
 package com.ruoyi.demo.controller;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.pagehelper.PageInfo;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.validate.AddGroup;
+import com.ruoyi.common.core.validate.EditGroup;
+import com.ruoyi.common.core.validate.QueryGroup;
 import com.ruoyi.demo.entity.Equipment;
+import com.ruoyi.demo.entity.Plan;
+import com.ruoyi.demo.entity.PlanItem;
+import com.ruoyi.demo.entity.bo.PlanItemBo;
 import com.ruoyi.demo.entity.vo.EquipmentVo;
+import com.ruoyi.demo.entity.vo.PlanItemVo;
 import com.ruoyi.demo.service.EquipmentService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotEmpty;
+import java.util.HashMap;
 import java.util.List;
 
 @RequestMapping("/equimpent")
@@ -17,55 +28,142 @@ import java.util.List;
 public class EquipmentController {
     @Autowired
     EquipmentService equipmentService;
+
+    /**
+     * 添加新设备
+     * @param equipmentVo
+     * @return
+     */
     @PostMapping("/addEquipment")
-    public R addEquipment(@Validated(value = {AddGroup.class}) EquipmentVo equipmentVo){
+    public R addEquipment(@RequestBody @Validated(value = {AddGroup.class}) EquipmentVo equipmentVo){
         equipmentService.addEquipment(equipmentVo);
         return R.ok();
     }
 
+    /**
+     * 修改设备信息
+     * @param equipmentVo
+     * @return
+     */
     @PutMapping("/updateEquipment")
-    public R updateEquipment(@Validated(value = {AddGroup.class})EquipmentVo equipmentVo){
+    public R updateEquipment(@RequestBody @Validated(value = {AddGroup.class})EquipmentVo equipmentVo){
         equipmentService.updateEquipment(equipmentVo);
         return R.ok();
     }
 
+    /**
+     * 获取设备详细信息
+     * @param equipmentId
+     * @return
+     */
     @GetMapping("/getEquipment")
-    public R getEquipment(String equipmentId){
+    public R getEquipment(@NotBlank String equipmentId){
         Equipment equipment = equipmentService.getEquipment(equipmentId);
         return R.ok(equipment);
     }
 
+    /**
+     * 获取设备列表
+     * */
+    @GetMapping("/getEquipmentList")
+    public R getEquipmentList(EquipmentVo equipmentVo){
+        HashMap hashMap = equipmentService.getEquipmentList(equipmentVo);
+        return R.ok(hashMap);
+    }
+
+    /**
+     * 删除设备
+     * @param equipmentIds
+     * @return
+     */
     @DeleteMapping("/deleteEquipment")
-    public R deleteEquipment(String[] equipmentIds){
+    public R deleteEquipment(@NotEmpty String[] equipmentIds){
         equipmentService.deleteEquipment(equipmentIds);
         return R.ok();
     }
 
-    /*获得该设备的广告计划*/
-    @GetMapping("/getEquipmentBySelect")
-    public R getEuipmentPlanList(EquipmentVo equipmentVo){
-        PageInfo<Equipment> equipments = equipmentService.getEquipmentBySelect(equipmentVo);
-        return R.ok(equipments);
+    /**
+     * TODO 获得该设备下的广告计划
+     * @param equipmentVo
+     * @return
+     */
+    @GetMapping("/getEquipmentPlanList")
+    public R getEquipmentPlanList(@Validated(value = {QueryGroup.class}) EquipmentVo equipmentVo){
+        IPage<PlanItemBo> euipmentPlanList = equipmentService.getEquipmentPlanList(equipmentVo);
+        return R.ok(euipmentPlanList);
     }
 
-    /*找到未分组的设备*/
+    /**
+     * TODO 修改该设备下的广告计划的排序
+     * @param planItemVo
+     * @return
+     */
+    @PutMapping("/updateEquipmentPlan")
+    public R updateEquipmentPlan(@RequestBody @Validated(value = {EditGroup.class}) PlanItemVo planItemVo){
+        equipmentService.updateEquipmentPlan(planItemVo);
+        return R.ok();
+    }
+
+    @DeleteMapping("/deleteEquipmentPlan")
+    public R deleteEquipmentPlan(@NotEmpty String[] planItemIds){
+        equipmentService.deleteEquipmentPlan(planItemIds);
+        return R.ok();
+    }
+
+
+    /**
+     * 找到未分组的设备
+     * @param equipmentVo
+     * @return
+     */
     @GetMapping("/getEquipmentBySelect")
     public R getEquipmentBySelect(EquipmentVo equipmentVo){
-        PageInfo<Equipment> equipments = equipmentService.getEquipmentBySelect(equipmentVo);
+        Page<Equipment> equipments = equipmentService.getEquipmentBySelect(equipmentVo);
         return R.ok(equipments);
     }
 
-    /*确认添加*/
-    @PostMapping("/addStoreEquipment")
-    public R addStoreEquipment(EquipmentVo equipmentVo){
+    /**
+     * 添加店铺下的设备
+     * @param equipmentVo
+     * @return
+     */
+    @PutMapping("/addStoreEquipment")
+    public R addStoreEquipment(@RequestBody @Validated(value = {QueryGroup.class}) EquipmentVo equipmentVo){
+        if (equipmentVo.getStoreId() == null || equipmentVo.getStoreId().equals(""))
+            return R.fail("添加失败");
         equipmentService.addStoreEquipment(equipmentVo);
         return R.ok();
     }
 
-    /*查看store下已有的设备*/
+    /**
+     * 移除店铺下的设备
+     * @param equipmentIds
+     * @return
+     */
+    @DeleteMapping("/deleteStoreEquipment")
+    public R deleteStoreEquipment(@NotEmpty String[] equipmentIds){
+        equipmentService.deleteStoreEquipment(equipmentIds);
+        return R.ok();
+    }
+
+    /**
+     * 查看store下已有的设备
+     * @param equipmentVo
+     * @return
+     */
     @GetMapping("/getEquipmentByStoreId")
     public R getEquipmentByStoreId(EquipmentVo equipmentVo){
-        PageInfo<Equipment> equipments = equipmentService.getEquipmentByStoreId(equipmentVo);
+        Page<Equipment> equipments = equipmentService.getEquipmentByStoreId(equipmentVo);
         return R.ok(equipments);
     }
+
+    /**
+     * 获取总设备数
+     * @return
+     */
+    @GetMapping("/getEquipmentCount")
+    public R getEquipmentCount(){
+        int count = equipmentService.getEquipmentCount();
+        return R.ok(count);
+    }
 }

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

@@ -2,6 +2,7 @@ package com.ruoyi.demo.controller;
 
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.validate.AddGroup;
+import com.ruoyi.common.core.validate.EditGroup;
 import com.ruoyi.demo.entity.Store;
 import com.ruoyi.demo.entity.bo.StoreBo;
 import com.ruoyi.demo.entity.vo.StoreVo;
@@ -17,26 +18,47 @@ import java.util.HashMap;
 public class StoreController {
     @Autowired
     StoreService storeService;
+
+    /**
+     * 新增店铺
+     * @param storeVo
+     * @return
+     */
     @PostMapping("/addStore")
-    public R addStore(@Validated(value = {AddGroup.class})StoreVo storeVo){
+    public R addStore(@RequestBody @Validated(value = {AddGroup.class})StoreVo storeVo){
         storeService.addStore(storeVo);
         return R.ok();
     }
 
+    /**
+     * 修改店铺信息
+     * @param storeVo
+     * @return
+     */
     @PutMapping("/updateStore")
-    public R updateStore(@Validated(value = {AddGroup.class})StoreVo storeVo){
+    public R updateStore(@RequestBody @Validated(value = {EditGroup.class})StoreVo storeVo){
         storeService.updateStore(storeVo);
         return R.ok();
     }
 
+    /**
+     * 删除店铺
+     * @param storeIds
+     * @return
+     */
     @DeleteMapping("/deleteStore")
     public R deleteStore(String[] storeIds){
         storeService.deleteStore(storeIds);
         return R.ok();
     }
 
-    @GetMapping("/getStoreTree")
-    public R getStoreTree(StoreVo storeVo){
+    /**
+     * 获取店铺列表
+     * @param storeVo
+     * @return
+     */
+    @GetMapping("/getStoreList")
+    public R getStoreList(StoreVo storeVo){
         HashMap storeList = storeService.getStoreList(storeVo);
         return R.ok(storeList);
     }

+ 3 - 3
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/App.java

@@ -26,7 +26,7 @@ public class App {
     @TableField("commercial_name")
     private String commercialName;
     @TableField("state")
-    private int state;
+    private Integer state;
     @TableField("call_back")
     private String callBack;
     @TableField("appSecret")
@@ -45,8 +45,8 @@ public class App {
     private LocalDateTime create_time;
     @TableField("annotation")
     private String annotation;
-    @TableField("show_detele")
-    private int show_detele;
+    @TableField("deleted")
+    private Integer deleted;
 
     public App(AppVo appVo) {
         this.appLogo = appVo.getAppLogo();

+ 2 - 2
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/Commercial.java

@@ -44,8 +44,8 @@ public class Commercial {
     private String addrInfo;
     @TableField("create_time")
     private LocalDateTime createTime;
-    @TableField("show_detele")
-    private int showDetele;
+    @TableField("deleted")
+    private Integer deleted;
 
     public Commercial(CommercialVo commercialVo) {
         this.commercialName = commercialVo.getCommercialName();

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

@@ -30,9 +30,9 @@ public class Equipment {
     @TableField("lng")
     private BigDecimal lng;
     @TableField("state")
-    private int state;
+    private Integer state;
     @TableField("on_state")
-    private int onState;
+    private Integer onState;
     @TableField("store_id")
     private String storeId;
     @TableField("manufacturers")
@@ -47,8 +47,8 @@ public class Equipment {
     private LocalDateTime enterTime;
     @TableField("update_time")
     private LocalDateTime updateTime;
-    @TableField("show_detele")
-    private int showDetele;
+    @TableField("deleted")
+    private Integer deleted;
 
     public Equipment(EquipmentVo equipmentVo) {
         this.equipmentName = equipmentVo.getEquipmentName();
@@ -57,6 +57,7 @@ public class Equipment {
         this.lat = equipmentVo.getLat();
         this.lng = equipmentVo.getLng();
         this.state = equipmentVo.getState();
+        this.onState = equipmentVo.getOnState();
         this.storeId = equipmentVo.getStoreId();
         this.manufacturers = equipmentVo.getManufacturers();
         this.maintainName = equipmentVo.getMaintainName();

+ 3 - 2
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/Store.java

@@ -12,7 +12,7 @@ import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
 @Data
-@TableName("store")
+@TableName("dl_store")
 @NoArgsConstructor
 public class Store {
     @TableId(value = "store_id",type = IdType.ASSIGN_ID)
@@ -37,12 +37,13 @@ public class Store {
     private String principalName;
     @TableField("principal_telephone")
     private String principalTelephone;
+    @TableField("deleted")
+    private int deleted;
 
     public Store(StoreVo storeVo) {
         this.storeName = storeVo.getStoreName();
         this.addrInfo = storeVo.getAddrInfo();
         this.addrCode = storeVo.getAddrCode();
-        this.addrCodeInfo = storeVo.getAddrCodeInfo();
         this.lat = storeVo.getLat();
         this.lng = storeVo.getLng();
         this.point = storeVo.getPoint();

+ 2 - 1
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/bo/CommercialBo.java

@@ -27,10 +27,11 @@ public class CommercialBo {
     private String addrCodeInfo;
     private String addrInfo;
     private LocalDateTime createTime;
-    private int showDetele;
+    private Integer deleted;
     private List<String> apps;
 
     public CommercialBo(Commercial commercial) {
+        this.commercialId = commercial.getCommercialId();
         this.commercialName = commercial.getCommercialName();
         this.code = commercial.getCode();
         this.commercialType = commercial.getCommercialType();

+ 47 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/bo/EquipmentBo.java

@@ -0,0 +1,47 @@
+package com.ruoyi.demo.entity.bo;
+
+import com.ruoyi.demo.entity.Equipment;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+@Data
+public class EquipmentBo {
+    private String equipmentId;
+    private String equipmentName;
+    private String addrInfo;
+    private String addrCode;
+    private String addrCodeInfo;
+    private BigDecimal lat;
+    private BigDecimal lng;
+    private Integer state;
+    private Integer onState;
+    private Integer planCounnt;
+    private String storeId;
+    private String manufacturers;
+    private String maintainName;
+    private String maintainTelephone;
+    private String annotation;
+    private LocalDateTime enterTime;
+    private LocalDateTime updateTime;
+    private Integer deleted;
+
+    public EquipmentBo(Equipment equipment) {
+        this.equipmentId = equipment.getEquipmentId();
+        this.equipmentName = equipment.getEquipmentName();
+        this.addrInfo = equipment.getAddrInfo();
+        this.addrCode = equipment.getAddrCode();
+        this.lat = equipment.getLat();
+        this.lng = equipment.getLng();
+        this.state = equipment.getState();
+        this.onState = equipment.getOnState();
+        this.storeId = equipment.getStoreId();
+        this.manufacturers = equipment.getManufacturers();
+        this.maintainName = equipment.getMaintainName();
+        this.maintainTelephone = equipment.getMaintainTelephone();
+        this.annotation = equipment.getAnnotation();
+        this.enterTime = equipment.getEnterTime();
+        this.updateTime = equipment.getUpdateTime();
+        this.deleted = equipment.getDeleted();
+    }
+}

+ 63 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/bo/PlanItemBo.java

@@ -0,0 +1,63 @@
+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.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
+import com.ruoyi.demo.entity.Plan;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+@Data
+@NoArgsConstructor
+public class PlanItemBo {
+    private String planId;
+    private String commercialId;
+    private String commercialName;
+    private String appkey;
+    private String appName;
+    private String goodsId;
+    private String goodsImg;
+    private String goodsName;
+    private String goodsLogo;
+    private String goodsIntroduce;
+    private Float goodsPrice;
+    private String goodsClassify;
+    private int sort;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonSerialize(using = LocalDateTimeSerializer.class)
+    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+    private LocalDateTime planCreateTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonSerialize(using = LocalDateTimeSerializer.class)
+    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+    private LocalDateTime planStartTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonSerialize(using = LocalDateTimeSerializer.class)
+    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+    private LocalDateTime planEndTime;
+
+    public PlanItemBo(Plan plan) {
+        this.planId = plan.getPlanId();
+        this.commercialId = plan.getCommercialId();
+        this.commercialName = plan.getCommercialName();
+        this.appkey = plan.getAppkey();
+        this.appName = plan.getAppName();
+        this.goodsId = plan.getGoodsId();
+        this.goodsImg = plan.getGoodsImg();
+        this.goodsName = plan.getGoodsName();
+        this.goodsLogo = plan.getGoodsLogo();
+        this.goodsIntroduce = plan.getGoodsIntroduce();
+        this.goodsPrice = plan.getGoodsPrice();
+        this.goodsClassify = plan.getGoodsClassify();
+        this.planCreateTime = plan.getPlanCreateTime();
+        this.planStartTime = plan.getPlanStartTime();
+        this.planEndTime = plan.getPlanEndTime();
+    }
+}

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

@@ -22,7 +22,7 @@ public class StoreBo{
     private String principalName;
     private String principalTelephone;
 
-    private int count;
+    private Integer count;
     List<Equipment> equipmentList;
 
     public StoreBo(Store store) {

+ 10 - 7
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/AppVo.java

@@ -2,6 +2,8 @@ package com.ruoyi.demo.entity.vo;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.ruoyi.common.core.validate.AddGroup;
+import com.ruoyi.common.core.validate.EditGroup;
+import com.ruoyi.common.core.validate.QueryGroup;
 import lombok.Data;
 
 import javax.validation.constraints.NotBlank;
@@ -10,22 +12,23 @@ import java.time.LocalDateTime;
 
 @Data
 public class AppVo {
+    @NotBlank(groups = {EditGroup.class, QueryGroup.class})
     private String appkey;
 
-    @NotBlank(groups = {AddGroup.class})
+    @NotBlank(groups = {AddGroup.class, EditGroup.class})
     private String appLogo;
-    @NotBlank(groups = {AddGroup.class})
+    @NotBlank(groups = {AddGroup.class, EditGroup.class})
     private String appName;
     private String appIntroduce;
 
-    @NotBlank(groups = {AddGroup.class})
+    @NotBlank(groups = {AddGroup.class, EditGroup.class})
     private String commercialId;
 
-    @NotBlank(groups = {AddGroup.class})
+    @NotBlank(groups = {AddGroup.class, EditGroup.class})
     private String commercialName;
 
-    private int state;
-    @NotBlank(groups = {AddGroup.class})
+    private Integer state;
+    @NotBlank(groups = {AddGroup.class, EditGroup.class})
     private String callBack;
     private String appSecret;
     private String prove1;
@@ -35,7 +38,7 @@ public class AppVo {
     private String prove5;
     private LocalDateTime create_time;
     private String annotation;
-    private int show_detele;
+    private Integer deleted;
 
     private String searchText;
 

+ 9 - 6
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/CommercialVo.java

@@ -2,6 +2,7 @@ package com.ruoyi.demo.entity.vo;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.ruoyi.common.core.validate.AddGroup;
+import com.ruoyi.common.core.validate.EditGroup;
 import lombok.Data;
 
 import javax.validation.constraints.NotBlank;
@@ -9,29 +10,31 @@ import java.time.LocalDateTime;
 
 @Data
 public class CommercialVo {
+    @NotBlank(groups = {EditGroup.class})
     private String commercialId;
 
-    @NotBlank(groups = {AddGroup.class})
+    @NotBlank(groups = {AddGroup.class, EditGroup.class})
     private String commercialName;
-    @NotBlank(groups = {AddGroup.class})
+    @NotBlank(groups = {AddGroup.class, EditGroup.class})
     private String code;
 
-    @NotBlank(groups = {AddGroup.class})
     private String commercialType;
-    @NotBlank(groups = {AddGroup.class})
+    @NotBlank(groups = {AddGroup.class, EditGroup.class})
     private String principalName;
-    @NotBlank(groups = {AddGroup.class})
+    @NotBlank(groups = {AddGroup.class, EditGroup.class})
     private String principalTelephone;
     private String prove1;
     private String prove2;
     private String prove3;
     private String prove4;
     private String prove5;
+    @NotBlank(groups = {AddGroup.class, EditGroup.class})
     private String addrCode;
     private String addrCodeInfo;
+    @NotBlank(groups = {AddGroup.class, EditGroup.class})
     private String addrInfo;
     private LocalDateTime createTime;
-    private int showDetele;
+    private Integer deleted;
 
     private String searchText;
 

+ 15 - 10
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/EquipmentVo.java

@@ -2,40 +2,45 @@ package com.ruoyi.demo.entity.vo;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.ruoyi.common.core.validate.AddGroup;
+import com.ruoyi.common.core.validate.EditGroup;
+import com.ruoyi.common.core.validate.QueryGroup;
 import lombok.Data;
 
 import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
 @Data
 public class EquipmentVo {
+    @NotBlank(groups = {EditGroup.class, QueryGroup.class})
     private String equipmentId;
-    @NotBlank(groups = {AddGroup.class})
+    @NotBlank(groups = {AddGroup.class, EditGroup.class})
     private String equipmentName;
-    @NotBlank(groups = {AddGroup.class})
+    @NotBlank(groups = {AddGroup.class, EditGroup.class})
     private String addrInfo;
-    @NotBlank(groups = {AddGroup.class})
+    @NotBlank(groups = {AddGroup.class, EditGroup.class})
     private String addrCode;
     private String addrCodeInfo;
 
     private BigDecimal lat;
     private BigDecimal lng;
-    private int state;
-    private int onState;
+    @NotNull(groups = {AddGroup.class, EditGroup.class})
+    private Integer state;
+    private Integer onState;
     private String storeId;
     private String manufacturers;
     private String searchText;
     private String annotation;
 
-    private int pageNum;
-    private int pageSize;
+    private int pageNum = 1;
+    private int pageSize = 10;
 
-    @NotBlank(groups = {AddGroup.class})
+    @NotBlank(groups = {AddGroup.class, EditGroup.class})
     private String maintainName;
-    @NotBlank(groups = {AddGroup.class})
+    @NotBlank(groups = {AddGroup.class, EditGroup.class})
     private String maintainTelephone;
     private LocalDateTime enterTime;
     private LocalDateTime updateTime;
-    private int showDetele;
+    private Integer deleted;
 }

+ 9 - 7
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/vo/StoreVo.java

@@ -2,6 +2,7 @@ package com.ruoyi.demo.entity.vo;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.ruoyi.common.core.validate.AddGroup;
+import com.ruoyi.common.core.validate.EditGroup;
 import com.ruoyi.demo.entity.Store;
 import lombok.Data;
 
@@ -11,12 +12,13 @@ import java.time.LocalDateTime;
 
 @Data
 public class StoreVo {
+    @NotBlank(groups={EditGroup.class})
     private String storeId;
-    @NotBlank(groups={AddGroup.class})
+    @NotBlank(groups={AddGroup.class, EditGroup.class})
     private String storeName;
-    @NotBlank(groups={AddGroup.class})
+    @NotBlank(groups={AddGroup.class, EditGroup.class})
     private String addrInfo;
-    @NotBlank(groups={AddGroup.class})
+    @NotBlank(groups={AddGroup.class, EditGroup.class})
     private String addrCode;
     private String addrCodeInfo;
 
@@ -27,12 +29,12 @@ public class StoreVo {
 
     private String searchText;
 
-    private int pageNum;
-    private int pageSize;
+    private int pageNum = 1;
+    private int pageSize = 10;
 
-    @NotBlank(groups={AddGroup.class})
+    @NotBlank(groups={AddGroup.class, EditGroup.class})
     private String principalName;
-    @NotBlank(groups={AddGroup.class})
+    @NotBlank(groups={AddGroup.class, EditGroup.class})
     private String principalTelephone;
 
 

+ 5 - 2
ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/EquipmentMapper.java

@@ -8,9 +8,12 @@ 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}")
+    @Update("update dl_equipment set equipment_name=#{equipmentName},annotation=#{annotation},addr_info=#{addrInfo},addr_code=#{addrCode},addr_code_info=#{addrCodeInfo},state=#{state},enter_time=#{enter_time},lat=#{lat},lng=#{lng},manufacturers=#{manufacturers},maintain_name=#{maintainName},maintain_telephone=#{maintainTelephone} where equipment_id = #{equipmentId} and deleted = 0")
     void updateEquipment(EquipmentVo equipmentVo);
 
-    @Update("update dl_equipment set store_id=#{storeId} where equipmentId = #{equipmentId}")
+    @Update("update dl_equipment set store_id=#{storeId} where equipment_id = #{equipmentId} and deleted = 0")
     void addStoreEquipment(EquipmentVo equipmentVo);
+
+    @Update("update dl_equipment set store_id=#{storeId} where equipment_id = #{equipmentId} and deleted = 0")
+    void deleteStoreEquipment(String[] equipmentIds);
 }

+ 1 - 1
ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/StoreMapper.java

@@ -8,6 +8,6 @@ import org.apache.ibatis.annotations.Update;
 
 @Mapper
 public interface StoreMapper extends BaseMapper<Store> {
-    @Update("update dl_store set store_name = #{storeName},addr_info=#{addrInfo},addr_code=#{addrCode},addr_code_info=#{addrCodeInfo},principal_name=#{principalName},principal_telephone={principalTelephone} where store_id=#{storeId}")
+    @Update("update dl_store set store_name = #{storeName},addr_info=#{addrInfo},addr_code=#{addrCode},addr_code_info=#{addrCodeInfo},principal_name=#{principalName},principal_telephone={principalTelephone},lat=#{lat},lng=#{lng},point=#{point} where store_id=#{storeId}")
     void updateStore(StoreVo storeVo);
 }

+ 9 - 1
ruoyi-demo/src/main/java/com/ruoyi/demo/service/AppService.java

@@ -1,19 +1,27 @@
 package com.ruoyi.demo.service;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.pagehelper.PageInfo;
 import com.ruoyi.demo.entity.App;
+import com.ruoyi.demo.entity.Commercial;
 import com.ruoyi.demo.entity.vo.AppVo;
 
+import java.util.List;
+
 public interface AppService {
     void addApp(AppVo appVo);
 
     void deleteApp(String[] appKeys);
 
-    PageInfo<App> getAppList(AppVo appVo);
+    PageInfo<App> getAppListByCommercialId(AppVo appVo);
 
     App getApp(AppVo appVo);
 
     void updateApp(AppVo appVo);
 
     void testCallBack(String callBack);
+
+    Page<App> getAppList(AppVo appVo);
+
+    List<Commercial> getCommercialList();
 }

+ 3 - 1
ruoyi-demo/src/main/java/com/ruoyi/demo/service/CommericalService.java

@@ -10,11 +10,13 @@ import java.util.List;
 public interface CommericalService {
     void addCommercial(CommercialVo commercialVo);
 
-    void deleteCommercial(String[] commercialIds);
+    String deleteCommercial(String[] commercialIds);
 
     Commercial getCommercial(String commercialId);
 
     HashMap getCommercialList(CommercialVo commercialVo);
 
     List<Commercial>  getCommercialName();
+
+    void updateCommercial(CommercialVo commercialVo);
 }

+ 20 - 2
ruoyi-demo/src/main/java/com/ruoyi/demo/service/EquipmentService.java

@@ -1,9 +1,15 @@
 package com.ruoyi.demo.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.pagehelper.PageInfo;
 import com.ruoyi.demo.entity.Equipment;
+import com.ruoyi.demo.entity.PlanItem;
+import com.ruoyi.demo.entity.bo.PlanItemBo;
 import com.ruoyi.demo.entity.vo.EquipmentVo;
+import com.ruoyi.demo.entity.vo.PlanItemVo;
 
+import java.util.HashMap;
 import java.util.List;
 
 public interface EquipmentService {
@@ -15,9 +21,21 @@ public interface EquipmentService {
 
     void deleteEquipment(String[] equipmentIds);
 
-    PageInfo<Equipment> getEquipmentBySelect(EquipmentVo equipmentVo);
+    Page<Equipment> getEquipmentBySelect(EquipmentVo equipmentVo);
 
     void addStoreEquipment(EquipmentVo equipmentVo);
 
-    PageInfo<Equipment> getEquipmentByStoreId(EquipmentVo equipmentVo);
+    Page<Equipment> getEquipmentByStoreId(EquipmentVo equipmentVo);
+
+    IPage<PlanItemBo> getEquipmentPlanList(EquipmentVo equipmentVo);
+
+    void updateEquipmentPlan(PlanItemVo planItemVo);
+
+    int getEquipmentCount();
+
+    HashMap getEquipmentList(EquipmentVo equipmentVo);
+
+    void deleteStoreEquipment(String[] equipmentIds);
+
+    void deleteEquipmentPlan(String[] planItemIds);
 }

+ 50 - 4
ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/AppServiceImpl.java

@@ -1,15 +1,21 @@
 package com.ruoyi.demo.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
+import com.ruoyi.common.core.validate.QueryGroup;
 import com.ruoyi.demo.entity.App;
+import com.ruoyi.demo.entity.Commercial;
 import com.ruoyi.demo.entity.vo.AppVo;
 import com.ruoyi.demo.mapper.AppMapper;
+import com.ruoyi.demo.mapper.CommercialMapper;
 import com.ruoyi.demo.service.AppService;
 import com.ruoyi.demo.utils.UuidUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
 
 import java.time.LocalDateTime;
 import java.util.Arrays;
@@ -19,6 +25,9 @@ import java.util.List;
 public class AppServiceImpl implements AppService {
     @Autowired
     AppMapper appMapper;
+
+    @Autowired
+    CommercialMapper commercialMapper;
     @Override
     public void addApp(AppVo appVo) {
         App app = new App(appVo);
@@ -37,7 +46,7 @@ public class AppServiceImpl implements AppService {
     }
 
     @Override
-    public PageInfo<App> getAppList(AppVo appVo) {
+    public PageInfo<App> getAppListByCommercialId(AppVo appVo) {
         QueryWrapper<App> queryWrapper = new QueryWrapper<>();
         if (appVo.getSearchText() != null && !appVo.getSearchText().equals("")){
             queryWrapper.likeRight("app_key",appVo.getSearchText());
@@ -59,13 +68,50 @@ public class AppServiceImpl implements AppService {
 
     @Override
     public void updateApp(AppVo appVo) {
-        App app = new App(appVo);
-        app.setAppkey(appVo.getAppkey());
-        appMapper.updateApp(app);
+        UpdateWrapper<App> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.eq("appkey",appVo.getAppkey())
+            .set("app_logo",appVo.getAppLogo())
+            .set("app_name",appVo.getAppName())
+            .set("app_introduce",appVo.getAppIntroduce())
+            .set("commercial_id",appVo.getCommercialId())
+            .set("commercial_name",appVo.getCommercialName())
+            .set("state",appVo.getState())
+            .set("call_back",appVo.getCallBack())
+            .set("prove_1",appVo.getProve1())
+            .set("prove_2",appVo.getProve2())
+            .set("prove_3",appVo.getProve3())
+            .set("prove_4",appVo.getProve4())
+            .set("prove_5",appVo.getProve5())
+            .set("annotation",appVo.getAnnotation());
+        appMapper.update(null,updateWrapper);
     }
 
     @Override
     public void testCallBack(String callBack) {
         //TODO 发送请求
     }
+
+    @Override
+    public Page<App> getAppList(AppVo appVo) {
+        QueryWrapper<App> queryWrapper = new QueryWrapper<>();
+        if (appVo.getSearchText() != null && !appVo.getSearchText().equals("")){
+            queryWrapper.likeRight("app_key",appVo.getSearchText());
+            queryWrapper.or().like("app_name",appVo.getSearchText());
+            queryWrapper.or().likeRight("commercial_name",appVo.getSearchText());
+        }
+
+        Page<App> page = new Page<>();
+        page.setCurrent(appVo.getPageNum());
+        page.setSize(appVo.getPageSize());
+        Page<App> appPage = appMapper.selectPage(page, queryWrapper);
+        return appPage;
+    }
+
+    @Override
+    public List<Commercial> getCommercialList() {
+        QueryWrapper<Commercial> queryWrapper = new QueryWrapper<>();
+        queryWrapper.select("commercial_id","commercial_name");
+        List<Commercial> commercials = commercialMapper.selectList(queryWrapper);
+        return commercials;
+    }
 }

+ 49 - 11
ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/CommercialServiceImpl.java

@@ -2,9 +2,10 @@ package com.ruoyi.demo.service.impl;
 
 import cn.dev33.satoken.annotation.SaIgnore;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.github.pagehelper.Page;
-import com.github.pagehelper.PageHelper;
-import com.github.pagehelper.PageInfo;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.validate.AddGroup;
+import com.ruoyi.common.core.validate.EditGroup;
 import com.ruoyi.demo.entity.App;
 import com.ruoyi.demo.entity.Commercial;
 import com.ruoyi.demo.entity.bo.CommercialBo;
@@ -16,6 +17,7 @@ import com.ruoyi.demo.utils.InitMapUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.validation.constraints.NotBlank;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -27,6 +29,7 @@ import java.util.stream.Collectors;
 public class CommercialServiceImpl implements CommericalService {
     @Autowired
     CommercialMapper commercialMapper;
+
     @Autowired
     InitMapUtil initMapUtil;
 
@@ -41,8 +44,15 @@ public class CommercialServiceImpl implements CommericalService {
     }
 
     @Override
-    public void deleteCommercial(String[] commercialIds) {
+    public String deleteCommercial(String[] commercialIds) {
+        //1.判断旗下是否有小程序
+        QueryWrapper<App> queryWrapper = new QueryWrapper<>();
+        queryWrapper.in("commercial_id",commercialIds);
+        Long aLong = appMapper.selectCount(queryWrapper);
+        if (aLong != 0L)
+            return "待删除的商户中存在App";
         commercialMapper.deleteBatchIds(Arrays.asList(commercialIds));
+        return "删除成功";
     }
 
     @Override
@@ -60,21 +70,23 @@ public class CommercialServiceImpl implements CommericalService {
             queryWrapper.or().likeRight("principal_telephone",commercialVo.getSearchText());
         }
 
-        PageHelper.startPage(commercialVo.getPageNum(), commercialVo.getPageSize());
-        List<Commercial> commercials = commercialMapper.selectList(queryWrapper);
-        PageInfo<Commercial> pageInfo = new PageInfo<>(commercials);
+        Page<Commercial> page = new Page<>();
+        page.setCurrent(commercialVo.getPageNum());
+        page.setSize(commercialVo.getPageSize());
+        Page<Commercial> commercialPage = commercialMapper.selectPage(page, queryWrapper);
 
         //1.找到需要关联的小程序
         ArrayList<String> commercialIds = new ArrayList<>();
         List<CommercialBo> result = new ArrayList<>();
-        for (Commercial commercial : pageInfo.getList()) {
+        for (Commercial commercial : commercialPage.getRecords()) {
             commercialIds.add(commercial.getCommercialId());
             CommercialBo commercialBo = new CommercialBo(commercial);
             commercialBo.setApps(new ArrayList<>());
+            result.add(commercialBo);
         }
 
         QueryWrapper<App> queryWrapper1 = new QueryWrapper<>();
-        queryWrapper1.select("commercial_id","name");
+        queryWrapper1.select("commercial_id","app_name");
         queryWrapper1.in("commercial_id",commercialIds);
         List<App> apps = appMapper.selectList(queryWrapper1);
         //2.组装Bo
@@ -87,9 +99,9 @@ public class CommercialServiceImpl implements CommericalService {
             commercialBo.setApps(list);
         }
 
-        pageInfo.setList(null);
+        commercialPage.setRecords(null);
         HashMap<String, Object> objectObjectHashMap = new HashMap<>();
-        objectObjectHashMap.put("page",pageInfo);
+        objectObjectHashMap.put("page",commercialPage);
         objectObjectHashMap.put("data",result);
         return objectObjectHashMap;
     }
@@ -101,4 +113,30 @@ public class CommercialServiceImpl implements CommericalService {
         List<Commercial> commercials = commercialMapper.selectList(queryWrapper);
         return commercials;
     }
+
+    @Override
+    public void updateCommercial(CommercialVo commercialVo) {
+        //1.修改商户
+        UpdateWrapper<Commercial> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.eq("commercial_id",commercialVo.getCommercialId())
+                .set("commercial_name",commercialVo.getCommercialName())
+                .set("code",commercialVo.getCode())
+                .set("principal_name",commercialVo.getPrincipalName())
+                .set("principal_telephone",commercialVo.getPrincipalTelephone())
+                    .set("prove_1",commercialVo.getProve1())
+            .set("prove_2",commercialVo.getProve2())
+            .set("prove_3",commercialVo.getProve3())
+            .set("prove_4",commercialVo.getProve4())
+            .set("prove_5",commercialVo.getProve5())
+            .set("addr_code",commercialVo.getAddrCode())
+            .set("addr_code_info",initMapUtil.getInitAddrCodeMap(commercialVo.getAddrCode()))
+            .set("addr_info",commercialVo.getAddrInfo());
+        commercialMapper.update(null,updateWrapper);
+
+        //2.修改app中的商户名字
+        UpdateWrapper<App> updateWrapper1 = new UpdateWrapper<>();
+        updateWrapper1.eq("commercial_id",commercialVo.getCommercialId())
+            .set("commercial_name",commercialVo.getCommercialName());
+        appMapper.update(null,updateWrapper1);
+    }
 }

+ 169 - 15
ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/EquipmentServiceImpl.java

@@ -1,19 +1,31 @@
 package com.ruoyi.demo.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.ruoyi.demo.entity.Equipment;
+import com.ruoyi.demo.entity.Plan;
+import com.ruoyi.demo.entity.PlanItem;
+import com.ruoyi.demo.entity.Store;
+import com.ruoyi.demo.entity.bo.EquipmentBo;
+import com.ruoyi.demo.entity.bo.PlanBo;
+import com.ruoyi.demo.entity.bo.PlanItemBo;
 import com.ruoyi.demo.entity.vo.EquipmentVo;
+import com.ruoyi.demo.entity.vo.PlanItemVo;
 import com.ruoyi.demo.mapper.EquipmentMapper;
+import com.ruoyi.demo.mapper.PlanItemMapper;
+import com.ruoyi.demo.mapper.PlanMapper;
 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;
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
 
 @Service
 public class EquipmentServiceImpl implements EquipmentService {
@@ -21,20 +33,43 @@ public class EquipmentServiceImpl implements EquipmentService {
     EquipmentMapper equipmentMapper;
     @Autowired
     InitMapUtil initMapUtil;
+
+    @Autowired
+    PlanItemMapper planItemMapper;
+
+    @Autowired
+    PlanMapper planMapper;
     @Override
     public void addEquipment(EquipmentVo equipmentVo) {
         Equipment equipment = new Equipment(equipmentVo);
-        //地区码映射
+        //1.新增地区码映射
         equipment.setAddrCodeInfo(initMapUtil.getInitAddrCodeMap(equipment.getAddrCode()));
-        //时间
+        //2.新增创建时间
         equipment.setEnterTime(LocalDateTime.now());
         equipmentMapper.insert(equipment);
     }
 
     @Override
     public void updateEquipment(EquipmentVo equipmentVo) {
+        //1.更新地区码映射
         equipmentVo.setAddrCodeInfo(initMapUtil.getInitAddrCodeMap(equipmentVo.getAddrCode()));
-        equipmentMapper.updateEquipment(equipmentVo);
+        //2.更新时间
+        equipmentVo.setUpdateTime(LocalDateTime.now());
+        UpdateWrapper<Equipment> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.eq("equipment_id",equipmentVo.getEquipmentId());
+        updateWrapper.set("equipment_name",equipmentVo.getEquipmentName())
+            .set("annotation",equipmentVo.getAnnotation())
+            .set("addr_info",equipmentVo.getAddrInfo())
+            .set("addr_code",equipmentVo.getAddrCode())
+            .set("addr_code_info",equipmentVo.getAddrCode())
+            .set("state",equipmentVo.getState())
+            .set("lat",equipmentVo.getLat())
+            .set("lng",equipmentVo.getLng())
+            .set("manufacturers",equipmentVo.getManufacturers())
+            .set("maintain_name",equipmentVo.getMaintainName())
+            .set("maintain_telephone",equipmentVo.getMaintainTelephone())
+            .set("update_time",equipmentVo.getUpdateTime());
+        equipmentMapper.update(null,updateWrapper);
     }
 
     @Override
@@ -50,7 +85,7 @@ public class EquipmentServiceImpl implements EquipmentService {
 
 
     @Override
-    public PageInfo<Equipment> getEquipmentBySelect(EquipmentVo equipmentVo) {
+    public Page<Equipment> getEquipmentBySelect(EquipmentVo equipmentVo) {
         QueryWrapper<Equipment> queryWrapper = new QueryWrapper<>();
         queryWrapper.isNull("store_id");
         if (equipmentVo.getSearchText() != null && !equipmentVo.getSearchText().equals("")){
@@ -59,24 +94,143 @@ public class EquipmentServiceImpl implements EquipmentService {
                 queryWrapper1.or().like("equipment_name",equipmentVo.getSearchText());
             });
         }
-        PageHelper.startPage(equipmentVo.getPageNum(),equipmentVo.getPageSize());
-        List<Equipment> equipment = equipmentMapper.selectList(queryWrapper);
-        PageInfo<Equipment> pageInfo = new PageInfo<>(equipment);
+
+        Page<Equipment> page = new Page<>();
+        page.setCurrent(equipmentVo.getPageNum());
+        page.setSize(equipmentVo.getPageSize());
+        Page<Equipment> pageInfo = equipmentMapper.selectPage(page, queryWrapper);
         return pageInfo;
     }
 
     @Override
     public void addStoreEquipment(EquipmentVo equipmentVo) {
-        equipmentMapper.addStoreEquipment(equipmentVo);
+        UpdateWrapper<Equipment> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.eq("equipment_id",equipmentVo.getEquipmentId());
+        updateWrapper.set("store_id",equipmentVo.getStoreId());
+        equipmentMapper.update(null,updateWrapper);
     }
 
     @Override
-    public PageInfo<Equipment> getEquipmentByStoreId(EquipmentVo equipmentVo) {
+    public Page<Equipment> getEquipmentByStoreId(EquipmentVo equipmentVo) {
         QueryWrapper<Equipment> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("store",equipmentVo.getStoreId());
-        PageHelper.startPage(equipmentVo.getPageNum(),equipmentVo.getPageSize());
-        List<Equipment> equipment = equipmentMapper.selectList(queryWrapper);
-        PageInfo<Equipment> pageInfo = new PageInfo<>(equipment);
+        queryWrapper.eq("store_id",equipmentVo.getStoreId());
+        Page<Equipment> page = new Page<>();
+        page.setCurrent(equipmentVo.getPageNum());
+        page.setSize(equipmentVo.getPageSize());
+        Page<Equipment> pageInfo = equipmentMapper.selectPage(page, queryWrapper);
         return pageInfo;
     }
+
+    /**
+     * TODO 待测试
+     * @param equipmentVo
+     * @return
+     */
+    @Override
+    public IPage<PlanItemBo> getEquipmentPlanList(EquipmentVo equipmentVo) {
+        Page<PlanItemBo> page = new Page<>();
+        page.setCurrent(equipmentVo.getPageNum());
+        page.setSize(equipmentVo.getPageSize());
+
+        QueryWrapper<PlanItemBo> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("equipment_id",equipmentVo.getEquipmentId());
+        if (equipmentVo.getSearchText() != null && !equipmentVo.getSearchText().equals("")){
+            queryWrapper.and(planItemBoQueryWrapper -> {
+                planItemBoQueryWrapper.likeRight("plan_id",equipmentVo.getSearchText()).or()
+                    .like("plan_name",equipmentVo.getSearchText());
+            });
+        }
+        queryWrapper.orderByDesc("sort");
+        IPage<PlanItemBo> euipmentPlanList = planItemMapper.getEuipmentPlanList(page, queryWrapper);
+        return euipmentPlanList;
+    }
+
+    @Override
+    public void updateEquipmentPlan(PlanItemVo planItemVo) {
+        UpdateWrapper<PlanItem> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.eq("item_id",planItemVo.getItemId());
+        updateWrapper.set("sort",planItemVo.getSort());
+        planItemMapper.update(null,updateWrapper);
+    }
+
+    @Override
+    public int getEquipmentCount() {
+        return Math.toIntExact(equipmentMapper.selectCount(null));
+    }
+
+    @Override
+    public HashMap getEquipmentList(EquipmentVo equipmentVo) {
+        QueryWrapper<Equipment> queryWrapper = new QueryWrapper<>();
+        if (equipmentVo.getSearchText() != null && !equipmentVo.getSearchText().equals("")){
+            queryWrapper.likeRight("equipment_id",equipmentVo.getSearchText());
+            queryWrapper.or().like("equipment_name",equipmentVo.getSearchText());
+            queryWrapper.or().like("maintain_name",equipmentVo.getSearchText());
+            queryWrapper.or().likeRight("maintain_telephone",equipmentVo.getSearchText());
+        }
+
+        if (equipmentVo.getState() != null){
+            queryWrapper.and(equipmentQueryWrapper -> {
+                equipmentQueryWrapper.eq("state",equipmentVo.getState());
+            });
+        }
+
+        if (equipmentVo.getOnState() != null){
+            queryWrapper.and(equipmentQueryWrapper -> {
+                equipmentQueryWrapper.eq("on_state",equipmentVo.getOnState());
+            });
+        }
+
+        //查询设备
+        Page<Equipment> page = new Page();
+        page.setCurrent(equipmentVo.getPageNum());
+        page.setSize(equipmentVo.getPageSize());
+        Page<Equipment> equipmentPage = equipmentMapper.selectPage(page, queryWrapper);
+
+        //查询广告数
+        List<String> collect = equipmentPage.getRecords().stream().map(item -> {
+            return item.getEquipmentId();
+        }).collect(Collectors.toList());
+        QueryWrapper<PlanItem> queryWrapper1 = new QueryWrapper<>();
+        queryWrapper1.select("equipment_id","count(*) as sort");
+        queryWrapper1.in("equipment_id",collect);
+        queryWrapper1.groupBy("equipment_id");
+        List<PlanItem> planItems = planItemMapper.selectList(queryWrapper1);
+        HashMap<String, Integer> hashMap = new HashMap<>();
+        for (PlanItem planItem : planItems) {
+            hashMap.put(planItem.getEquipmentId(),planItem.getSort());
+        }
+
+        //组装
+        List<EquipmentBo> result = new ArrayList<>();
+        for (Equipment equipment1 : equipmentPage.getRecords()) {
+            EquipmentBo equipmentBo = new EquipmentBo(equipment1);
+            Integer integer = hashMap.get(equipmentBo.getEquipmentId());
+            if (integer == null){
+                equipmentBo.setPlanCounnt(0);
+            }else {
+                equipmentBo.setPlanCounnt(integer);
+            }
+            result.add(equipmentBo);
+        }
+        HashMap<String, Object> objectObjectHashMap = new HashMap<>();
+        equipmentPage.setRecords(null);
+        objectObjectHashMap.put("page",equipmentPage);
+        objectObjectHashMap.put("data",result);
+        return objectObjectHashMap;
+    }
+
+    @Override
+    public void deleteStoreEquipment(String[] equipmentIds) {
+        UpdateWrapper<Equipment> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.in("equipment_id",equipmentIds);
+        updateWrapper.set("store_id",null);
+        equipmentMapper.update(null,updateWrapper);
+    }
+
+    @Override
+    public void deleteEquipmentPlan(String[] planItemIds) {
+        planItemMapper.deleteBatchIds(Arrays.asList(planItemIds));
+    }
+
+
 }

+ 31 - 10
ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/StoreServiceImpl.java

@@ -1,7 +1,8 @@
 package com.ruoyi.demo.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.github.pagehelper.Page;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.ruoyi.demo.entity.Equipment;
@@ -44,11 +45,29 @@ public class StoreServiceImpl implements StoreService {
     @Override
     public void updateStore(StoreVo storeVo) {
         storeVo.setAddrCodeInfo(initMapUtil.getInitAddrCodeMap(storeVo.getAddrCode()));
-        storeMapper.updateStore(storeVo);
+        UpdateWrapper<Store> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.eq("store_id",storeVo.getStoreId())
+        .set("store_name",storeVo.getStoreName())
+            .set("addr_info",storeVo.getAddrInfo())
+            .set("addr_code",storeVo.getAddrCode())
+            .set("addr_code_info",storeVo.getAddrCodeInfo())
+            .set("principal_name",storeVo.getPrincipalName())
+            .set("principal_telephone",storeVo.getPrincipalTelephone())
+            .set("lat",storeVo.getLat())
+            .set("lng",storeVo.getLng())
+            .set("point",storeVo.getPoint());
+        storeMapper.update(null,updateWrapper);
     }
 
     @Override
     public void deleteStore(String[] storeIds) {
+        //1.移除店铺旗下的所有店铺
+        UpdateWrapper<Equipment> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.in("store_id",storeIds);
+        updateWrapper.set("store_id",null);
+        equipmentMapper.update(null,updateWrapper);
+
+        //2.删除店铺
         storeMapper.deleteBatchIds(Arrays.asList(storeIds));
     }
 
@@ -59,15 +78,17 @@ public class StoreServiceImpl implements StoreService {
     public HashMap getStoreList(StoreVo storeVo) {
         //1.找到所有店铺列表
         QueryWrapper<Store> queryWrapper = new QueryWrapper<>();
-        if(storeVo.getSearchText() != null && !storeVo.getStoreName().equals("")){
+        if(storeVo.getSearchText() != null && !storeVo.getSearchText().equals("")){
             queryWrapper.like("store_name",storeVo.getSearchText());
         }
-        PageHelper.startPage(storeVo.getPageNum(),storeVo.getPageSize());
-        List<Store> stores = storeMapper.selectList(queryWrapper);
-        PageInfo<Store> pageInfo = new PageInfo<>(stores);
+
+        Page<Store> page = new Page<>();
+        page.setCurrent(storeVo.getPageNum());
+        page.setSize(storeVo.getPageSize());
+        Page<Store> pageInfo = storeMapper.selectPage(page, queryWrapper);
 
         //2.找到子设备
-        List<String> collect = pageInfo.getList().stream().map(item -> {
+        List<String> collect = pageInfo.getRecords().stream().map(item -> {
             return item.getStoreId();
         }).collect(Collectors.toList());
         QueryWrapper<Equipment> queryWrapper1 = new QueryWrapper<>();
@@ -78,16 +99,16 @@ public class StoreServiceImpl implements StoreService {
 
         List<StoreBo> storeBos = new ArrayList<>();
         //组装
-        for (Store store : pageInfo.getList()) {
+        for (Store store : pageInfo.getRecords()) {
             StoreBo storeBo = new StoreBo(store);
             storeBo.setCount(findEquipmentCount(store.getStoreId(),equipments));
             storeBos.add(storeBo);
         }
 
-        pageInfo.setList(null);
+        pageInfo.setRecords(null);
         HashMap<String, Object> objectObjectHashMap = new HashMap<>();
         objectObjectHashMap.put("page",pageInfo);
-        objectObjectHashMap.put("data",stores);
+        objectObjectHashMap.put("data",storeBos);
         return objectObjectHashMap;
     }