Browse Source

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

# Conflicts:
#	src/main/java/com/caimei/modules/order/dao/NewOrderDao.java
#	src/main/resources/mappings/modules/order/OrderMapper.xml
plf 3 years ago
parent
commit
934eb19818

+ 11 - 0
src/main/java/com/caimei/modules/order/dao/NewOrderDao.java

@@ -4,6 +4,7 @@ import com.caimei.modules.coupon.entity.CmCoupon;
 import com.caimei.modules.coupon.entity.CmCouponOrderRecord;
 import com.caimei.modules.order.entity.CmFile;
 import com.caimei.modules.order.entity.NewOrder;
+import com.caimei.modules.order.entity.NewOrderProduct;
 import com.caimei.modules.product.entity.CmPromotion;
 import com.caimei.modules.user.entity.NewCmSp;
 import com.thinkgem.jeesite.common.persistence.CrudDao;
@@ -139,6 +140,16 @@ public interface NewOrderDao extends CrudDao<NewOrder> {
      * @param num
      */
     void updateSendNum(@Param("markId") int markId, @Param("num") int num);
+    /**
+     * 获取订单定金商品Id
+     * @param orderID
+     * @return
+     */
+    Integer getDepositOrderProductId(Integer orderID);
+    /**
+     * 定金商品撤销收款,用户余额扣除
+     */
+    void updateUserMoneyByUserId(Double payTotalFee, Integer userID);
 
     /**
      * 查询订单优惠券信息

+ 20 - 0
src/main/java/com/caimei/modules/order/service/CmDiscernReceiptService.java

@@ -3,7 +3,9 @@ package com.caimei.modules.order.service;
 import com.caimei.modules.hehe.dao.HeHeNewOrderDao;
 import com.caimei.modules.order.dao.*;
 import com.caimei.modules.order.entity.*;
+import com.caimei.modules.user.dao.CmUserBalanceRecordDao;
 import com.caimei.modules.user.dao.NewCmShopDao;
+import com.caimei.modules.user.entity.CmUserBalanceRecord;
 import com.caimei.modules.user.entity.NewCmShop;
 import com.caimei.utils.MathUtil;
 import com.thinkgem.jeesite.common.persistence.Page;
@@ -49,6 +51,8 @@ public class CmDiscernReceiptService extends CrudService<CmDiscernReceiptDao, Cm
     private HeHeNewOrderDao heHeNewOrderDao;
     @Resource
     private CmRefundShopRecordDao cmRefundShopRecordDao;
+    @Resource
+    private CmUserBalanceRecordDao cmUserBalanceRecordDao;
 
     public CmDiscernReceipt get(String id) {
         return super.get(id);
@@ -199,6 +203,22 @@ public class CmDiscernReceiptService extends CrudService<CmDiscernReceiptDao, Cm
                         }
                     }
                     newOrderDao.update(order);
+                    // 充值定金商品
+                    Integer depositProductId = newOrderDao.getDepositOrderProductId(order.getOrderID());
+                    if (6060 == depositProductId) {
+                        // 定金商品撤销收款,用户余额扣除
+                        newOrderDao.updateUserMoneyByUserId(order.getPayTotalFee(), order.getUserID());
+                        // 添加余额收支记录
+                        CmUserBalanceRecord cmUserBalanceRecord = new CmUserBalanceRecord();
+                        cmUserBalanceRecord.setType("2");
+                        cmUserBalanceRecord.setBalanceType("8");
+                        cmUserBalanceRecord.setAddDate(new Date());
+                        cmUserBalanceRecord.setDelFlag("0");
+                        cmUserBalanceRecord.setAmount(order.getPayTotalFee().toString());
+                        cmUserBalanceRecord.setOrderId( order.getUserID());
+                        cmUserBalanceRecord.setRemark("定金商品撤销收款");
+                        cmUserBalanceRecordDao.insertUserBalanceRecord(cmUserBalanceRecord);
+                    }
                 }
             }
         }

+ 15 - 10
src/main/java/com/caimei/modules/order/web/CmPayShopController.java

@@ -3,11 +3,13 @@ package com.caimei.modules.order.web;
 import com.caimei.dfs.image.beens.ImageUploadInfo;
 import com.caimei.modules.common.utils.UploadUtils;
 import com.caimei.modules.order.dao.CmPayShopRecordDao;
+import com.caimei.modules.order.dao.NewOrderProductDao;
 import com.caimei.modules.order.entity.*;
 import com.caimei.modules.order.service.*;
 import com.caimei.modules.sys.utils.UploadImageUtils;
 import com.caimei.modules.user.entity.CmUserOrganize;
 import com.caimei.modules.user.service.CmUserOrganizeService;
+import com.caimei.utils.MathUtil;
 import com.thinkgem.jeesite.common.config.Global;
 import com.thinkgem.jeesite.common.persistence.Page;
 import com.thinkgem.jeesite.common.utils.Encodes;
@@ -61,6 +63,8 @@ public class CmPayShopController extends BaseController {
     private CmChangePayShopProductService cmChangePayShopProductService;
     @Autowired
     private CmPayShopRecordDao cmPayShopRecordDao;
+    @Resource
+    private NewOrderProductDao newOrderProductDao;
 
     @ModelAttribute
     public CmPayShop get(@RequestParam(required = false) String id) {
@@ -245,7 +249,7 @@ public class CmPayShopController extends BaseController {
         //子订单的成本方式第一次填写以后就不能修改了
         // 固定成本
         if ("1".equals(costType)) {
-            List<CmReturnedPurchaseProduct> rL = cmReturnedPurchaseProductService.findReturnedByShopOrderID(Integer.parseInt(shopOrderID));
+            // List<CmReturnedPurchaseProduct> rL = cmReturnedPurchaseProductService.findReturnedByShopOrderID(Integer.parseInt(shopOrderID));
             for (NewOrderProduct product : newOrderProducts) {
                 Integer orderProductID = product.getOrderProductID();
                 Double costPrice = product.getCostPrice() == null ? 0d : product.getCostPrice();
@@ -254,15 +258,16 @@ public class CmPayShopController extends BaseController {
                 }
                 Double singleShouldPayTotalTax = product.getSingleShouldPayTotalTax() == null ? 0d : product.getSingleShouldPayTotalTax();
                 Double supplierTaxRate = product.getSupplierTaxRate() == null ? 0d : product.getSupplierTaxRate();
-                // 获取已被退款的商品
-                Optional<CmReturnedPurchaseProduct> o = rL.stream().
-                        filter(r -> r.getOrderProductID().equals(orderProductID)).findAny();
-                CmReturnedPurchaseProduct b = o.isPresent() ? o.get() : null;
-                int returnNum = 0;
-                if (b != null)
-                    returnNum = (b.getActualReturnedNum() == null ? 0 : b.getActualReturnedNum())
-                            + (b.getActualCancelNum() == null ? 0 : b.getActualCancelNum());
-
+                // 获取已被退款的商品数量
+                Integer returnNum = newOrderProductDao.CountReturnedPurchaseProduct(Integer.parseInt(shopOrderID), orderProductID);
+                returnNum = returnNum == null ? 0 : returnNum;
+//                List<CmReturnedPurchaseProduct> o = rL.stream().
+//                        filter(r -> r.getOrderProductID().equals(orderProductID));
+//                CmReturnedPurchaseProduct b = o.isPresent() ? o.get() : null;
+//                int returnNum = 0;
+//                if (b != null)
+//                    returnNum = (b.getActualReturnedNum() == null ? 0 : b.getActualReturnedNum())
+//                            + (b.getActualCancelNum() == null ? 0 : b.getActualCancelNum());
                 NewOrderProduct orderProduct = newOrderProductService.get(String.valueOf(orderProductID));
                 // 修改前
                 if (StringUtils.isEmpty(dbcostType)) {

+ 1 - 1
src/main/java/com/caimei/modules/user/web/CmUserBalanceRecordController.java

@@ -175,7 +175,7 @@ public class CmUserBalanceRecordController extends BaseController {
         return "modules/user/toCmRechargeForm";
     }
 
-    @RequiresPermissions("balance:cmUserBalanceWithdrawals:withdrawalReview")
+    @RequiresPermissions("balance:cmUserBalanceWithdrawals:withdrawals")
     @RequestMapping(value = "userWithdrawals")
     public String userWithdrawals(CmUser cmuser, HttpServletRequest request, HttpServletResponse response, Model model) {
         CmUser cmUser = cmNormalUserService.get(String.valueOf(cmuser.getUserID()));

+ 7 - 1
src/main/resources/mappings/modules/order/OrderMapper.xml

@@ -850,7 +850,9 @@
 	<select id="findBYShortLink" resultType="integer">
         SELECT id FROM cm_short_link WHERE shortLink = #{shortLink}
     </select>
-
+	<select id="getDepositOrderProductId" resultType="java.lang.Integer">
+		SELECT productID FROM cm_order_product WHERE orderID = #{orderID} LIMIT 1
+	</select>
 	<insert id="insertShortLink">
     INSERT INTO `caimei`.`cm_short_link` (
       `markId`, `shortLink`, `jumpLink`,
@@ -866,6 +868,10 @@
 	<update id="updateSendNum">
         UPDATE cm_sms_statistics SET sendNum = (sendNum + #{num}) WHERE markId = #{markId}
     </update>
+	<update id="updateUserMoneyByUserId">
+		UPDATE USER SET userMoney=(userMoney-#{payTotalFee}), ableUserMoney = (ableUserMoney-#{payTotalFee})
+		WHERE userID = #{userID}
+	</update>
 
 	<select id="findOrderCouponRecord" resultType="com.caimei.modules.coupon.entity.CmCouponOrderRecord">
 		SELECT

+ 1 - 1
src/main/webapp/WEB-INF/views/modules/order/cmPayShopChange.jsp

@@ -194,7 +194,7 @@
 					</tr>
 							<c:forEach items="${newShopOrder.newOrderProducts}" var="product" varStatus="index">
 									<tr class="orderProducts">
-										<td hidden><input id="num" name="newOrderProducts[${index.index}].num" value="${product.num}"></td>
+										<td hidden><input id="num" name="newOrderProducts[${index.index}].num" value="${product.num - product.returnedNum}"></td>
 										<td hidden><input id="presentNum" name="newOrderProducts[${index.index}].presentNum" value="${product.presentNum}"></td>
 										<td hidden><input id="name" name="newOrderProducts[${index.index}].name" value="${product.name}"></td>
 										<td hidden><input id="orderProductID" name="newOrderProducts[${index.index}].orderProductID" value="${product.orderProductID}"></td>

+ 1 - 1
src/main/webapp/WEB-INF/views/modules/user/cmUserBalanceList.jsp

@@ -121,7 +121,7 @@
 							<a href="javascript:void(0);" onclick="recharge('${cmUser.userID}')">充值</a>
 							<%--<font title="请使用充值订单的方式进行充值!">充值</font>--%>
 						</shiro:hasPermission>
-						<shiro:hasPermission name="balance:cmUserBalanceWithdrawals:withdrawalReview">
+						<shiro:hasPermission name="balance:cmUserBalanceWithdrawals:withdrawals">
 							<c:if test="${cmUser.ableUserMoney > 0}">
 								<c:if test="${cmUser.pending}">
 									<font color="#666666">申请提现</font>