chao 3 лет назад
Родитель
Сommit
6030c9385d

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

@@ -89,4 +89,6 @@ public interface CmDiscernReceiptDao extends CrudDao<CmDiscernReceipt> {
     Integer getVipUserId(Integer vipRecordId);
 
     String getUserNameByUserId(Integer userId);
+
+    ReceiptVipInfoVo getReceiptVipInfo(String receiptID);
 }

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

@@ -29,8 +29,17 @@ public class ReceiptDetailVo {
     private String noOrderReason; //确认原因    非订单款项的确认原因
     private String confirmTime; //确认时间    非订单款项的确认时间
     private List<ReceiptOrderInfoVo> orderInfos; //一个收款可能会关联了一个或多个订单
+    private ReceiptVipInfoVo vipInfo;// 一个收款关联一个会员记录
     private boolean receiptOrderFlag;// 判断订单中抹平的订单是否是和多个订单一起支付的,
 
+    public ReceiptVipInfoVo getVipInfo() {
+        return vipInfo;
+    }
+
+    public void setVipInfo(ReceiptVipInfoVo vipInfo) {
+        this.vipInfo = vipInfo;
+    }
+
     public String getRebateRemarks() {
         return rebateRemarks;
     }

+ 1 - 1
src/main/java/com/caimei/modules/order/entity/ReceiptOrderInfoVo.java

@@ -16,7 +16,7 @@ public class ReceiptOrderInfoVo {
     private String receiptStatus;//(收款买家)收款状态:1待收款、2部分收款、3已收款
     private String orderType;//订单类型 协销订单 0 普通订单 1
     private String orderTime;//下单时间
-    private String relationType;        // 关系类型:1返佣订单(返佣款)、2非返佣订单(订单款或者非订单款)
+    private String relationType;        // 关系类型:1返佣订单(返佣款或供应商退款)、2非返佣订单(订单款或者非订单款)、3超级会员款
     private Integer userID;     //订单用户id
 
     //----------------返佣款项   是根据子订单再去关联的主订单

+ 120 - 0
src/main/java/com/caimei/modules/order/entity/ReceiptVipInfoVo.java

@@ -0,0 +1,120 @@
+package com.caimei.modules.order.entity;
+
+import java.util.Date;
+
+/**
+ * Description
+ *
+ * @author : Charles
+ * @date : 2021/10/13
+ */
+public class ReceiptVipInfoVo {
+    /**
+     * 记录Id
+     */
+    private Integer id;
+    /**
+     * 用户Id
+     */
+    private Integer userId;
+    /**
+     * Vip套餐Id
+     */
+    private Integer packageId;
+    /**
+     * 开始时间
+     */
+    private Date beginTime;
+    /**
+     * 结束时间
+     */
+    private Date endTime;
+    /**
+     * 套餐时长(月)
+     */
+    private Integer duration;
+    /**
+     * 支付金额
+     */
+    private Double price;
+    /**
+     * 支付时间
+     */
+    private Date payTime;
+    /**
+     * 商户唯一订单请求号(订单编号#随机时间戳)
+     */
+    private String orderRequestNo;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Integer userId) {
+        this.userId = userId;
+    }
+
+    public Integer getPackageId() {
+        return packageId;
+    }
+
+    public void setPackageId(Integer packageId) {
+        this.packageId = packageId;
+    }
+
+    public Date getBeginTime() {
+        return beginTime;
+    }
+
+    public void setBeginTime(Date beginTime) {
+        this.beginTime = beginTime;
+    }
+
+    public Date getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(Date endTime) {
+        this.endTime = endTime;
+    }
+
+    public Integer getDuration() {
+        return duration;
+    }
+
+    public void setDuration(Integer duration) {
+        this.duration = duration;
+    }
+
+    public Double getPrice() {
+        return price;
+    }
+
+    public void setPrice(Double price) {
+        this.price = price;
+    }
+
+    public Date getPayTime() {
+        return payTime;
+    }
+
+    public void setPayTime(Date payTime) {
+        this.payTime = payTime;
+    }
+
+    public String getOrderRequestNo() {
+        return orderRequestNo;
+    }
+
+    public void setOrderRequestNo(String orderRequestNo) {
+        this.orderRequestNo = orderRequestNo;
+    }
+}

+ 8 - 2
src/main/java/com/caimei/modules/order/service/CmDiscernReceiptService.java

@@ -90,10 +90,11 @@ public class CmDiscernReceiptService extends CrudService<CmDiscernReceiptDao, Cm
                     } else {
                         type += ("<br>" + (map.get("orderType").toString().equals("0") ? "协销" : "自主"));
                     }
-                    if ("".equals(no))
+                    if ("".equals(no)) {
                         no += "<a href='/a/order/detail?id=" + map.get("orderID") + "'>" + map.get("orderNo") + "</a>";
-                    else
+                    } else {
                         no += ("<br><a href='/a/order/detail?id=" + map.get("orderID") + "'>" + map.get("orderNo")) + "</a>";
+                    }
                 }
             }
             if ("6".equals(bean.getReceiptType())){
@@ -172,6 +173,11 @@ public class CmDiscernReceiptService extends CrudService<CmDiscernReceiptDao, Cm
                 orderInfos.add(roi);
             }
         }
+        if ("6".equals(vo.getReceiptType())) {
+            // 3超级会员款
+            ReceiptVipInfoVo receiptVipInfo = cmDiscernReceiptDao.getReceiptVipInfo(vo.getReceiptID());
+            vo.setVipInfo(receiptVipInfo);
+        }
         vo.setOrderInfos(orderInfos);
         return vo;
     }

+ 3 - 3
src/main/resources/config/dev/caimei.properties

@@ -16,9 +16,9 @@ jdbc.url=jdbc:mysql://192.168.2.100:3306/caimei?useUnicode=true&characterEncodin
 jdbc.username=developer
 jdbc.password=05bZ/OxTB:X+yd%1
 
-#jdbc.url=jdbc:mysql://119.29.0.46:3306/caimei?characterEncoding=UTF8&serverTimezone=Asia/Shanghai
-#jdbc.username=general
-#jdbc.password=6#xsI%b4o@5c3RoE
+#jdbc.url=jdbc:mysql://120.79.25.27:3306/caimei?characterEncoding=UTF8&serverTimezone=Asia/Shanghai
+#jdbc.username=developer
+#jdbc.password=J5p3tgOVazNl4ydf
 
 #jdbc.url=jdbc:mysql://119.29.0.46:3306/caimei?useUnicode=true&characterEncoding=utf-8
 #jdbc.username=root

+ 17 - 0
src/main/resources/mappings/modules/order/CmDiscernReceiptMapper.xml

@@ -896,4 +896,21 @@
     <select id="getUserNameByUserId" resultType="java.lang.String">
         select userName from user where userID = #{userId} LIMIT 1
     </select>
+    <select id="getReceiptVipInfo" resultType="com.caimei.modules.order.entity.ReceiptVipInfoVo">
+        select svipr.id,
+               svipr.userId,
+               svipr.packageId,
+               svipr.beginTime,
+               svipr.endTime,
+               svipr.price,
+               svipr.payTime,
+               cror.orderRequestNo,
+               cror.vipRecordId,
+               svipp.duration
+        from cm_svip_history svipr
+        left join cm_receipt_order_relation cror on svipr.id = cror.vipRecordId
+        left join cm_svip_package svipp on svipp.id = svipr.packageId
+        where cror.receiptID=#{receiptID}
+        LIMIT 1
+    </select>
 </mapper>

+ 85 - 42
src/main/webapp/WEB-INF/views/modules/order/cmDiscernReceiptForm.jsp

@@ -112,7 +112,17 @@
         .receipt-msg-wrapper {
             display: block;
         }
-        .weishaIcon {background:darkorange;color:white;margin:0 0px;padding:0 3px;font-style:normal;font-size: 12px; display:inline-block;border-radius:2px}
+
+        .weishaIcon {
+            background: darkorange;
+            color: white;
+            margin: 0 0px;
+            padding: 0 3px;
+            font-style: normal;
+            font-size: 12px;
+            display: inline-block;
+            border-radius: 2px
+        }
     </style>
     <script type="text/javascript">
         $(document).ready(function () {
@@ -172,21 +182,21 @@
             <span><label>收款时间:</label>${vo.receiptDate}</span>
             <span><label>收款状态:</label>
                 <c:if test="${vo.payWay ne 3}">
-						<c:if test="${vo.receiptStatus == 1}">
-                            待确认
-                        </c:if>
-						<c:if test="${vo.receiptStatus == 2}">
-                            已确认
-                        </c:if>
-						<c:if test="${vo.receiptStatus == 3}">
-                            审核通过
-                        </c:if>
-						<c:if test="${vo.receiptStatus == 4}">
-                            审核未通过
-                        </c:if>
-						<c:if test="${vo.receiptStatus == 5}">
-                            <font color="red">收款撤销</font>
-                        </c:if>
+                    <c:if test="${vo.receiptStatus == 1}">
+                        待确认
+                    </c:if>
+                    <c:if test="${vo.receiptStatus == 2}">
+                        已确认
+                    </c:if>
+                    <c:if test="${vo.receiptStatus == 3}">
+                        审核通过
+                    </c:if>
+                    <c:if test="${vo.receiptStatus == 4}">
+                        审核未通过
+                    </c:if>
+                    <c:if test="${vo.receiptStatus == 5}">
+                        <font color="red">收款撤销</font>
+                    </c:if>
                 </c:if>
                 <c:if test="${vo.payWay eq 3}">
                     ----------
@@ -209,7 +219,7 @@
             </div>
         </c:if>
     </div>
-    <c:if test="${vo.receiptType != 2}">
+    <c:if test="${vo.receiptType != 2 and vo.receiptType != 6}">
     <h5>关联订单</h5>
     <div class="receipt-order-form">
         <c:forEach items="${vo.orderInfos}" var="orderInfo">
@@ -218,12 +228,16 @@
                     <div class="receipt-suborder-title">
                         <span class="font-blue"><label>子订单编号:</label><a
                                 href="${ctx}/order/detail?id=${orderInfo.orderID}">${orderInfo.shopOrderNo}(${orderInfo.shopOrderID})</a></span>
-                        <span><label>订单金额:</label>¥<fmt:formatNumber value="${orderInfo.shopOrderAmount}" pattern="#0.00"/></span>
+                        <span><label>订单金额:</label>¥<fmt:formatNumber value="${orderInfo.shopOrderAmount}"
+                                                                     pattern="#0.00"/></span>
                         <span><label>供应商:</label>${orderInfo.shopName}</span>
                         <c:if test="${vo.receiptType == 5}">
-                            <span><label>应付金额:</label>¥<fmt:formatNumber value="${orderInfo.shouldPayShopAmount}" pattern="#0.00"/></span>
-                            <span><label>已付金额:</label>¥<fmt:formatNumber value="${orderInfo.payedShopAmount}" pattern="#0.00"/></span>
-                            <span><label>已退金额:</label>¥<fmt:formatNumber value="${orderInfo.refundsAmount}" pattern="#0.00"/></span>
+                            <span><label>应付金额:</label>¥<fmt:formatNumber value="${orderInfo.shouldPayShopAmount}"
+                                                                         pattern="#0.00"/></span>
+                            <span><label>已付金额:</label>¥<fmt:formatNumber value="${orderInfo.payedShopAmount}"
+                                                                         pattern="#0.00"/></span>
+                            <span><label>已退金额:</label>¥<fmt:formatNumber value="${orderInfo.refundsAmount}"
+                                                                         pattern="#0.00"/></span>
                         </c:if>
                     </div>
                 </c:if>
@@ -238,7 +252,8 @@
                             value="${empty orderInfo.receiptAmount ? 0 : orderInfo.receiptAmount}"
                             pattern="#0.00"/>
                         <span>
-                                    <c:forEach items="${orderInfo.receiptRecordVo}" var="receiptRecord" varStatus="index">
+                                    <c:forEach items="${orderInfo.receiptRecordVo}" var="receiptRecord"
+                                               varStatus="index">
                                         <c:if test="${receiptRecord.confirmType eq 1 || receiptRecord.confirmType eq  2 || receiptRecord.confirmType eq 3}">
                                             <label>抹平明细:</label>
                                             <c:if test="${receiptRecord.confirmType eq 1}">
@@ -247,7 +262,9 @@
                                                 </c:if>
                                                 <c:if test="${!vo.receiptOrderFlag}">
                                                     <font color="red">(少收抹平:
-                                                    ¥<fmt:formatNumber value="${orderInfo.payableAmount - (empty receiptRecord.orderReceivedAmount ? 0 : receiptRecord.orderReceivedAmount)}" pattern="#0.00"/>元)
+                                                    ¥<fmt:formatNumber
+                                                                value="${orderInfo.payableAmount - (empty receiptRecord.orderReceivedAmount ? 0 : receiptRecord.orderReceivedAmount)}"
+                                                                pattern="#0.00"/>元)
                                                     </font>
                                                 </c:if>
                                             </c:if>
@@ -257,7 +274,9 @@
                                                 </c:if>
                                                 <c:if test="${!vo.receiptOrderFlag}">
                                                     <font color="red">(多收抹平:
-                                                    ¥<fmt:formatNumber value="${(empty receiptRecord.orderReceivedAmount ? 0 : receiptRecord.orderReceivedAmount) - orderInfo.payableAmount}" pattern="#0.00"/>元)
+                                                    ¥<fmt:formatNumber
+                                                                value="${(empty receiptRecord.orderReceivedAmount ? 0 : receiptRecord.orderReceivedAmount) - orderInfo.payableAmount}"
+                                                                pattern="#0.00"/>元)
                                                     </font>
                                                 </c:if>
                                             </c:if>
@@ -267,7 +286,9 @@
                                                 </c:if>
                                                 <c:if test="${!vo.receiptOrderFlag}">
                                                     <font color="red">(多收退余额${receiptRecord.associationType eq 2 ? "(自动)" : ""}:
-                                                    ¥<fmt:formatNumber value="${(empty receiptRecord.returnBalanceAmount ? 0 : receiptRecord.returnBalanceAmount)}" pattern="#0.00"/>元)
+                                                    ¥<fmt:formatNumber
+                                                                value="${(empty receiptRecord.returnBalanceAmount ? 0 : receiptRecord.returnBalanceAmount)}"
+                                                                pattern="#0.00"/>元)
                                                     </font>
                                                 </c:if>
                                             </c:if>
@@ -289,8 +310,8 @@
                                     <c:if test="${orderInfo.receiptStatus == 2}">部分收款</c:if>
                                     <c:if test="${orderInfo.receiptStatus == 3}">已收款</c:if>
                                 </span>
-                            </div>
-                            <div class="receipt-order-row3">
+                </div>
+                <div class="receipt-order-row3">
                                 <span><label>订单类型:</label><c:if test="${orderInfo.orderType == 0}">协销订单</c:if>
                                         <c:if test="${orderInfo.orderType == 1}">自主订单</c:if></span>
                     <span><label>下单日期:</label>${orderInfo.orderTime}</span>
@@ -326,39 +347,61 @@
                             </c:if>
                             <c:if test="${receiptRecord.payWay == 3}">
                                 <%--余额抵扣--%>
-                                <span><a href="${ctx}/user/cmUserBalanceRecord/userBalanceRecord?userId=${orderInfo.userID}" style="text-decoration: underline">${fns:getPayTypeStr(receiptRecord.payType)}</a></span>
-                                <span><a href="${ctx}/user/cmUserBalanceRecord/userBalanceRecord?userId=${orderInfo.userID}" style="text-decoration: underline">${receiptRecord.receiptAmount}</a></span>
+                                <span><a
+                                        href="${ctx}/user/cmUserBalanceRecord/userBalanceRecord?userId=${orderInfo.userID}"
+                                        style="text-decoration: underline">${fns:getPayTypeStr(receiptRecord.payType)}</a></span>
+                                <span><a
+                                        href="${ctx}/user/cmUserBalanceRecord/userBalanceRecord?userId=${orderInfo.userID}"
+                                        style="text-decoration: underline">${receiptRecord.receiptAmount}</a></span>
                             </c:if>
                             <span>
     <%--                        一款多单的时候直接显示再订单上即可,无需收款记录显示--%>
                                 <c:if test="${!vo.receiptOrderFlag}">
-                                        <c:if test="${receiptRecord.confirmType eq 1 || receiptRecord.confirmType eq  2 || receiptRecord.confirmType eq 3}">
-                                            <label>抹平明细:</label>
-                                            <c:if test="${receiptRecord.confirmType eq 1}">
+                                    <c:if test="${receiptRecord.confirmType eq 1 || receiptRecord.confirmType eq  2 || receiptRecord.confirmType eq 3}">
+                                        <label>抹平明细:</label>
+                                        <c:if test="${receiptRecord.confirmType eq 1}">
                                                 <font color="red">(少收抹平:
-                                                    ¥<fmt:formatNumber value="${orderInfo.payableAmount - (empty receiptRecord.orderReceivedAmount ? 0 : receiptRecord.orderReceivedAmount)}" pattern="#0.00"/>元)
+                                                    ¥<fmt:formatNumber
+                                                            value="${orderInfo.payableAmount - (empty receiptRecord.orderReceivedAmount ? 0 : receiptRecord.orderReceivedAmount)}"
+                                                            pattern="#0.00"/>元)
                                                 </font>
-                                            </c:if>
-                                            <c:if test="${receiptRecord.confirmType eq 2}">
+                                        </c:if>
+                                        <c:if test="${receiptRecord.confirmType eq 2}">
                                                 <font color="red">(多收抹平:
-                                                    ¥<fmt:formatNumber value="${(empty receiptRecord.orderReceivedAmount ? 0 : receiptRecord.orderReceivedAmount) - orderInfo.payableAmount}" pattern="#0.00"/>元)
+                                                    ¥<fmt:formatNumber
+                                                            value="${(empty receiptRecord.orderReceivedAmount ? 0 : receiptRecord.orderReceivedAmount) - orderInfo.payableAmount}"
+                                                            pattern="#0.00"/>元)
                                                 </font>
-                                            </c:if>
-                                            <c:if test="${receiptRecord.confirmType eq 3}">
+                                        </c:if>
+                                        <c:if test="${receiptRecord.confirmType eq 3}">
                                                 <font color="red">(多收退余额${receiptRecord.associationType eq 2 ? "(自动)" : ""}:
-                                                    ¥<fmt:formatNumber value="${(empty receiptRecord.returnBalanceAmount ? 0 : receiptRecord.returnBalanceAmount)}" pattern="#0.00"/>元)
+                                                    ¥<fmt:formatNumber
+                                                            value="${(empty receiptRecord.returnBalanceAmount ? 0 : receiptRecord.returnBalanceAmount)}"
+                                                            pattern="#0.00"/>元)
                                                 </font>
-                                            </c:if>
                                         </c:if>
+                                    </c:if>
                                 </c:if>
                                 </span>
                         </div>
                     </c:forEach>
                 </div>
-            </div><br>
+            </div>
+            <br>
         </c:forEach>
-        </c:if>
     </div>
+    </c:if>
+    <c:if test="${vo.receiptType == 6}">
+        <h5>关联超级会员记录</h5>
+        <div class="receipt-order-form">
+            <div>
+            <c:if test="${not empty vo.vipInfo}">
+                <span>会员套餐:${vo.vipInfo.duration}个月</span>
+                <span>交易号:${vo.vipInfo.orderRequestNo}</span>
+            </c:if>
+            </div>
+        </div>
+    </c:if>
 </div>
 <script>
     (function () {

+ 8 - 2
src/main/webapp/WEB-INF/views/modules/order/cmDiscernReceiptList.jsp

@@ -227,8 +227,14 @@
 
                 </c:if>
             </td>
-            <td>${cmDiscernReceipt.orderType}</td>
-            <td>${cmDiscernReceipt.orders}</td>
+            <td>
+                <c:if test="${cmDiscernReceipt.receiptType != 6}">${cmDiscernReceipt.orderType}</c:if>
+                <c:if test="${cmDiscernReceipt.receiptType == 6}">----</c:if>
+            </td>
+            <td>
+                <c:if test="${cmDiscernReceipt.receiptType != 6}">${cmDiscernReceipt.orders}</c:if>
+                <c:if test="${cmDiscernReceipt.receiptType == 6}">----</c:if>
+            </td>
             <shiro:hasPermission name="order:cmDiscernReceipt:edit">
                 <td>
                     <a href="${ctx}/order/cmDiscernReceipt/detail?id=${cmDiscernReceipt.id}">查看详情</a>