refactor(quotation): 优化价格计算逻辑并修复数据类型问题
- 修改AppRatioAgentConfigController中的价格计算逻辑,增加空值检查避免NPE - 更新PlanSearchItemVO中salePrice的计算方法,统一使用NumberUtil.multiply - 注释掉ProductModelMapper.xml中型号编号的查询条件 - 修正QuotationProductModelSearchVO中moduleName字段类型为String - 在PlanSearchItemVO中添加NumberUtil导入声明
This commit is contained in:
parent
6a7b51ce73
commit
24185b09e5
|
|
@ -1,5 +1,6 @@
|
|||
package com.nflg.mobilebroken.common.pojo.vo;
|
||||
|
||||
import com.nflg.mobilebroken.common.util.NumberUtil;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
|
@ -54,9 +55,6 @@ public class PlanSearchItemVO {
|
|||
private BigDecimal salePrice;
|
||||
|
||||
public BigDecimal getSalePrice() {
|
||||
if (Objects.nonNull(standardPrice)) {
|
||||
return standardPrice.multiply(ratio);
|
||||
}
|
||||
return null;
|
||||
return NumberUtil.multiply(standardPrice,ratio);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ public class QuotationProductModelSearchVO {
|
|||
/**
|
||||
* 模块名称
|
||||
*/
|
||||
private Integer moduleName;
|
||||
private String moduleName;
|
||||
|
||||
/**
|
||||
* 系列名称
|
||||
|
|
|
|||
|
|
@ -131,10 +131,13 @@ public class AppRatioAgentConfigController extends ControllerBase {
|
|||
&& it.getUserId().equals(user.getId()))
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
QuotationModelRatioAgentItem mitem = ratioAgentItemService.getEffectiveForUser(data.getBatchNumber(), AppUserUtil.getUserId());
|
||||
BigDecimal basePrice = Objects.nonNull(modelPrice) ? NumberUtil.multiply(modelPrice.getAmount(), Optional.ofNullable(mitem)
|
||||
.map(QuotationModelRatioAgentItem::getStandardRatio)
|
||||
.orElse(null)) : null;
|
||||
BigDecimal basePrice = Optional.ofNullable(modelPrice).map(ModelPriceVO::getAmount).orElse(null);
|
||||
if (Objects.nonNull(basePrice)) {
|
||||
QuotationModelRatioAgentItem mitem = ratioAgentItemService.getEffectiveForUser(data.getBatchNumber(), AppUserUtil.getUserId());
|
||||
if (Objects.nonNull(mitem)) {
|
||||
basePrice = NumberUtil.multiply(basePrice, mitem.getStandardRatio());
|
||||
}
|
||||
}
|
||||
BigDecimal standardRatio = Objects.nonNull(item) ? item.getStandardRatio() : null;
|
||||
map.put(user.getId().toString() + "-standardPrice", NumberUtil.format(basePrice));
|
||||
map.put(user.getId().toString() + "-standardRatio", NumberUtil.format(standardRatio));
|
||||
|
|
@ -239,7 +242,7 @@ public class AppRatioAgentConfigController extends ControllerBase {
|
|||
}
|
||||
|
||||
/**
|
||||
* 获取方案列表
|
||||
* 查看下级数据
|
||||
*/
|
||||
@PostMapping("list/search")
|
||||
public ApiResult<PageData<RatioConfigSearchVO>> search(@Valid @RequestBody ModelRatioUserSearchRequest request) {
|
||||
|
|
|
|||
|
|
@ -137,9 +137,9 @@
|
|||
<if test="request.hasDiscount==true">
|
||||
AND dis.model_id is not null
|
||||
</if>
|
||||
<if test="request.no!=null and request.no!=''">
|
||||
AND pm.`no` like concat('%', #{request.no}, '%')
|
||||
</if>
|
||||
<!-- <if test="request.no!=null and request.no!=''">-->
|
||||
<!-- AND pm.`no` like concat('%', #{request.no}, '%')-->
|
||||
<!-- </if>-->
|
||||
ORDER BY pm.sort,pm.id DESC
|
||||
</select>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue