Selaa lähdekoodia

feat:"远程纸币器禁能修改成MQTT协议"

soobin 1 kuukausi sitten
vanhempi
commit
60c10e2fc8

+ 13 - 10
src/main/java/com/szwl/controller/TEquipmentController.java

@@ -574,7 +574,7 @@ public class TEquipmentController {
                 // 通知客户
                 tEquipmentService.informClient(oldEquipment.getAdminId(), oldEquipment.getClientId());
             }
-            if (equipmentDesc != null && StringUtils.isNotEmpty(equipmentDesc.getFlowers()) && !equipmentDesc.getFlowers().equals(equipment.getFlowers())){
+            if (equipmentDesc != null && StringUtils.isNotEmpty(equipmentDesc.getFlowers()) && !equipmentDesc.getFlowers().equals(equipment.getFlowers())) {
                 //发信息
                 tEquipmentService.sentMessage(oldEquipment.getClientId(), PushUtils.buildJson("flowers", equipment.getFlowers()).toString());
                 // 通知客户
@@ -1880,17 +1880,20 @@ public class TEquipmentController {
         return R.ok();
     }
 
-    @ApiOperation("禁用纸币器")
+    @ApiOperation("纸币器禁能")
     @PostMapping("/banPaperMoney")
-    public ResponseModel<?> banPaperMoney(@RequestBody TEquipment equipment) {
-        Long equipmentId = equipment.getId();
-        TEquipment equipment1 = tEquipmentService.getById(equipmentId);
-        if (equipment1 != null) {
-            tEquipmentService.sentMessage(equipment1.getClientId(), PushUtils.buildJson("banPaperMoney", "1").toString());
-            return R.ok();
-        } else {
-            return R.fail(ResponseCodesEnum.A0001, "设备不存在");
+    public ResponseModel<?> banPaperMoney(@RequestBody TEquipmentDesc equipmentDesc) {
+        UserDetailBO userDetailBO = Optional.ofNullable(tokenManager.getLoginUserDetails())
+                .orElseThrow(() -> new BizException(ResponseCodesEnum.L0001));
+        Long adminId = userDetailBO.getId();
+        TEquipmentDesc desc = equipmentDescService.getById(equipmentDesc.getEquipmentId());
+        if (desc != null) {
+            TEquipment equipment = tEquipmentService.getById(equipmentDesc.getEquipmentId());
+            String status = equipmentDesc.getBanPaper() ? "1" : "0";
+            String message = PushUtils.buildJson(OperationType.BAN_PAPER_MONEY.getCode(), status).toString();
+            tEquipmentService.sendRemoteMessage(equipment.getClientId(), OperationType.BAN_PAPER_MONEY, message, adminId);
         }
+        return R.ok();
     }
 
     /**

+ 47 - 0
src/main/java/com/szwl/handle/response/BanPaperMoneyProcessor.java

@@ -0,0 +1,47 @@
+package com.szwl.handle.response;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.szwl.constant.OperationType;
+import com.szwl.model.entity.MessageLog;
+import com.szwl.model.entity.TEquipment;
+import com.szwl.model.entity.TEquipmentDesc;
+import com.szwl.service.TEquipmentDescService;
+import com.szwl.service.TEquipmentService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+
+@Slf4j
+@Component
+public class BanPaperMoneyProcessor implements ResponseProcessor{
+
+    @Resource
+    private TEquipmentService tEquipmentService;
+
+    @Resource
+    private TEquipmentDescService tEquipmentDescService;
+    @Override
+    public void process(MessageLog messageLog) {
+        Integer statusCode = messageLog.getStatusCode();
+        if (statusCode == 200) {
+            Integer direction = messageLog.getDirection();
+            String clientId = messageLog.getClientId();
+            String responseContent = messageLog.getResponseContent();
+            LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
+            query.eq(TEquipment::getClientId, clientId);
+            TEquipment tEquipment = tEquipmentService.getOne(query);
+            if (tEquipment != null) {
+                TEquipmentDesc equipmentDesc = tEquipmentDescService.getById(tEquipment.getId());
+                equipmentDesc.setBanPaper(responseContent.equals("1"));
+                tEquipmentDescService.updateById(equipmentDesc);
+            }
+        }
+    }
+
+    @Override
+    public String getSupportedOperationType() {
+        return OperationType.BAN_PAPER_MONEY.getCode();
+    }
+}

+ 1 - 1
src/main/java/com/szwl/mapper/TEquipmentDescMapper.java

@@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * </p>
  *
  * @author wuhs
- * @since 2024-06-19
+ * @since 2025-06-30
  */
 public interface TEquipmentDescMapper extends BaseMapper<TEquipmentDesc> {
 

+ 2 - 1
src/main/java/com/szwl/mapper/xml/TEquipmentDescMapper.xml

@@ -35,11 +35,12 @@
         <result column="clean_function" property="cleanFunction" />
         <result column="tax_status" property="taxStatus" />
         <result column="tax_rate" property="taxRate" />
+        <result column="ban_paper" property="banPaper" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        equipment_id, flowers, white_sugar, red_sugar, yellow_sugar, blue_sugar, stick, water, waste_water, is_material_use, pay_type, note, status, coupon_status, out_door, in_door, sleep_desc, cup_quantity, stir_tm, corn_generator_tm, number_one, candy_generator_tm, outside_tm, outside_hd, diy_flower_status, language, patch_id, working_mode, clean_function, tax_status, tax_rate
+        equipment_id, flowers, white_sugar, red_sugar, yellow_sugar, blue_sugar, stick, water, waste_water, is_material_use, pay_type, note, status, coupon_status, out_door, in_door, sleep_desc, cup_quantity, stir_tm, corn_generator_tm, number_one, candy_generator_tm, outside_tm, outside_hd, diy_flower_status, language, patch_id, working_mode, clean_function, tax_status, tax_rate, ban_paper
     </sql>
 
 </mapper>

+ 5 - 2
src/main/java/com/szwl/model/entity/TEquipmentDesc.java

@@ -15,7 +15,7 @@ import lombok.EqualsAndHashCode;
  * </p>
  *
  * @author wuhs
- * @since 2025-04-16
+ * @since 2025-06-30
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
@@ -74,7 +74,7 @@ public class TEquipmentDesc implements Serializable {
     private String inDoor;
 
     @ApiModelProperty(value = "休眠描述")
-    private String sleepDesc  = "暂停营业";
+    private String sleepDesc;
 
     @ApiModelProperty(value = "杯子数量")
     private Long cupQuantity;
@@ -118,5 +118,8 @@ public class TEquipmentDesc implements Serializable {
     @ApiModelProperty(value = "税率")
     private BigDecimal taxRate;
 
+    @ApiModelProperty(value = "纸币器禁能,0:关闭,1:开启,默认关闭")
+    private Boolean banPaper;
+
 
 }