浏览代码

退款申请bugfix

zhijiezhao 2 年之前
父节点
当前提交
a77fe03d12

+ 6 - 0
src/main/java/com/caimei/modules/order/service/CmPayShopService.java

@@ -14,6 +14,7 @@ import com.caimei.modules.order.utils.SettlePostFormUtil;
 import com.caimei.modules.sys.utils.UploadImageUtils;
 import com.caimei.modules.user.dao.NewCmShopDao;
 import com.caimei.modules.user.entity.NewCmShop;
+import com.caimei.redis.RedisService;
 import com.caimei.utils.MathUtil;
 import com.caimei.utils.StringUtil;
 import com.opensymphony.module.sitemesh.html.CustomTag;
@@ -70,6 +71,8 @@ public class CmPayShopService extends CrudService<CmPayShopDao, CmPayShop> {
     private HeHeNewOrderDao heHeNewOrderDao;
     @Resource
     private CmRefundShopDao cmRefundShopDao;
+    @Resource
+    private RedisService redisService;
 
 
     public List<CmPayShop> exports(Page<CmPayShop> cmPayShopPage, CmPayShop cmPayShop) {
@@ -1222,6 +1225,7 @@ public class CmPayShopService extends CrudService<CmPayShopDao, CmPayShop> {
         String format = new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss.SSS").format(new Date());
         String substring = format.substring(20);
         String P3_customerNumber = newOrderDao.findSplitCode(shopOrderId);
+        redisService.set("SDJSS", 1, 120L);
         settleOrder("JSCB" + shopOrderId + substring, settleAmount, P3_customerNumber, shopOrderId, 1);
         // 结算佣金 佣金目前分到网络
         Double payAmount = newOrderDao.findPayAmount(shopOrderId);
@@ -1290,6 +1294,8 @@ public class CmPayShopService extends CrudService<CmPayShopDao, CmPayShop> {
                     // 修改cm_split_account settlestatus
                     newOrderDao.updateSettleStatus(shopOrderId, 3);
                 }
+                //解锁
+                redisService.remove("SDJSS");
             }
         }
     }

+ 11 - 1
src/main/java/com/caimei/modules/order/web/CmPayShopController.java

@@ -12,6 +12,7 @@ import com.caimei.modules.order.utils.OrderUtil;
 import com.caimei.modules.sys.utils.UploadImageUtils;
 import com.caimei.modules.user.entity.CmUserOrganize;
 import com.caimei.modules.user.service.CmUserOrganizeService;
+import com.caimei.redis.RedisService;
 import com.caimei.utils.MathUtil;
 import com.thinkgem.jeesite.common.config.Global;
 import com.thinkgem.jeesite.common.persistence.Page;
@@ -48,6 +49,9 @@ import java.util.concurrent.atomic.AtomicReference;
 @RequestMapping(value = "${adminPath}/order/cmPayShop")
 public class CmPayShopController extends BaseController {
 
+
+    @Resource
+    private RedisService redisService;
     @Autowired
     private CmPayShopService cmPayShopService;
     @Resource
@@ -771,7 +775,13 @@ public class CmPayShopController extends BaseController {
      * @return
      */
     @RequestMapping("settlement")
-    public String settlement(Double settleAmount, String shopOrderId) throws Exception {
+    public String settlement(Double settleAmount, String shopOrderId,RedirectAttributes redirectAttributes) throws Exception {
+        Integer SDJSS = (Integer) redisService.get("SDJSS");
+        //验锁
+        if (null != SDJSS && SDJSS > 0) {
+            addMessage(redirectAttributes, "请勿短时间内重复结算,等待支付公司返回结算结果!");
+            return "redirect:" + Global.getAdminPath() + "/shopOrder/splitList/?repage";
+        }
         cmPayShopService.settlement(shopOrderId, settleAmount);
         return "redirect:" + Global.getAdminPath() + "/shopOrder/settlement";
     }

+ 3 - 0
src/main/resources/mappings/modules/order/CmReturnedPurchaseMapper.xml

@@ -371,6 +371,9 @@
 			<if test="delFlag != null and delFlag != ''" >
 				delFlag = #{delFlag},
 			</if>
+		    <if test="refundType != null">
+				refundType = #{refundType},
+			</if>
         </set>
 
 		WHERE id = #{id}

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

@@ -1006,6 +1006,7 @@
         LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
         LEFT JOIN cm_order co ON cror.orderID = co.orderID
         WHERE cror.relationType = 2
+          AND a.receiptStatus=3
           AND cror.delFlag = 0
           AND cror.mbOrderId IS NOT NULL
           AND cror.splitStatus = 0

+ 1 - 0
src/main/resources/mappings/modules/order/ShopOrderMapper.xml

@@ -1262,6 +1262,7 @@
           AND co.refundType != 2
           AND co.delFlag = 0
           AND co.orderType != 2
+          AND co.receiptStatus = 3
           AND a.delFlag = 0
           AND a.shopID != 998
           AND cdr.payWay = 1

+ 14 - 4
src/main/webapp/WEB-INF/views/modules/bulkpurchase/applyRefoundForm.jsp

@@ -174,7 +174,7 @@
 
         function showBankInfo() {
                 if (${!returnOnline}){
-                var obj = document.getElementsByName("returnedWay"),
+                var obj = document.getElementsByClassName("refundOfflineFee"),
                     blockEle = $('.refund-details-block');
                 if(obj){
                     if(obj[0].checked){
@@ -329,11 +329,21 @@
                         线上退回
                     </c:if>
                     <c:if test="${!returnOnline}">
-                        <input class="check-item-review refundOfflineFee" type="checkbox"   name="returnedWay" value='3' onclick="showBankInfo()"/>
+                        <c:if test="${cmReturnedPurchase.refundOfflineFee>0}">
+                            <input class="check-item-review refundOfflineFee" checked type="checkbox" onclick="showBankInfo()"/>
+                        </c:if>
+                        <c:if test="${cmReturnedPurchase.refundOfflineFee eq 0}">
+                            <input class="check-item-review refundOfflineFee" type="checkbox" onclick="showBankInfo()"/>
+                        </c:if>
                         线下转账
                         <from:input path="refundOfflineFee" onkeyup="num(this)"   placeholder="¥0.00" value="${empty cmReturnedPurchase.refundOfflineFee?'':(cmReturnedPurchase.refundOfflineFee)}"></from:input>
                         <c:if test="${order.rechargeGoods ne 1 && order.rechargeGoods ne 2}">
-                            <input class="check-item-review refundBalanceFee" type="checkbox"  name="returnedWay" value='1'/>
+                            <c:if test="${cmReturnedPurchase.refundBalanceFee>0}">
+                            <input class="check-item-review refundBalanceFee" checked type="checkbox"/>
+                            </c:if>
+                            <c:if test="${cmReturnedPurchase.refundBalanceFee eq 0}">
+                                <input class="check-item-review refundBalanceFee" type="checkbox"/>
+                            </c:if>
                             账户余额
                             <from:input path="refundBalanceFee" onkeyup="num(this)" placeholder="¥0.00" value="${empty cmReturnedPurchase.refundBalanceFee?'':(cmReturnedPurchase.refundBalanceFee)}"></from:input>
                         </c:if>
@@ -873,7 +883,7 @@
 
     function showBankInfo() {
         if (${!returnOnline}){
-            var obj = document.getElementsByName("returnedWay"),
+            var obj = document.getElementsByClassName("refundOfflineFee"),
                 blockEle = $('.refund-details-block');
             if(obj){
                 if(obj[0].checked){

+ 0 - 5
src/main/webapp/WEB-INF/views/modules/order/cmSettlementForm.jsp

@@ -667,11 +667,6 @@
         });
         $(window).on("load", function () {
             $('.need-to-pay').each(function (index, ele) {
-                if ($(this).val() <= 0) {
-                    alertx("待付金额为负数,不能操作付款抹平。请先去操作供应商退款,使数据恢复正常", function () {
-                        window.location.href = "${ctx}/shopOrder/refundRecordList?operatingMode=2"
-                    });
-                }
                 var thisEle = $(this),
                     wrapper = thisEle.parents(".supplier-fee"),
                     shouldPay = thisEle.attr('data-pay') * 1,