From 037201858f429167d7c3adeb42447d349e4ede1b Mon Sep 17 00:00:00 2001 From: Vion Date: Tue, 15 Mar 2022 14:48:03 +0800 Subject: [PATCH 1/5] Coupon displaying issue --- rc-busness/pages/personal/settlement.vue | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rc-busness/pages/personal/settlement.vue b/rc-busness/pages/personal/settlement.vue index ff09c0af..513d4e8b 100644 --- a/rc-busness/pages/personal/settlement.vue +++ b/rc-busness/pages/personal/settlement.vue @@ -464,7 +464,8 @@ export default { if(dateChecked && myCoupon.activityId != 10 && myCoupon.status == 0 && (!myCoupon.productCodes || myCoupon.productCodes.indexOf(itemInCart.productCode)>-1)) { //if(dateChecked) { - data.data.splice(tmpIndex,1); + //data.data.splice(tmpIndex,1); + data.data[tmpIndex]={}; _self.drawlist.push(myCoupon); avaliableCouponNum++; } From 1417dbc64f5686fbab9f83fc62f7e555b48f6bc1 Mon Sep 17 00:00:00 2001 From: "376654749@qq.com" Date: Tue, 15 Mar 2022 14:59:42 +0800 Subject: [PATCH 2/5] adding CouponGetAllEntity logic --- .../smartadmin/module/system/royalcanin/CouponService.java | 2 +- .../module/system/royalcanin/coupon/CouponGetAllEntity.java | 2 +- .../src/main/java/net/lab1024/smartadmin/util/SmartJWTUtil.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/CouponService.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/CouponService.java index 9fda9f7b..90c24567 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/CouponService.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/CouponService.java @@ -45,7 +45,7 @@ public class CouponService { Map paramMap = MapRemoveNullUtil.setConditionMap(couponGetAllEntity); Date currentDate = SmartDateUtil.parseYMD(paramMap.get("useStartDate") == null ? "1990-01-01":paramMap.get("useStartDate")); paramMap.remove("productCodes"); - paramMap.put("status",StringUtil.toString(couponGetAllEntity.getStatus()).equals("0")?null:StringUtil.toString(couponGetAllEntity.getStatus())); + paramMap.put("status",StringUtil.toString(couponGetAllEntity.getStatus()).equals("")?null:StringUtil.toString(couponGetAllEntity.getStatus())); paramMap.put("page",StringUtil.toString(couponGetAllEntity.getPage()).equals("0")?null:StringUtil.toString(couponGetAllEntity.getPage())); paramMap.put("rows",StringUtil.toString(couponGetAllEntity.getRows()).equals("0")?null:StringUtil.toString(couponGetAllEntity.getRows())); paramMap.put("usestartDate",paramMap.get("useStartDate")); diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/coupon/CouponGetAllEntity.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/coupon/CouponGetAllEntity.java index 2391c848..f9e05a7c 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/coupon/CouponGetAllEntity.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/coupon/CouponGetAllEntity.java @@ -47,7 +47,7 @@ public class CouponGetAllEntity { * 0:未使用,1已使用,2已作废 */ @ApiModelProperty(example = "1") - private int status; + private String status = ""; /** * 是否已经使用 diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartJWTUtil.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartJWTUtil.java index f06863f0..0e2e8d47 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartJWTUtil.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartJWTUtil.java @@ -80,7 +80,7 @@ public class SmartJWTUtil { public static void main(String[] args) { String token = SmartJWTUtil.generateToken("884159"); System.out.println(token); - System.out.println(SmartJWTUtil.decodeToken("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6Ijg4NDIzNCIsImV4cCI6MTY0ODI4MjAxNX0.itFA3bb0XNk2LSD3ey3_o33GYK3Rt0v9MXiRerhu-6A")); + System.out.println(SmartJWTUtil.decodeToken("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6Ijg4NDEyNyIsImV4cCI6MTY0NTA5MTc5Nn0.UHEYiTkHtwQjTNjiAKg8CTP-Ab_KSfFzBiIip49gLUk")); } } From cd6a9f9e2770d1d233d9eb4387c120aa1fc91d39 Mon Sep 17 00:00:00 2001 From: "376654749@qq.com" Date: Tue, 15 Mar 2022 16:31:35 +0800 Subject: [PATCH 3/5] modify order logic --- .../royalcanin/good/OrderController.java | 218 ++++++++++-------- .../royalcanin/good/service/OrderService.java | 15 +- 2 files changed, 124 insertions(+), 109 deletions(-) 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 20a2d17a..444ee293 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 @@ -66,9 +66,7 @@ public class OrderController { public ResponseDTO> generateOrderWX(@RequestBody List ordersEntityList){ StringBuffer productId = new StringBuffer(); StringBuffer productName = new StringBuffer(); - StringBuffer remark = new StringBuffer(); Map resultMsg = new HashMap<>(); - String memberId = ""; String mobile = ""; int buyCount = 0; double total_fee = 0 ; @@ -77,8 +75,12 @@ public class OrderController { JSONArray orderDatilListJson = new JSONArray(); OrdersEntity ordersEntity = new OrdersEntity(); OrderAddress orderAddress = new OrderAddress(); + + String memberId = ""; + String couponCode = ""; try { for (OrdersEntity ordersEntitys : ordersEntityList) { + //删除购物车信息 cartService.cancelProduct(ordersEntitys.getMemberId(), ordersEntity.getProductCode()); //存储orderDetailList @@ -94,31 +96,9 @@ public class OrderController { orderDatilListEntity.setProductCode(goodsObject.getString("productCode")); orderDatilListEntity.setEcPrice(goodsObject.getString("ecPrice")); orderDatilListJson.add(orderDatilListEntity); - if (ordersEntitys.getCouponCode() != "" && ordersEntitys.getCouponCode() != null) { - CouponGetAllEntity couponGetAllEntity = new CouponGetAllEntity(); - couponGetAllEntity.setMemberId(ordersEntitys.getMemberId()); - couponGetAllEntity.setCouponCode(ordersEntitys.getCouponCode()); - String couponInfo = couponService.couponGetAll(couponGetAllEntity); - JSONObject jsonObject = JSONObject.parseObject(couponInfo); - com.alibaba.fastjson.JSONArray jsonArray = JSONObject.parseArray(jsonObject.getString("data")); - if(jsonArray.size() == 0){ - return ResponseDTO.wrap(OrderResponseCodeConst.COUPON_USE_FAIL); - } - JSONObject jsonObjectData = (JSONObject) jsonArray.get(0); - if (jsonObjectData.getString("udf2") != null){ - if (!jsonObjectData.getString("udf2").equals("H5")){ - return ResponseDTO.wrap(OrderResponseCodeConst.COUPON_USE_FAIL); - } - } - 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")); - 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(); - } + + total_fee = total_fee + Double.parseDouble(goodsObject.getString("ecPrice")) * ordersEntitys.getBuyCount(); + basePoint = basePoint + ordersEntitys.getBasePoint(); orderAddress.setAddressCityName(ordersEntitys.getOrderAddress().getAddressCityName()); orderAddress.setAddressCountyName(ordersEntitys.getOrderAddress().getAddressCountyName()); @@ -126,16 +106,42 @@ public class OrderController { orderAddress.setAddressPhoneNumber(ordersEntitys.getOrderAddress().getAddressPhoneNumber()); orderAddress.setAddressUserName(ordersEntitys.getOrderAddress().getAddressUserName()); orderAddress.setAddressProvinceName(ordersEntitys.getOrderAddress().getAddressProvinceName()); - productId.append(ordersEntitys.getProductCode() + ","); - productName.append(ordersEntitys.getProductName() + ","); - remark.append(ordersEntitys.getBuyCount() + ","); + productId.append(ordersEntitys.getProductCode()+","); + productName.append(ordersEntitys.getProductName()+","); memberId = ordersEntitys.getMemberId(); + if (ordersEntitys.getCouponCode() != "" && ordersEntitys.getCouponCode() != null) { + couponCode = ordersEntitys.getCouponCode(); + } mobile = ordersEntitys.getPhoneNumber(); buyCount = buyCount + ordersEntitys.getBuyCount(); } + //验证优惠卷 + if (couponCode != "" && couponCode != null) { + CouponGetAllEntity couponGetAllEntity = new CouponGetAllEntity(); + couponGetAllEntity.setMemberId(memberId); + couponGetAllEntity.setCouponCode(couponCode); + String couponInfo = couponService.couponGetAll(couponGetAllEntity); + JSONObject jsonObject = JSONObject.parseObject(couponInfo); + com.alibaba.fastjson.JSONArray jsonArray = JSONObject.parseArray(jsonObject.getString("data")); + if(jsonArray.size() == 0){ + return ResponseDTO.wrap(OrderResponseCodeConst.COUPON_USE_FAIL); + } + JSONObject jsonObjectData = (JSONObject) jsonArray.get(0); + if (jsonObjectData.getString("udf2") != null){ + if (!jsonObjectData.getString("udf2").equals("H5")){ + return ResponseDTO.wrap(OrderResponseCodeConst.COUPON_USE_FAIL); + } + } + 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")); + ordersEntity.setCouponTypeId(jsonObjectData.getString("couponTypeId")); + total_fee = orderService.couponTotal(ordersEntity.getCouponTypeId(), Double.parseDouble(ordersEntity.getCouponAmount()), total_fee); + } ordersEntity.setOrderAddress(orderAddress); - ordersEntity.setProductCode(productId.substring(0, productId.length() - 1)); - ordersEntity.setProductName(productName.substring(0, productName.length() - 1)); + ordersEntity.setProductCode(productId.substring(0,productId.length()-1)); + ordersEntity.setProductName(productName.substring(0,productName.length()-1)); ordersEntity.setOrderAmount(StringUtil.toString(total_fee)); ordersEntity.setMemberId(memberId); ordersEntity.setPhoneNumber(mobile); @@ -143,7 +149,7 @@ public class OrderController { ordersEntity.setOrderNo(GenerateSequenceUtil.generateSequenceNo()); ordersEntity.setOrderStatus("0"); ordersEntity.setBasePoint(basePoint); - ordersEntity.setRemark(remark.substring(0,remark.length() - 1)); + ordersEntity.setPayType("3"); resultMsg = orderService.generateOrder(ordersEntity, orderDatilListJson); if (resultMsg.get("code").equals("1")) { wxPayEntity.setProduct_id(ordersEntity.getProductCode()); @@ -173,7 +179,6 @@ public class OrderController { StringBuffer productId = new StringBuffer(); StringBuffer productName = new StringBuffer(); Map resultMsg = new HashMap<>(); - String memberId = ""; String mobile = ""; int buyCount = 0; double total_fee = 0 ; @@ -182,8 +187,12 @@ public class OrderController { JSONArray orderDatilListJson = new JSONArray(); OrdersEntity ordersEntity = new OrdersEntity(); OrderAddress orderAddress = new OrderAddress(); + + String memberId = ""; + String couponCode = ""; try { for (OrdersEntity ordersEntitys : ordersEntityList) { + //删除购物车信息 cartService.cancelProduct(ordersEntitys.getMemberId(), ordersEntity.getProductCode()); //存储orderDetailList @@ -199,10 +208,28 @@ public class OrderController { orderDatilListEntity.setProductCode(goodsObject.getString("productCode")); orderDatilListEntity.setEcPrice(goodsObject.getString("ecPrice")); orderDatilListJson.add(orderDatilListEntity); - if (ordersEntitys.getCouponCode() != "" && ordersEntitys.getCouponCode() != null) { + + total_fee = total_fee + Double.parseDouble(goodsObject.getString("ecPrice")) * ordersEntitys.getBuyCount(); + + basePoint = basePoint + ordersEntitys.getBasePoint(); + orderAddress.setAddressCityName(ordersEntitys.getOrderAddress().getAddressCityName()); + orderAddress.setAddressCountyName(ordersEntitys.getOrderAddress().getAddressCountyName()); + orderAddress.setAddressDetailInfo(ordersEntitys.getOrderAddress().getAddressDetailInfo()); + orderAddress.setAddressPhoneNumber(ordersEntitys.getOrderAddress().getAddressPhoneNumber()); + orderAddress.setAddressUserName(ordersEntitys.getOrderAddress().getAddressUserName()); + orderAddress.setAddressProvinceName(ordersEntitys.getOrderAddress().getAddressProvinceName()); + productId.append(ordersEntitys.getProductCode()+","); + productName.append(ordersEntitys.getProductName()+","); + memberId = ordersEntitys.getMemberId(); + couponCode = ordersEntitys.getCouponCode(); + mobile = ordersEntitys.getPhoneNumber(); + buyCount = buyCount + ordersEntitys.getBuyCount(); + } + //验证优惠卷 + if (couponCode != "" && couponCode != null) { CouponGetAllEntity couponGetAllEntity = new CouponGetAllEntity(); - couponGetAllEntity.setMemberId(ordersEntitys.getMemberId()); - couponGetAllEntity.setCouponCode(ordersEntitys.getCouponCode()); + couponGetAllEntity.setMemberId(memberId); + couponGetAllEntity.setCouponCode(couponCode); String couponInfo = couponService.couponGetAll(couponGetAllEntity); JSONObject jsonObject = JSONObject.parseObject(couponInfo); com.alibaba.fastjson.JSONArray jsonArray = JSONObject.parseArray(jsonObject.getString("data")); @@ -220,23 +247,8 @@ public class OrderController { ordersEntity.setCouponName(jsonObjectData.getString("couponName")); ordersEntity.setCouponId(jsonObjectData.getString("couponId")); 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(); + total_fee = orderService.couponTotal(ordersEntity.getCouponTypeId(), Double.parseDouble(ordersEntity.getCouponAmount()), total_fee); } - basePoint = basePoint + ordersEntitys.getBasePoint(); - orderAddress.setAddressCityName(ordersEntitys.getOrderAddress().getAddressCityName()); - orderAddress.setAddressCountyName(ordersEntitys.getOrderAddress().getAddressCountyName()); - orderAddress.setAddressDetailInfo(ordersEntitys.getOrderAddress().getAddressDetailInfo()); - orderAddress.setAddressPhoneNumber(ordersEntitys.getOrderAddress().getAddressPhoneNumber()); - orderAddress.setAddressUserName(ordersEntitys.getOrderAddress().getAddressUserName()); - orderAddress.setAddressProvinceName(ordersEntitys.getOrderAddress().getAddressProvinceName()); - productId.append(ordersEntitys.getProductCode()+","); - productName.append(ordersEntitys.getProductName()+","); - memberId = ordersEntitys.getMemberId(); - mobile = ordersEntitys.getPhoneNumber(); - buyCount = buyCount + ordersEntitys.getBuyCount(); - } ordersEntity.setOrderAddress(orderAddress); ordersEntity.setProductCode(productId.substring(0,productId.length()-1)); ordersEntity.setProductName(productName.substring(0,productName.length()-1)); @@ -276,7 +288,6 @@ public class OrderController { StringBuffer productId = new StringBuffer(); StringBuffer productName = new StringBuffer(); Map resultMsg = new HashMap<>(); - String memberId = ""; String mobile = ""; int buyCount = 0; double total_fee = 0 ; @@ -285,27 +296,49 @@ 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()); - //存储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(goodsObject.getString("productName")); - orderDatilListEntity.setPcs(ordersEntitys.getBuyCount()); - orderDatilListEntity.setProductCode(goodsObject.getString("productCode")); - orderDatilListEntity.setEcPrice(goodsObject.getString("ecPrice")); - orderDatilListJson.add(orderDatilListEntity); - if (ordersEntitys.getCouponCode() != "" && ordersEntitys.getCouponCode() != null) { + String memberId = ""; + String couponCode = ""; + try { + for (OrdersEntity ordersEntitys : ordersEntityList) { + + //删除购物车信息 + 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(goodsObject.getString("productName")); + orderDatilListEntity.setPcs(ordersEntitys.getBuyCount()); + orderDatilListEntity.setProductCode(goodsObject.getString("productCode")); + orderDatilListEntity.setEcPrice(goodsObject.getString("ecPrice")); + orderDatilListJson.add(orderDatilListEntity); + + total_fee = total_fee + Double.parseDouble(goodsObject.getString("ecPrice")) * ordersEntitys.getBuyCount(); + + basePoint = basePoint + ordersEntitys.getBasePoint(); + orderAddress.setAddressCityName(ordersEntitys.getOrderAddress().getAddressCityName()); + orderAddress.setAddressCountyName(ordersEntitys.getOrderAddress().getAddressCountyName()); + orderAddress.setAddressDetailInfo(ordersEntitys.getOrderAddress().getAddressDetailInfo()); + orderAddress.setAddressPhoneNumber(ordersEntitys.getOrderAddress().getAddressPhoneNumber()); + orderAddress.setAddressUserName(ordersEntitys.getOrderAddress().getAddressUserName()); + orderAddress.setAddressProvinceName(ordersEntitys.getOrderAddress().getAddressProvinceName()); + productId.append(ordersEntitys.getProductCode()+","); + productName.append(ordersEntitys.getProductName()+","); + memberId = ordersEntitys.getMemberId(); + couponCode = ordersEntitys.getCouponCode(); + mobile = ordersEntitys.getPhoneNumber(); + buyCount = buyCount + ordersEntitys.getBuyCount(); + } + //验证优惠卷 + if (couponCode != "" && couponCode != null) { CouponGetAllEntity couponGetAllEntity = new CouponGetAllEntity(); - couponGetAllEntity.setMemberId(ordersEntitys.getMemberId()); - couponGetAllEntity.setCouponCode(ordersEntitys.getCouponCode()); + couponGetAllEntity.setMemberId(memberId); + couponGetAllEntity.setCouponCode(couponCode); String couponInfo = couponService.couponGetAll(couponGetAllEntity); JSONObject jsonObject = JSONObject.parseObject(couponInfo); com.alibaba.fastjson.JSONArray jsonArray = JSONObject.parseArray(jsonObject.getString("data")); @@ -323,34 +356,19 @@ public class OrderController { ordersEntity.setCouponName(jsonObjectData.getString("couponName")); ordersEntity.setCouponId(jsonObjectData.getString("couponId")); 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(); + total_fee = orderService.couponTotal(ordersEntity.getCouponTypeId(), Double.parseDouble(ordersEntity.getCouponAmount()), total_fee); } - basePoint = basePoint + ordersEntitys.getBasePoint(); - orderAddress.setAddressCityName(ordersEntitys.getOrderAddress().getAddressCityName()); - orderAddress.setAddressCountyName(ordersEntitys.getOrderAddress().getAddressCountyName()); - orderAddress.setAddressDetailInfo(ordersEntitys.getOrderAddress().getAddressDetailInfo()); - orderAddress.setAddressPhoneNumber(ordersEntitys.getOrderAddress().getAddressPhoneNumber()); - orderAddress.setAddressUserName(ordersEntitys.getOrderAddress().getAddressUserName()); - orderAddress.setAddressProvinceName(ordersEntitys.getOrderAddress().getAddressProvinceName()); - productId.append(ordersEntitys.getProductCode()+","); - productName.append(ordersEntitys.getProductName()+","); - memberId = ordersEntitys.getMemberId(); - mobile = ordersEntitys.getPhoneNumber(); - buyCount = buyCount + ordersEntitys.getBuyCount(); - } - ordersEntity.setOrderAddress(orderAddress); - ordersEntity.setProductCode(productId.substring(0,productId.length()-1)); - ordersEntity.setProductName(productName.substring(0,productName.length()-1)); - ordersEntity.setOrderAmount(StringUtil.toString(total_fee)); - ordersEntity.setMemberId(memberId); - ordersEntity.setPhoneNumber(mobile); - ordersEntity.setBuyCount(buyCount); - ordersEntity.setOrderNo(GenerateSequenceUtil.generateSequenceNo()); - ordersEntity.setOrderStatus("0"); - ordersEntity.setBasePoint(basePoint); - ordersEntity.setPayType("3"); + ordersEntity.setOrderAddress(orderAddress); + ordersEntity.setProductCode(productId.substring(0,productId.length()-1)); + ordersEntity.setProductName(productName.substring(0,productName.length()-1)); + ordersEntity.setOrderAmount(StringUtil.toString(total_fee)); + ordersEntity.setMemberId(memberId); + ordersEntity.setPhoneNumber(mobile); + ordersEntity.setBuyCount(buyCount); + ordersEntity.setOrderNo(GenerateSequenceUtil.generateSequenceNo()); + ordersEntity.setOrderStatus("0"); + ordersEntity.setBasePoint(basePoint); + ordersEntity.setPayType("3"); resultMsg = orderService.generateOrder(ordersEntity, orderDatilListJson); //判断订单生成状况 if (resultMsg.get("code").equals("1")) { diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/service/OrderService.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/service/OrderService.java index be8f95a9..2e4e88fe 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/service/OrderService.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/service/OrderService.java @@ -298,7 +298,7 @@ public class OrderService { } - public double couponTotal(String couponTypeId,double discount,double total,int buyCount){ + public double couponTotal(String couponTypeId,double discount,double total){ double endTotal = 0; switch (couponTypeId) { @@ -306,22 +306,19 @@ public class OrderService { // endTotal = (total * (buyCount-1)) + (total * discount); // break; case "2": - endTotal = total * buyCount - discount; + endTotal = total - discount; break; case "3": - endTotal = (total * buyCount) * (1-discount); + endTotal = total * (1-discount); break; case "1" : - endTotal = total * buyCount - discount; + endTotal = total - discount; break; case "4" : - endTotal = (total * buyCount) * (1-discount); + endTotal = total * (1-discount); break; case "6" : - endTotal = total * buyCount - discount; - break; - case "0": - endTotal = total * buyCount; + endTotal = total - discount; break; } return endTotal; From cf90ce90092b0362134299d80289c5347d383312 Mon Sep 17 00:00:00 2001 From: Vion Date: Tue, 15 Mar 2022 20:07:55 +0800 Subject: [PATCH 4/5] Combined product Coupon amount calculating issue fixed --- rc-busness/pages/personal/settlement.vue | 31 ++++++++++++++++++------ 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/rc-busness/pages/personal/settlement.vue b/rc-busness/pages/personal/settlement.vue index 513d4e8b..5ea680de 100644 --- a/rc-busness/pages/personal/settlement.vue +++ b/rc-busness/pages/personal/settlement.vue @@ -306,9 +306,17 @@ export default { let total = 0; let couponUsed = false; let tmpShoppingCartList = this.arrSort(this.goldmedal); - + let qualifiedProductAmount = 0; + let skipQualifiedProductAmountCalculating = false; + for(let itemInCart of tmpShoppingCartList) { - if((!this.curCoupon.productCodes || this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1) && !couponUsed) { + if(this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1) { + qualifiedProductAmount += (itemInCart.productPrice * itemInCart.buyCount); + } + } + + for(let itemInCart of tmpShoppingCartList) { + if(this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1 && !couponUsed) { if(this.curCoupon.minQuantity && this.curCoupon.minQuantity>itemInCart.buyCount) { //Check minQuantity total+=(itemInCart.buyCount * itemInCart.productPrice); @@ -318,7 +326,8 @@ export default { } else { //Into coupon discount calculation switch(this.curCoupon.couponTypeId) { - case 1: //Amount deduct + 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; @@ -330,14 +339,16 @@ export default { this.curCoupon = {couponName:'未能使用该优惠券'}; } break; + */ case 2: //Amount deduct with minPrice restriction case 6: - if(this.curCoupon.couponAmount && this.curCoupon.couponAmount <= (itemInCart.productPrice * itemInCart.buyCount)) { - total = total + (itemInCart.productPrice * itemInCart.buyCount) - this.curCoupon.couponAmount; + if(this.curCoupon.couponAmount && this.curCoupon.couponAmount <= qualifiedProductAmount && this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1) { + total = total + qualifiedProductAmount - this.curCoupon.couponAmount; this.discountAmount = this.curCoupon.couponAmount; - this.discountedProductCode = itemInCart.productCode; + this.discountedProductCode = itemInCart.productCode; + skipQualifiedProductAmountCalculating = true; couponUsed=true; - } else if(this.curCoupon.couponAmount && this.curCoupon.couponAmount > (itemInCart.productPrice * itemInCart.buyCount)) { + } else if(this.curCoupon.couponAmount && this.curCoupon.couponAmount > qualifiedProductAmount) { total = total + itemInCart.productPrice * itemInCart.buyCount; this.discountAmount = 0; this.curCoupon = {couponName:'未能使用该优惠券'}; @@ -357,7 +368,11 @@ export default { //Into coupon discount calculation end } } else { - total += itemInCart.productPrice * itemInCart.buyCount; + if(skipQualifiedProductAmountCalculating && this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1) { + + } else { + total += itemInCart.productPrice * itemInCart.buyCount; + } } } return total; From 359d746638e27cc0f5f20dc6fe99aba8a27f7f50 Mon Sep 17 00:00:00 2001 From: "376654749@qq.com" Date: Wed, 16 Mar 2022 17:01:21 +0800 Subject: [PATCH 5/5] modify order logic --- .../lab1024/smartadmin/module/system/wxpay/WxpayService.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/wxpay/WxpayService.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/wxpay/WxpayService.java index 95f03fdb..c9ad2a92 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/wxpay/WxpayService.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/wxpay/WxpayService.java @@ -15,6 +15,7 @@ import net.lab1024.smartadmin.module.system.royalcanin.orderMaster.QueryEntity; import net.lab1024.smartadmin.module.system.wxpay.sdk.WXPay; import net.lab1024.smartadmin.module.system.wxpay.sdk.WXPayUtil; import net.lab1024.smartadmin.module.system.wxpay.wxPayModel.WxPayEntity; +import net.lab1024.smartadmin.util.AESUtil; import net.lab1024.smartadmin.util.MapRemoveNullUtil; import net.lab1024.smartadmin.util.SmartHttpUtil; import net.lab1024.smartadmin.util.SmartIPUtil; @@ -111,7 +112,8 @@ public class WxpayService { paramMap.put("channelId","15"); String sb = SmartHttpUtil.sendPostForm(url+"productMaster/query",paramMap,null); JSONObject jsonObject = JSONObject.parseObject(sb); - com.alibaba.fastjson.JSONArray jsonArray = JSONObject.parseArray(jsonObject.getString("data")); + String result = AESUtil.decryptLinux(jsonObject.getString("data"), AESUtil.KEY); + com.alibaba.fastjson.JSONArray jsonArray = JSONObject.parseArray(result); JSONObject jsonObjectData = (JSONObject)jsonArray.get(0); basePoint = basePoint + Double.parseDouble(jsonObjectData.getString("basePoint")); }