提交附加费配置功能

This commit is contained in:
wuweihua
2026-09-07 16:50:59 +08:00
parent ea2bc6f33e
commit 3994bd7998
13 changed files with 947 additions and 0 deletions
@@ -0,0 +1,84 @@
package com.ruoyi.price.domain;
import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 附加费配置 prc_surcharge
*
* @author ruoyi
*/
public class PrcSurcharge extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 附加费配置ID */
private Long scId;
/** 附加费名称 */
private String scName;
/** 费用类型(字典 bms_fee_type) */
private String feeType;
/** 计费方式 FIXED固定金额/WEIGHT按重量/RATE按比例 */
private String chargeType;
/** 计费数值 */
private BigDecimal chargeValue;
/** 币种 */
private String currency;
/** 取值方式(字典 bms_round_mode)UP/DOWN/HALF_UP */
private String roundMode;
/** 状态码 on/of */
private String ssCode;
/** 适用国家ISO2(空=全部) */
private String countryCode;
/** 备注 */
private String scNote;
/** 租户ID */
private Long tmsId;
public Long getScId() { return scId; }
public void setScId(Long scId) { this.scId = scId; }
public String getScName() { return scName; }
public void setScName(String scName) { this.scName = scName; }
public String getFeeType() { return feeType; }
public void setFeeType(String feeType) { this.feeType = feeType; }
public String getChargeType() { return chargeType; }
public void setChargeType(String chargeType) { this.chargeType = chargeType; }
public BigDecimal getChargeValue() { return chargeValue; }
public void setChargeValue(BigDecimal chargeValue) { this.chargeValue = chargeValue; }
public String getCurrency() { return currency; }
public void setCurrency(String currency) { this.currency = currency; }
public String getRoundMode() { return roundMode; }
public void setRoundMode(String roundMode) { this.roundMode = roundMode; }
public String getSsCode() { return ssCode; }
public void setSsCode(String ssCode) { this.ssCode = ssCode; }
public String getCountryCode() { return countryCode; }
public void setCountryCode(String countryCode) { this.countryCode = countryCode; }
public String getScNote() { return scNote; }
public void setScNote(String scNote) { this.scNote = scNote; }
public Long getTmsId() { return tmsId; }
public void setTmsId(Long tmsId) { this.tmsId = tmsId; }
@Override
public String toString()
{
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("scId", getScId())
.append("scName", getScName())
.append("feeType", getFeeType())
.append("chargeType", getChargeType())
.append("chargeValue", getChargeValue())
.append("currency", getCurrency())
.append("roundMode", getRoundMode())
.append("ssCode", getSsCode())
.append("countryCode", getCountryCode())
.append("scNote", getScNote())
.append("tmsId", getTmsId())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}
@@ -0,0 +1,22 @@
package com.ruoyi.price.mapper;
import java.util.List;
import com.ruoyi.price.domain.PrcSurcharge;
/**
* 附加费配置 数据层
*
* @author ruoyi
*/
public interface PrcSurchargeMapper
{
public PrcSurcharge selectPrcSurchargeById(Long scId);
public List<PrcSurcharge> selectPrcSurchargeList(PrcSurcharge surcharge);
public int insertPrcSurcharge(PrcSurcharge surcharge);
public int updatePrcSurcharge(PrcSurcharge surcharge);
public int deletePrcSurchargeByIds(Long[] scIds);
}
@@ -0,0 +1,22 @@
package com.ruoyi.price.service;
import java.util.List;
import com.ruoyi.price.domain.PrcSurcharge;
/**
* 附加费配置 服务层
*
* @author ruoyi
*/
public interface IPrcSurchargeService
{
public PrcSurcharge selectPrcSurchargeById(Long scId);
public List<PrcSurcharge> selectPrcSurchargeList(PrcSurcharge surcharge);
public int insertPrcSurcharge(PrcSurcharge surcharge);
public int updatePrcSurcharge(PrcSurcharge surcharge);
public int deletePrcSurchargeByIds(Long[] scIds);
}
@@ -0,0 +1,86 @@
package com.ruoyi.price.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.price.domain.PrcSurcharge;
import com.ruoyi.price.mapper.PrcSurchargeMapper;
import com.ruoyi.price.service.IPrcSurchargeService;
/**
* 附加费配置 服务层实现
*
* @author ruoyi
*/
@Service
public class PrcSurchargeServiceImpl implements IPrcSurchargeService
{
@Autowired
private PrcSurchargeMapper surchargeMapper;
@Override
public PrcSurcharge selectPrcSurchargeById(Long scId)
{
return surchargeMapper.selectPrcSurchargeById(scId);
}
@Override
public List<PrcSurcharge> selectPrcSurchargeList(PrcSurcharge surcharge)
{
return surchargeMapper.selectPrcSurchargeList(surcharge);
}
@Override
public int insertPrcSurcharge(PrcSurcharge surcharge)
{
validate(surcharge);
if (StringUtils.isEmpty(surcharge.getSsCode()))
{
surcharge.setSsCode("on");
}
if (StringUtils.isEmpty(surcharge.getFeeType()))
{
surcharge.setFeeType("SURCHARGE");
}
if (StringUtils.isEmpty(surcharge.getRoundMode()))
{
surcharge.setRoundMode("HALF_UP");
}
return surchargeMapper.insertPrcSurcharge(surcharge);
}
@Override
public int updatePrcSurcharge(PrcSurcharge surcharge)
{
validate(surcharge);
return surchargeMapper.updatePrcSurcharge(surcharge);
}
@Override
public int deletePrcSurchargeByIds(Long[] scIds)
{
return surchargeMapper.deletePrcSurchargeByIds(scIds);
}
private void validate(PrcSurcharge surcharge)
{
if (StringUtils.isEmpty(surcharge.getScName()))
{
throw new ServiceException("附加费名称不能为空");
}
if (StringUtils.isEmpty(surcharge.getChargeType()))
{
throw new ServiceException("计费方式不能为空");
}
if (surcharge.getChargeValue() == null)
{
throw new ServiceException("计费数值不能为空");
}
if (surcharge.getChargeValue().compareTo(java.math.BigDecimal.ZERO) < 0)
{
throw new ServiceException("计费数值不能为负数");
}
}
}