商户查看用户手机号
This commit is contained in:
parent
beaa110dad
commit
710a05b677
|
@ -17,6 +17,7 @@ import com.ruoyi.common.annotation.Excel;
|
||||||
import com.ruoyi.common.core.domain.BaseEntity;
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import javax.validation.constraints.Min;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import javax.validation.constraints.Size;
|
import javax.validation.constraints.Size;
|
||||||
|
|
||||||
|
@ -225,6 +226,7 @@ public class SmUser extends BaseEntity
|
||||||
|
|
||||||
@Excel(name = "订单查看用户手机号所需的金额", readConverterExp = "元=/单")
|
@Excel(name = "订单查看用户手机号所需的金额", readConverterExp = "元=/单")
|
||||||
@ApiModelProperty("订单查看用户手机号所需的金额")
|
@ApiModelProperty("订单查看用户手机号所需的金额")
|
||||||
|
@Min(value = 0, message = "订单显示用户手机号单价不允许小于0元/单")
|
||||||
private BigDecimal showBillMobilePrice;
|
private BigDecimal showBillMobilePrice;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,7 +44,12 @@ public enum DesensitizedType
|
||||||
/**
|
/**
|
||||||
* 车牌号码,包含普通车辆、新能源车辆
|
* 车牌号码,包含普通车辆、新能源车辆
|
||||||
*/
|
*/
|
||||||
CAR_LICENSE(DesensitizedUtil::carLicense);
|
CAR_LICENSE(DesensitizedUtil::carLicense),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通用,保留前后各一位,中间所有用星号替换
|
||||||
|
*/
|
||||||
|
COMMON(s -> s.replaceAll("(?<=\\w{1})\\w(?=\\w{1})", "*"));
|
||||||
|
|
||||||
private final Function<String, String> desensitizer;
|
private final Function<String, String> desensitizer;
|
||||||
|
|
||||||
|
|
|
@ -28,4 +28,7 @@ public class ServiceIncomeVO {
|
||||||
@ApiModelProperty("渠道成本")
|
@ApiModelProperty("渠道成本")
|
||||||
private BigDecimal channelCost;
|
private BigDecimal channelCost;
|
||||||
|
|
||||||
|
@ApiModelProperty("订单手机号收入")
|
||||||
|
private BigDecimal billMobileAmount;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -136,11 +136,15 @@ public class DashboardService {
|
||||||
|
|
||||||
// 查询月费收入
|
// 查询月费收入
|
||||||
ReceiveBillQuery receiveQuery = new ReceiveBillQuery();
|
ReceiveBillQuery receiveQuery = new ReceiveBillQuery();
|
||||||
receiveQuery.setType(ReceiveBillType.MONTH.getType());
|
|
||||||
receiveQuery.setStartDate(query.getStartDate());
|
receiveQuery.setStartDate(query.getStartDate());
|
||||||
receiveQuery.setEndDate(query.getEndDate());
|
receiveQuery.setEndDate(query.getEndDate());
|
||||||
|
receiveQuery.setType(ReceiveBillType.MONTH.getType());
|
||||||
List<ReceiveAmountVO<Date>> receiveList = receiveBillService.selectCommonSumOfAmount(receiveQuery, ReceiveBillGroupBy.create_date.name());
|
List<ReceiveAmountVO<Date>> receiveList = receiveBillService.selectCommonSumOfAmount(receiveQuery, ReceiveBillGroupBy.create_date.name());
|
||||||
|
|
||||||
|
// 查询订单手机号收入
|
||||||
|
receiveQuery.setType(ReceiveBillType.MOBILE.getType());
|
||||||
|
List<ReceiveAmountVO<Date>> mobileList = receiveBillService.selectCommonSumOfAmount(receiveQuery, ReceiveBillGroupBy.create_date.name());
|
||||||
|
|
||||||
// 拼接结果集
|
// 拼接结果集
|
||||||
List<ServiceIncomeVO> result = new ArrayList<>();
|
List<ServiceIncomeVO> result = new ArrayList<>();
|
||||||
if (query.getStartDate() != null && query.getEndDate() != null) {
|
if (query.getStartDate() != null && query.getEndDate() != null) {
|
||||||
|
@ -190,6 +194,17 @@ public class DashboardService {
|
||||||
vo.setMonthAmount(BigDecimal.ZERO);
|
vo.setMonthAmount(BigDecimal.ZERO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 订单手机号收入
|
||||||
|
ReceiveAmountVO<Date> mobile = mobileList.stream()
|
||||||
|
.filter(item -> item.getKey().compareTo(DateUtils.toDate(date)) == 0)
|
||||||
|
.findFirst()
|
||||||
|
.orElse(null);
|
||||||
|
if (mobile != null) {
|
||||||
|
vo.setBillMobileAmount(mobile.getReceivedAmount());
|
||||||
|
} else {
|
||||||
|
vo.setBillMobileAmount(BigDecimal.ZERO);
|
||||||
|
}
|
||||||
|
|
||||||
return vo;
|
return vo;
|
||||||
}, query.getStartDate(), query.getEndDate());
|
}, query.getStartDate(), query.getEndDate());
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
package com.ruoyi.ss.transactionBill.domain.vo;
|
package com.ruoyi.ss.transactionBill.domain.vo;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonView;
|
import com.fasterxml.jackson.annotation.JsonView;
|
||||||
|
import com.ruoyi.common.annotation.Sensitive;
|
||||||
import com.ruoyi.common.core.domain.JsonViewProfile;
|
import com.ruoyi.common.core.domain.JsonViewProfile;
|
||||||
|
import com.ruoyi.common.enums.DesensitizedType;
|
||||||
import com.ruoyi.ss.bonus.domain.Bonus;
|
import com.ruoyi.ss.bonus.domain.Bonus;
|
||||||
import com.ruoyi.ss.bonus.domain.BonusVO;
|
import com.ruoyi.ss.bonus.domain.BonusVO;
|
||||||
import com.ruoyi.iot.interfaces.IotDevice;
|
import com.ruoyi.iot.interfaces.IotDevice;
|
||||||
|
@ -26,6 +28,7 @@ import java.util.List;
|
||||||
public class TransactionBillVO extends TransactionBill implements IotDevice {
|
public class TransactionBillVO extends TransactionBill implements IotDevice {
|
||||||
@ApiModelProperty("用户名称")
|
@ApiModelProperty("用户名称")
|
||||||
@JsonView(JsonViewProfile.App.class)
|
@JsonView(JsonViewProfile.App.class)
|
||||||
|
@Sensitive(desensitizedType = DesensitizedType.COMMON)
|
||||||
private String userName;
|
private String userName;
|
||||||
|
|
||||||
@ApiModelProperty("商户(到账用户)名称")
|
@ApiModelProperty("商户(到账用户)名称")
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
package com.ruoyi.ss.transactionBill.service.impl;
|
package com.ruoyi.ss.transactionBill.service.impl;
|
||||||
|
|
||||||
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageHelper;
|
||||||
|
import com.ruoyi.common.enums.DesensitizedType;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.ruoyi.common.utils.collection.CollectionUtils;
|
import com.ruoyi.common.utils.collection.CollectionUtils;
|
||||||
import com.ruoyi.ss.bonus.domain.BonusQuery;
|
import com.ruoyi.ss.bonus.domain.BonusQuery;
|
||||||
import com.ruoyi.ss.bonus.domain.BonusVO;
|
import com.ruoyi.ss.bonus.domain.BonusVO;
|
||||||
|
@ -144,7 +146,7 @@ public class TransactionAssemblerImpl implements TransactionAssembler {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handleMchUserMobile(List<TransactionBillVO> list) {
|
public void handleMchUserMobile(List<TransactionBillVO> list) {
|
||||||
if (CollectionUtils.isNotEmptyElement(list)) {
|
if (CollectionUtils.isEmptyElement(list)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -153,8 +155,11 @@ public class TransactionAssemblerImpl implements TransactionAssembler {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
boolean payed = RechargeBillShowMobileStatus.PAID.getStatus().equals(bill.getMchShowMobileStatus()); // 是否已经缴费
|
boolean payed = RechargeBillShowMobileStatus.PAID.getStatus().equals(bill.getMchShowMobileStatus()); // 是否已经缴费
|
||||||
|
// 若商户不需要显示手机号 或者 未缴费,则手机号脱敏
|
||||||
if (bill.getMchShowMobile() == null || !bill.getMchShowMobile() || !payed) {
|
if (bill.getMchShowMobile() == null || !bill.getMchShowMobile() || !payed) {
|
||||||
bill.setUserMobile(null);
|
if (StringUtils.hasText(bill.getUserMobile())) {
|
||||||
|
bill.setUserMobile(DesensitizedType.PHONE.desensitizer().apply(bill.getUserMobile()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user