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