Yangyz 1 سال پیش
والد
کامیت
df104ed470

+ 2 - 2
.run/digital-investment.run.xml

@@ -1,5 +1,5 @@
 <component name="ProjectRunConfigurationManager">
-  <configuration default="false" name="digital-investment" type="docker-deploy" factoryName="dockerfile" singleton="false" server-name="lbszzs">
+  <configuration default="false" name="digital-investment" type="docker-deploy" factoryName="dockerfile" singleton="false" server-name="vpn-数字">
     <deployment type="dockerfile">
       <settings>
         <option name="imageTag" value="digital-investment" />
@@ -26,4 +26,4 @@
     </deployment>
     <method v="2" />
   </configuration>
-</component>
+</component>

+ 1 - 1
ruoyi-admin/src/main/resources/application-test.yml

@@ -9,7 +9,7 @@ server:
 --- # 监控中心配置
 spring.boot.admin.client:
   # 增加客户端开关
-  enabled: true
+  enabled: false
   url: http://localhost:9090/admin
   instance:
     service-host-type: IP

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

@@ -164,7 +164,7 @@ mybatis-plus:
     # 更详细的日志输出 会有性能损耗 org.apache.ibatis.logging.stdout.StdOutImpl
     # 关闭日志记录 (可单纯使用 p6spy 分析) org.apache.ibatis.logging.nologging.NoLoggingImpl
     # 默认日志输出 org.apache.ibatis.logging.slf4j.Slf4jImpl
-    logImpl: org.apache.ibatis.logging.nologging.NoLoggingImpl
+    logImpl: org.apache.ibatis.logging.stdout.StdOutImpl
 #  global-config:
 #    # 是否打印 Logo banner
 #    banner: true

+ 14 - 4
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/EquipmentController.java

@@ -1,6 +1,8 @@
 package com.ruoyi.demo.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.dev33.satoken.annotation.SaIgnore;
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.pagehelper.PageInfo;
@@ -47,11 +49,18 @@ public class EquipmentController {
     @PostMapping("/addEquipment")
     public R addEquipment(@RequestBody @Validated(value = {AddGroup.class}) EquipmentVo equipmentVo){
         Integer integer = equipmentService.addEquipment(equipmentVo);
-        if (integer == 0)
+        if (integer == 0) {
             return R.fail("添加失败,设备编号已存在");
+        }
         return R.ok();
     }
 
+    @PostMapping("/getCode")
+    @SaIgnore
+    public R getCode(){
+        return R.ok(equipmentService.getCode());
+    }
+
     /**
      * 修改设备信息
      * @param equipmentVo
@@ -150,8 +159,9 @@ public class EquipmentController {
     @SaCheckPermission("szzs:equipment:add")
     @PutMapping("/addStoreEquipment")
     public R addStoreEquipment(@RequestBody @Validated(value = {QueryGroup.class}) EquipmentVo equipmentVo){
-        if (equipmentVo.getStoreId() == null || equipmentVo.getStoreId().equals(""))
+        if (ObjectUtil.isNull(equipmentVo.getStoreId())) {
             return R.fail("添加失败");
+        }
         equipmentService.addStoreEquipment(equipmentVo);
         return R.ok();
     }
@@ -245,9 +255,9 @@ public class EquipmentController {
     @GetMapping ("/equipmentOnStateChange")
     public R equipmentOnStateChange(@NotBlank @RequestParam("equipmentCode") String equipmentCode,@NotBlank @RequestParam("change")String change){
         String s = null;
-        if (change.equals("true")){
+        if ("true".equals(change)){
             s = equipmentService.equipmentOnStateWakeup(equipmentCode);
-        }else if(change.equals("false")){
+        }else if("false".equals(change)){
             s = equipmentService.equipmentOnStatedormancy(equipmentCode);
         }
         return R.ok(s);

+ 9 - 25
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/PlanController.java

@@ -6,6 +6,7 @@ import cn.dev33.satoken.stp.StpUtil;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.validate.AddGroup;
+import com.ruoyi.demo.entity.Plan;
 import com.ruoyi.demo.entity.bo.PlanAddBo;
 import com.ruoyi.demo.entity.bo.PlanBo;
 import com.ruoyi.demo.entity.bo.UpDownBo;
@@ -34,12 +35,7 @@ public class PlanController {
     @SaCheckPermission("szzs:planManage:update")
     @PutMapping("/{planId}")
     public R planUpDown(@PathVariable String planId){
-        int i = planService.planUpDown(planId);
-        if (i == 1)
-            return R.ok("成功");
-        if (i == -1)
-            return R.fail("计划不存在");
-        return R.fail("失败");
+        return planService.planUpDown(planId);
     }
     /**
      * 查询广告计划列表
@@ -148,17 +144,12 @@ public class PlanController {
     @SaIgnore
     @PostMapping()
     public R addPlan(@RequestBody @Validated(value = {AddGroup.class}) PlanAddBo bo){
-        if (bo.getPlanStartTime() != null && bo.getPlanEndTime() != null)
-            if (bo.getPlanStartTime().compareTo(bo.getPlanEndTime()) > 0)
+        if (bo.getPlanStartTime() != null && bo.getPlanEndTime() != null) {
+            if (bo.getPlanStartTime().compareTo(bo.getPlanEndTime()) > 0) {
                 return R.fail("起始时间不能大于结束时间");
-        String i = planService.addPlan(bo);
-        if ("0".equals(i))
-            return R.fail("添加失败");
-        if ("-1".equals(i))
-            return R.fail("无效的appkey");
-        if ("-3".equals(i))
-            return R.fail("校验sign出错");
-        return R.ok(i);
+            }
+        }
+        return planService.addPlan(bo);
     }
     /**
      * 删除广告推送计划
@@ -196,15 +187,8 @@ public class PlanController {
      */
     @SaIgnore
     @PostMapping("/push")
-    public R planPushUpDown(@RequestBody UpDownBo bo){
-        int i = planService.planPushUpDown(bo);
-        if (i == 1)
-            return R.ok("上架/下架成功");
-        if (i == -1)
-            return R.fail("无效的appkey");
-        if (i == -3)
-            return R.fail("校验sign出错");
-        return R.fail("上架/下架失败");
+    public R<?> planPushUpDown(@RequestBody UpDownBo bo){
+        return planService.planPushUpDown(bo);
     }
 
     /**

+ 31 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/entity/SysCode.java

@@ -0,0 +1,31 @@
+package com.ruoyi.demo.entity;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import com.baomidou.mybatisplus.annotation.*;
+
+import java.util.Date;
+import java.math.BigDecimal;
+import java.io.Serializable;
+
+/**
+ * (SysCode)表实体类
+ *
+ * @author Yyz
+ * @since 2024-01-09 09:15:03
+ */
+@TableName("sys_code")
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class SysCode implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "code",type = IdType.ASSIGN_ID)
+    private String code;
+}

+ 15 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/mapper/SysCodeMapper.java

@@ -0,0 +1,15 @@
+package com.ruoyi.demo.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.demo.entity.SysCode;
+
+/**
+ * (SysCode)表数据库访问层
+ *
+ * @author Yyz
+ * @since 2024-01-09 09:15:03
+ */
+public interface SysCodeMapper extends BaseMapper<SysCode> {
+
+}

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

@@ -2,17 +2,14 @@ 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.common.core.domain.R;
 import com.ruoyi.demo.entity.Equipment;
-import com.ruoyi.demo.entity.PlanItem;
 import com.ruoyi.demo.entity.bo.EquipmentBo;
 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 {
     Integer addEquipment(EquipmentVo equipmentVo);
@@ -44,4 +41,6 @@ public interface EquipmentService {
     String equipmentOnStatedormancy(String equipmentCode);
 
     String equipmentOnStateWakeup(String equipmentCode);
+
+    String getCode();
 }

+ 5 - 3
ruoyi-demo/src/main/java/com/ruoyi/demo/service/PlanService.java

@@ -1,9 +1,11 @@
 package com.ruoyi.demo.service;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.R;
 import com.ruoyi.demo.entity.AddrCategory;
 import com.ruoyi.demo.entity.Equipment;
 import com.ruoyi.demo.entity.MyPage;
+import com.ruoyi.demo.entity.Plan;
 import com.ruoyi.demo.entity.bo.PlanAddBo;
 import com.ruoyi.demo.entity.bo.PlanBo;
 import com.ruoyi.demo.entity.bo.UpDownBo;
@@ -14,7 +16,7 @@ import java.util.List;
 public interface PlanService {
     String getSign(PlanAddBo bo);
 
-    String addPlan(PlanAddBo bo);
+    R<Plan> addPlan(PlanAddBo bo);
 
     int deletePlan(String id);
 
@@ -32,10 +34,10 @@ public interface PlanService {
     List<PlanPushVo> getPlanPushByCode(String equipmentCode);
 
     // 上下架广告计划
-    int planUpDown(String planId);
+    R<Integer> planUpDown(String planId);
 
     // 上下架广告
-    int planPushUpDown(UpDownBo bo);
+    R<?> planPushUpDown(UpDownBo bo);
     String pushGetSign(UpDownBo bo);
 
     MyPage<PlanManageListVo> getPlanManageList(PlanBo bo);

+ 15 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/service/SysCodeService.java

@@ -0,0 +1,15 @@
+package com.ruoyi.demo.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.demo.entity.SysCode;
+
+/**
+ * (SysCode)表服务接口
+ *
+ * @author Yyz
+ * @since 2024-01-09 09:15:03
+ */
+public interface SysCodeService extends IService<SysCode> {
+
+}

+ 145 - 106
ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/EquipmentServiceImpl.java

@@ -1,35 +1,34 @@
 package com.ruoyi.demo.service.impl;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjUtil;
 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.common.core.domain.R;
-import com.ruoyi.demo.config.MtStarProperties;
 import com.ruoyi.demo.entity.*;
 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.enums.EquipmentStateEnum;
 import com.ruoyi.demo.mapper.*;
 import com.ruoyi.demo.service.EquipmentService;
+import com.ruoyi.demo.service.SysCodeService;
 import com.ruoyi.demo.utils.InitMapUtil;
 import com.ruoyi.demo.utils.MtStarUtil;
+import com.ruoyi.demo.utils.UuidUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.time.LocalDateTime;
-import java.time.ZoneId;
-import java.util.*;
-import java.util.concurrent.CompletableFuture;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
 import java.util.stream.Collectors;
 
 @Service
@@ -59,18 +58,22 @@ public class EquipmentServiceImpl implements EquipmentService {
 
     @Autowired
     @Qualifier("equipmentStateMap")
-    HashMap<Integer,String> equipmentStateMap;
+    HashMap<Integer, String> equipmentStateMap;
 
     @Autowired
     @Qualifier("equipmentOnStateMap")
-    HashMap<Integer,String> equipmentOnStateMap;
+    HashMap<Integer, String> equipmentOnStateMap;
 
     @Autowired
     MtStarUtil mtStarUtil;
 
+    @Autowired
+    private SysCodeService sysCodeService;
+
 
     /**
      * 添加设备
+     *
      * @param equipmentVo
      * @return
      */
@@ -80,7 +83,7 @@ public class EquipmentServiceImpl implements EquipmentService {
         QueryWrapper<Equipment> equipmentCode = new QueryWrapper<>();
         equipmentCode.eq("equipment_code", equipmentVo.getEquipmentCode());
         Long aLong = equipmentMapper.selectCount(equipmentCode);
-        if (aLong == 0){
+        if (aLong == 0) {
             Equipment equipment = new Equipment(equipmentVo);
             //1.新增地区码映射
 
@@ -94,6 +97,7 @@ public class EquipmentServiceImpl implements EquipmentService {
 
     /**
      * 修改设备信息
+     *
      * @param equipmentVo
      * @return
      */
@@ -101,72 +105,72 @@ public class EquipmentServiceImpl implements EquipmentService {
     public R updateEquipment(EquipmentVo equipmentVo) {
         //查找是否存在该设备
         QueryWrapper<Equipment> queryWrapper = new QueryWrapper<>();
-        queryWrapper.select("equipment_name","equipment_code","addr_info","addr_code","addr_code_info");
-        queryWrapper.eq("equipment_id",equipmentVo.getEquipmentId());
+        queryWrapper.select("equipment_name", "equipment_code", "addr_info", "addr_code", "addr_code_info");
+        queryWrapper.eq("equipment_id", equipmentVo.getEquipmentId());
         Equipment equipment = equipmentMapper.selectOne(queryWrapper);
 
-        if (equipment != null){
+        if (equipment != null) {
             //2.更新时间
             equipmentVo.setUpdateTime(DateUtil.date());
             UpdateWrapper<Equipment> updateWrapper = new UpdateWrapper<>();
-            updateWrapper.eq("equipment_id",equipmentVo.getEquipmentId());
-            updateWrapper.set("equipment_name",equipmentVo.getEquipmentName())
-                .set("equipment_code",equipmentVo.getEquipmentCode())
-                .set("annotation",equipmentVo.getAnnotation())
-                .set("addr_info",equipmentVo.getAddrInfo())
-                .set("addr_code",equipmentVo.getAddrCode())
-                .set("addr_code_info",equipmentVo.getAddrCodeInfo())
-                .set("state",equipmentVo.getState())
-                .set("on_state",equipmentVo.getOnState())
-                .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);
+            updateWrapper.eq("equipment_id", equipmentVo.getEquipmentId());
+            updateWrapper.set("equipment_name", equipmentVo.getEquipmentName())
+                .set("equipment_code", equipmentVo.getEquipmentCode())
+                .set("annotation", equipmentVo.getAnnotation())
+                .set("addr_info", equipmentVo.getAddrInfo())
+                .set("addr_code", equipmentVo.getAddrCode())
+                .set("addr_code_info", equipmentVo.getAddrCodeInfo())
+                .set("state", equipmentVo.getState())
+                .set("on_state", equipmentVo.getOnState())
+                .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);
 
             //修改冗余字段
-            if (!equipment.getEquipmentName().equals(equipmentVo.getEquipmentName()) || !equipment.getEquipmentCode().equals(equipmentVo.getEquipmentCode()) || !equipment.getAddrCode().equals(equipmentVo.getAddrCode())){
+            if (!equipment.getEquipmentName().equals(equipmentVo.getEquipmentName()) || !equipment.getEquipmentCode().equals(equipmentVo.getEquipmentCode()) || !equipment.getAddrCode().equals(equipmentVo.getAddrCode())) {
                 UpdateWrapper<PlanItem> updateWrapper1 = new UpdateWrapper<>();
-                updateWrapper1.eq("equipment_id",equipmentVo.getEquipmentId());
-                updateWrapper1.set("equipment_name",equipmentVo.getEquipmentName())
-                    .set("equipment_code",equipmentVo.getEquipmentCode())
-                    .set("addr_info",equipmentVo.getAddrInfo())
-                    .set("addr_code",equipmentVo.getAddrCode())
-                    .set("addr_code_info",equipmentVo.getAddrCodeInfo());
-                planItemMapper.update(null,updateWrapper1);
+                updateWrapper1.eq("equipment_id", equipmentVo.getEquipmentId());
+                updateWrapper1.set("equipment_name", equipmentVo.getEquipmentName())
+                    .set("equipment_code", equipmentVo.getEquipmentCode())
+                    .set("addr_info", equipmentVo.getAddrInfo())
+                    .set("addr_code", equipmentVo.getAddrCode())
+                    .set("addr_code_info", equipmentVo.getAddrCodeInfo());
+                planItemMapper.update(null, updateWrapper1);
             }
 
 
-            if (!equipment.getEquipmentName().equals(equipmentVo.getEquipmentName()) || !equipment.getEquipmentCode().equals(equipmentVo.getEquipmentCode())){
+            if (!equipment.getEquipmentName().equals(equipmentVo.getEquipmentName()) || !equipment.getEquipmentCode().equals(equipmentVo.getEquipmentCode())) {
                 UpdateWrapper<Statistics> updateWrapper2 = new UpdateWrapper<>();
-                updateWrapper2.eq("equipment_id",equipmentVo.getEquipmentId());
-                updateWrapper2.set("equipment_name",equipmentVo.getEquipmentName())
-                    .set("equipment_code",equipmentVo.getEquipmentCode());
-                statisticsMapper.update(null,updateWrapper2);
+                updateWrapper2.eq("equipment_id", equipmentVo.getEquipmentId());
+                updateWrapper2.set("equipment_name", equipmentVo.getEquipmentName())
+                    .set("equipment_code", equipmentVo.getEquipmentCode());
+                statisticsMapper.update(null, updateWrapper2);
 
                 UpdateWrapper<DlUser> updateWrapper3 = new UpdateWrapper<>();
-                updateWrapper3.eq("start_equipment_id",equipmentVo.getEquipmentId());
-                updateWrapper3.set("start_equipment_name",equipmentVo.getEquipmentName())
-                    .set("start_equipment_code",equipmentVo.getEquipmentCode());
-                dlUserMapper.update(null,updateWrapper3);
+                updateWrapper3.eq("start_equipment_id", equipmentVo.getEquipmentId());
+                updateWrapper3.set("start_equipment_name", equipmentVo.getEquipmentName())
+                    .set("start_equipment_code", equipmentVo.getEquipmentCode());
+                dlUserMapper.update(null, updateWrapper3);
 
                 UpdateWrapper<DlUser> updateWrapper4 = new UpdateWrapper<>();
-                updateWrapper4.eq("end_equipment_id",equipmentVo.getEquipmentId());
-                updateWrapper4.set("end_equipment_name",equipmentVo.getEquipmentName())
-                    .set("end_equipment_code",equipmentVo.getEquipmentCode());
-                dlUserMapper.update(null,updateWrapper4);
+                updateWrapper4.eq("end_equipment_id", equipmentVo.getEquipmentId());
+                updateWrapper4.set("end_equipment_name", equipmentVo.getEquipmentName())
+                    .set("end_equipment_code", equipmentVo.getEquipmentCode());
+                dlUserMapper.update(null, updateWrapper4);
 
                 UpdateWrapper<PlanPushStatistics> updateWrapper5 = new UpdateWrapper<>();
-                updateWrapper5.eq("equipment_id",equipmentVo.getEquipmentId());
-                updateWrapper5.set("equipment_name",equipmentVo.getEquipmentName())
-                    .set("equipment_code",equipmentVo.getEquipmentCode());
-                planPushStatisticsMapper.update(null,updateWrapper5);
+                updateWrapper5.eq("equipment_id", equipmentVo.getEquipmentId());
+                updateWrapper5.set("equipment_name", equipmentVo.getEquipmentName())
+                    .set("equipment_code", equipmentVo.getEquipmentCode());
+                planPushStatisticsMapper.update(null, updateWrapper5);
             }
 
             return R.ok("修改成功");
-        }else {
+        } else {
             return R.fail("设备不存在");
         }
 
@@ -175,6 +179,7 @@ public class EquipmentServiceImpl implements EquipmentService {
 
     /**
      * 获取设备详细信息
+     *
      * @param equipmentId
      * @return
      */
@@ -187,6 +192,7 @@ public class EquipmentServiceImpl implements EquipmentService {
 
     /**
      * 删除设备(需要考虑设备下有没有广告计划存在)
+     *
      * @param equipmentIds
      * @return
      */
@@ -194,16 +200,17 @@ public class EquipmentServiceImpl implements EquipmentService {
     public R deleteEquipment(String[] equipmentIds) {
         //1.查询设备下身份有广告
         QueryWrapper<PlanItemBo> queryWrapper = new QueryWrapper<>();
-        queryWrapper.in("equipment_id",equipmentIds);
+        queryWrapper.in("equipment_id", equipmentIds);
         queryWrapper.and(planItemBoQueryWrapper -> {
-            planItemBoQueryWrapper.eq("dl_plan_item.deleted",0);
+            planItemBoQueryWrapper.eq("dl_plan_item.deleted", 0);
         });
         queryWrapper.and(planItemBoQueryWrapper -> {
-            planItemBoQueryWrapper.gt("plan_end_time",DateUtil.date());
+            planItemBoQueryWrapper.gt("plan_end_time", DateUtil.date());
         });
         Integer count = planItemMapper.getEuipmentPlanCont(queryWrapper);
-        if (count > 0)
+        if (count > 0) {
             return R.fail("设备下存在广告计划,请移除广告后在删除设备");
+        }
         equipmentMapper.deleteBatchIds(Arrays.asList(equipmentIds));
         return R.ok("移除成功");
     }
@@ -211,6 +218,7 @@ public class EquipmentServiceImpl implements EquipmentService {
 
     /**
      * 获取没有绑定店铺的设备
+     *
      * @param equipmentVo
      * @return
      */
@@ -218,11 +226,11 @@ public class EquipmentServiceImpl implements EquipmentService {
     public Page<Equipment> getEquipmentBySelect(EquipmentVo equipmentVo) {
         QueryWrapper<Equipment> queryWrapper = new QueryWrapper<>();
         queryWrapper.isNull("store_id");
-        if (equipmentVo.getSearchText() != null && !equipmentVo.getSearchText().equals("")){
+        if (ObjUtil.isNotNull(equipmentVo.getSearchText())) {
             queryWrapper.and(queryWrapper1 -> {
-                queryWrapper1.likeRight("equipment_id",equipmentVo.getSearchText());
-                queryWrapper1.or().like("equipment_name",equipmentVo.getSearchText());
-                queryWrapper1.or().like("equipment_code",equipmentVo.getSearchText());
+                queryWrapper1.likeRight("equipment_id", equipmentVo.getSearchText());
+                queryWrapper1.or().like("equipment_name", equipmentVo.getSearchText());
+                queryWrapper1.or().like("equipment_code", equipmentVo.getSearchText());
             });
         }
 
@@ -235,25 +243,27 @@ public class EquipmentServiceImpl implements EquipmentService {
 
     /**
      * 绑定设备
+     *
      * @param equipmentVo
      */
     @Override
     public void addStoreEquipment(EquipmentVo equipmentVo) {
         UpdateWrapper<Equipment> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.eq("equipment_id",equipmentVo.getEquipmentId());
-        updateWrapper.set("store_id",equipmentVo.getStoreId());
-        equipmentMapper.update(null,updateWrapper);
+        updateWrapper.eq("equipment_id", equipmentVo.getEquipmentId());
+        updateWrapper.set("store_id", equipmentVo.getStoreId());
+        equipmentMapper.update(null, updateWrapper);
     }
 
     /**
      * 获取店铺下的设备列表
+     *
      * @param equipmentVo
      * @return
      */
     @Override
     public Page<Equipment> getEquipmentByStoreId(EquipmentVo equipmentVo) {
         QueryWrapper<Equipment> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("store_id",equipmentVo.getStoreId());
+        queryWrapper.eq("store_id", equipmentVo.getStoreId());
         Page<Equipment> page = new Page<>();
         page.setCurrent(equipmentVo.getPageNum());
         page.setSize(equipmentVo.getPageSize());
@@ -263,6 +273,7 @@ public class EquipmentServiceImpl implements EquipmentService {
 
     /**
      * 获取设备下的计划列表
+     *
      * @param equipmentVo
      * @return
      */
@@ -273,25 +284,25 @@ public class EquipmentServiceImpl implements EquipmentService {
         page.setSize(equipmentVo.getPageSize());
 
         QueryWrapper<PlanItemBo> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("equipment_id",equipmentVo.getEquipmentId());
+        queryWrapper.eq("equipment_id", equipmentVo.getEquipmentId());
         queryWrapper.and(planItemBoQueryWrapper -> {
-            planItemBoQueryWrapper.eq("dl_plan_item.deleted",0);  //没有删除
+            planItemBoQueryWrapper.eq("dl_plan_item.deleted", 0);  //没有删除
         });
         queryWrapper.and(planItemBoQueryWrapper -> {
-            planItemBoQueryWrapper.eq("dl_plan.state",1);  //审核通过
+            planItemBoQueryWrapper.eq("dl_plan.state", 1);  //审核通过
         });
         queryWrapper.and(planItemBoQueryWrapper -> {
-            planItemBoQueryWrapper.eq("dl_plan.on_state",1);  //上架
+            planItemBoQueryWrapper.eq("dl_plan.on_state", 1);  //上架
         });
         queryWrapper.and(planItemBoQueryWrapper -> {
-            planItemBoQueryWrapper.gt("plan_end_time",DateUtil.date());  //结束时间大于当前时间
+            planItemBoQueryWrapper.gt("plan_end_time", DateUtil.date());  //结束时间大于当前时间
         });
 
         queryWrapper.apply("dl_plan.`plan_id` = dl_plan_item.`plan_id`");
-        if (equipmentVo.getSearchText() != null && !equipmentVo.getSearchText().equals("")){
+        if (ObjUtil.isNotNull(equipmentVo.getSearchText())) {
             queryWrapper.and(planItemBoQueryWrapper -> {
-                planItemBoQueryWrapper.likeRight("plan_id",equipmentVo.getSearchText()).or()
-                    .like("plan_name",equipmentVo.getSearchText());
+                planItemBoQueryWrapper.likeRight("plan_id", equipmentVo.getSearchText()).or()
+                    .like("plan_name", equipmentVo.getSearchText());
             });
         }
         queryWrapper.orderByDesc("sort");
@@ -302,61 +313,64 @@ public class EquipmentServiceImpl implements EquipmentService {
 
     /**
      * 修改设备下的计划排序
+     *
      * @param planItemVo
      */
     @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);
+        updateWrapper.eq("item_id", planItemVo.getItemId());
+        updateWrapper.set("sort", planItemVo.getSort());
+        planItemMapper.update(null, updateWrapper);
     }
 
     /**
      * 获取设备数量
+     *
      * @return
      */
     @Override
     public HashMap getEquipmentCount() {
         QueryWrapper<Equipment> queryWrapper = new QueryWrapper<>();
-        queryWrapper.select("state","count(*) as onState");
+        queryWrapper.select("state", "count(*) as onState");
         queryWrapper.groupBy("state");
         List<Equipment> equipment = equipmentMapper.selectList(queryWrapper);
         HashMap<String, Integer> objectObjectHashMap = new HashMap<>();
         int total = 0;
         for (Equipment equipment1 : equipment) {
-            objectObjectHashMap.put(String.valueOf(equipment1.getState()),equipment1.getOnState());
-            total+=equipment1.getOnState();
+            objectObjectHashMap.put(String.valueOf(equipment1.getState()), equipment1.getOnState());
+            total += equipment1.getOnState();
         }
-        objectObjectHashMap.put("total",total);
+        objectObjectHashMap.put("total", total);
         return objectObjectHashMap;
     }
 
     /**
      * 获取设备列表
+     *
      * @param equipmentVo
      * @return
      */
     @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("equipment_code",equipmentVo.getSearchText());
-            queryWrapper.or().like("maintain_name",equipmentVo.getSearchText());
-            queryWrapper.or().likeRight("maintain_telephone",equipmentVo.getSearchText());
+        if (ObjUtil.isNotNull(equipmentVo.getSearchText())) {
+            queryWrapper.likeRight("equipment_id", equipmentVo.getSearchText());
+            queryWrapper.or().like("equipment_name", equipmentVo.getSearchText());
+            queryWrapper.or().like("equipment_code", equipmentVo.getSearchText());
+            queryWrapper.or().like("maintain_name", equipmentVo.getSearchText());
+            queryWrapper.or().likeRight("maintain_telephone", equipmentVo.getSearchText());
         }
 
-        if (equipmentVo.getState() != null){
+        if (equipmentVo.getState() != null) {
             queryWrapper.and(equipmentQueryWrapper -> {
-                equipmentQueryWrapper.eq("state",equipmentVo.getState());
+                equipmentQueryWrapper.eq("state", equipmentVo.getState());
             });
         }
 
-        if (equipmentVo.getOnState() != null){
+        if (equipmentVo.getOnState() != null) {
             queryWrapper.and(equipmentQueryWrapper -> {
-                equipmentQueryWrapper.eq("on_state",equipmentVo.getOnState());
+                equipmentQueryWrapper.eq("on_state", equipmentVo.getOnState());
             });
         }
         queryWrapper.orderByDesc("enter_time");
@@ -373,23 +387,23 @@ public class EquipmentServiceImpl implements EquipmentService {
 
         HashMap<String, Integer> hashMap = new HashMap<>();
         List<EquipmentBo> result = new ArrayList<>();
-        if(!collect.isEmpty()){
+        if (!collect.isEmpty()) {
             QueryWrapper<PlanItem> queryWrapper1 = new QueryWrapper<>();
-            queryWrapper1.select("equipment_id","count(*) as sort");
-            queryWrapper1.in("equipment_id",collect);
+            queryWrapper1.select("equipment_id", "count(*) as sort");
+            queryWrapper1.in("equipment_id", collect);
             queryWrapper1.groupBy("equipment_id");
             List<PlanItem> planItems = planItemMapper.selectList(queryWrapper1);
             for (PlanItem planItem : planItems) {
-                hashMap.put(planItem.getEquipmentId(),planItem.getSort());
+                hashMap.put(planItem.getEquipmentId(), planItem.getSort());
             }
 
             //组装
             for (Equipment equipment1 : equipmentPage.getRecords()) {
                 EquipmentBo equipmentBo = new EquipmentBo(equipment1);
                 Integer integer = hashMap.get(equipmentBo.getEquipmentId());
-                if (integer == null){
+                if (integer == null) {
                     equipmentBo.setPlanCounnt(0);
-                }else {
+                } else {
                     equipmentBo.setPlanCounnt(integer);
                 }
                 result.add(equipmentBo);
@@ -399,25 +413,27 @@ public class EquipmentServiceImpl implements EquipmentService {
 
         HashMap<String, Object> objectObjectHashMap = new HashMap<>();
         equipmentPage.setRecords(null);
-        objectObjectHashMap.put("page",equipmentPage);
-        objectObjectHashMap.put("data",result);
+        objectObjectHashMap.put("page", equipmentPage);
+        objectObjectHashMap.put("data", result);
         return objectObjectHashMap;
     }
 
     /**
      * 解除店铺绑定的设备
+     *
      * @param equipmentIds
      */
     @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);
+        updateWrapper.in("equipment_id", equipmentIds);
+        updateWrapper.set("store_id", null);
+        equipmentMapper.update(null, updateWrapper);
     }
 
     /**
      * 删除设备下的广告推广
+     *
      * @param planItemIds
      */
     @Override
@@ -427,7 +443,7 @@ public class EquipmentServiceImpl implements EquipmentService {
 
         //查询已无推广设备广告的计划
         List<String> plans = planItemMapper.selectDeletePlanId(Arrays.asList(planItemIds));
-        if (!plans.isEmpty()){
+        if (!plans.isEmpty()) {
             //删除广告计划
             planMapper.deleteBatchIds(plans);
         }
@@ -435,6 +451,7 @@ public class EquipmentServiceImpl implements EquipmentService {
 
     /**
      * 休眠设备
+     *
      * @param equipmentCode
      * @return
      */
@@ -446,6 +463,7 @@ public class EquipmentServiceImpl implements EquipmentService {
 
     /**
      * 唤醒设备
+     *
      * @param equipmentCode
      * @return
      */
@@ -454,5 +472,26 @@ public class EquipmentServiceImpl implements EquipmentService {
         return mtStarUtil.wakeup(equipmentCode);
     }
 
+    @Override
+    public String getCode() {
+        QueryWrapper<SysCode> sysCodeQueryWrapper = new QueryWrapper<>();
+        List<SysCode> list = sysCodeService.list(sysCodeQueryWrapper);
+        String uuid;
+        SysCode sysCode = new SysCode();
+        if (CollUtil.isEmpty(list)) {
+            uuid = UuidUtil.getUUID();
+            sysCode.setCode(uuid);
+            sysCodeService.save(sysCode);
+            return uuid;
+        }
+
+        do {
+            uuid = UuidUtil.getUUID();
+        } while (list.contains(uuid));
+        sysCode.setCode(uuid);
+        sysCodeService.save(sysCode);
+        return uuid;
+    }
+
 
 }

+ 64 - 66
ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/PlanServiceImpl.java

@@ -2,17 +2,24 @@ package com.ruoyi.demo.service.impl;
 
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.lang.Dict;
+import cn.hutool.core.util.ObjUtil;
+import cn.hutool.http.HttpRequest;
+import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.R;
 import com.ruoyi.demo.entity.*;
-import com.ruoyi.demo.entity.bo.*;
+import com.ruoyi.demo.entity.bo.PlanAddBo;
+import com.ruoyi.demo.entity.bo.PlanBo;
+import com.ruoyi.demo.entity.bo.PlanItemAddBo;
+import com.ruoyi.demo.entity.bo.UpDownBo;
 import com.ruoyi.demo.entity.vo.*;
 import com.ruoyi.demo.mapper.*;
 import com.ruoyi.demo.service.PlanService;
 import com.ruoyi.demo.utils.OnStateUtil;
-import com.ruoyi.demo.utils.SendCallBackUtil;
 import com.ruoyi.demo.utils.SignUtil;
 import com.ruoyi.demo.utils.StateUtil;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -22,6 +29,7 @@ import java.util.*;
 
 @Service
 @Transactional
+@Slf4j
 public class PlanServiceImpl implements PlanService {
     @Autowired
     PlanMapper planMapper;
@@ -56,8 +64,9 @@ public class PlanServiceImpl implements PlanService {
             .eq("appkey", bo.getAppkey())
             .eq("state", 1)
             .eq("deleted", "0"));
-        if (app == null)
+        if (app == null) {
             return "error";
+        }
         Map<String, Object> params = Dict.create()
             .set("planOtherId", bo.getPlanOtherId())
             .set("appkey", bo.getAppkey())
@@ -78,14 +87,15 @@ public class PlanServiceImpl implements PlanService {
     }
 
     @Override
-    public String addPlan(PlanAddBo bo) {
+    public R<Plan> addPlan(PlanAddBo bo) {
         // app是否可用
         App app = appMapper.selectOne(new QueryWrapper<App>()
             .eq("appkey", bo.getAppkey())
             .eq("state", 1)
             .eq("deleted", "0"));
-        if (app == null)
-            return "-1";
+        if (app == null) {
+            return R.fail(-1, "无效的appkey");
+        }
         // 校验
         Map<String, Object> params = Dict.create()
             .set("planOtherId", bo.getPlanOtherId())
@@ -103,13 +113,14 @@ public class PlanServiceImpl implements PlanService {
             .set("sign", bo.getSign())
             .set("vendorId", bo.getVendorId())
             .set("vendorName", bo.getVendorName());
-        if (!SignUtil.verify(params, app.getAppSecret()))
-            return "-3";
+        if (!SignUtil.verify(params, app.getAppSecret())) {
+            return R.fail("校验sign出错");
+        }
         // 插入广告计划
         Plan plan = new Plan(app, bo);
-        int i = planMapper.insert(plan);
-        if (i == 0)
-            return "0";
+        planMapper.insert(plan);
+
+
         // 插入广告计划明细
         for (PlanItemAddBo itemAddBo : bo.getItems()) {
             PlanItem item = new PlanItem(plan.getPlanId(), itemAddBo);
@@ -120,9 +131,10 @@ public class PlanServiceImpl implements PlanService {
             .eq("appkey", bo.getAppkey())
             .eq("goods_id", bo.getGoodsId())
             .eq("vendor_id", bo.getVendorId()));
-        if (query == null)
+        if (query == null) {
             goodsMapper.insert(new Goods(plan));
-        return plan.getPlanId();
+        }
+        return R.ok(plan);
     }
 
     @Override
@@ -166,22 +178,7 @@ public class PlanServiceImpl implements PlanService {
         if (i == 0) return 0;
         // 插入审核记录
         PlanAudit audit = new PlanAudit(bo, userId.toString(), userName);
-        int insert = planAuditMapper.insert(audit);
-        if (insert == 1) { // 审核计划插入成功
-            // 启动回调地址
-            CallBackBean callBackBean = new CallBackBean();
-            callBackBean.setAuditPerson(userName);
-            if (bo.getState() == 1)
-                callBackBean.setAuditComment("审核通过");
-            else callBackBean.setAuditComment("审核不通过");
-            callBackBean.setAuditTime(now);
-            try {
-                SendCallBackUtil.sendCallBack(app.getCallBack(), callBackBean);
-            } catch (Exception e) {
-                return -2;
-            }
-        }
-        return insert;
+        return planAuditMapper.insert(audit);
     }
 
     @Override
@@ -279,13 +276,14 @@ public class PlanServiceImpl implements PlanService {
     }
 
     @Override
-    public int planUpDown(String planId) {
+    public R<Integer> planUpDown(String planId) {
         // 是否存在该广告计划
         Plan plan = planMapper.selectOne(new QueryWrapper<Plan>()
             .eq("plan_id", planId)
             .eq("deleted", "0"));
-        if (plan == null)
-            return -1;
+        if (ObjUtil.isNull(plan)) {
+            return R.fail(-1, "计划不存在");
+        }
         // 改变状态,1:上架;0:下架
         plan.setOnState(plan.getOnState() + 1);
         if (plan.getOnState() >= 2) {
@@ -296,54 +294,53 @@ public class PlanServiceImpl implements PlanService {
                     .eq("appkey", plan.getAppkey())
                     .eq("state", 1)
                     .eq("deleted", "0"));
-                Map<String, Object> map = Dict.create()
-                    .set("msg", "您的广告\"" + plan.getPlanName() + "\"已下架")
-                    .set("time", DateUtil.date());
-                SendCallBackUtil.sendCallBack(app.getCallBack(), map);
+                List<Integer> integers = Arrays.asList(Integer.valueOf(plan.getPlanOtherId()));
+                String s = JSONUtil.toJsonStr(integers);
+                log.info("【回调 json】 = {}", s);
+                String body = HttpRequest.post(app.getCallBack())
+                    .header("Content-Type", "application/json")
+                    .body(s)
+                    .execute()
+                    .body();
+                log.info("【回调 body】 {}", body);
             } catch (Exception e) {
             }
         }
-        return planMapper.updateById(plan);
+        return R.ok(planMapper.updateById(plan));
     }
 
     @Override
-    public int planPushUpDown(UpDownBo bo) {
+    public R<?> planPushUpDown(UpDownBo bo) {
         // app是否可用
         App app = appMapper.selectOne(new QueryWrapper<App>()
             .eq("appkey", bo.getAppkey())
             .eq("state", 1)
             .eq("deleted", "0"));
-        if (app == null)
-            return -1;
+        if (app == null) {
+            return R.fail(-1, "无效的appkey");
+        }
         // 校验
         Map<String, Object> params = Dict.create()
             .set("appkey", bo.getAppkey())
             .set("planIds", bo.getPlanIds())
             .set("sign", bo.getSign());
-        if (!SignUtil.verify(params, app.getAppSecret()))
-            return -3;
-        for (String planId : bo.getPlanIds()){
+        if (!SignUtil.verify(params, app.getAppSecret())) {
+            return R.fail(-3, "校验sign出错");
+        }
+        for (String planId : bo.getPlanIds()) {
             Plan plan = planMapper.selectOne(new QueryWrapper<Plan>()
                 .eq("plan_id", planId)
                 .eq("deleted", "0"));
-            if (plan == null)
-                continue;
-            // 改变状态,1:上架;0:下架
-            plan.setOnState(plan.getOnState() + 1);
-            if (plan.getOnState() >= 2) {
-                plan.setOnState(0);
-                // 发送下架信息
-                try {
-                    Map<String, Object> map = Dict.create()
-                        .set("msg", "您的广告\"" + plan.getPlanName() + "\"已下架")
-                        .set("time", DateUtil.date());
-                    SendCallBackUtil.sendCallBack(app.getCallBack(), map);
-                } catch (Exception e) {
+            if (ObjUtil.isNotNull(plan)) {
+                // 改变状态,1:上架;0:下架
+                plan.setOnState(plan.getOnState() + 1);
+                if (plan.getOnState() >= 2) {
+                    plan.setOnState(0);
                 }
+                planMapper.updateById(plan);
             }
-            planMapper.updateById(plan);
         }
-        return 1;
+        return R.ok("上架/下架成功");
     }
 
     @Override
@@ -596,14 +593,15 @@ public class PlanServiceImpl implements PlanService {
                 .eq("appkey", plan.getAppkey())
                 .eq("state", 1) // 启用
                 .eq("deleted", "0"));
-            Map<String, Object> map = Dict.create()
-                .set("msg", "您的广告\"" + plan.getPlanName() + "\"已下架")
-                .set("time", DateUtil.date());
-            try {
-                SendCallBackUtil.sendCallBack(app.getCallBack(), map);
-            } catch (Exception e) {
-                System.out.println("[appkey:" + app.getAppkey() + ",appName:" + app.getAppName() + "]的回调地址[" + app.getCallBack() + "]失效");
-            }
+            List<Integer> integers = Arrays.asList(Integer.valueOf(plan.getPlanOtherId()));
+            String s = JSONUtil.toJsonStr(integers);
+            log.info("【回调 json】 = {}", s);
+            String body = HttpRequest.post(app.getCallBack())
+                .header("Content-Type", "application/json")
+                .body(s)
+                .execute()
+                .body();
+            log.info("【回调 body】 {}", body);
         }
     }
 }

+ 20 - 0
ruoyi-demo/src/main/java/com/ruoyi/demo/service/impl/SysCodeServiceImpl.java

@@ -0,0 +1,20 @@
+package com.ruoyi.demo.service.impl;
+
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.demo.entity.SysCode;
+import com.ruoyi.demo.mapper.SysCodeMapper;
+import com.ruoyi.demo.service.SysCodeService;
+import org.springframework.stereotype.Service;
+
+/**
+ * (SysCode)表服务实现类
+ *
+ * @author Yyz
+ * @since 2024-01-09 09:15:04
+ */
+@Service
+public class SysCodeServiceImpl extends ServiceImpl<SysCodeMapper, SysCode> implements SysCodeService {
+
+
+}

+ 12 - 0
ruoyi-demo/src/main/resources/mapper/demo/SysCodeMapper.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.demo.mapper.SysCodeMapper">
+
+    <resultMap type="com.ruoyi.demo.entity.SysCode" id="BaseResultMap">
+        <result property="code" column="code" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        `code`
+    </sql>
+</mapper>