mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-05-08 20:10:16 +08:00
update 分成功能
This commit is contained in:
@@ -2,6 +2,7 @@ package com.jsowell.web.controller.pile;
|
|||||||
|
|
||||||
import com.jsowell.common.core.controller.BaseController;
|
import com.jsowell.common.core.controller.BaseController;
|
||||||
import com.jsowell.common.core.domain.AjaxResult;
|
import com.jsowell.common.core.domain.AjaxResult;
|
||||||
|
import com.jsowell.common.exception.BusinessException;
|
||||||
import com.jsowell.pile.dto.SplitConfigDTO;
|
import com.jsowell.pile.dto.SplitConfigDTO;
|
||||||
import com.jsowell.pile.service.StationSplitConfigService;
|
import com.jsowell.pile.service.StationSplitConfigService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -22,7 +23,15 @@ public class StationSplitConfigController extends BaseController {
|
|||||||
|
|
||||||
@RequestMapping("/insertSplitConfig")
|
@RequestMapping("/insertSplitConfig")
|
||||||
public AjaxResult insertSplitConfig(HttpServletRequest request, @RequestBody SplitConfigDTO splitDetailDTO) {
|
public AjaxResult insertSplitConfig(HttpServletRequest request, @RequestBody SplitConfigDTO splitDetailDTO) {
|
||||||
int result = stationSplitConfigService.insertSplitConfig(splitDetailDTO);
|
AjaxResult ajaxResult;
|
||||||
return result > 0 ? success() : error();
|
try {
|
||||||
|
int result = stationSplitConfigService.insertSplitConfig(splitDetailDTO);
|
||||||
|
ajaxResult = result > 0 ? success() : error();
|
||||||
|
} catch (BusinessException e) {
|
||||||
|
ajaxResult = error(e.getMessage());
|
||||||
|
} catch (Exception e) {
|
||||||
|
ajaxResult = error("系统异常");
|
||||||
|
}
|
||||||
|
return ajaxResult;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1103,10 +1103,10 @@ public class SpringBootTestController {
|
|||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void createPaymentReverseRequestTest() {
|
public void createPaymentReverseRequestTest() {
|
||||||
String paymentId = "002212024080610282310666722484828160000";
|
String paymentId = "002212024092220492810683911016616513536";
|
||||||
BigDecimal refundAmount = new BigDecimal("20.28");
|
BigDecimal refundAmount = new BigDecimal("33.58");
|
||||||
String memberId = "25994783";
|
String memberId = "84630475";
|
||||||
String orderCode = "C61883385858";
|
String orderCode = "C40138347581";
|
||||||
|
|
||||||
// 延迟分账未确认调撤销调撤销接口退款
|
// 延迟分账未确认调撤销调撤销接口退款
|
||||||
PaymentReverseOperation operation = new PaymentReverseOperation();
|
PaymentReverseOperation operation = new PaymentReverseOperation();
|
||||||
|
|||||||
@@ -50,6 +50,11 @@ public class StationSplitConfig {
|
|||||||
*/
|
*/
|
||||||
private BigDecimal serviceSplitRatio;
|
private BigDecimal serviceSplitRatio;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否手续费承担方,N-否,Y-是,手续费承担方有且只能有一个
|
||||||
|
*/
|
||||||
|
private String feeFlag;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建人
|
* 创建人
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package com.jsowell.pile.mapper;
|
|||||||
import com.jsowell.pile.domain.StationSplitConfig;
|
import com.jsowell.pile.domain.StationSplitConfig;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public interface StationSplitConfigMapper {
|
public interface StationSplitConfigMapper {
|
||||||
@@ -22,5 +23,5 @@ public interface StationSplitConfigMapper {
|
|||||||
/**
|
/**
|
||||||
* 根据运营商id和站点id逻辑删除
|
* 根据运营商id和站点id逻辑删除
|
||||||
*/
|
*/
|
||||||
int deleteByMerchantIdAndStationId(@Param("merchantId") String merchantId, @Param("stationId") String stationId);
|
int deleteByMerchantIdAndStationId(@Param("merchantId") String merchantId, @Param("stationId") String stationId, @Param("updateBy") String updateBy, @Param("updateTime") Date updateTime);
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,9 @@
|
|||||||
package com.jsowell.pile.service.impl;
|
package com.jsowell.pile.service.impl;
|
||||||
|
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
|
import com.jsowell.common.constant.Constants;
|
||||||
import com.jsowell.common.enums.DelFlagEnum;
|
import com.jsowell.common.enums.DelFlagEnum;
|
||||||
|
import com.jsowell.common.exception.BusinessException;
|
||||||
import com.jsowell.common.util.DateUtils;
|
import com.jsowell.common.util.DateUtils;
|
||||||
import com.jsowell.common.util.SecurityUtils;
|
import com.jsowell.common.util.SecurityUtils;
|
||||||
import com.jsowell.pile.domain.StationSplitConfig;
|
import com.jsowell.pile.domain.StationSplitConfig;
|
||||||
@@ -31,8 +33,10 @@ public class StationSplitConfigServiceImpl implements StationSplitConfigService{
|
|||||||
public int insertSplitConfig(SplitConfigDTO splitConfigDTO) {
|
public int insertSplitConfig(SplitConfigDTO splitConfigDTO) {
|
||||||
// 参与分成的用户不能超过7位
|
// 参与分成的用户不能超过7位
|
||||||
if (splitConfigDTO.getSplitUserDetailList().size() > 7) {
|
if (splitConfigDTO.getSplitUserDetailList().size() > 7) {
|
||||||
return 0;
|
throw new BusinessException("", "参与分成的用户不能超过7位");
|
||||||
}
|
}
|
||||||
|
// 只能有一位手续费承担方, 超过则报错
|
||||||
|
int feeFlagCount = 0;
|
||||||
// 校验分成比例相加是否为100.0%
|
// 校验分成比例相加是否为100.0%
|
||||||
List<SplitUserDetailDTO> splitUserDetailList = splitConfigDTO.getSplitUserDetailList();
|
List<SplitUserDetailDTO> splitUserDetailList = splitConfigDTO.getSplitUserDetailList();
|
||||||
BigDecimal totalElectricitySplitRatio = BigDecimal.ZERO;
|
BigDecimal totalElectricitySplitRatio = BigDecimal.ZERO;
|
||||||
@@ -40,17 +44,25 @@ public class StationSplitConfigServiceImpl implements StationSplitConfigService{
|
|||||||
for (SplitUserDetailDTO splitUserDetailDTO : splitUserDetailList) {
|
for (SplitUserDetailDTO splitUserDetailDTO : splitUserDetailList) {
|
||||||
totalElectricitySplitRatio = totalElectricitySplitRatio.add(splitUserDetailDTO.getElectricitySplitRatio());
|
totalElectricitySplitRatio = totalElectricitySplitRatio.add(splitUserDetailDTO.getElectricitySplitRatio());
|
||||||
totalServiceSplitRatio = totalServiceSplitRatio.add(splitUserDetailDTO.getServiceSplitRatio());
|
totalServiceSplitRatio = totalServiceSplitRatio.add(splitUserDetailDTO.getServiceSplitRatio());
|
||||||
|
if (Constants.Y.equals(splitUserDetailDTO.getFeeFlag())) {
|
||||||
|
feeFlagCount++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (totalElectricitySplitRatio.compareTo(BigDecimal.valueOf(100)) != 0 || totalServiceSplitRatio.compareTo(BigDecimal.valueOf(100)) != 0) {
|
if (feeFlagCount > 1) {
|
||||||
return 0;
|
throw new BusinessException("", "只能有一位手续费承担方");
|
||||||
}
|
}
|
||||||
|
if (totalElectricitySplitRatio.compareTo(BigDecimal.valueOf(100)) != 0) {
|
||||||
|
throw new BusinessException("", "电费分成比例相加必须为100.0%");
|
||||||
|
}
|
||||||
|
if (totalServiceSplitRatio.compareTo(BigDecimal.valueOf(100)) != 0) {
|
||||||
|
throw new BusinessException("", "服务费分成比例相加必须为100.0%");
|
||||||
|
}
|
||||||
|
String userName = SecurityUtils.getLoginUser().getUsername();
|
||||||
// 先删除该充电站的所有分成配置
|
// 先删除该充电站的所有分成配置
|
||||||
stationSplitConfigMapper.deleteByMerchantIdAndStationId(splitConfigDTO.getMerchantId(), splitConfigDTO.getStationId());
|
stationSplitConfigMapper.deleteByMerchantIdAndStationId(splitConfigDTO.getMerchantId(), splitConfigDTO.getStationId(), userName, DateUtils.getNowDate());
|
||||||
// 保存到数据库
|
// 保存到数据库
|
||||||
String createBy = SecurityUtils.getLoginUser().getUsername();
|
|
||||||
Date nowDate = DateUtils.getNowDate();
|
|
||||||
List<StationSplitConfig> splitConfigList = Lists.newArrayList();
|
List<StationSplitConfig> splitConfigList = Lists.newArrayList();
|
||||||
|
Date nowDate = DateUtils.getNowDate();
|
||||||
for (SplitUserDetailDTO splitUserDetailDTO : splitUserDetailList) {
|
for (SplitUserDetailDTO splitUserDetailDTO : splitUserDetailList) {
|
||||||
StationSplitConfig splitConfig = StationSplitConfig.builder()
|
StationSplitConfig splitConfig = StationSplitConfig.builder()
|
||||||
.merchantId(splitConfigDTO.getMerchantId())
|
.merchantId(splitConfigDTO.getMerchantId())
|
||||||
@@ -58,7 +70,8 @@ public class StationSplitConfigServiceImpl implements StationSplitConfigService{
|
|||||||
.adapayMemberId(splitUserDetailDTO.getAdapayMemberId())
|
.adapayMemberId(splitUserDetailDTO.getAdapayMemberId())
|
||||||
.electricitySplitRatio(splitUserDetailDTO.getElectricitySplitRatio())
|
.electricitySplitRatio(splitUserDetailDTO.getElectricitySplitRatio())
|
||||||
.serviceSplitRatio(splitUserDetailDTO.getServiceSplitRatio())
|
.serviceSplitRatio(splitUserDetailDTO.getServiceSplitRatio())
|
||||||
.createBy(createBy)
|
.feeFlag(splitUserDetailDTO.getFeeFlag())
|
||||||
|
.createBy(userName)
|
||||||
.createTime(nowDate)
|
.createTime(nowDate)
|
||||||
.delFlag(DelFlagEnum.NORMAL.getValue())
|
.delFlag(DelFlagEnum.NORMAL.getValue())
|
||||||
.build();
|
.build();
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
<result column="adapay_member_id" jdbcType="VARCHAR" property="adapayMemberId" />
|
<result column="adapay_member_id" jdbcType="VARCHAR" property="adapayMemberId" />
|
||||||
<result column="electricity_split_ratio" jdbcType="DECIMAL" property="electricitySplitRatio" />
|
<result column="electricity_split_ratio" jdbcType="DECIMAL" property="electricitySplitRatio" />
|
||||||
<result column="service_split_ratio" jdbcType="DECIMAL" property="serviceSplitRatio" />
|
<result column="service_split_ratio" jdbcType="DECIMAL" property="serviceSplitRatio" />
|
||||||
|
<result column="fee_flag" jdbcType="VARCHAR" property="feeFlag" />
|
||||||
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
|
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
|
||||||
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
|
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
|
||||||
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
|
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
|
||||||
@@ -18,7 +19,7 @@
|
|||||||
</resultMap>
|
</resultMap>
|
||||||
<sql id="Base_Column_List">
|
<sql id="Base_Column_List">
|
||||||
<!--@mbg.generated-->
|
<!--@mbg.generated-->
|
||||||
id, merchant_id, station_id, adapay_member_id, electricity_split_ratio, service_split_ratio,
|
id, merchant_id, station_id, adapay_member_id, electricity_split_ratio, service_split_ratio, fee_flag,
|
||||||
create_by, create_time, update_by, update_time, del_flag
|
create_by, create_time, update_by, update_time, del_flag
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
@@ -33,13 +34,13 @@
|
|||||||
<insert id="batchInsert" parameterType="map">
|
<insert id="batchInsert" parameterType="map">
|
||||||
<!--@mbg.generated-->
|
<!--@mbg.generated-->
|
||||||
insert into station_split_config
|
insert into station_split_config
|
||||||
(id, merchant_id, station_id, adapay_member_id, electricity_split_ratio, service_split_ratio,
|
(id, merchant_id, station_id, adapay_member_id, electricity_split_ratio, service_split_ratio, fee_flag,
|
||||||
create_by, create_time, update_by, update_time, del_flag)
|
create_by, create_time, update_by, update_time, del_flag)
|
||||||
values
|
values
|
||||||
<foreach collection="list" item="item" separator=",">
|
<foreach collection="list" item="item" separator=",">
|
||||||
(#{item.id,jdbcType=INTEGER}, #{item.merchantId,jdbcType=VARCHAR}, #{item.stationId,jdbcType=VARCHAR},
|
(#{item.id,jdbcType=INTEGER}, #{item.merchantId,jdbcType=VARCHAR}, #{item.stationId,jdbcType=VARCHAR},
|
||||||
#{item.adapayMemberId,jdbcType=VARCHAR}, #{item.electricitySplitRatio,jdbcType=DECIMAL},
|
#{item.adapayMemberId,jdbcType=VARCHAR}, #{item.electricitySplitRatio,jdbcType=DECIMAL},
|
||||||
#{item.serviceSplitRatio,jdbcType=DECIMAL}, #{item.createBy,jdbcType=VARCHAR},
|
#{item.serviceSplitRatio,jdbcType=DECIMAL}, #{item.feeFlag,jdbcType=VARCHAR}, #{item.createBy,jdbcType=VARCHAR},
|
||||||
#{item.createTime,jdbcType=TIMESTAMP}, #{item.updateBy,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP},
|
#{item.createTime,jdbcType=TIMESTAMP}, #{item.updateBy,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP},
|
||||||
#{item.delFlag,jdbcType=CHAR})
|
#{item.delFlag,jdbcType=CHAR})
|
||||||
</foreach>
|
</foreach>
|
||||||
@@ -47,8 +48,9 @@
|
|||||||
|
|
||||||
<update id="deleteByMerchantIdAndStationId">
|
<update id="deleteByMerchantIdAndStationId">
|
||||||
update station_split_config
|
update station_split_config
|
||||||
set del_flag = '1'
|
set del_flag = '1', update_by = #{updateBy}, update_time = #{updateTime}
|
||||||
where merchant_id = #{merchantId}
|
where del_flag = '0'
|
||||||
|
and merchant_id = #{merchantId}
|
||||||
and station_id = #{stationId}
|
and station_id = #{stationId}
|
||||||
</update>
|
</update>
|
||||||
</mapper>
|
</mapper>
|
||||||
Reference in New Issue
Block a user