Browse Source

阶梯价格 规则

master
wangpengfei 1 year ago
parent
commit
ae711074a6
  1. 3
      src/main/java/com/yxt/yythmall/api/shoppingcart/ShoppingCartVo.java
  2. 2
      src/main/java/com/yxt/yythmall/biz/newcomerrecorecord/NewcomerRecoRecordMapper.java
  3. 2
      src/main/java/com/yxt/yythmall/biz/newcomerrecorecord/NewcomerRecoRecordRest.java
  4. 73
      src/main/java/com/yxt/yythmall/biz/shoppingcart/ShoppingCartService.java

3
src/main/java/com/yxt/yythmall/api/shoppingcart/ShoppingCartVo.java

@ -23,7 +23,8 @@ public class ShoppingCartVo implements Vo {
private String customerSid; //客户sid private String customerSid; //客户sid
private String weight; //每份重量 private String weight; //每份重量
private String totalPrice; //总价格 private String totalPrice;
private String standbyPrice;//没有折扣的总价格
private String totalWeight; private String totalWeight;
private String unitName; private String unitName;

2
src/main/java/com/yxt/yythmall/biz/newcomerrecorecord/NewcomerRecoRecordMapper.java

@ -26,6 +26,6 @@ public interface NewcomerRecoRecordMapper extends BaseMapper<NewcomerRecoRecord>
List<NewcomerRecoRecord> selInOrderSid(@Param("orderSids") List<String> orderSids); List<NewcomerRecoRecord> selInOrderSid(@Param("orderSids") List<String> orderSids);
@Select("select *,goodsNumber as num from lpk_reserve_order_goods where orderSid=#{orderSid}") @Select("select *,goodsNumber as num from lpk_reserve_order_goods where orderSid=#{orderSid}")
List<NewcomerRecoRecord> selByOrderSids(String orderSid); List<NewcomerRecoRecord> selByOrderSids(String orderSid);
@Select("select * from newcomer_reco_record r where r.recommendSid =#{customerSid} and r.recommendedSid is not null and r.state ='2' limit 5") @Select("select * from newcomer_reco_record r where r.recommendSid =#{customerSid} and r.recommendedSid is not null and r.state ='2' ORDER BY r.createTime desc limit 5")
List<NewcomerRecoRecordVo> recordList(@Param("customerSid")String customerSid); List<NewcomerRecoRecordVo> recordList(@Param("customerSid")String customerSid);
} }

2
src/main/java/com/yxt/yythmall/biz/newcomerrecorecord/NewcomerRecoRecordRest.java

@ -31,7 +31,7 @@ public class NewcomerRecoRecordRest {
return newcomerRecoRecordService.recommendedAssistance(dto); return newcomerRecoRecordService.recommendedAssistance(dto);
} }
@ApiOperation("新人推荐列表") @ApiOperation("新人推荐列表")
@PostMapping("/recordList/{customerSid}") @GetMapping("/recordList/{customerSid}")
public ResultBean recordList(@PathVariable("customerSid") String customerSid){ public ResultBean recordList(@PathVariable("customerSid") String customerSid){
return newcomerRecoRecordService.recordList(customerSid); return newcomerRecoRecordService.recordList(customerSid);
} }

73
src/main/java/com/yxt/yythmall/biz/shoppingcart/ShoppingCartService.java

@ -25,6 +25,9 @@ import com.yxt.yythmall.api.shoppingcart.ShoppingCartVo;
import com.yxt.yythmall.biz.empcard.EmpCardService; import com.yxt.yythmall.biz.empcard.EmpCardService;
import com.yxt.yythmall.biz.lpkcustomer.LpkCustomerService; import com.yxt.yythmall.biz.lpkcustomer.LpkCustomerService;
import com.yxt.yythmall.biz.lpkgoods.LpkGoodsService; import com.yxt.yythmall.biz.lpkgoods.LpkGoodsService;
import com.yxt.yythmall.mallplus.biz.pms.service.IPmsBrandService;
import com.yxt.yythmall.mallplus.biz.pms.service.impl.PmsBrandServiceImpl;
import com.yxt.yythmall.mallplus.mbg.pms.entity.PmsBrand;
import com.yxt.yythmall.utils.DoubleUtils; import com.yxt.yythmall.utils.DoubleUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -46,6 +49,8 @@ public class ShoppingCartService extends MybatisBaseService<ShoppingCartMapper,
LpkCustomerService lpkCustomerService; LpkCustomerService lpkCustomerService;
@Autowired @Autowired
private LpkGoodsService lpkGoodsService; private LpkGoodsService lpkGoodsService;
@Autowired
PmsBrandServiceImpl pmsBrandService;
public ResultBean save(ShoppingCartDto dto) { public ResultBean save(ShoppingCartDto dto) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
@ -110,6 +115,7 @@ public class ShoppingCartService extends MybatisBaseService<ShoppingCartMapper,
ResultBean rb = new ResultBean().fail(); ResultBean rb = new ResultBean().fail();
List<ShoppingCartVo> list = baseMapper.ShoppingCartList(query.getCustomerSid(), query.getBrandId()); List<ShoppingCartVo> list = baseMapper.ShoppingCartList(query.getCustomerSid(), query.getBrandId());
double price = 0; double price = 0;
double standbyPrice =0;
double weight = 0; double weight = 0;
for (ShoppingCartVo vo : list) { for (ShoppingCartVo vo : list) {
LpkGoods lpkGoods = lpkGoodsService.fetchBySid(vo.getGoodsSid()); LpkGoods lpkGoods = lpkGoodsService.fetchBySid(vo.getGoodsSid());
@ -124,9 +130,6 @@ public class ShoppingCartService extends MybatisBaseService<ShoppingCartMapper,
}else{ }else{
stepPrice = DoubleUtils.removeZeros(String.valueOf(Double.valueOf(stepPrice)*Double.valueOf(vo.getWeight()))); ///份价格 stepPrice = DoubleUtils.removeZeros(String.valueOf(Double.valueOf(stepPrice)*Double.valueOf(vo.getWeight()))); ///份价格
} }
// if (new BigDecimal(stepPrice).compareTo(BigDecimal.ZERO) == 0) {
// stepPrice = vo.getJPrice();
// }
}else{ }else{
stepPrice = DoubleUtils.removeZeros(String.valueOf(Double.valueOf(vo.getJPrice())*Double.valueOf(vo.getWeight()))); stepPrice = DoubleUtils.removeZeros(String.valueOf(Double.valueOf(vo.getJPrice())*Double.valueOf(vo.getWeight())));
} }
@ -135,25 +138,26 @@ public class ShoppingCartService extends MybatisBaseService<ShoppingCartMapper,
|| "玲珑黄白菜".equals(vo.getGoodsName()) || "玲珑黄白菜".equals(vo.getGoodsName())
|| "V7土豆".equals(vo.getGoodsName()) || "V7土豆".equals(vo.getGoodsName())
|| "黄金薯土豆".equals(vo.getGoodsName())) { || "黄金薯土豆".equals(vo.getGoodsName())) {
// BigDecimal weightW = new BigDecimal(vo.getWeight());
// if (weightW.compareTo(new BigDecimal(stepWeight)) == -1) {
price = Double.valueOf(stepPrice)* Double.valueOf(vo.getGoodsNumber()) + price; price = Double.valueOf(stepPrice)* Double.valueOf(vo.getGoodsNumber()) + price;
standbyPrice=Double.valueOf(vo.getPrice())*Double.valueOf(vo.getGoodsNumber())+standbyPrice;
weight = Double.valueOf(vo.getWeight()) * Double.valueOf(vo.getGoodsNumber()) + weight; weight = Double.valueOf(vo.getWeight()) * Double.valueOf(vo.getGoodsNumber()) + weight;
// } // }
} else { } else {
price = Double.valueOf(vo.getPrice()) * Double.valueOf(vo.getGoodsNumber()) + price; price = Double.valueOf(vo.getPrice()) * Double.valueOf(vo.getGoodsNumber()) + price;
standbyPrice=Double.valueOf(vo.getPrice())*Double.valueOf(vo.getGoodsNumber())+standbyPrice;
weight = Double.valueOf(vo.getWeight()) * Double.valueOf(vo.getGoodsNumber()) + weight; weight = Double.valueOf(vo.getWeight()) * Double.valueOf(vo.getGoodsNumber()) + weight;
} }
} }
ShoppingCartVo vo = new ShoppingCartVo(); ShoppingCartVo vo = new ShoppingCartVo();
// vo.setText("1.20斤起订量。\n" + // 1.20斤起订量。
// "2.新用户正好20斤5折。\n" + // 2.0-99斤加10%附加额。
// "3.20-100斤加10%附加额。\n" + // 3.100斤-199斤加5%附加额。
// "4.101斤-200斤加5%附加额。");
vo.setCustomerSid(query.getCustomerSid()); vo.setCustomerSid(query.getCustomerSid());
vo.setTotalPrice(removeZeros(String.valueOf(aa(price)))); vo.setTotalPrice(removeZeros(String.valueOf(aa(price))));
vo.setStandbyPrice(removeZeros(String.valueOf(aa(standbyPrice))));
vo.setTotalWeight(removeZeros(String.valueOf(aa(weight)))); vo.setTotalWeight(removeZeros(String.valueOf(aa(weight))));
vo.setAffiliation(query.getBrandId());
vo = price(vo); vo = price(vo);
return rb.success().setData(vo); return rb.success().setData(vo);
} }
@ -161,9 +165,23 @@ public class ShoppingCartService extends MybatisBaseService<ShoppingCartMapper,
private ShoppingCartVo price(ShoppingCartVo vo) { private ShoppingCartVo price(ShoppingCartVo vo) {
double weight = Double.valueOf(vo.getTotalWeight()); double weight = Double.valueOf(vo.getTotalWeight());
LpkCustomer lpkCustomer = lpkCustomerService.getOne(new QueryWrapper<LpkCustomer>().eq("sid", vo.getCustomerSid())); LpkCustomer lpkCustomer = lpkCustomerService.getOne(new QueryWrapper<LpkCustomer>().eq("sid", vo.getCustomerSid()));
PmsBrand one=pmsBrandService.getOne(new QueryWrapper<PmsBrand>().eq("id",vo.getAffiliation()));
if(vo.getAffiliation().equals("1001045")){
if (weight < one.getQssl()) {
vo.setRemarks("不足"+one.getQssl()+"斤");
}else {
String c = String.valueOf(Double.valueOf(vo.getStandbyPrice())-Double.valueOf(vo.getTotalPrice()));
if(DoubleUtils.removeZeros(c).equals("0")){
vo.setRemarks("");
}else{
vo.setRemarks("优惠" + removeZeros(c) + "元");
}
}
return vo;
};
vo.setRemarks("已减免附加额"); vo.setRemarks("已减免附加额");
if (weight <= 99) { if (weight <= 99) {
if (weight < 20) { if (weight < one.getQssl()) {
double a = 1.1; double a = 1.1;
double d = Double.valueOf(vo.getTotalPrice()); double d = Double.valueOf(vo.getTotalPrice());
double t = Double.valueOf(vo.getTotalPrice()) * a; double t = Double.valueOf(vo.getTotalPrice()) * a;
@ -173,7 +191,7 @@ public class ShoppingCartService extends MybatisBaseService<ShoppingCartMapper,
double f = Double.valueOf(vo.getTotalPrice()) - d; double f = Double.valueOf(vo.getTotalPrice()) - d;
BigDecimal bgd = new BigDecimal(f); BigDecimal bgd = new BigDecimal(f);
String c = String.valueOf(bgd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()); String c = String.valueOf(bgd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
vo.setRemarks("不足20斤"); vo.setRemarks("不足"+one.getQssl()+"斤");
} else { } else {
double a = 1.1; double a = 1.1;
double d = Double.valueOf(vo.getTotalPrice()); double d = Double.valueOf(vo.getTotalPrice());
@ -186,37 +204,6 @@ public class ShoppingCartService extends MybatisBaseService<ShoppingCartMapper,
String c = String.valueOf(bgd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()); String c = String.valueOf(bgd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
vo.setRemarks("含附加额" + removeZeros(c) + "元"); vo.setRemarks("含附加额" + removeZeros(c) + "元");
} }
// if(weight==20){
// if(lpkCustomer.getIsPurchase().equals("1")){
// double a =0.5;
// double t=Double.valueOf(vo.getTotalPrice())*a;
// BigDecimal bg = new BigDecimal(t);
// vo.setTotalPrice(String.valueOf(bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()));
// vo.setRemarks("已享受新人专享5折优惠");
// }else{
// double a =1.1;
// double d=Double.valueOf(vo.getTotalPrice());
// double t=Double.valueOf(vo.getTotalPrice())*a;
// BigDecimal bg = new BigDecimal(t);
// vo.setTotalPrice(String.valueOf(bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()));
// double f=Double.valueOf(vo.getTotalPrice())-d;
// BigDecimal bgd = new BigDecimal(f);
// String c =String.valueOf(bgd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
// vo.setRemarks("包含附加费"+removeZeros(c)+"元");
// }
// }else{
// double a =1.1;
// double d=Double.valueOf(vo.getTotalPrice());
// double t=Double.valueOf(vo.getTotalPrice())*a;
// BigDecimal bg = new BigDecimal(t);
// vo.setTotalPrice(String.valueOf(bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()));
//// String c =String.valueOf(Double.valueOf(vo.getTotalPrice())-d);
// double f=Double.valueOf(vo.getTotalPrice())-d;
// BigDecimal bgd = new BigDecimal(f);
// String c =String.valueOf(bgd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
// vo.setRemarks("包含附加费"+removeZeros(c)+"元");
// }
} else if (weight >= 100 && weight <= 199) { } else if (weight >= 100 && weight <= 199) {
double a = 1.05; double a = 1.05;
double d = Double.valueOf(vo.getTotalPrice()); double d = Double.valueOf(vo.getTotalPrice());

Loading…
Cancel
Save