forked from angelo/java-retail-app
## 注册、升级根据商品上传盒数计算等级;
This commit is contained in:
parent
e6cc920354
commit
ba92fa8d68
|
@ -1,6 +1,7 @@
|
|||
package com.hzs.member.base.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.hzs.common.core.annotation.BigDecimalFormat;
|
||||
import com.hzs.common.core.annotation.Excel;
|
||||
import com.hzs.common.core.annotation.Transaction;
|
||||
import com.hzs.common.core.constant.EnumsPrefixConstants;
|
||||
|
@ -90,13 +91,15 @@ public class RetailMemberVO implements Serializable {
|
|||
/**
|
||||
* 消费金额 注册金额
|
||||
*/
|
||||
@Excel(name = "注册金额")
|
||||
@Excel(name = "注册金额", scale = 2)
|
||||
@BigDecimalFormat()
|
||||
private BigDecimal consumeMoney;
|
||||
|
||||
/**
|
||||
* 消费业绩 注册业绩
|
||||
*/
|
||||
@Excel(name = "注册业绩($)")
|
||||
@Excel(name = "注册业绩", scale = 2)
|
||||
@BigDecimalFormat()
|
||||
private BigDecimal consumeAchieve;
|
||||
/**
|
||||
* 隶属体系
|
||||
|
|
|
@ -633,7 +633,6 @@ public class ApiRetailOrderController {
|
|||
.channel(shoppingCartRedis.getSource())
|
||||
.waresCode(shoppingCartRedis.getWaresCode())
|
||||
.quantity(shoppingCartRedis.getNumber())
|
||||
.pkMakerSpace(shoppingCartRedis.getPkMakerSpace())
|
||||
.build();
|
||||
List<WaresItemsParam> waresItemsParamList = new ArrayList<>(shoppingCartRedis.getProductGroup().size());
|
||||
for (ProductGroup productGroup : shoppingCartRedis.getProductGroup()) {
|
||||
|
|
|
@ -283,7 +283,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
|||
|
||||
if (boxWaresList.contains(waresDetailExt.getWaresCode())) {
|
||||
// 商品是盒数商品,需要累计数量
|
||||
boxNum += orderItems.getWaresQuantity();
|
||||
boxNum += waresDetailExt.getBoxNum() * orderItems.getWaresQuantity();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -601,7 +601,6 @@ public abstract class ParentOrderController extends BaseController {
|
|||
.channel(shoppingCartRedis.getSource())
|
||||
.waresCode(shoppingCartRedis.getWaresCode())
|
||||
.quantity(shoppingCartRedis.getNumber())
|
||||
.pkMakerSpace(shoppingCartRedis.getPkMakerSpace())
|
||||
.build();
|
||||
List<WaresItemsParam> waresItemsParamList = new ArrayList<>(shoppingCartRedis.getProductGroup().size());
|
||||
for (ProductGroup productGroup : shoppingCartRedis.getProductGroup()) {
|
||||
|
|
|
@ -40,9 +40,9 @@ public class OrderItemsParam implements Serializable {
|
|||
private Integer quantity;
|
||||
|
||||
/**
|
||||
* 创客空间id
|
||||
* 商品盒数
|
||||
*/
|
||||
private Long pkMakerSpace;
|
||||
private Integer boxNum;
|
||||
|
||||
/**
|
||||
* 商品明细
|
||||
|
|
|
@ -2157,11 +2157,13 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
|
||||
// 当前产品盒数
|
||||
int boxNum = 0;
|
||||
// 处理商品盒数
|
||||
this.handleWaresBoxNum(specialArea, orderItemsParams);
|
||||
// 判断订单明细中指定产品数量,校验等级
|
||||
for (OrderItemsParam orderItemsParam : orderItemsParams) {
|
||||
if (boxWaresList.contains(orderItemsParam.getWaresCode())) {
|
||||
// 存在指定商品,需要累计盒数
|
||||
boxNum += orderItemsParam.getQuantity();
|
||||
boxNum += orderItemsParam.getBoxNum() * orderItemsParam.getQuantity();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2297,4 +2299,29 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 处理商品盒数
|
||||
*
|
||||
* @param orderItemsParams
|
||||
*/
|
||||
private void handleWaresBoxNum(Integer specialArea, List<OrderItemsParam> orderItemsParams) {
|
||||
if (CollectionUtil.isNotEmpty(orderItemsParams)) {
|
||||
List<String> waresCodeList = orderItemsParams.stream().map(OrderItemsParam::getWaresCode).collect(Collectors.toList());
|
||||
List<BdWares> waresList = iBdWaresService.list(Wrappers.<BdWares>lambdaQuery()
|
||||
.eq(BdWares::getSpecialArea, specialArea)
|
||||
.in(BdWares::getWaresCode, waresCodeList)
|
||||
);
|
||||
if (CollectionUtil.isNotEmpty(waresList)) {
|
||||
for (OrderItemsParam orderItemsParam : orderItemsParams) {
|
||||
for (BdWares bdWares : waresList) {
|
||||
if (orderItemsParam.getWaresCode().equals(bdWares.getWaresCode())) {
|
||||
orderItemsParam.setBoxNum(bdWares.getBoxNum());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -76,7 +76,6 @@ public class ApiShoppingCartController extends BaseController {
|
|||
String jsonString = innerShopMap.get(innerKey.toString());
|
||||
ShoppingCartRedis shoppingCartRedis = JSONUtil.toBean(jsonString, ShoppingCartRedis.class);
|
||||
shoppingCartRedis.setNumber(shoppingCartRedis.getNumber() + scr.getNumber());
|
||||
shoppingCartRedis.setPkMakerSpace(scr.getPkMakerSpace());
|
||||
|
||||
innerShopMap.put(innerKey.toString(), JSONUtil.toJsonStr(shoppingCartRedis));
|
||||
} else {
|
||||
|
|
|
@ -21,11 +21,6 @@ public class ShoppingCartRedis implements Serializable {
|
|||
*/
|
||||
private Integer number;
|
||||
|
||||
/**
|
||||
* 创客空间id
|
||||
*/
|
||||
private Long pkMakerSpace;
|
||||
|
||||
/**
|
||||
* 产品 sku 组合
|
||||
*/
|
||||
|
|
|
@ -35,7 +35,6 @@ public class BdWaresDetailServiceImpl extends ServiceImpl<BdWaresDetailMapper, B
|
|||
.waresCode(orderItemsParam.getWaresCode())
|
||||
.pkWaresSpecsSku(waresItemsParam.getPkWaresSpecsSku())
|
||||
.waresQuantity(orderItemsParam.getQuantity())
|
||||
.pkMakerSpace(orderItemsParam.getPkMakerSpace())
|
||||
.price(BigDecimal.ZERO)
|
||||
.achieve(BigDecimal.ZERO)
|
||||
.build();
|
||||
|
|
|
@ -49,13 +49,13 @@ public class WaresVo {
|
|||
* 商品价格
|
||||
*/
|
||||
@Excel(name = "商品价格")
|
||||
@BigDecimalFormat("#0.0000")
|
||||
@BigDecimalFormat("#0.00")
|
||||
private BigDecimal waresPrice;
|
||||
/**
|
||||
* 商品业绩
|
||||
*/
|
||||
@Excel(name = "商品业绩")
|
||||
@BigDecimalFormat("#0.0000")
|
||||
@BigDecimalFormat("#0.00")
|
||||
private BigDecimal waresAchieve;
|
||||
|
||||
/**
|
||||
|
|
|
@ -11,8 +11,6 @@ import java.lang.annotation.Target;
|
|||
|
||||
/**
|
||||
* BigDecimal自定义序列化处理
|
||||
*
|
||||
* @author
|
||||
*/
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target(ElementType.FIELD)
|
||||
|
|
Loading…
Reference in New Issue