Browse Source

feat: 设备清洗提醒远程开关+发信时使用设备名称

Ritchie 1 year ago
parent
commit
00ef6baada

+ 37 - 2
src/main/java/com/szwl/controller/TAlarmCleanController.java

@@ -31,7 +31,7 @@ import java.util.concurrent.TimeUnit;
  * </p>
  *
  * @author wuhs
- * @since 2024-04-26
+ * @since 2024-08-02
  */
 @RestController
 @RequestMapping("/tAlarmClean")
@@ -46,6 +46,36 @@ public class TAlarmCleanController {
     @Autowired
     TAdminService adminService;
 
+    @ApiOperation("获取清洗提醒信息")
+    @GetMapping("/getAlarmClean/{clientId}")
+    public ResponseModel<TAlarmClean> getAlarmClean(@PathVariable String clientId) {
+        // 根据 clientId 查找清洗提醒信息
+        LambdaQueryWrapper<TAlarmClean> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(TAlarmClean::getClientId, clientId);
+        TAlarmClean alarmClean = alarmCleanService.getOne(queryWrapper);
+
+        return R.ok(alarmClean);
+    }
+
+
+    @ApiOperation("修改清洗提醒信息")
+    @PostMapping("/updateAlarmCleanStatus")
+    public ResponseModel<TAlarmClean> updateAlarmCleanStatus(@RequestBody AlarmCleanParam params) {
+        String clientId = params.getClientId();
+        LambdaQueryWrapper<TAlarmClean> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(TAlarmClean::getClientId, clientId);
+        TAlarmClean alarmClean = alarmCleanService.getOne(queryWrapper);
+
+        String status = alarmClean.getStatus();
+        String newStatus = params.getStatus();
+        if (StringUtils.isEmpty(status)) {
+            alarmClean.setStatus("1");  // 默认开启
+        }
+        alarmClean.setStatus(newStatus);
+        alarmCleanService.saveOrUpdate(alarmClean);
+        return R.ok(alarmClean);
+    }
+
     /**
      * 超过7d,且做糖大于等于15个,发送提醒,重置时间和数量
      * 超过7d, 但做糖小于15个,不发提醒,仅重置时间
@@ -64,6 +94,11 @@ public class TAlarmCleanController {
         queryWrapper.eq(TAlarmClean::getClientId, clientId);
         TAlarmClean alarmClean = alarmCleanService.getOne(queryWrapper);
 
+        String status = alarmClean.getStatus();
+        if ("0".equals(status)) {
+            return R.fail("该设备清洗提醒功能已关闭");
+        }
+
         Integer candyNum = null;
         // 首次调用
         if (Objects.isNull(alarmClean)) {
@@ -177,7 +212,7 @@ public class TAlarmCleanController {
     /**
      * 是否超过7天
      */
-    public Boolean moreThan7d (Date lastSendTime) {
+    public Boolean moreThan7d(Date lastSendTime) {
 
         Date now = new Date();
 

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

@@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * </p>
  *
  * @author wuhs
- * @since 2024-04-26
+ * @since 2024-08-02
  */
 public interface TAlarmCleanMapper extends BaseMapper<TAlarmClean> {
 

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

@@ -13,11 +13,12 @@
         <result column="email" property="email" />
         <result column="last_send_time" property="lastSendTime" />
         <result column="candy_num" property="candyNum" />
+        <result column="status" property="status" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, admin_id, equipment_id, client_id, is_oversea, phone, email, last_send_time, candy_num
+        id, admin_id, equipment_id, client_id, is_oversea, phone, email, last_send_time, candy_num, status
     </sql>
 
 </mapper>

+ 5 - 4
src/main/java/com/szwl/model/entity/TAlarmClean.java

@@ -15,17 +15,15 @@ import lombok.EqualsAndHashCode;
  * </p>
  *
  * @author wuhs
- * @since 2024-06-20
+ * @since 2024-08-02
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
-//@ApiModel(value="TAlarmClean对象", description="")
-@ApiModel(value = "TAlarmClean对象")
+@ApiModel(value="TAlarmClean对象", description="")
 public class TAlarmClean implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-//    @TableId(value = "id", type = IdType.ASSIGN_ID)
     private Long id;
 
     @ApiModelProperty(value = "用户id")
@@ -53,5 +51,8 @@ public class TAlarmClean implements Serializable {
     @ApiModelProperty(value = "本轮做糖数量")
     private Integer candyNum;
 
+    @ApiModelProperty(value = "开关状态:0关闭,1开启(默认)")
+    private String status;
+
 
 }

+ 2 - 0
src/main/java/com/szwl/model/param/AlarmCleanParam.java

@@ -19,4 +19,6 @@ public class AlarmCleanParam {
     @ApiModelProperty(value = "做糖数量")
     private Integer makeCandyNum;
 
+    @ApiModelProperty(value = "开关状态, 0关闭,1开启")
+    private String status;
 }

+ 1 - 1
src/main/java/com/szwl/service/TAlarmCleanService.java

@@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * </p>
  *
  * @author wuhs
- * @since 2024-04-26
+ * @since 2024-08-02
  */
 public interface TAlarmCleanService extends IService<TAlarmClean> {
 

+ 25 - 6
src/main/java/com/szwl/service/impl/TAlarmCleanServiceImpl.java

@@ -1,37 +1,46 @@
 package com.szwl.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.szwl.model.entity.TAlarmClean;
 import com.szwl.mapper.TAlarmCleanMapper;
+import com.szwl.model.entity.TEquipment;
 import com.szwl.model.utils.MailUtil;
-import com.szwl.model.utils.SampleMail;
 import com.szwl.model.utils.YunPianSms;
 import com.szwl.service.TAlarmCleanService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.szwl.service.TEquipmentService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.io.IOException;
+import java.util.List;
 
 /**
  * <p>
- * 服务实现类
+ *  服务实现类
  * </p>
  *
  * @author wuhs
- * @since 2024-04-26
+ * @since 2024-08-02
  */
 @Service
 public class TAlarmCleanServiceImpl extends ServiceImpl<TAlarmCleanMapper, TAlarmClean> implements TAlarmCleanService {
 
+    @Autowired
+    TEquipmentService equipmentService;
+
     private static final String appid = "07784f5fedb508046c841b391005b7de";
 
     public String getContent(String clientId) {
+        String clientName = getClientNameById(clientId);
         StringBuffer content = new StringBuffer();
 
         String str = "Dear customer:<br>" +
                 "<br>" +
-                "Your machine number is <" + clientId + "> marshmallow robot, the stove maintenance cycle has arrived, please clean the stove cover to keep the pattern in the best condition, if it has been cleaned, please ignore this reminder." +
+                "Your machine name is <" + clientName + "> marshmallow robot, the stove maintenance cycle has arrived, please clean the stove cover to keep the pattern in the best condition, if it has been cleaned, please ignore this reminder." +
                 "<br>" +
                 "<br>" +
                 "Best Regards.<br>" +
@@ -42,8 +51,9 @@ public class TAlarmCleanServiceImpl extends ServiceImpl<TAlarmCleanMapper, TAlar
 
     @Override
     public void sendEmail(String email, String clientId) {
+        String clientName = getClientNameById(clientId);
         String content = "";
-        content = getContent(clientId);
+        content = getContent(clientName);
         String subject = "Cleaning reminders";
         new MailUtil().send(email, subject, content);
     }
@@ -64,6 +74,15 @@ public class TAlarmCleanServiceImpl extends ServiceImpl<TAlarmCleanMapper, TAlar
 
 
     private String getAlarmCleanMessage(String clientId) {
-        return "【申泽智能】您机器编号为 " + clientId + " 的棉花糖机器人,炉头保养周期已到,请清洁炉头盖,以保持花型在最佳状态,如已清洁请忽略本提醒。";
+        String clientName = getClientNameById(clientId);
+        return "【申泽智能】您机器名称为 " + clientName + " 的棉花糖机器人,炉头保养周期已到,请清洁炉头盖,以保持花型在最佳状态,如已清洁请忽略本提醒。";
+    }
+
+    public String getClientNameById(String clientId) {
+        LambdaQueryWrapper<TEquipment> wrapper = Wrappers.lambdaQuery();
+        wrapper.eq(TEquipment::getClientId, clientId);
+        List<TEquipment> equipmentList = equipmentService.list(wrapper);
+        TEquipment equipment = equipmentList.get(0);
+        return equipment.getName();
     }
 }