1、优化产品属性、规格唯一性
2、修复佣金获取数值计算不争取的问题
This commit is contained in:
@@ -162,8 +162,7 @@ public class ProductServiceImpl implements ProductService {
|
||||
}
|
||||
storeInfo.setUserLike(false);
|
||||
storeInfo.setUserCollect(false);
|
||||
productDetailResponse.setPriceName("0");
|
||||
productDetailResponse.setStoreInfo(storeInfo);
|
||||
productDetailResponse.setStoreInfo(storeInfo);
|
||||
|
||||
// 根据制式设置attr属性
|
||||
setSkuAttr(id, productDetailResponse, productResponse);
|
||||
@@ -310,28 +309,28 @@ public class ProductServiceImpl implements ProductService {
|
||||
BigDecimal maxPrice = null;
|
||||
BigDecimal minPrice = null;
|
||||
// 获取佣金比例区间 todo 这里的对象更换为map后需要重新计算
|
||||
// if(storeProductResponse.getIsSub()){ // 是否单独分拥
|
||||
// maxPrice = storeProductResponse.getAttrValue().stream().map(e->e.getBrokerage()).reduce(BigDecimal.ZERO,BigDecimal::max);
|
||||
// minPrice = storeProductResponse.getAttrValue().stream().map(e->e.getBrokerage()).reduce(BigDecimal.ZERO,BigDecimal::min);
|
||||
//
|
||||
if(storeProductResponse.getIsSub()){ // 是否单独分拥
|
||||
maxPrice = storeProductResponse.getAttrValue().stream().map(e->e.getBrokerage()).reduce(BigDecimal.ZERO,BigDecimal::max);
|
||||
minPrice = storeProductResponse.getAttrValue().stream().map(e->e.getBrokerage()).reduce(BigDecimal.ZERO,BigDecimal::min);
|
||||
|
||||
// storeProductResponse.getAttrValues().
|
||||
// }else{
|
||||
// BigDecimal _maxPrice = storeProductResponse.getAttrValue().stream().map(e->e.getBrokerage()).reduce(BigDecimal.ZERO,BigDecimal::max);
|
||||
// BigDecimal _minPrice = storeProductResponse.getAttrValue().stream().map(e->e.getBrokerage()).reduce(BigDecimal.ZERO,BigDecimal::min);
|
||||
// maxPrice = BrokerRatio.multiply(_maxPrice);
|
||||
// minPrice = BrokerRatio.multiply((_minPrice));
|
||||
// }
|
||||
// if(minPrice.compareTo(BigDecimal.ZERO) == 0 && maxPrice.compareTo(BigDecimal.ZERO) == 0){
|
||||
// priceName = "0";
|
||||
// }else if(minPrice.compareTo(BigDecimal.ZERO) == 0 && maxPrice.compareTo(BigDecimal.ZERO) == 1){
|
||||
// priceName = maxPrice.toString();
|
||||
// }else if(minPrice.compareTo(BigDecimal.ZERO) == 1 && maxPrice.compareTo(BigDecimal.ZERO) == 1){
|
||||
// priceName = minPrice.toString();
|
||||
// }else if(minPrice.compareTo(maxPrice) == 0 && minPrice.compareTo(BigDecimal.ZERO) == 0){
|
||||
// priceName = maxPrice.toString();
|
||||
// }else{
|
||||
// priceName = minPrice.toString() + "~" + maxPrice.toString();
|
||||
// }
|
||||
}else{
|
||||
BigDecimal _maxPrice = storeProductResponse.getAttrValue().stream().map(e->e.getBrokerage()).reduce(BigDecimal.ZERO,BigDecimal::max);
|
||||
BigDecimal _minPrice = storeProductResponse.getAttrValue().stream().map(e->e.getBrokerage()).reduce(BigDecimal.ZERO,BigDecimal::min);
|
||||
maxPrice = BrokerRatio.multiply(_maxPrice);
|
||||
minPrice = BrokerRatio.multiply((_minPrice));
|
||||
}
|
||||
if(minPrice.compareTo(BigDecimal.ZERO) == 0 && maxPrice.compareTo(BigDecimal.ZERO) == 0){
|
||||
priceName = "0";
|
||||
}else if(minPrice.compareTo(BigDecimal.ZERO) == 0 && maxPrice.compareTo(BigDecimal.ZERO) == 1){
|
||||
priceName = maxPrice.toString();
|
||||
}else if(minPrice.compareTo(BigDecimal.ZERO) == 1 && maxPrice.compareTo(BigDecimal.ZERO) == 1){
|
||||
priceName = minPrice.toString();
|
||||
}else if(minPrice.compareTo(maxPrice) == 0 && minPrice.compareTo(BigDecimal.ZERO) == 0){
|
||||
priceName = maxPrice.toString();
|
||||
}else{
|
||||
priceName = minPrice.toString() + "~" + maxPrice.toString();
|
||||
}
|
||||
return priceName;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,9 +55,7 @@ public class StoreProductRuleController {
|
||||
@ApiOperation(value = "新增")
|
||||
@RequestMapping(value = "/save", method = RequestMethod.POST)
|
||||
public CommonResult<String> save(@RequestBody @Validated StoreProductRuleRequest storeProductRuleRequest){
|
||||
StoreProductRule storeProductRule = new StoreProductRule();
|
||||
BeanUtils.copyProperties(storeProductRuleRequest, storeProductRule);
|
||||
if(storeProductRuleService.save(storeProductRule)){
|
||||
if(storeProductRuleService.save(storeProductRuleRequest)){
|
||||
return CommonResult.success();
|
||||
}else{
|
||||
return CommonResult.failed();
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.zbkj.crmeb.store.service;
|
||||
import com.common.PageParamRequest;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.zbkj.crmeb.store.model.StoreProductRule;
|
||||
import com.zbkj.crmeb.store.request.StoreProductRuleRequest;
|
||||
import com.zbkj.crmeb.store.request.StoreProductRuleSearchRequest;
|
||||
|
||||
import java.util.List;
|
||||
@@ -15,4 +16,11 @@ import java.util.List;
|
||||
public interface StoreProductRuleService extends IService<StoreProductRule> {
|
||||
|
||||
List<StoreProductRule> getList(StoreProductRuleSearchRequest request, PageParamRequest pageParamRequest);
|
||||
|
||||
/**
|
||||
* 新增商品规格
|
||||
* @param storeProductRuleRequest 规格参数
|
||||
* @return 新增结果
|
||||
*/
|
||||
boolean save(StoreProductRuleRequest storeProductRuleRequest);
|
||||
}
|
||||
|
||||
@@ -132,7 +132,7 @@ public class OrderTaskServiceImpl implements OrderTaskService {
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户完成订单
|
||||
* 用户已收货
|
||||
* @author Mr.Zhang
|
||||
* @since 2020-07-09
|
||||
*/
|
||||
|
||||
@@ -1,18 +1,22 @@
|
||||
package com.zbkj.crmeb.store.service.impl;
|
||||
|
||||
import com.common.PageParamRequest;
|
||||
import com.exception.CrmebException;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.zbkj.crmeb.store.dao.StoreProductRuleDao;
|
||||
import com.zbkj.crmeb.store.model.StoreProductRule;
|
||||
import com.zbkj.crmeb.store.request.StoreProductRuleRequest;
|
||||
import com.zbkj.crmeb.store.request.StoreProductRuleSearchRequest;
|
||||
import com.zbkj.crmeb.store.service.StoreProductRuleService;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -45,8 +49,37 @@ public class StoreProductRuleServiceImpl extends ServiceImpl<StoreProductRuleDao
|
||||
lambdaQueryWrapper.like(StoreProductRule::getRuleName, request.getKeywords());
|
||||
lambdaQueryWrapper.or().like(StoreProductRule::getRuleValue, request.getKeywords());
|
||||
}
|
||||
lambdaQueryWrapper.orderByDesc(StoreProductRule::getId);
|
||||
return dao.selectList(lambdaQueryWrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增商品规格
|
||||
* @param storeProductRuleRequest 规格参数
|
||||
* @return 新增结果
|
||||
*/
|
||||
@Override
|
||||
public boolean save(StoreProductRuleRequest storeProductRuleRequest) {
|
||||
if(getListByRuleName(storeProductRuleRequest.getRuleName()).size() > 0){
|
||||
throw new CrmebException("此规格值已经存在");
|
||||
}
|
||||
StoreProductRule storeProductRule = new StoreProductRule();
|
||||
BeanUtils.copyProperties(storeProductRuleRequest, storeProductRule);
|
||||
return save(storeProductRule);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据规格名称查询同名规格
|
||||
* @param ruleName 规格名称
|
||||
* @return 查询到的数据
|
||||
*/
|
||||
private List<StoreProductRule> getListByRuleName(String ruleName){
|
||||
LambdaQueryWrapper<StoreProductRule> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
if(StringUtils.isBlank(ruleName)){
|
||||
return new ArrayList<>();
|
||||
}
|
||||
lambdaQueryWrapper.eq(StoreProductRule::getRuleName, ruleName);
|
||||
return dao.selectList(lambdaQueryWrapper);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -121,7 +121,6 @@ public class OrderUtils {
|
||||
|
||||
// 组装数据给前端使用
|
||||
public OrderAgainVo tidyOrder(StoreOrder storeOrder, boolean detail, boolean isPic){
|
||||
// User currentUser = userService.getInfo();
|
||||
OrderAgainVo orderAgainVoResult = new OrderAgainVo();
|
||||
orderAgainVoResult.setStoreOrder(storeOrder);
|
||||
List<StoreOrderInfoVo> existOrderList = null;
|
||||
|
||||
Reference in New Issue
Block a user