diff --git a/rc-busness/ajax/getData.js b/rc-busness/ajax/getData.js index a2a730de..9e54f698 100644 --- a/rc-busness/ajax/getData.js +++ b/rc-busness/ajax/getData.js @@ -69,7 +69,7 @@ export const postCourseId = (productCode, buyCount, memberId, mobile, productImg leftAllotment: leftAllotment, basePiont: basePiont } - return fetch('/insertCartProductInfo', data,'POST') + return fetch('insertCartProductInfo', data,'POST') } /** * 是否存在购物车 diff --git a/rc-busness/pages/personal/settlement.vue b/rc-busness/pages/personal/settlement.vue index a6ad005f..7bda8af0 100644 --- a/rc-busness/pages/personal/settlement.vue +++ b/rc-busness/pages/personal/settlement.vue @@ -318,18 +318,30 @@ export default { } else { //Into coupon discount calculation switch(this.curCoupon.couponTypeId) { - case 1: //Amount deduct - total = total + (itemInCart.productPrice * itemInCart.buyCount - this.curCoupon.couponAmount); - this.discountAmount = this.curCoupon.couponAmount; - this.discountedProductCode = itemInCart.productCode; - couponUsed=true; + case 1: //Amount deduct + if(this.curCoupon.couponAmount && this.curCoupon.couponAmount <= (itemInCart.productPrice * itemInCart.buyCount)) { + total = total + (itemInCart.productPrice * itemInCart.buyCount - this.curCoupon.couponAmount); + this.discountAmount = this.curCoupon.couponAmount; + this.discountedProductCode = itemInCart.productCode; + couponUsed=true; + } else if(this.curCoupon.couponAmount && this.curCoupon.couponAmount > (itemInCart.productPrice * itemInCart.buyCount)) { + total = total + itemInCart.productPrice * itemInCart.buyCount; + this.discountAmount = 0; + this.curCoupon = {couponName:'未能使用该优惠券'}; + } break; case 2: //Amount deduct with minPrice restriction case 6: - total = total + (itemInCart.productPrice * itemInCart.buyCount) - this.curCoupon.couponAmount; - this.discountAmount = this.curCoupon.couponAmount; - this.discountedProductCode = itemInCart.productCode; - couponUsed=true; + if(this.curCoupon.couponAmount && this.curCoupon.couponAmount <= (itemInCart.productPrice * itemInCart.buyCount)) { + total = total + (itemInCart.productPrice * itemInCart.buyCount) - this.curCoupon.couponAmount; + this.discountAmount = this.curCoupon.couponAmount; + this.discountedProductCode = itemInCart.productCode; + couponUsed=true; + } else if(this.curCoupon.couponAmount && this.curCoupon.couponAmount > (itemInCart.productPrice * itemInCart.buyCount)) { + total = total + itemInCart.productPrice * itemInCart.buyCount; + this.discountAmount = 0; + this.curCoupon = {couponName:'未能使用该优惠券'}; + } break; case 3: //Limited product % discount case 4: //% discount @@ -417,7 +429,7 @@ export default { valDateFromTime=0; valDateToTime=0; dateChecked=true; - /* + /* */ if(myCoupon.fValidFrom) { //Fix ios date issue myCoupon.fValidFrom = myCoupon.fValidFrom.replace(/-/g, '/'); @@ -435,19 +447,22 @@ export default { if(valDateToTime && curTime > valDateToTime) { dateChecked=false; } - */ + if(myCoupon.minQuantity && myCoupon.minQuantity>itemInCart.buyCount) { dateChecked=false; } if(myCoupon.minPrice && myCoupon.minPrice>this.sumPrice) { dateChecked=false; } + if(myCoupon.couponAmount && myCoupon.couponAmount>this.sumPrice) { + dateChecked=false; + } if(myCoupon.udf2!='H5') { dateChecked=false; } - //if(dateChecked && myCoupon.activityId != 10 && myCoupon.status == 0 && (!myCoupon.productCodes || myCoupon.productCodes.indexOf(itemInCart.productCode)>-1)) { - if(dateChecked) { + if(dateChecked && myCoupon.activityId != 10 && myCoupon.status == 0 && (!myCoupon.productCodes || myCoupon.productCodes.indexOf(itemInCart.productCode)>-1)) { + //if(dateChecked) { //data.data.splice(tmpIndex,1); _self.drawlist.push(myCoupon); avaliableCouponNum++; diff --git a/rc-busness/pages/productdetails/producted.vue b/rc-busness/pages/productdetails/producted.vue index 8ee9d22e..23f54325 100644 --- a/rc-busness/pages/productdetails/producted.vue +++ b/rc-busness/pages/productdetails/producted.vue @@ -344,7 +344,6 @@ export default { let stopIndex = 0; for(let singleCode of productCode) { let data = await goodsmessage(singleCode); - console.log(data); if (data && data.length>0) { newlist.push(data[0]); diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/OrderController.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/OrderController.java index a4ff8f95..20a2d17a 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/OrderController.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/OrderController.java @@ -18,7 +18,9 @@ import net.lab1024.smartadmin.module.system.royalcanin.good.constant.OrderRespon import net.lab1024.smartadmin.module.system.royalcanin.good.model.OrderAddress; import net.lab1024.smartadmin.module.system.royalcanin.good.model.OrderEntity; import net.lab1024.smartadmin.module.system.royalcanin.good.model.OrdersEntity; +import net.lab1024.smartadmin.module.system.royalcanin.good.model.ProductMasterQueryEntity; import net.lab1024.smartadmin.module.system.royalcanin.good.service.CartService; +import net.lab1024.smartadmin.module.system.royalcanin.good.service.GoodService; import net.lab1024.smartadmin.module.system.royalcanin.good.service.OrderService; import net.lab1024.smartadmin.module.system.royalcanin.orderMaster.OrderDatilListEntity; import net.lab1024.smartadmin.module.system.royalcanin.orderMaster.QueryEntity; @@ -55,6 +57,9 @@ public class OrderController { @Autowired private CouponService couponService; + @Autowired + private GoodService goodService; + @ApiOperation(value = "微信支付订单", notes = "生成订单") @PostMapping("royalcanin/generateOrderWX") @@ -77,11 +82,17 @@ public class OrderController { //删除购物车信息 cartService.cancelProduct(ordersEntitys.getMemberId(), ordersEntity.getProductCode()); //存储orderDetailList + ProductMasterQueryEntity productMasterQueryEntity = new ProductMasterQueryEntity(); + productMasterQueryEntity.setProductCode(ordersEntitys.getProductCode()); + String goodsStr = goodService.productQuery(productMasterQueryEntity); + + com.alibaba.fastjson.JSONArray jsonGoodsArray = JSONObject.parseArray(goodsStr); + JSONObject goodsObject = (JSONObject)jsonGoodsArray.get(0); OrderDatilListEntity orderDatilListEntity = new OrderDatilListEntity(); - orderDatilListEntity.setProductName(ordersEntitys.getProductName()); + orderDatilListEntity.setProductName(goodsObject.getString("productName")); orderDatilListEntity.setPcs(ordersEntitys.getBuyCount()); - orderDatilListEntity.setProductCode(ordersEntitys.getProductCode()); - orderDatilListEntity.setEcPrice(ordersEntitys.getPayAmount()); + orderDatilListEntity.setProductCode(goodsObject.getString("productCode")); + orderDatilListEntity.setEcPrice(goodsObject.getString("ecPrice")); orderDatilListJson.add(orderDatilListEntity); if (ordersEntitys.getCouponCode() != "" && ordersEntitys.getCouponCode() != null) { CouponGetAllEntity couponGetAllEntity = new CouponGetAllEntity(); @@ -103,9 +114,10 @@ public class OrderController { ordersEntity.setCouponCode(jsonObjectData.getString("couponCode")); ordersEntity.setCouponName(jsonObjectData.getString("couponName")); ordersEntity.setCouponId(jsonObjectData.getString("couponId")); - total_fee = total_fee + orderService.couponTotal(ordersEntitys.getCouponTypeId(), Double.parseDouble(ordersEntitys.getCouponAmount()), Double.parseDouble(ordersEntitys.getPayAmount()), ordersEntitys.getBuyCount()); + ordersEntity.setCouponTypeId(jsonObjectData.getString("couponTypeId")); + total_fee = total_fee + orderService.couponTotal(ordersEntity.getCouponTypeId(), Double.parseDouble(ordersEntity.getCouponAmount()), Double.parseDouble(goodsObject.getString("ecPrice")), ordersEntitys.getBuyCount()); } else { - total_fee = total_fee + Double.parseDouble(ordersEntitys.getPayAmount()) * ordersEntitys.getBuyCount(); + total_fee = total_fee + Double.parseDouble(goodsObject.getString("ecPrice")) * ordersEntitys.getBuyCount(); } basePoint = basePoint + ordersEntitys.getBasePoint(); orderAddress.setAddressCityName(ordersEntitys.getOrderAddress().getAddressCityName()); @@ -170,18 +182,25 @@ public class OrderController { JSONArray orderDatilListJson = new JSONArray(); OrdersEntity ordersEntity = new OrdersEntity(); OrderAddress orderAddress = new OrderAddress(); - try{ - for (OrdersEntity ordersEntitys:ordersEntityList) { - cartService.cancelProduct(ordersEntitys.getMemberId(),ordersEntity.getProductCode()); + try { + for (OrdersEntity ordersEntitys : ordersEntityList) { + //删除购物车信息 + cartService.cancelProduct(ordersEntitys.getMemberId(), ordersEntity.getProductCode()); //存储orderDetailList - OrderDatilListEntity orderDatilListEntity= new OrderDatilListEntity(); - orderDatilListEntity.setProductName(ordersEntitys.getProductName()); + ProductMasterQueryEntity productMasterQueryEntity = new ProductMasterQueryEntity(); + productMasterQueryEntity.setProductCode(ordersEntitys.getProductCode()); + String goodsStr = goodService.productQuery(productMasterQueryEntity); + + com.alibaba.fastjson.JSONArray jsonGoodsArray = JSONObject.parseArray(goodsStr); + JSONObject goodsObject = (JSONObject)jsonGoodsArray.get(0); + OrderDatilListEntity orderDatilListEntity = new OrderDatilListEntity(); + orderDatilListEntity.setProductName(goodsObject.getString("productName")); orderDatilListEntity.setPcs(ordersEntitys.getBuyCount()); - orderDatilListEntity.setProductCode(ordersEntitys.getProductCode()); - orderDatilListEntity.setEcPrice(ordersEntitys.getPayAmount()); + orderDatilListEntity.setProductCode(goodsObject.getString("productCode")); + orderDatilListEntity.setEcPrice(goodsObject.getString("ecPrice")); orderDatilListJson.add(orderDatilListEntity); - if(ordersEntitys.getCouponCode() != "" && ordersEntitys.getCouponCode() != null) { - CouponGetAllEntity couponGetAllEntity = new CouponGetAllEntity (); + if (ordersEntitys.getCouponCode() != "" && ordersEntitys.getCouponCode() != null) { + CouponGetAllEntity couponGetAllEntity = new CouponGetAllEntity(); couponGetAllEntity.setMemberId(ordersEntitys.getMemberId()); couponGetAllEntity.setCouponCode(ordersEntitys.getCouponCode()); String couponInfo = couponService.couponGetAll(couponGetAllEntity); @@ -196,14 +215,14 @@ public class OrderController { return ResponseDTO.wrap(OrderResponseCodeConst.COUPON_USE_FAIL); } } - - ordersEntity.setCouponAmount(jsonObjectData.getString("couponAmount") == null ?jsonObjectData.getString("discount"):jsonObjectData.getString("couponAmount")); + ordersEntity.setCouponAmount(jsonObjectData.getString("couponAmount") == null ? jsonObjectData.getString("discount") : jsonObjectData.getString("couponAmount")); ordersEntity.setCouponCode(jsonObjectData.getString("couponCode")); ordersEntity.setCouponName(jsonObjectData.getString("couponName")); ordersEntity.setCouponId(jsonObjectData.getString("couponId")); - total_fee = total_fee + orderService.couponTotal(ordersEntitys.getCouponTypeId(),Double.parseDouble(ordersEntitys.getCouponAmount()),Double.parseDouble(ordersEntitys.getPayAmount()),ordersEntitys.getBuyCount()); - }else{ - total_fee = total_fee + Double.parseDouble(ordersEntitys.getPayAmount()) * ordersEntitys.getBuyCount() ; + ordersEntity.setCouponTypeId(jsonObjectData.getString("couponTypeId")); + total_fee = total_fee + orderService.couponTotal(ordersEntity.getCouponTypeId(), Double.parseDouble(ordersEntity.getCouponAmount()), Double.parseDouble(goodsObject.getString("ecPrice")), ordersEntitys.getBuyCount()); + } else { + total_fee = total_fee + Double.parseDouble(goodsObject.getString("ecPrice")) * ordersEntitys.getBuyCount(); } basePoint = basePoint + ordersEntitys.getBasePoint(); orderAddress.setAddressCityName(ordersEntitys.getOrderAddress().getAddressCityName()); @@ -266,18 +285,25 @@ public class OrderController { JSONArray orderDatilListJson = new JSONArray(); OrdersEntity ordersEntity = new OrdersEntity(); OrderAddress orderAddress = new OrderAddress(); - try{ - for (OrdersEntity ordersEntitys:ordersEntityList) { - cartService.cancelProduct(ordersEntitys.getMemberId(),ordersEntity.getProductCode()); + try { + for (OrdersEntity ordersEntitys : ordersEntityList) { + //删除购物车信息 + cartService.cancelProduct(ordersEntitys.getMemberId(), ordersEntity.getProductCode()); //存储orderDetailList - OrderDatilListEntity orderDatilListEntity= new OrderDatilListEntity(); - orderDatilListEntity.setProductName(ordersEntitys.getProductName()); + ProductMasterQueryEntity productMasterQueryEntity = new ProductMasterQueryEntity(); + productMasterQueryEntity.setProductCode(ordersEntitys.getProductCode()); + String goodsStr = goodService.productQuery(productMasterQueryEntity); + + com.alibaba.fastjson.JSONArray jsonGoodsArray = JSONObject.parseArray(goodsStr); + JSONObject goodsObject = (JSONObject)jsonGoodsArray.get(0); + OrderDatilListEntity orderDatilListEntity = new OrderDatilListEntity(); + orderDatilListEntity.setProductName(goodsObject.getString("productName")); orderDatilListEntity.setPcs(ordersEntitys.getBuyCount()); - orderDatilListEntity.setProductCode(ordersEntitys.getProductCode()); - orderDatilListEntity.setEcPrice(ordersEntitys.getPayAmount()); + orderDatilListEntity.setProductCode(goodsObject.getString("productCode")); + orderDatilListEntity.setEcPrice(goodsObject.getString("ecPrice")); orderDatilListJson.add(orderDatilListEntity); - if(ordersEntitys.getCouponCode() != "" && ordersEntitys.getCouponCode() != null) { - CouponGetAllEntity couponGetAllEntity = new CouponGetAllEntity (); + if (ordersEntitys.getCouponCode() != "" && ordersEntitys.getCouponCode() != null) { + CouponGetAllEntity couponGetAllEntity = new CouponGetAllEntity(); couponGetAllEntity.setMemberId(ordersEntitys.getMemberId()); couponGetAllEntity.setCouponCode(ordersEntitys.getCouponCode()); String couponInfo = couponService.couponGetAll(couponGetAllEntity); @@ -292,14 +318,14 @@ public class OrderController { return ResponseDTO.wrap(OrderResponseCodeConst.COUPON_USE_FAIL); } } - - ordersEntity.setCouponAmount(jsonObjectData.getString("couponAmount") == null ?jsonObjectData.getString("discount"):jsonObjectData.getString("couponAmount")); + ordersEntity.setCouponAmount(jsonObjectData.getString("couponAmount") == null ? jsonObjectData.getString("discount") : jsonObjectData.getString("couponAmount")); ordersEntity.setCouponCode(jsonObjectData.getString("couponCode")); ordersEntity.setCouponName(jsonObjectData.getString("couponName")); ordersEntity.setCouponId(jsonObjectData.getString("couponId")); - total_fee = total_fee + orderService.couponTotal(ordersEntitys.getCouponTypeId(),Double.parseDouble(ordersEntitys.getCouponAmount()),Double.parseDouble(ordersEntitys.getPayAmount()),ordersEntitys.getBuyCount()); - }else{ - total_fee = total_fee + Double.parseDouble(ordersEntitys.getPayAmount()) * ordersEntitys.getBuyCount() ; + ordersEntity.setCouponTypeId(jsonObjectData.getString("couponTypeId")); + total_fee = total_fee + orderService.couponTotal(ordersEntity.getCouponTypeId(), Double.parseDouble(ordersEntity.getCouponAmount()), Double.parseDouble(goodsObject.getString("ecPrice")), ordersEntitys.getBuyCount()); + } else { + total_fee = total_fee + Double.parseDouble(goodsObject.getString("ecPrice")) * ordersEntitys.getBuyCount(); } basePoint = basePoint + ordersEntitys.getBasePoint(); orderAddress.setAddressCityName(ordersEntitys.getOrderAddress().getAddressCityName());