xuhy
2024-08-19 e08b0977b9bf2f742e8672a16380e7f234a498d1
短信记录,故障短信发送
1个文件已添加
9个文件已修改
166 ■■■■ 已修改文件
ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TChargingPileNotification.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/MsgUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/CodeController.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TFaultMessageController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TChargingPileNotificationService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TFaultMessageService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileNotificationServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TFaultMessageServiceImpl.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TChargingPileNotification.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.web.domain.BasePojo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -24,7 +25,7 @@
@EqualsAndHashCode(callSuper = false)
@TableName("t_charging_pile_notification")
@ApiModel(value="TChargingPileNotification对象", description="")
public class TChargingPileNotification implements Serializable {
public class TChargingPileNotification extends BasePojo {
    private static final long serialVersionUID = 1L;
@@ -51,15 +52,5 @@
    @ApiModelProperty(value = "通知内容")
    @TableField("content")
    private String content;
    @ApiModelProperty(value = "发送时间")
    @TableField("create_time")
    private LocalDateTime createTime;
    @ApiModelProperty(value = "删除状态(0=否,1=是)")
    @TableField("del_flag")
    @TableLogic
    private Integer delFlag;
}
ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java
@@ -51,10 +51,6 @@
    private SysLoginService sysLoginService;
    @Resource
    private SysUserClient userClient;
    @Autowired
    private RedisService redisService;
    @Autowired
    private AppUserClient appUserClient;
    
    
@@ -127,27 +123,6 @@
        // 用户注册
        sysLoginService.register(registerBody.getUsername(), registerBody.getPassword(), request);
        return R.ok();
    }
    /**
     * 获取验证码
     *
     * @param phone 手机号
     * @return 结果
     */
    @ApiOperation(value = "获取验证码",notes = "获取验证码",tags = {"更换手机号获取验证码"})
    @GetMapping("getCode")
    public AjaxResult getCode(@RequestParam("phone") String phone)
    {
        TAppUser appUser = appUserClient.selectByPhone(phone).getData();
        if (Objects.nonNull(appUser)){
            return AjaxResult.error("该手机号已绑定账号");
        }
        String code = MsgUtil.createCode();
        redisService.setCacheObject(phone+Constants.APPLET,code,5L, TimeUnit.MINUTES);
        String reqStr = MsgUtil.codeMsg(phone, code);
        String result = HttpUtils.post(MsgConstants.SEND_URL, reqStr);
        return AjaxResult.success(result);
    }
}
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/MsgUtil.java
@@ -112,7 +112,7 @@
        return encode;
    }
    /**
    /**  phone  单词可拼接5000个号码
     * 桩故障(自动/手动):检测到【电站1】【编号】号桩设备离线,请及时查看处理!
     * @param phone 手机号
     * @param site 站点名称
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/CodeController.java
New file
@@ -0,0 +1,53 @@
package com.ruoyi.chargingPile.controller;
import com.ruoyi.account.api.feignClient.AppUserClient;
import com.ruoyi.account.api.model.TAppUser;
import com.ruoyi.chargingPile.api.model.TChargingPile;
import com.ruoyi.chargingPile.service.TChargingPileNotificationService;
import com.ruoyi.common.core.constant.Constants;
import com.ruoyi.common.core.constant.MsgConstants;
import com.ruoyi.common.core.utils.HttpUtils;
import com.ruoyi.common.core.utils.MsgUtil;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.redis.service.RedisService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.Objects;
import java.util.concurrent.TimeUnit;
public class CodeController {
    @Autowired
    private RedisService redisService;
    @Autowired
    private AppUserClient appUserClient;
    @Autowired
    private TChargingPileNotificationService chargingPileNotificationService;
    /**
     * 获取验证码
     *
     * @param phone 手机号
     * @return 结果
     */
    @ApiOperation(value = "获取验证码",notes = "获取验证码",tags = {"更换手机号获取验证码"})
    @GetMapping("getCode")
    public AjaxResult getCode(@RequestParam("phone") String phone)
    {
        TAppUser appUser = appUserClient.selectByPhone(phone).getData();
        if (Objects.nonNull(appUser)){
            return AjaxResult.error("该手机号已绑定账号");
        }
        String code = MsgUtil.createCode();
        redisService.setCacheObject(phone+ Constants.APPLET,code,5L, TimeUnit.MINUTES);
        String reqStr = MsgUtil.codeMsg(phone, code);
        String result = HttpUtils.post(MsgConstants.SEND_URL, reqStr);
        // 记录短信发送
        chargingPileNotificationService.saveData(1,null,null,phone,"验证码:"+code+",用于更换手机号。请勿转发。");
        return AjaxResult.success(result);
    }
}
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java
@@ -156,7 +156,7 @@
    
    @ResponseBody
    @PostMapping("/getSiteList")
    @PostMapping("/addSite")
    @ApiOperation(value = "添加站点", tags = {"管理后台-站点管理"})
    public AjaxResult addSite(@RequestBody Site site){
        return siteService.addSite(site);
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TFaultMessageController.java
@@ -42,8 +42,9 @@
    @Log(title = "添加故障报修管理", businessType = BusinessType.INSERT,operatorType = OperatorType.MOBILE)
    @ApiOperation(tags = {"小程序-故障报修"},value = "添加故障报修管理")
    @PostMapping(value = "/add")
    public AjaxResult<Boolean> add(@Validated @RequestBody TFaultMessage dto) {
        return AjaxResult.ok(faultMessageService.save(dto));
    public AjaxResult<String> add(@Validated @RequestBody TFaultMessage dto) {
        faultMessageService.add(dto);
        return AjaxResult.success();
    }
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TChargingPileNotificationService.java
@@ -23,4 +23,13 @@
     * @return
     */
    PageInfo<TChargingPileNotification> chargingPileNotificationPageList(Integer siteId, BasePage basePage);
    /**
     *
     * @param type 1=验证码 2=停车占位 3=充电结束 4=桩故障
     * @param phone 手机号
     * @param data 内容
     */
    void saveData(Integer type,Integer siteId,Integer chargingPileId, String phone, String data);
}
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TFaultMessageService.java
@@ -13,4 +13,10 @@
 */
public interface TFaultMessageService extends IService<TFaultMessage> {
    /**
     * 添加故障报修管理
     * @param dto
     * @return
     */
    void add(TFaultMessage dto);
}
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileNotificationServiceImpl.java
@@ -84,4 +84,24 @@
        pageInfo.setRecords(list);
        return pageInfo;
    }
    @Override
    public void saveData(Integer type,Integer siteId,Integer chargingPileId, String phone, String data) {
        TChargingPileNotification notification = new TChargingPileNotification();
        switch (type){
            case 1:
                // 验证码
                notification.setPhone(phone);
                notification.setContent(data);
                break;
            default:
                // 停车占位
                notification.setSiteId(siteId);
                notification.setChargingPileId(chargingPileId);
                notification.setPhone(phone);
                notification.setContent(data);
                break;
        }
    }
}
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TFaultMessageServiceImpl.java
@@ -1,9 +1,18 @@
package com.ruoyi.chargingPile.service.impl;
import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.chargingPile.api.model.Site;
import com.ruoyi.chargingPile.api.model.TChargingPile;
import com.ruoyi.chargingPile.api.model.TFaultMessage;
import com.ruoyi.chargingPile.mapper.TFaultMessageMapper;
import com.ruoyi.chargingPile.service.ISiteService;
import com.ruoyi.chargingPile.service.TChargingPileNotificationService;
import com.ruoyi.chargingPile.service.TChargingPileService;
import com.ruoyi.chargingPile.service.TFaultMessageService;
import com.ruoyi.common.core.utils.MsgUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
@@ -14,7 +23,29 @@
 * @author xiaochen
 * @since 2024-08-08
 */
@Slf4j
@Service
public class TFaultMessageServiceImpl extends ServiceImpl<TFaultMessageMapper, TFaultMessage> implements TFaultMessageService {
    @Autowired
    private ISiteService siteService;
    @Autowired
    private TChargingPileService chargingPileService;
    @Autowired
    private TChargingPileNotificationService chargingPileNotificationService;
    @Override
    public void add(TFaultMessage dto) {
        // 故障短信提醒
        Site site = siteService.getById(dto.getSiteId());
        TChargingPile chargingPile = chargingPileService.getById(dto.getChargingPileId());
        String siteName = site.getName();
        String result = MsgUtil.faultMsg(site.getPhone(), site.getName(), chargingPile.getNumber() + "");
        log.info("故障短信提醒:{}",result);
        if(siteName.length()>10){
            siteName = siteName.substring(0,10);
        }
        chargingPileNotificationService.saveData(4,dto.getSiteId(),dto.getChargingPileId(),site.getPhone(),"检测到"+siteName+"..."+chargingPile.getNumber()+"号桩设备离线,请及时查看处理!");
        this.save(dto);
    }
}