Procházet zdrojové kódy

Merge remote-tracking branch 'origin/developer' into developer

Aslee před 3 roky
rodič
revize
1ffd396de9

+ 8 - 0
src/main/java/com/caimei/modules/coupon/dao/CmCouponClubDao.java

@@ -52,4 +52,12 @@ public interface CmCouponClubDao extends CrudDao<CmCouponClub> {
      * @param returnedId
      */
     void deleteByReturnedId(int returnedId);
+
+    /**
+     * 查询一张未使用兑换码券
+     *
+     * @param couponId
+     * @return
+     */
+    CmCouponRedemptionCode findRedemptionCode(int couponId);
 }

+ 27 - 0
src/main/java/com/caimei/modules/order/service/NewOrderService.java

@@ -12,6 +12,7 @@ import com.caimei.modules.coupon.dao.CmCouponDao;
 import com.caimei.modules.coupon.entity.CmCoupon;
 import com.caimei.modules.coupon.entity.CmCouponClub;
 import com.caimei.modules.coupon.entity.CmCouponOrderRecord;
+import com.caimei.modules.coupon.entity.CmCouponRedemptionCode;
 import com.caimei.modules.coupon.service.CmCouponService;
 import com.caimei.modules.miniprogram.utils.UploadPicUtils;
 import com.caimei.modules.order.dao.*;
@@ -34,6 +35,8 @@ import com.caimei.modules.user.service.CmUserBalanceRecordService;
 import com.caimei.modules.user.service.CmUserService;
 import com.caimei.modules.user.utils.ReturnedPurchaseStatus;
 import com.caimei.modules.user.utils.UserUtils;
+import com.caimei.po.CouponClub;
+import com.caimei.po.CouponRedemptionCode;
 import com.caimei.po.ProductLadderPrice;
 import com.caimei.po.neworder.CmShopOrder;
 import com.caimei.utils.*;
@@ -1225,6 +1228,30 @@ public class NewOrderService extends CrudService<NewOrderDao, NewOrder> {
         order.setConfirmTime(curDateStr);
         if (order.getBalancePayFee() != null && order.getBalancePayFee() > 0) {
             saveDiscernReceipt(order.getBalancePayFee(), orderID);
+            //针对商品productId:6898,做兑换券操作(couponId:15)
+            if ("3".equals(order.getReceiptStatus())) {
+                List<NewOrderProduct> orderProducts = newOrderProductDao.findListByOrderID(orderID);
+                for (NewOrderProduct orderProduct : orderProducts) {
+                    if (orderProduct.getProductID().equals(6898)) {
+                        Integer num = orderProduct.getNum();
+                        for (int i = 0; i < num; i++) {
+                            CmCouponRedemptionCode redemptionCode = cmCouponClubDao.findRedemptionCode(15);
+                            if (redemptionCode != null) {
+                                CmCouponClub couponClub = new CmCouponClub();
+                                couponClub.setCouponId(redemptionCode.getCouponId());
+                                couponClub.setUserId(order.getUserID());
+                                couponClub.setSource("5");
+                                couponClub.setStatus("1");
+                                couponClub.setCreateDate(new Date());
+                                couponClub.setDelFlag("0");
+                                cmCouponClubDao.insert(couponClub);
+                                cmCouponClubDao.updateRedemptionCode(redemptionCode.getId(), couponClub.getId());
+                            }
+                        }
+                        break;
+                    }
+                }
+            }
         }
         newOrderDao.update(order);
     }

+ 20 - 0
src/main/resources/mappings/modules/coupon/CmCouponClubMapper.xml

@@ -242,5 +242,25 @@
 	<update id="deleteByReturnedId">
 		UPDATE cm_coupon_club SET delFlag = 1 WHERE returnedId = #{returnedId} AND status = 1 AND source = 3
 	</update>
+
+	<select id="findRedemptionCode" resultType="com.caimei.modules.coupon.entity.CmCouponRedemptionCode">
+        SELECT
+          `id`,
+          `couponId`,
+          `clubCouponId`,
+          `redemptionCode`,
+          `status`,
+          `redemptionTime`,
+          `addTime`
+        FROM
+          cm_coupon_redemption_code
+        WHERE
+          couponId = #{couponId}
+          AND STATUS = 1
+        ORDER BY
+          id
+        LIMIT
+          1
+    </select>
 	
 </mapper>

+ 11 - 4
src/main/webapp/static/modules/bulkpurchase/orderForm.js

@@ -12,10 +12,10 @@ var totalCoupons = [];
 // 当前商品可用优惠券
 var selectCoupons = [];
 // 勾选后的优惠金额
-var couponPrice = $("#couponAmount").val() ? $("#couponAmount").val()*1 : 0;
+var couponPrice = 0;
 // 添加订单true,修改订单false
 var initFlag = true;
-var orderStatus = $("#orderStatus").val() ? $("#orderStatus").val()*1 : 0;
+var orderStatus = 0;
 
 $(function() {
     /**  发票信息 start * */
@@ -219,6 +219,7 @@ $(function() {
         productList.forEach(function(data) {
             setProductList(data);
         });
+        setOrderFee(); //设置底部订单金额
         initFlag = true;
     }
 });
@@ -394,6 +395,7 @@ function editShop(obj) {
                         console.log(items[0]);
                         setProductList(items[0], false); //设置商品列表
                         //                            initStages();//初始化分期信息
+                        setOrderFee(); //设置底部订单金额
                     }
                     return true;
                 }
@@ -519,6 +521,7 @@ function orderSecondHandEditShop(obj) {
                     } else {
                         console.log(items[0]);
                         setProductList(items[0], false); //设置商品列表
+                        setOrderFee(); //设置底部订单金额
                     }
                     return true;
                 }
@@ -629,6 +632,7 @@ function resetProductList(setData) {
             setProductList(setData, false);
         }
     }
+    setOrderFee(); //设置底部订单金额
 }
 
 function deleteShopProduct(obj) {
@@ -793,6 +797,7 @@ function showSencondHandSelect(iframe) {
 function setProductList(data) {
     console.log("设置" + JSON.stringify(data));
     var userId = $("#inputForm").find("[name*='bpOrderUserinfo.userId']").val();
+    var orderStatus = $("#orderStatus").val() ? $("#orderStatus").val()*1 : 0;
     data.productType = 0;
     var shopFee = data.shopFee;
     var cmPromotion = '';
@@ -934,7 +939,7 @@ function appendProductList(str, data, cmPromotion) {
         }
     }
     setShopOrderFee(data.shopId);
-    setOrderFee(); //设置底部订单金额
+    // setOrderFee(); //设置底部订单金额
     product_index++;
     // 设置赠品
     setGiftHtmlList(data, cmPromotion);
@@ -1091,7 +1096,7 @@ function setGiftHtmlList(data, cmPromotion) {
         }
     }
     // 重新设置底部订单金额
-    setOrderFee();
+    // setOrderFee();
     // 重新设置返佣订单选项
     showRebateCheck();
 }
@@ -1215,6 +1220,7 @@ function setOrderFee() { //不考虑经理折扣、运费,此时 商品总金
         orderTotalFee = 0, //订单总额
         reducedPrice = 0, //促销满减
         payTotalFee = 0; //应付总额
+    var couponPrice = $("#couponAmount").val() ? $("#couponAmount").val()*1 : 0;
     $('.productTable tbody tr:not(.gift)').each(function(index, element) {
         var obj = JSON.parse($(this).attr("data-value"));
         productTotalFee = ((Number(productTotalFee) * 100 + Number(obj.num * obj.price) * 100 + Number(obj
@@ -1913,6 +1919,7 @@ function cmFee(i) {
 
 //经理折扣后计算
 function setProductTotalFee() {
+    debugger
     var discount = Number($("#discount").val()); //经理折扣金额
     if (isNaN(discount)) {
         discount = Number($("#discountFee").val());