Ver Fonte

普通订单返佣服务费/添加华夏银行卡

zhijiezhao há 2 anos atrás
pai
commit
5d661b09dc

+ 2 - 0
src/main/java/com/caimei/modules/order/dao/CmUtilsDao.java

@@ -24,4 +24,6 @@ public interface CmUtilsDao {
      * @return
      */
     Double selectPayTotalFees(Integer orderID);
+
+    Integer findOrderIsSecond(Integer orderId);
 }

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

@@ -260,4 +260,6 @@ public interface NewOrderDao extends CrudDao<NewOrder> {
     List<SettleRecord> findSettleRecord(Integer orderID);
 
     Double findSettleAmount(Integer orderID);
+
+    Integer findShopOrderSize(Integer orderID);
 }

+ 14 - 1
src/main/java/com/caimei/modules/order/service/NewOrderService.java

@@ -1235,7 +1235,8 @@ public class NewOrderService extends CrudService<NewOrderDao, NewOrder> {
             //获取订单商品
             List<NewOrderProduct> list = new ArrayList<>();
             List<NewShopOrder> shopOrders = newShopOrderDao.findListByOrderID(newOrder.getOrderID());
-            if (shopOrders.size() > 1) {
+            Integer count=newOrderDao.findShopOrderSize(newOrder.getOrderID());
+            if (count > 1) {
                 newOrder.setRechargeGoods(3);
             }
             if (CollectionUtils.isNotEmpty(shopOrders)) {
@@ -2609,4 +2610,16 @@ public class NewOrderService extends CrudService<NewOrderDao, NewOrder> {
     public List<SettleRecord> findSettleRecord(Integer orderID) {
         return newOrderDao.findSettleRecord(orderID);
     }
+
+    public NewOrder editRebateFee(NewOrder newOrder) {
+        NewOrder order = newOrderDao.get(String.valueOf(newOrder.getOrderID()));
+        return order;
+    }
+
+    @Transactional(readOnly = false)
+    public void saveRebateFee(NewOrder newOrder) {
+        newOrder.setRebateFee(newOrder.getRebateFee());
+        newOrder.setRebateFlag("2");
+        newOrderDao.update(newOrder);
+    }
 }

+ 3 - 0
src/main/java/com/caimei/modules/order/utils/OrderUtil.java

@@ -341,6 +341,9 @@ public class OrderUtil {
         if ("21".equals(payType)) {
             return "中国银行9139";
         }
+        if ("22".equals(payType)) {
+            return "华夏银行2400";
+        }
         return "";
     }
 

+ 44 - 11
src/main/java/com/caimei/modules/order/web/NewOrderController.java

@@ -428,7 +428,7 @@ public class NewOrderController extends BaseController {
                     if (ladderPriceFlag != null && !"".equals(ladderPriceFlag)) {
                         o.setLadderPriceFlag(Integer.valueOf(ladderPriceFlag));
                     }
-                    o.setSplitCode(productDao.getSplitCodeByProductId(o.getProductID())) ;
+                    o.setSplitCode(productDao.getSplitCodeByProductId(o.getProductID()));
                     if ("0".equals(productType)) {
                         o.setPreferential((o.getPrice() - o.getDiscountPrice()) * o.getNum());//折扣
                         o.setDiscountFee(BigDecimal.valueOf(o.getTotalFee()).subtract(BigDecimal.valueOf(o.getShouldPayFee())).doubleValue());//经理折扣
@@ -529,9 +529,9 @@ public class NewOrderController extends BaseController {
             newOrderProductService.updateShopConfigFlag(newOrder.getOrderID());
         }
         addMessage(redirectAttributes, "保存订单成功");
-        if("1".equals(newOrder.getSecondHandOrderFlag())){
+        if ("1".equals(newOrder.getSecondHandOrderFlag())) {
             return "redirect:" + Global.getAdminPath() + "/order/secondhandOrderList";
-        }else{
+        } else {
             return "redirect:" + Global.getAdminPath() + "/order/orderList";
         }
     }
@@ -599,7 +599,7 @@ public class NewOrderController extends BaseController {
     @RequestMapping("confirmOrder")
     public String confirmOrder(Integer orderID, Model model, RedirectAttributes redirectAttributes) {
         NewOrder order = newOrderService.get(orderID + "");
-        if (StringUtils.isNotEmpty(order.getStatus()) && Integer.parseInt(order.getStatus())>0){
+        if (StringUtils.isNotEmpty(order.getStatus()) && Integer.parseInt(order.getStatus()) > 0) {
             addMessage(redirectAttributes, "订单状态异常,请刷新后重试!");
             return "redirect:" + Global.getAdminPath() + "/order/detail/?id=" + orderID;
         }
@@ -629,7 +629,7 @@ public class NewOrderController extends BaseController {
                 Integer svipPriceFlag = op.getSvipPriceFlag();
                 Integer ladderPriceFlag = op.getLadderPriceFlag();
                 //活动商品和阶梯商品和超级会员价不写入价格库
-                if (StringUtil.equals("0", isActProduct) && 0 == svipPriceFlag && 0==ladderPriceFlag) {
+                if (StringUtil.equals("0", isActProduct) && 0 == svipPriceFlag && 0 == ladderPriceFlag) {
                     String buyAgainFlag = op.getBuyAgainFlag();
                     //对于可以复购的商品添加买家商品价格,提供再次购买商品使用(如果不存在没有改买家商品价格则不能购买该商品)
                     if (StringUtils.isNotEmpty(buyAgainFlag) && StringUtils.equals("1", buyAgainFlag)) {
@@ -775,7 +775,6 @@ public class NewOrderController extends BaseController {
     }
 
 
-
     /**
      * 确认收货
      *
@@ -792,8 +791,6 @@ public class NewOrderController extends BaseController {
     }
 
 
-
-
     /**
      * 去子订单orderProduct页面
      *
@@ -837,6 +834,7 @@ public class NewOrderController extends BaseController {
         r.put("data", orderProductList);
         return r;
     }
+
     @RequestMapping("toShipLogistic")
     public String toShipLogistic(Integer orderID, Model model) {
         model.addAttribute("orderID", orderID);
@@ -1341,7 +1339,7 @@ public class NewOrderController extends BaseController {
         }
         //订单已收金额
         Double brokerage = cmUtilsDao.selectPayTotalFees(order.getOrderID());
-        model.addAttribute("brokerage",brokerage);
+        model.addAttribute("brokerage", brokerage);
         Double receiptAmount = cmDiscernReceiptService.findOrderReceipt(order.getOrderID());
         model.addAttribute("returnValue", returnValue);
         model.addAttribute("receiptAmount", receiptAmount == null ? 0 : receiptAmount);
@@ -1464,17 +1462,17 @@ public class NewOrderController extends BaseController {
 
     /**
      * 置为已收款已付款
+     *
      * @param orderId
      * @return
      */
     @RequestMapping("toChangePay")
-    public String changePay(Integer orderId){
+    public String changePay(Integer orderId) {
         newOrderService.changePay(orderId);
         return "redirect:" + Global.getAdminPath() + "/order/orderList";
     }
 
 
-
     @RequestMapping(value = "saveClause")
     public String saveClause(NewOrder order, RedirectAttributes redirectAttributes, HttpServletRequest request) {
         String clauseContent = request.getParameter("clauseContent");
@@ -2088,6 +2086,36 @@ public class NewOrderController extends BaseController {
         return "modules/order/newOrderEdit";
     }
 
+    /**
+     * 编辑返佣服务费
+     */
+    @RequiresPermissions("order:order:edit")
+    @RequestMapping(value = "RebateFee")
+    public String editRebateFee(NewOrder newOrder, Model model, RedirectAttributes redirectAttributes) {
+        NewOrder order = newOrderService.editRebateFee(newOrder);
+        model.addAttribute("order", order);
+        return "modules/order/rebateFeeEdit";
+    }
+
+    /**
+     * 保存返佣服务费
+     */
+    @RequiresPermissions("order:order:edit")
+    @ResponseBody
+    @RequestMapping(value = "saveRebateFee")
+    public Map<String, Object> saveRebateFee(NewOrder newOrder) {
+        Map<String, Object> map = new HashMap();
+        try {
+            newOrderService.saveRebateFee(newOrder);
+            map.put("success", true);
+            map.put("msg", "修改返佣服务费成功");
+        } catch (Exception e) {
+            map.put("success", false);
+            map.put("msg", "修改返佣服务费失败");
+        }
+        return map;
+    }
+
     /**
      * 保存经理折扣
      */
@@ -2161,6 +2189,11 @@ public class NewOrderController extends BaseController {
     @RequestMapping("modifyRebate")
     public String modifyRebate(Integer orderId) {
         newOrderService.modifyRebate(orderId);
+        //1二手 0非二手
+        Integer secondHandOrderFlag = cmUtilsDao.findOrderIsSecond(orderId);
+        if (1 == secondHandOrderFlag) {
+            return "redirect:" + Global.getAdminPath() + "/order/secondhandOrderList";
+        }
         return "redirect:" + Global.getAdminPath() + "/order/orderList";
     }
 

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

@@ -56,6 +56,9 @@
         from cm_order co
         where orderID = #{orderID}
     </select>
+    <select id="findOrderIsSecond" resultType="java.lang.Integer">
+        select secondHandOrderFlag from cm_order where orderId= #{orderId}
+    </select>
 
 
 </mapper>

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

@@ -1388,6 +1388,10 @@
         WHERE settleType=1
           AND cso.orderId=#{orderID}
     </select>
+    <select id="findShopOrderSize" resultType="java.lang.Integer">
+        SELECT COUNT(*) FROM cm_shop_order WHERE orderId=#{orderID}
+                                             AND shopId!=998
+    </select>
     <insert id="insertSplitAccount">
         INSERT INTO cm_split_account (orderId, productId, orderProductId, shopId, couponRecordId, vipRecordId,
                                       authVipRecordId, type, subUserNo, splitAccount,

+ 41 - 0
src/main/webapp/WEB-INF/views/modules/order/orderDetail.jsp

@@ -669,6 +669,12 @@
                         <a href="javascript:void(0);"
                            onclick="modelShow('${order.orderID}')">编辑经理折扣</a>
                     </c:if>
+
+                    <c:if test="${order.secondHandOrderFlag ne 1 && order.rebateFlag ne 1 && order.status != 0 && order.status != 6 && order.status != 7 && empty order.rechargeGoods}">
+                        <a href="javascript:void(0);"
+                           onclick="rebateFeeEdit('${order.orderID}')">编辑返佣服务费</a>
+                    </c:if>
+
                     <c:if test="${order.orderType != 1 && order.rebateFlag eq 0 && order.receiptStatus eq 1 && order.payStatus eq 1 && order.secondHandOrderFlag ne 1 && order.rechargeGoods ne 1 && order.rechargeGoods ne 3}">
                         <a href="${ctx}/order/modifyRebate?orderId=${order.orderID}"
                            onclick="return confirmx('确定将订单转为返佣订单吗?', this.href)">转为返佣订单</a>
@@ -1266,6 +1272,41 @@
         });
     }
 
+    function rebateFeeEdit(orderID) {
+        top.$.jBox("iframe:${ctx}/order/RebateFee?orderID=" + orderID, {
+            iframeScrolling: 'yes',
+            top: 150,
+            width: 480,
+            height: 250,
+            persistent: true,
+            title: "编辑返佣服务费",
+            buttons: {"确认": '1', "取消": '-1'},
+            submit: function (v, h, f) {
+                //确定
+                var $jboxFrame = top.$('#jbox-iframe');
+                var $mainFrame = top.$('#mainFrame');
+                if ('1' == v && 1 == $jboxFrame.size() && 1 == $mainFrame.size()) {
+                    var rebateFee = $jboxFrame[0].contentWindow.submit();
+                    if (!rebateFee) {
+                        return false;
+                    }
+                    $.post("${ctx}/order/saveRebateFee", {
+                        'rebateFee': rebateFee,
+                        'orderID': orderID
+                    }, function (data) {
+                        if (true == data.success) {
+                            refresh(data.msg);
+                        } else {
+                            alertx(data.msg, 1000);
+                        }
+                    }, "JSON");//这里返回的类型有:json,html,xml,text
+                }
+                return true;
+            }, closed: function () {/* 窗口关闭后执行的函数 */
+            }
+        });
+    }
+
     //订单商品备注
     function remarks(orderID, shopOrderID) {
         top.$.jBox("iframe:${ctx}/order/cmOrderRemark/remarksView?orderID=" + orderID + "&shopOrderID=" + shopOrderID, {

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

@@ -525,7 +525,7 @@
             <td colspan="2">
                 <div id="rebateFee" style="display: ${empty order.rebateFlag||order.rebateFlag != 2?'none':''}">
                     <label>返佣服务费: </label>
-                    <input type="text" name="rebateFee" onkeyup="this.value=this.value.replace(/[^0-9\.]/g,'')"/>
+                    <input id="rebateFeeVal" type="text" name="rebateFee" onkeyup="this.value=this.value.replace(/[^0-9\.]/g,'')"/>
                 </div>
             </td>
         </tr>
@@ -852,6 +852,14 @@
                 if (onSubmitBefor() == false) {
                     return;
                 }
+                var rebateFlag = $("#rebateFlag").val()*1;
+                if(2===rebateFlag){
+                   var rebateFee = $("#rebateFeeVal").val();
+                   if(!rebateFee){
+                       alertx("请输入返佣服务费金额");
+                       return;
+                   }
+                }
                 top.$.jBox.confirm("请仔细确认订单是否为返佣订单后再提交订单", '提示', function (v, h, f) {
                     if (v == true) {
                         // 因为订单总额和应收订单金额都为0元,如果保存订单则状态直接为已付款!

+ 64 - 0
src/main/webapp/WEB-INF/views/modules/order/rebateFeeEdit.jsp

@@ -0,0 +1,64 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/WEB-INF/views/include/taglib.jsp" %>
+<html>
+<head>
+    <title>编辑经理折扣</title>
+    <meta name="decorator" content="default"/>
+    <script type="text/javascript">
+        $(document).ready(function () {
+            $("#inputForm").validate({
+                ignore: "",
+                submitHandler: function (form) {
+                    loading('正在提交,请稍等...');
+                    form.submit();
+                },
+                errorContainer: "#messageBox",
+                errorPlacement: function (error, element) {
+                    $("#messageBox").text("输入有误,请先更正。");
+                    if (element.is(":checkbox") || element.is(":radio") || element.parent().is(".input-append")) {
+                        error.appendTo(element.parent().parent());
+                    } else {
+                        error.insertAfter(element);
+                    }
+                }
+            });
+
+            // $("#rebateFee").blur(function () {
+            //     var _discountFeeVal = $(this).val();
+            //     var _balancePayFee = $('#balancePayFee').text();
+            //     var _orderTotalFeeVal = $('#orderTotalFee').text();
+            //     var New_payTotalFeeVal = _orderTotalFeeVal - _discountFeeVal - _balancePayFee;
+            //     $('#payTotalFee').text(New_payTotalFeeVal);
+            //     if (New_payTotalFeeVal <= 0) {
+            //         $('#isnumber').show();
+            //     } else {
+            //         $('#isnumber').hide();
+            //     }
+            // })
+        });
+
+        function submit() {
+            var rebateFee = $("#rebateFee").val();
+            return rebateFee;
+        }
+
+        function onlynum(obj) {
+            obj.value = obj.value.replace(/[^\.\d]/g, ""); //清除"数字 . "以外的字符
+        }
+    </script>
+</head>
+<body>
+<br>
+<form:form id="inputForm" modelAttribute="newOrder" action="${ctx}/order/rebateFee" method="post"
+           class="form-horizontal">
+    <sys:message content="${message}"/>
+
+    <div style="padding-top: 15px">
+        <span><label class="control-label">返佣服务费:</label></span>
+        <span><form:input path="rebateFee" htmlEscape="false" maxlength="20" class="input-medium"
+                          onkeyup="onlynum(this)" value="${order.rebateFee}"/></span>
+    </div>
+
+</form:form>
+</body>
+</html>

+ 20 - 18
src/main/webapp/WEB-INF/views/modules/order/secondProductOrderForm.jsp

@@ -48,6 +48,21 @@
     <script type="text/javascript">
         $(document).ready(function () {
             $("#name").focus();
+            $('#btnSubmit').click(function () {
+                if ($('.clauseId').is(':checked')) {
+                    $('.clauseId:checked').siblings('.clauseContent').attr("name", "clauseContent");
+                    $('.clauseId:checked').siblings('.clauseName').attr("name", "clauseName");
+                }
+                buttonSubmit();
+            })
+            //初始化添加按钮 隐藏商品添加入口
+            var val = $("#orderID").val();
+            if (val) {
+                $(".addSecondHandProduct").hide();
+            }
+        });
+
+        function buttonSubmit() {
             $("#inputForm").validate({
                 submitHandler: function (form) {
                     if (onSubmitBefor() == false) {
@@ -89,16 +104,7 @@
                     }
                 }
             });
-
-
-            // 初始化添加按钮
-            // 隐藏商品添加入口
-            var val = $("#orderID").val();
-            if (val) {
-                $(".addSecondHandProduct").hide();
-            }
-        });
-
+        }
 
         function getCurPurchaseProduct(productId) {
             var $tr = $("#product_" + productId);
@@ -795,14 +801,10 @@
             console.log("stages1");
         }
 
-        $('#btnSubmit').on('click', function () {
-            if ($('.clauseId').is(':checked')) {
-                $('.clauseId:checked').siblings('.clauseContent').attr("name", "clauseContent");
-                $('.clauseId:checked').siblings('.clauseName').attr("name", "clauseName");
-            }
-
-            $('#inputForm').submit();
-        })
+        // $('#btnSubmit').on('click', function () {
+        //
+        //     $('#inputForm').submit();
+        // })
     });
 
     //初始化余额抵扣

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

@@ -2254,7 +2254,7 @@ function updateRebateFlag() {
 
 function updateRebateFlags() {
     var rebateFlag = $("#rebateCheckBox").is(':checked');
-    if (1===rebateFlag) {
+    if (rebateFlag) {
         $("#rebateFlag").val(1);
         //选中返佣订单后不可用优惠券
         // $("#couponBox").find("input[name=clubCouponId]").prop('checked', 'checked');