mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-21 11:35:12 +08:00
update 分成功能
This commit is contained in:
@@ -2,6 +2,8 @@ package com.jsowell.pile.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 参与分账的用户详情
|
||||
*/
|
||||
@@ -11,10 +13,10 @@ public class SplitUserDetailDTO {
|
||||
private String adapayMemberId;
|
||||
|
||||
// 电量分成比例
|
||||
private String electricitySplitRatio;
|
||||
private BigDecimal electricitySplitRatio;
|
||||
|
||||
// 服务费分成比例
|
||||
private String serviceSplitRatio;
|
||||
private BigDecimal serviceSplitRatio;
|
||||
|
||||
// 是否手续费承担方,N-否,Y-是,手续费承担方有且只能有一个
|
||||
private String feeFlag;
|
||||
|
||||
@@ -12,4 +12,9 @@ public interface StationSplitConfigMapper {
|
||||
* @return
|
||||
*/
|
||||
List<StationSplitConfig> queryByStationId(String stationId);
|
||||
|
||||
/**
|
||||
* 批量插入站点分账配置
|
||||
*/
|
||||
int batchInsert(List<StationSplitConfig> splitConfigList);
|
||||
}
|
||||
@@ -1,12 +1,15 @@
|
||||
package com.jsowell.pile.service.impl;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.jsowell.pile.domain.StationSplitConfig;
|
||||
import com.jsowell.pile.dto.SplitConfigDTO;
|
||||
import com.jsowell.pile.dto.SplitUserDetailDTO;
|
||||
import com.jsowell.pile.mapper.StationSplitConfigMapper;
|
||||
import com.jsowell.pile.service.StationSplitConfigService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
@@ -22,6 +25,34 @@ public class StationSplitConfigServiceImpl implements StationSplitConfigService{
|
||||
|
||||
@Override
|
||||
public int insertSplitConfig(SplitConfigDTO splitConfigDTO) {
|
||||
return 0;
|
||||
// 参与分成的用户不能超过7位
|
||||
if (splitConfigDTO.getSplitUserDetailList().size() > 7) {
|
||||
return 0;
|
||||
}
|
||||
// 校验分成比例相加是否为100.0%
|
||||
List<SplitUserDetailDTO> splitUserDetailList = splitConfigDTO.getSplitUserDetailList();
|
||||
BigDecimal totalElectricitySplitRatio = BigDecimal.ZERO;
|
||||
BigDecimal totalServiceSplitRatio = BigDecimal.ZERO;
|
||||
for (SplitUserDetailDTO splitUserDetailDTO : splitUserDetailList) {
|
||||
totalElectricitySplitRatio = totalElectricitySplitRatio.add(splitUserDetailDTO.getElectricitySplitRatio());
|
||||
totalServiceSplitRatio = totalServiceSplitRatio.add(splitUserDetailDTO.getServiceSplitRatio());
|
||||
}
|
||||
if (totalElectricitySplitRatio.compareTo(BigDecimal.valueOf(100)) != 0 || totalServiceSplitRatio.compareTo(BigDecimal.valueOf(100)) != 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
// 保存到数据库
|
||||
List<StationSplitConfig> splitConfigList = Lists.newArrayList();
|
||||
for (SplitUserDetailDTO splitUserDetailDTO : splitUserDetailList) {
|
||||
StationSplitConfig splitConfig = StationSplitConfig.builder()
|
||||
.merchantId(splitConfigDTO.getMerchantId())
|
||||
.stationId(splitConfigDTO.getStationId())
|
||||
.adapayMemberId(splitUserDetailDTO.getAdapayMemberId())
|
||||
.electricitySplitRatio(splitUserDetailDTO.getElectricitySplitRatio())
|
||||
.serviceSplitRatio(splitUserDetailDTO.getServiceSplitRatio())
|
||||
.build();
|
||||
splitConfigList.add(splitConfig);
|
||||
}
|
||||
return stationSplitConfigMapper.batchInsert(splitConfigList);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user