浏览代码

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

# Conflicts:
#	src/main/resources/mappings/modules/product/ProductMapper.xml
Duan_xu 2 年之前
父节点
当前提交
d2421d58e8

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

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

+ 9 - 0
src/main/java/com/caimei/modules/order/entity/NewOrder.java

@@ -110,6 +110,7 @@ public class NewOrder extends DataEntity<NewOrder> {
     private String spName;
     private Integer serviceProviderId;  //协销Id
     private Integer settleStatus;    //结算状态   1未结算2部分结算3已结算
+    private Double settleAmount;   // 已结算金额
 
     private String productName;     //商品名称(根据商品名称筛选订单)
     private List<NewOrderProduct> orderProduct;// 订单内的商品集合
@@ -158,6 +159,14 @@ public class NewOrder extends DataEntity<NewOrder> {
     private Integer receiveCouponId;
     private CmHeheCouponOrderRecord heheCouponRecord;   //优惠券信息
 
+    public Double getSettleAmount() {
+        return settleAmount;
+    }
+
+    public void setSettleAmount(Double settleAmount) {
+        this.settleAmount = settleAmount;
+    }
+
     public Integer getSettleRecordNum() {
         return settleRecordNum;
     }

+ 7 - 8
src/main/java/com/caimei/modules/order/service/CmReturnedPurchaseService.java

@@ -126,9 +126,9 @@ public class CmReturnedPurchaseService extends CrudService<CmReturnedPurchaseDao
             model.addAttribute("errorMsg", "待确认,待收待发订单 不能申请退款");
             return "待确认,待收待发订单 不能申请退款";
         }
-        Integer changeFlag=0;
-        if("2".equals(cmReturnedPurchase.getReturnedWay())){
-            changeFlag=1;
+        Integer changeFlag = 0;
+        if ("2".equals(cmReturnedPurchase.getReturnedWay())) {
+            changeFlag = 1;
         }
         cmReturnedPurchase.setReturnedWay("1");
         if (NewOrderStatus.isNotPay(newOrder.getStatus())) {
@@ -234,7 +234,7 @@ public class CmReturnedPurchaseService extends CrudService<CmReturnedPurchaseDao
                 }
             }
         }
-        if (1 == cmReturnedPurchase.getRefundType() && 0==changeFlag) {
+        if (1 == cmReturnedPurchase.getRefundType() && 0 == changeFlag) {
             if (newOrder.getPromotionFullReduction() != null) {
                 //减去促销满减金额
                 returnedPurchaseFee = returnedPurchaseFee - newOrder.getPromotionFullReduction();
@@ -570,7 +570,7 @@ public class CmReturnedPurchaseService extends CrudService<CmReturnedPurchaseDao
             }
             newOrderService.update(newOrder);
             //判断是否选择退回余额
-            if ((returnedPurchase.getReturnedWay().equals("1") && returnedPurchase.getRefundBalanceFee() > 0d) || 1 == newOrder.getRechargeGoods() || 2 == newOrder.getRechargeGoods()) {
+            if ((StringUtils.isNotBlank(returnedPurchase.getReturnedWay())&&"1".equals(returnedPurchase.getReturnedWay()) && returnedPurchase.getRefundBalanceFee() > 0d) || (null!=newOrder.getRechargeGoods()&&(1 == newOrder.getRechargeGoods() || 2 == newOrder.getRechargeGoods()))) {
                 Double userMoney = user.getUserMoney();
                 Double ableUserMoney = user.getAbleUserMoney();
                 Double refundBalanceFee = returnedPurchase.getRefundBalanceFee();
@@ -579,7 +579,6 @@ public class CmReturnedPurchaseService extends CrudService<CmReturnedPurchaseDao
                 if (ableUserMoney == null) ableUserMoney = 0d;
                 if (refundBalanceFee == null) refundBalanceFee = 0d;
                 user.setUserID(newOrder.getUserID());
-                logger.info("");
                 //添加余额收支记录
                 CmUserBalanceRecord cmUserBalanceRecord = new CmUserBalanceRecord();
                 cmUserBalanceRecord.setUserId(newOrder.getUserID());
@@ -592,7 +591,7 @@ public class CmReturnedPurchaseService extends CrudService<CmReturnedPurchaseDao
                 cmUserBalanceRecord.setReturnedId(Integer.parseInt(returnedPurchase.getId()));
                 cmUserBalanceRecord.setDelFlag("0");
 
-                if (1 == newOrder.getRechargeGoods() || 2 == newOrder.getRechargeGoods()) {
+                if (null != newOrder.getRechargeGoods() && (1 == newOrder.getRechargeGoods() || 2 == newOrder.getRechargeGoods())) {
                     user.setUserMoney(userMoney - refundFee);
                     cmUserBalanceRecord.setAmount(String.valueOf(refundFee));
                     cmUserBalanceRecord.setType("2");
@@ -612,7 +611,7 @@ public class CmReturnedPurchaseService extends CrudService<CmReturnedPurchaseDao
             updateShopOrderAmount(newOrder.getOrderID());
 
             //判断是否有线上退款
-            if (returnedPurchase.getReturnedWay().equals("1") && returnedPurchase.getRefundOnlineFee() > 0) {
+            if ("1".equals(returnedPurchase.getReturnedWay()) && returnedPurchase.getRefundOnlineFee() > 0) {
                 List<Integer> shopOrderIds = cmReturnedPurchaseDao.getReturnShopOrder(returnedPurchase.getId());
                 if (null == shopOrderIds || 0 == shopOrderIds.size()) {
                     throw new Exception("退款子订单信息错误!");

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

@@ -141,6 +141,7 @@ public class NewOrderService extends CrudService<NewOrderDao, NewOrder> {
             NewOrder dbOrder = newOrderDao.findByOrderID(newOrder.getOrderID());
             boolean flag = false;// 是否新增标志
             boolean onlinePay = true;   // 能否线上支付
+            String dbOnlinePayFlag = newOrder.getOnlinePayFlag();
             if (newOrder.getOrderID() == null) {
                 flag = true;
                 newOrder.setOrderNo(OrderUtil.geneAdminOrderNo());
@@ -168,7 +169,7 @@ public class NewOrderService extends CrudService<NewOrderDao, NewOrder> {
             if (newOrder.getHasActProduct() == null) {
                 newOrder.setHasActProduct("0");
             }
-            if (newOrder.getOnlinePayFlag() == null) {
+            if (StringUtils.isEmpty(newOrder.getOnlinePayFlag())) {
                 newOrder.setOnlinePayFlag("0");
             }
             if (!StringUtils.equals("1", newOrder.getConfirmFlag())) {
@@ -269,6 +270,9 @@ public class NewOrderService extends CrudService<NewOrderDao, NewOrder> {
                 newOrderDao.insert(newOrder);
             } else {
                 // 修改
+                if ("0".equals(newOrder.getOnlinePayFlag())) {
+                    logger.info("【修改订单可线上支付】>>>>>>>>>>>>>>>>>原onlinePayFlag:" + dbOnlinePayFlag + ",orderId:" + newOrder.getOrderID() + ",行数:" + 274);
+                }
                 newOrderDao.update(newOrder);
             }
             //优惠券相关
@@ -864,6 +868,9 @@ public class NewOrderService extends CrudService<NewOrderDao, NewOrder> {
                 }
             }
             newOrder.setShopOrderIDs(shopOrderIDs);
+            if ("0".equals(newOrder.getOnlinePayFlag())) {
+                logger.info("【修改订单可线上支付】>>>>>>>>>>>>>>>>>原onlinePayFlag:" + dbOnlinePayFlag + ",orderId:" + newOrder.getOrderID() + ",行数:" + 872);
+            }
             newOrderDao.update(newOrder);
 
             //下单短信推送

+ 3 - 4
src/main/java/com/caimei/modules/order/service/NewShopOrderService.java

@@ -451,6 +451,9 @@ public class NewShopOrderService extends CrudService<NewShopOrderDao, NewShopOrd
             orderIds = cmDiscernReceiptDao.findRebateOrderID(orderList.stream().map(NewOrder::getOrderID).collect(Collectors.toList()));
         }
         for (NewOrder order : orderList) {
+            if("0".equals(order.getOnlinePayFlag())){
+                order.setSettleAmount(newOrderDao.findSettleAmount(order.getOrderID()));
+            }
             if (orderIds != null && orderIds.contains(order.getOrderID())) {
                 order.setRebateOrder("1");
                 order.setReceiptStatus("4");
@@ -527,10 +530,6 @@ public class NewShopOrderService extends CrudService<NewShopOrderDao, NewShopOrd
                 order.setClubName(name);
             }
         }
-        // 1未结算2部分结算3已结算
-        if(null!=newOrder.getSettleStatus()&&1==newOrder.getSettleStatus()){
-//            orderList.stream().filter(o->o.getNewShopOrders().stream().map(NewShopOrder::getSettleStatus).collect(Collectors.toList()).contains(2,3))
-        }
         return page;
     }
 

+ 4 - 3
src/main/java/com/caimei/modules/order/web/CmPayShopController.java

@@ -441,11 +441,12 @@ public class CmPayShopController extends BaseController {
         shopOrder.setShouldPayShopAmount(shouldPayShopAmount);
         newShopOrderService.modifyPayShopAmount(shopOrder, orderProducts);
 
-        if(shopOrder.getShopReceiptStatus()==1){
+        /*if(shopOrder.getShopReceiptStatus()==1){
             System.out.println(shopOrder.getShopReceiptStatus());
             logger.info("未付款子订单进了成本修改"+shopOrder.getShouldPayShopAmount()+"-----"+shopOrder.getShopOtherFee());
             double mum= newShopOrder.getProductAmount();
-            mum-= shopOrder.getShopOtherFee()+shopOrder.getShouldPayShopAmount();   //因为成本上升,子订单佣金下降。当成本上升到子订单佣金不大于线上支付最大手续费时不能进行线上支付所以减了第三方
+            mum-= shopOrder.getShopOtherFee()+shopOrder.getShouldPayShopAmount();
+            //因为成本上升,子订单佣金下降。当成本上升到子订单佣金不大于线上支付最大手续费时不能进行线上支付所以减了第三方
             System.out.println(">>>>>>>>子订单佣金"+mum+"----"+shopOrder.getBrokerage());
             double fee=0.0;
             if(shopOrder.getShopOtherFee()>=1000.01){
@@ -463,7 +464,7 @@ public class CmPayShopController extends BaseController {
             if(mum>fee){
                 newOrderDao.updateOnlinePayFlag(0,shopOrder.getOrderID());
             }
-        }
+        }*/
 
         return "redirect:" + Global.getAdminPath() + "/shopOrder/payOrderList";
     }

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

@@ -11,7 +11,7 @@
 		a.returnedWay AS "returnedWay",
 		a.payType AS "payType",
 		a.operatingOrderStatus AS "operatingOrderStatus",
-		a.returnedPurchaseFee AS "returnedPurchaseFee",
+		ifnull(a.returnedPurchaseFee,0) AS "returnedPurchaseFee",
 		a.refundFee AS "refundFee",
 		a.image1 AS "image1",
 		a.image2 AS "image2",
@@ -28,7 +28,7 @@
 		a.returnTime AS "returnTime",
 		a.applicationUserID AS "applicationUserID",
 		a.reviewUserID AS "reviewUserID",
-		a.refundBalanceFee AS "refundBalanceFee",
+		ifnull(a.refundBalanceFee,0) AS "refundBalanceFee",
 		a.refundOnlineFee AS "refundOnlineFee",
 		a.refundOfflineFee AS "refundOfflineFee",
 		a.bankAccountName AS "bankAccountName",

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

@@ -1368,6 +1368,13 @@
         where cso.orderID=#{orderID}
         and settleType = 2
     </select>
+    <select id="findSettleAmount" resultType="java.lang.Double">
+        SELECT ifnull(SUM(settleAmount),0)
+        FROM cm_settle_record csr
+        LEFT JOIN cm_shop_order cso ON csr.shopOrderId = cso.shopOrderId
+        WHERE settleType=1
+          AND cso.orderId=#{orderID}
+    </select>
     <insert id="insertSplitAccount">
         INSERT INTO cm_split_account (orderId, productId, orderProductId, shopId, couponRecordId, vipRecordId,
                                       authVipRecordId, type, subUserNo, splitAccount,

文件差异内容过多而无法显示
+ 717 - 578
src/main/resources/mappings/modules/product/ProductMapper.xml


+ 2 - 2
src/main/webapp/WEB-INF/views/modules/bulkpurchase/orderConfirmReturnRecord.jsp

@@ -356,10 +356,10 @@
                 <font>无退款</font>
             </c:if>
             <c:if test="${order.refundType == 1}">
-                <font color="#ff8c00">部分退款</font>
+                <font>部分退款</font>
             </c:if>
             <c:if test="${order.refundType == 2}">
-                <font color="green">已退款</font>
+                <font>已退款</font>
             </c:if></td>
         </td>
     </tr>

+ 3 - 3
src/main/webapp/WEB-INF/views/modules/bulkpurchase/orderReturnRecord.jsp

@@ -518,13 +518,13 @@
                 <td>
                     退款状态:
                     <c:if test="${empty order.refundType}">
-                        <font color="red">无退款</font>
+                        <font>无退款</font>
                     </c:if>
                     <c:if test="${order.refundType == 1}">
-                        <font color="#ff8c00">部分退款</font>
+                        <font>部分退款</font>
                     </c:if>
                     <c:if test="${order.refundType == 2}">
-                        <font color="green">已退款</font>
+                        <font>已退款</font>
                     </c:if></td>
                 </td>
             </tr>

+ 2 - 2
src/main/webapp/WEB-INF/views/modules/bulkpurchase/orderReviewReturnRecord.jsp

@@ -419,10 +419,10 @@
                 <font>无退款</font>
             </c:if>
             <c:if test="${order.refundType == 1}">
-                <font color="#ff8c00">部分退款</font>
+                <font>部分退款</font>
             </c:if>
             <c:if test="${order.refundType == 2}">
-                <font color="green">已退款</font>
+                <font>已退款</font>
             </c:if></td>
         </td>
     </tr>

+ 27 - 8
src/main/webapp/WEB-INF/views/modules/order/checkPaymentOrder.jsp

@@ -420,9 +420,12 @@
                     <th>付款状态</th>
                     <th>应付金额</th>
                     <th>已付金额</th>
+                    <th>结算状态</th>
+                    <th>应结金额</th>
+                    <th>已结金额</th>
                     <th>退款状态</th>
                     <th>退款金额</th>
-                    <th colspan="2">机构</th>
+                    <th>机构</th>
                     <th>优惠券</th>
                     <th>经理折扣</th>
                     <th>机构运费</th>
@@ -495,6 +498,22 @@
                             <fmt:formatNumber value="${s.paid}" type="number" pattern="#,##0.00"/>
                         </c:if>
                     </td>
+                    <td>
+                        <c:if test="${s.onlinePayFlag eq 0}">
+                            <c:if test="${s.settleAmount < s.shouldPayShopAmount && s.settleAmount > 0}"><font color="#ff8c00">部分结算</font></c:if>
+                            <c:if test="${s.settleAmount eq s.shouldPayShopAmount && s.settleAmount > 0}"><font color="green">已结算</font></c:if>
+                            <c:if test="${s.settleAmount eq 0}"><font color="red">未结算</font></c:if>
+                        </c:if>
+                        <c:if test="${s.onlinePayFlag eq 1}">---</c:if>
+                    </td>
+                    <td>
+                        <c:if test="${s.onlinePayFlag eq 0}"><fmt:formatNumber value="${s.shouldPayShopAmount}" type="number" pattern="#,##0.00"/></c:if>
+                        <c:if test="${s.onlinePayFlag eq 1}">---</c:if>
+                    </td>
+                    <td>
+                        <c:if test="${s.onlinePayFlag eq 0}"><fmt:formatNumber value="${s.settleAmount}" type="number" pattern="#,##0.00"/></c:if>
+                        <c:if test="${s.onlinePayFlag eq 1}">---</c:if>
+                    </td>
                     <td>
                         <c:if test="${s.refundType == 1}">
                             <font>部分退款</font>
@@ -507,7 +526,7 @@
                         </c:if>
                     </td>
                     <td><fmt:formatNumber value="${s.returnValue}" type="number" pattern="#,##0.00"/></td>
-                    <td colspan="2">
+                    <td>
                         <c:if test="${s.organizeID == '1'}">
                             <span class="org-note">星范</span>
                         </c:if>
@@ -553,8 +572,8 @@
                         <th colspan="2">应付供应商</th>
                         <th colspan="3">应付税费</th>
                         <th>供应商运费</th>
-                        <th>付第三方</th>
-                        <th>成本类型</th>
+                        <th colspan="2">付第三方</th>
+                        <th colspan="2">成本类型</th>
                     </tr>
                     <tr class="t2">
                         <td colspan="3">${so.shopOrderNo}(${so.shopOrderID})</td>
@@ -586,8 +605,8 @@
                                                           pattern="#,##0.00"/></td>
                         <td class="product-freight"><fmt:formatNumber value="${so.shopPostFee}" type="number"
                                                                       pattern="#,##0.00"/></td>
-                        <td><fmt:formatNumber value="${so.shopOtherFee}" type="number" pattern="#,##0.00"/></td>
-                        <td><c:if test="${empty so.costType || so.costType == '1'}">固定成本</c:if><c:if
+                        <td colspan="2"><fmt:formatNumber value="${so.shopOtherFee}" type="number" pattern="#,##0.00"/></td>
+                        <td colspan="2"><c:if test="${empty so.costType || so.costType == '1'}">固定成本</c:if><c:if
                                 test="${so.costType == '2'}">比例成本</c:if></td>
                     </tr>
                     <tr>
@@ -600,7 +619,7 @@
                         <th colspan="2">总价</th>
                         <th colspan="3">供应商税率 / 单税费 / 总税费</th>
                         <th>成本(单)</th>
-                        <th colspan="2">成本(总)</th>
+                        <th colspan="4">成本(总)</th>
                     </tr>
                     <c:forEach items="${so.newOrderProducts}" var="p" varStatus="pIndex">
                         <tr class="pay-product-item">
@@ -651,7 +670,7 @@
                                 </c:otherwise>
                             </c:choose></td>
                             <td><fmt:formatNumber value="${p.costPrice}" type="number" pattern="#,##0.00"/></td>
-                            <td colspan="2"><fmt:formatNumber
+                            <td colspan="4"><fmt:formatNumber
                                     value="${p.costPrice * (p.num + p.presentNum - p.returnedNum)}" type="number"
                                     pattern="#,##0.00"/></td>
                         </tr>

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

@@ -725,7 +725,7 @@
                         </c:if>
                     </c:if>
                     <%--包含订单充值商品就不显示--%>
-                    <c:if test="${empty order.rechargeGoods}">
+                    <c:if test="${order.rechargeGoods ne 1 and order.rechargeGoods ne 2}">
                         <c:if test="${order.status ne 0 && order.status ne 11 && order.status ne 21 && order.status ne 6}">
                             <a href="${ctx}/order/logisticsDetails?orderID=${order.orderID}">发货记录</a>
                         </c:if>

部分文件因为文件数量过多而无法显示