Kaynağa Gözat

feat: 新增删除设备功能

ritchie 2 yıl önce
ebeveyn
işleme
4cf5b7f4b6

+ 2 - 2
README.md

@@ -15,7 +15,7 @@ http://112.74.63.148:49001/
 增删查改
 使用参考 https://baomidou.com/pages/24112f/
 
-## swwager2 生成接口文档
+## swagger2 生成接口文档
 在controller 加上@Api(value = "/test", tags = {"controller描述"})
 接口方法上加上 @ApiOperation(value = "接口描述") 即可。
 文档地址:http://127.0.0.1:端口/doc.html
@@ -37,7 +37,7 @@ ResponseCodesEnum 为错误码,其中 ALL_OK("00000","SUCCESS") 表示成功
 ## 子服务之间使用feign 互相调用
 参考 PayFeign
 
-## 使用 hutool 工具类
+## 使用 Hutool 工具类
 参考文档 https://www.bookstack.cn/read/hutool/377f64112be7197a.md
 
 ## 配置文件参数使用

+ 1 - 1
src/main/java/com/szwl/aspect/MyWebMvcConfigurer.java

@@ -22,7 +22,7 @@ public class MyWebMvcConfigurer extends WebMvcConfigurationSupport {
         String[] myExcludes= {"/tAdmin/login","/tAdmin/save","/tAdmin/updatePassword","/tMessageCode/**","/tJoinpayMch/**","/tLogo/**",
                 "/tProportion/**","/tProduct/**","/tPromoCode/**", "/tApkInfo/**", "/tProduct/selectProductList",  "/tApkInfo/**","/tJoinpayMchCheck/**","/tTimeRule/**","/sysRoleMenu/**",
                 "/tEquipmentApply/**","/tEquipment/**","/api/**","/tOrder/**","/tAlarmClock/**","/tNotice/**","/tParameters/**","/tAdmin/setRole",
-                "/tLabel/**","/tArea/**","/error"};
+                "/tLabel/**","/tArea/**","/error","/tEquipmentDeleted/delOneDevice"};
         registry.addInterceptor(headTokenInterceptor).addPathPatterns("/**")
                 // swagger
                 .excludePathPatterns(swaggerExcludes)

+ 2 - 0
src/main/java/com/szwl/controller/TEquipmentController.java

@@ -36,6 +36,8 @@ import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
 
+import static com.szwl.constant.ResponseCodesEnum.P0002;
+
 /**
  * <p>
  * 设备表 前端控制器

+ 83 - 0
src/main/java/com/szwl/controller/TEquipmentDeletedController.java

@@ -0,0 +1,83 @@
+package com.szwl.controller;
+
+import com.szwl.manager.TokenManager;
+import com.szwl.model.bo.R;
+import com.szwl.model.bo.ResponseModel;
+import com.szwl.model.bo.UserDetailBO;
+import com.szwl.model.entity.IDRequest;
+import com.szwl.model.entity.TAdmin;
+import com.szwl.model.entity.TEquipment;
+import com.szwl.service.TAdminService;
+import com.szwl.service.TEquipmentDeletedService;
+import com.szwl.service.TEquipmentService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+import static com.szwl.constant.ResponseCodesEnum.P0002;
+
+/**
+ * <p>
+ * 被删除的设备表 前端控制器
+ * </p>
+ *
+ * @author ritchie
+ * @since 2023-03-31
+ */
+@Api(value = "/tEquipmentDeleted", tags = {"被删除的设备控制器"})
+@RestController
+@RequestMapping("/tEquipmentDeleted")
+public class TEquipmentDeletedController {
+
+    @Resource
+    TEquipmentDeletedService tEquipmentDeletedService;
+
+    @Autowired
+    TEquipmentService tEquipmentService;
+
+    @Autowired
+    TAdminService tAdminService;
+//
+//    @Resource
+//    TokenManager tokenManager;
+
+
+    @ApiOperation(value = "删除设备")
+    @PostMapping("/delOneDevice")
+    public ResponseModel<?> delOneDevice(@RequestBody IDRequest idRequest) {
+        // 获取设备id
+        Long equipmentId = idRequest.getEquipmentId();
+        // 获取当前登录用户id
+        String adminId = idRequest.getAdminId();
+        // 根据用户id查用户类型
+//        TAdmin adminById = tAdminService.getById(adminId);
+        Integer adminType = tAdminService.getById(adminId).getType();
+        // 判断当前用户类型
+//        TAdmin admin = tAdminService.getById(loginUserDetails.getId());
+        // 获取缓存中的当前登录用户 loginUserDetails
+//        UserDetailBO loginUserDetails = tokenManager.getLoginUserDetails();
+        // 获取用户类型
+//        Integer type = loginUserDetails.getType();
+        // 如果不为空,并且类型是 0 1 就执行以下操作
+        if (adminType != null && (adminType == 0 || adminType == 1)) {
+            // 查询当前设备信息
+            TEquipment tEquipment = tEquipmentService.getById(equipmentId);
+            System.out.println(tEquipment);
+            // 先把准备删除的设备信息添加到t_equipment_deleted表中
+            tEquipmentDeletedService.addOne(tEquipment);
+            // 删除设备
+            tEquipmentService.removeById(equipmentId);
+            return R.ok("null", "设备已删除!");
+
+        }
+        // 如果没有删除权限 不做处理
+        return R.fail(P0002, "无删除权限");
+
+    }
+}

+ 22 - 0
src/main/java/com/szwl/mapper/TEquipmentDeletedMapper.java

@@ -0,0 +1,22 @@
+package com.szwl.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.szwl.model.entity.TEquipment;
+import com.szwl.model.entity.TEquipmentDeleted;
+
+/**
+ * <p>
+ * 被删除设备表 Mapper 接口
+ * </p>
+ *
+ * @author ritchie
+ * @since 2023-03-31
+ */
+public interface TEquipmentDeletedMapper extends BaseMapper<TEquipmentDeleted> {
+
+    /**
+     * 将 设备表 中的一条准备删除的记录添加到 被删除谁被表 中
+     * @param tEquipment
+     */
+    void insert(TEquipment tEquipment);
+}

Dosya farkı çok büyük olduğundan ihmal edildi
+ 76 - 0
src/main/java/com/szwl/mapper/xml/TEquipmentDeletedMapper.xml


+ 2 - 0
src/main/java/com/szwl/mapper/xml/TEquipmentMapper.xml

@@ -80,4 +80,6 @@
         </if>
         and a.eqe_status='1'
     </select>
+
+
 </mapper>

+ 16 - 0
src/main/java/com/szwl/model/entity/IDRequest.java

@@ -0,0 +1,16 @@
+package com.szwl.model.entity;
+
+import lombok.Data;
+
+@Data
+public class IDRequest {
+    /*
+    设备id
+     */
+    private Long equipmentId;
+
+    /*
+    当前用户id
+     */
+    private String adminId;
+}

+ 182 - 0
src/main/java/com/szwl/model/entity/TEquipmentDeleted.java

@@ -0,0 +1,182 @@
+package com.szwl.model.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springframework.stereotype.Repository;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 被删除的设备表
+ * </p>
+ *
+ * @author ritchie
+ * @since 2023-04-03
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="TEquipmentDeleted对象", description="被删除的设备表")
+public class TEquipmentDeleted implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    private Date createDate;
+
+    private Date modifyDate;
+
+    @ApiModelProperty(value = "用户id;")
+    private Long adminId;
+
+    @ApiModelProperty(value = "用户等级;")
+    private String adminLevel;
+
+    @ApiModelProperty(value = "机器超级管理员admin密码;")
+    private String adminPwd;
+
+    private Long areaId;
+
+    @ApiModelProperty(value = "柜内湿度;")
+    private String cabinetHd;
+
+    @ApiModelProperty(value = "炉头温度;")
+    private String cabinetTm;
+
+    @ApiModelProperty(value = "设备编号;")
+    private String clientId;
+
+    @ApiModelProperty(value = "机器联系人名称;")
+    private String contactName;
+
+    @ApiModelProperty(value = "联系人电话;")
+    private String contactPhone;
+
+    @ApiModelProperty(value = "运营者电话;")
+    private String operationalPhone;
+
+    @ApiModelProperty(value = "机器运营者")
+    private String operationalName;
+
+    @ApiModelProperty(value = "炉头转速;")
+    private String furnaceSp;
+
+    @ApiModelProperty(value = "炉头温度;")
+    private String furnaceTm;
+
+    @ApiModelProperty(value = "机器guest密码;")
+    private String guestPwd;
+
+    @ApiModelProperty(value = "true 代表 强制联网使用 ,false 代表 可不联网使用;")
+    private Boolean isNetWork;
+
+    @ApiModelProperty(value = "机器启用状态,true:启用;")
+    private Boolean isUsing;
+
+    @ApiModelProperty(value = "最近刷新时间;")
+    private Date lastUpdateTime;
+
+    @ApiModelProperty(value = "经度;")
+    private Double latitude;
+
+    @ApiModelProperty(value = "纬度;")
+    private Double longitude;
+
+    @ApiModelProperty(value = "管理系统ID;")
+    private String managerId;
+
+    @ApiModelProperty(value = "客户自命名")
+    private String selfName;
+
+    @ApiModelProperty(value = "通信方式; 1:个推,2:Mq 如果为null,那么用个推")
+    private String channel;
+
+    @ApiModelProperty(value = "机器名称;")
+    private String name;
+
+    @ApiModelProperty(value = "联网方式;")
+    private String netWorkingMode;
+
+    @ApiModelProperty(value = "运营商;")
+    private String operator;
+
+    @ApiModelProperty(value = "支付方式;")
+    private Integer payType;
+
+    @ApiModelProperty(value = "销售总数;")
+    private Integer productTotal;
+
+    @ApiModelProperty(value = "SIM卡卡号;")
+    private String simNo;
+
+    @ApiModelProperty(value = "设备编号自命名;")
+    private String sn;
+
+    @ApiModelProperty(value = "所属商家;")
+    private String adminUserName;
+
+    @ApiModelProperty(value = "公司电话;")
+    private String companyPhone;
+
+    @ApiModelProperty(value = "0:分账方2个,1:分账方3个,3:分账方4个,3:分账方超4个;")
+    private Integer type;
+
+    @ApiModelProperty(value = "地址全名;")
+    private String fullName;
+
+    @ApiModelProperty(value = "最后推送时间;")
+    private Date pushUpdateTime;
+
+    @ApiModelProperty(value = "广告规则id;")
+    private Long timeRuleId;
+
+    @ApiModelProperty(value = "实际上的设备id;")
+    private String gtClientId;
+
+    @ApiModelProperty(value = "设备状态 开机为1,关机为0;")
+    private Integer eqeStatus;
+
+    @ApiModelProperty(value = "锁机状态;")
+    private Boolean isBlocked;
+
+    @ApiModelProperty(value = "短信接收者;")
+    private String messageReceiver;
+
+    @ApiModelProperty(value = "睡眠状态,睡眠为true,不睡眠false;")
+    private Boolean isSleep;
+
+    @ApiModelProperty(value = "音量;")
+    private String volume;
+
+    @ApiModelProperty(value = "远程开关机的时间戳")
+    private String network;
+
+    @ApiModelProperty(value = "PLC版本;")
+    private String plcVersion;
+
+    @ApiModelProperty(value = "apk版本;")
+    private String apkVersion;
+
+    @ApiModelProperty(value = "棉花糖机器类型,mg320,mg301;")
+    private String equimentType;
+
+    @ApiModelProperty(value = "mg280机器到期时间;")
+    private Date endDate;
+
+    @ApiModelProperty(value = "花型数量;")
+    private String flowers;
+
+    @ApiModelProperty(value = "设备类型,0:棉花糖,1,爆米花")
+    private String machineType;
+
+    @ApiModelProperty(value = "优惠券开关,0:关闭,1:开启")
+    private String couponStatus;
+
+}

+ 18 - 0
src/main/java/com/szwl/service/TEquipmentDeletedService.java

@@ -0,0 +1,18 @@
+package com.szwl.service;
+
+import com.szwl.model.entity.TEquipment;
+import com.szwl.model.entity.TEquipmentDeleted;
+import com.szwl.service.base.MyIService;
+
+/**
+ * <p>
+ * 被删除设备表 服务类
+ * </p>
+ *
+ * @author ritchie
+ * @since 2023-03-31
+ */
+public interface TEquipmentDeletedService extends MyIService<TEquipmentDeleted> {
+
+    void addOne(TEquipment tEquipment);
+}

+ 1 - 0
src/main/java/com/szwl/service/TEquipmentService.java

@@ -21,4 +21,5 @@ public interface TEquipmentService extends MyIService<TEquipment> {
     public String findMachineTotalNum(StatisticsParam param);
 
     public String findMachineUseNum(StatisticsParam param);
+
 }

+ 1 - 0
src/main/java/com/szwl/service/base/MyIService.java

@@ -18,4 +18,5 @@ public interface MyIService<T> extends IService<T> {
         wrapper.last("limit 1");
         return this.getOne(wrapper);
     };
+
 }

+ 2 - 1
src/main/java/com/szwl/service/impl/TDepartmentServiceImpl.java

@@ -11,6 +11,7 @@ import com.szwl.service.TDepartmentService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.io.IOException;
 import java.util.Date;
 import java.util.List;
@@ -25,7 +26,7 @@ import java.util.List;
  */
 @Service
 public class TDepartmentServiceImpl extends ServiceImpl<TDepartmentMapper, TDepartment> implements TDepartmentService {
-    @Autowired
+    @Resource
     private TDepartmentMapper tDepartmentMapper;
     private static final String appid = "07784f5fedb508046c841b391005b7de";
     @Override

+ 31 - 0
src/main/java/com/szwl/service/impl/TEquipmentDeletedServiceImpl.java

@@ -0,0 +1,31 @@
+package com.szwl.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.szwl.mapper.TDepartmentMapper;
+import com.szwl.mapper.TEquipmentDeletedMapper;
+import com.szwl.model.entity.TEquipment;
+import com.szwl.model.entity.TEquipmentDeleted;
+import com.szwl.service.TEquipmentDeletedService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+/**
+ * <p>
+ * 被删除设备表 服务实现类
+ * </p>
+ *
+ * @author ritchie
+ * @since 2023-03-31
+ */
+@Service
+public class TEquipmentDeletedServiceImpl  extends ServiceImpl<TEquipmentDeletedMapper, TEquipmentDeleted> implements TEquipmentDeletedService {
+
+    @Resource
+    private TEquipmentDeletedMapper tEquipmentDeletedMapper;
+
+    @Override
+    public void addOne(TEquipment tEquipment) {
+        tEquipmentDeletedMapper.insert(tEquipment);
+    }
+}