xuhy
2024-10-26 304d904f336952172c3cf4d42d5c48cff9e649aa
修改
2个文件已修改
1个文件已添加
86 ■■■■ 已修改文件
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/RptUtils.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyDetailController.java 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java
@@ -11,6 +11,7 @@
import com.ruoyi.account.mapper.TAppUserMapper;
import com.ruoyi.account.service.TAppUserService;
import com.ruoyi.account.service.TInviteUserService;
import com.ruoyi.account.util.RptUtils;
import com.ruoyi.account.wx.model.WeixinProperties;
import com.ruoyi.account.wx.pojo.AppletUserDecodeData;
import com.ruoyi.common.core.exception.ServiceException;
@@ -18,6 +19,7 @@
import com.ruoyi.system.api.model.LoginUserApplet;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import org.springframework.web.client.RestTemplate;
import java.util.HashMap;
@@ -69,9 +71,10 @@
                    break;
            }
        }
        appUser.setAvatar(appletUserDecodeData.getAvatarUrl());
        appUser.setAvatar(StringUtils.hasLength(appletUserDecodeData.getAvatarUrl())?appletUserDecodeData.getAvatarUrl():"http://221.182.45.100:8090/2024-10-26/logo.png");
        appUser.setName(StringUtils.hasLength(appletUserDecodeData.getNickName())?appletUserDecodeData.getNickName():RptUtils.around(appletUserDecodeData.getPhoneNumber(),3,4));
        appUser.setCity(appletUserDecodeData.getCity());
        appUser.setName(appletUserDecodeData.getNickName());
        appUser.setProvince(appletUserDecodeData.getProvince());
        appUser.setWxOpenid(appletUserDecodeData.getOpenId());
        this.saveOrUpdate(appUser);
@@ -113,6 +116,8 @@
            }
        }
        appUser.setAliOpenid(response.getOpenId());
        appUser.setAvatar("http://221.182.45.100:8090/2024-10-26/logo.png");
        appUser.setName(RptUtils.around(phone,3,4));
        this.saveOrUpdate(appUser);
        if(Objects.nonNull(inviteUserId)){
            inviteUserService.saveInviteUser(appUser.getId(), inviteUserId);
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/RptUtils.java
New file
@@ -0,0 +1,33 @@
package com.ruoyi.account.util;
/**
 * 脱敏工具类
 */
public class RptUtils {
      private static final String SYMBOL = "*";
     /**
      *  脱敏
      * @param str 待脱敏字符串
      * @param left 左边保留多少位
      * @param right 右边保留多少位
      * @return 脱敏结果,除左右外,其余字符将被替换为*
      */
     public static String around(String str, int left, int right){
         if (str == null || (str.length() < left + right +1)){
             return str;
         }
         String regex = String.format("(?<=\\w{%d})\\w(?=\\w{%d})", left, right);
         return str.replaceAll(regex, SYMBOL);
     }
     /**
      * 正则表达式实现金额数据脱敏
      * @param money
      * @return
      */
     public static String getMoney(String money){
         //保留0个数到0个结束
         return around(money,0,0);
     }
 }
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyDetailController.java
@@ -10,12 +10,14 @@
import com.ruoyi.chargingPile.service.*;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.common.core.web.domain.AjaxResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.time.LocalTime;
import java.util.List;
import java.util.Objects;
@@ -100,10 +102,16 @@
    public R<TAccountingStrategyDetail> getDetailBySiteId(@RequestParam("siteId") Integer siteId){
        Site site = siteService.getById(siteId);
        TAccountingStrategy accountingStrategy = accountingStrategyService.getById(site.getAccountingStrategyId());
        TAccountingStrategyDetail one = accountingStrategyDetailService.getOne(Wrappers.<TAccountingStrategyDetail>lambdaQuery()
                .eq(TAccountingStrategyDetail::getAccountingStrategyId, accountingStrategy.getId())
                .last(" and DATE_FORMAT(now(), '%H:%i') between start_time and end_time"));
        return R.ok(one);
        List<TAccountingStrategyDetail> list = accountingStrategyDetailService.list(Wrappers.<TAccountingStrategyDetail>lambdaQuery()
                .eq(TAccountingStrategyDetail::getAccountingStrategyId, accountingStrategy.getId()));
        list.stream().filter(item -> "00:00".equals(item.getEndTime())).forEach(item -> item.setEndTime("23:59:59"));
        for (TAccountingStrategyDetail accountingStrategyDetail : list) {
            if(DateUtils.string2LocalTime(accountingStrategyDetail.getStartTime() + ":00").compareTo(LocalTime.now()) <= 0
                    && DateUtils.string2LocalTime(accountingStrategyDetail.getEndTime() + ("23:59:59".equals(accountingStrategyDetail.getEndTime())?"":":00")).compareTo(LocalTime.now()) > 0){
                return R.ok(accountingStrategyDetail);
            }
        }
        return R.ok();
    }
    /**
     * 通过桩id查询当前时段使用的策略明细
@@ -123,19 +131,31 @@
                .eq(TChargingGun::getChargingPileId, chargingPile.getId()).eq(TChargingGun::getDelFlag, 0)
                .last("LIMIT 1"));
        TAccountingStrategy accountingStrategy = accountingStrategyService.getById(chargingGun.getAccountingStrategyId());
        TAccountingStrategyDetail one;
        TAccountingStrategyDetail one = null;
        if(Objects.nonNull(accountingStrategy)){
            one = accountingStrategyDetailService.getOne(Wrappers.<TAccountingStrategyDetail>lambdaQuery()
                    .eq(TAccountingStrategyDetail::getAccountingStrategyId, accountingStrategy.getId())
                    .last(" and DATE_FORMAT(now(), '%H:%i') between start_time and end_time"));
            List<TAccountingStrategyDetail> list = accountingStrategyDetailService.list(Wrappers.<TAccountingStrategyDetail>lambdaQuery()
                    .eq(TAccountingStrategyDetail::getAccountingStrategyId, accountingStrategy.getId()));
            list.stream().filter(item -> "00:00".equals(item.getEndTime())).forEach(item -> item.setEndTime("23:59:59"));
            for (TAccountingStrategyDetail accountingStrategyDetail : list) {
                if(DateUtils.string2LocalTime(accountingStrategyDetail.getStartTime() + ":00").compareTo(LocalTime.now()) <= 0
                        && DateUtils.string2LocalTime(accountingStrategyDetail.getEndTime() + ("23:59:59".equals(accountingStrategyDetail.getEndTime())?"":":00")).compareTo(LocalTime.now()) > 0){
                    return R.ok(accountingStrategyDetail);
                }
            }
        }else {
            Site site = siteService.getById(chargingPile.getSiteId());
            accountingStrategy = accountingStrategyService.getById(site.getAccountingStrategyId());
            one = accountingStrategyDetailService.getOne(Wrappers.<TAccountingStrategyDetail>lambdaQuery()
                    .eq(TAccountingStrategyDetail::getAccountingStrategyId, accountingStrategy.getId())
                    .last(" and DATE_FORMAT(now(), '%H:%i') between start_time and end_time"));
            List<TAccountingStrategyDetail> list = accountingStrategyDetailService.list(Wrappers.<TAccountingStrategyDetail>lambdaQuery()
                    .eq(TAccountingStrategyDetail::getAccountingStrategyId, accountingStrategy.getId()));
            list.stream().filter(item -> "00:00".equals(item.getEndTime())).forEach(item -> item.setEndTime("23:59:59"));
            for (TAccountingStrategyDetail accountingStrategyDetail : list) {
                if(DateUtils.string2LocalTime(accountingStrategyDetail.getStartTime() + ":00").compareTo(LocalTime.now()) <= 0
                        && DateUtils.string2LocalTime(accountingStrategyDetail.getEndTime() + ("23:59:59".equals(accountingStrategyDetail.getEndTime())?"":":00")).compareTo(LocalTime.now()) > 0){
                    return R.ok(accountingStrategyDetail);
                }
            }
        }
        return R.ok(one);
        return R.ok();
    }
    /**
     * 校验充电桩计费模版是否准确