Browse Source

线上/下余额

zhijiezhao 3 years ago
parent
commit
48851b6bf1

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

@@ -95,4 +95,10 @@ public interface CmDiscernReceiptDao extends CrudDao<CmDiscernReceipt> {
     List<CmMainReceiptExport> svipReceipt(CmDiscernReceipt cmDiscernReceipt);
 
     List<CmMainReceiptExport> secondReceipt(CmDiscernReceipt cmDiscernReceipt);
+
+    Double findUserMoney(String orderID);
+
+    Double findOnlineMoney(String orderID);
+
+    String findType(String id);
 }

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

@@ -135,6 +135,8 @@ public class NewOrder extends DataEntity<NewOrder> {
     private String associationType;//订单关联方式: 1手动 2自动
     private Double ableUserMoney; //当前下单用户可用余额
     private String organizeStoreName;//组织门店名称
+    private Double userMoney;  //当前订单使用线下余额
+    private Double onlineMoney;//当前订单使用线上余额
     /**
      * 优惠券机构关联ID
      */
@@ -154,6 +156,22 @@ public class NewOrder extends DataEntity<NewOrder> {
     private Integer receiveCouponId;
     private CmHeheCouponOrderRecord heheCouponRecord;   //优惠券信息
 
+    public Double getUserMoney() {
+        return userMoney;
+    }
+
+    public void setUserMoney(Double userMoney) {
+        this.userMoney = userMoney;
+    }
+
+    public Double getOnlineMoney() {
+        return onlineMoney;
+    }
+
+    public void setOnlineMoney(Double onlineMoney) {
+        this.onlineMoney = onlineMoney;
+    }
+
     public Integer getOrderSeen() {
         return orderSeen;
     }

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

@@ -34,12 +34,29 @@ public class ReceiptRecordVo {
     private Double orderReceivedAmount;//订单已收金额(此收款只计算线上线下收款记录表金额)
     private Double returnBalanceAmount;// 退款余额金额
     private String associationType;//订单关联方式: 1手动 2自动
-
+    private Double userMoney;
+    private Double onlineMoney;
     /**
      * 米花科技平台唯一流水号
      */
     private String mbOrderId;
 
+    public Double getUserMoney() {
+        return userMoney;
+    }
+
+    public void setUserMoney(Double userMoney) {
+        this.userMoney = userMoney;
+    }
+
+    public Double getOnlineMoney() {
+        return onlineMoney;
+    }
+
+    public void setOnlineMoney(Double onlineMoney) {
+        this.onlineMoney = onlineMoney;
+    }
+
     public String getMbOrderId() {
         return mbOrderId;
     }

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

@@ -177,6 +177,20 @@ public class CmDiscernReceiptService extends CrudService<CmDiscernReceiptDao, Cm
                         //统计当前已收
                         double associateAmount = cmDiscernReceiptDao.getAssociateAmount(String.valueOf(roi.getOrderID()));
                         v.setOrderReceivedAmount(associateAmount);
+                        if ("16".equals(cmDiscernReceiptDao.findType(relation.getReceiptID()))) {
+                            Double userMoney = cmDiscernReceiptDao.findUserMoney(roi.getOrderID());
+                            Double onlineMoney = cmDiscernReceiptDao.findOnlineMoney(roi.getOrderID());
+                            if (null == onlineMoney) {
+                                v.setOnlineMoney(0d);
+                            } else {
+                                v.setOnlineMoney(onlineMoney);
+                            }
+                            if (null == userMoney) {
+                                v.setUserMoney(0d);
+                            } else {
+                                v.setUserMoney(userMoney);
+                            }
+                        }
                     }
                 }
                 //一个订单又包含了多个收款记录

+ 13 - 1
src/main/java/com/caimei/modules/order/web/NewOrderController.java

@@ -1251,7 +1251,19 @@ public class NewOrderController extends BaseController {
             String organizeStoreName = cmUserDao.getOrganizeStoreName(order.getOrganizeStoreId());
             order.setOrganizeStoreName(organizeStoreName);
         }
-
+        //线上/下余额赋值
+        Double userMoney = cmDiscernReceiptDao.findUserMoney(order.getId());
+        Double onlineMoney = cmDiscernReceiptDao.findOnlineMoney(order.getId());
+        if(null==userMoney){
+            order.setUserMoney(0d);
+        }else{
+            order.setUserMoney(userMoney);
+        }
+        if(null == onlineMoney){
+            order.setOnlineMoney(0d);
+        }else{
+            order.setOnlineMoney(onlineMoney);
+        }
         model.addAttribute("order", order);
         if ("0".equals(order.getStatus())) {
             try {

+ 10 - 1
src/main/java/com/caimei/modules/user/entity/CmUser.java

@@ -56,7 +56,8 @@ public class CmUser extends DataEntity<CmUser> {
     private String serviceProviderID;        // 创客Id
 //    private String masterStatus;        // masterStatus
 //    private String masterID;        // masterID
-    private Double userMoney;        // 账户余额
+    private Double userMoney;        // 线下余额
+    private Double onlineMoney;        // 线上余额
     private Double ableUserMoney;        //账户可用余额
 //    private String point;        // point
 //    private String shopERPFlag;        // shopERPFlag
@@ -119,6 +120,14 @@ public class CmUser extends DataEntity<CmUser> {
         super(id);
     }
 
+    public Double getOnlineMoney() {
+        return onlineMoney;
+    }
+
+    public void setOnlineMoney(Double onlineMoney) {
+        this.onlineMoney = onlineMoney;
+    }
+
     @NotNull(message = "userID不能为空")
     public Integer getUserID() {
         return userID;

+ 1 - 1
src/main/java/com/caimei/modules/user/entity/CmUserBalanceRecord.java

@@ -17,7 +17,7 @@ public class CmUserBalanceRecord extends DataEntity<CmUserBalanceRecord> {
     private static final long serialVersionUID = 1L;
     private Integer userId;        // 用户ID
     private String type;        // 收支类型:1收入,2支出
-    private String balanceType;        // 余额类型:1余额抵扣,2多收退款到余额,3申请退款,4余额充值,5余额提现,6订金订单充值,7余额订单充值,8订金订单退款,9余额订单退款
+    private String balanceType;        // 余额类型:1线下余额抵扣,2多收退款到余额,3申请退款,4余额充值,5余额提现,6订金订单充值,7余额订单充值,8订金订单退款,9余额订单退款,10线上余额抵扣
     private Date addDate;        // 添加时间
     private String amount;        // 金额
     private Integer orderId;        // 主订单ID(适用余额类型1,3[类型为3多次退款存在相同记录ID则需通过退款ID唯一区分])

+ 14 - 1
src/main/resources/mappings/modules/order/CmDiscernReceiptMapper.xml

@@ -958,5 +958,18 @@
         </where>
         ORDER BY d.receiptDate DESC;
     </select>
-
+    <select id="findUserMoney" resultType="java.lang.Double">
+        SELECT SUM(amount)
+        FROM cm_user_balance_record
+        WHERE orderId = #{orderID}
+          AND balanceType = 1
+          AND delflag = 0
+    </select>
+    <select id="findOnlineMoney" resultType="java.lang.Double">
+        SELECT SUM(amount)
+        FROM cm_user_balance_record
+        WHERE orderId = #{orderID}
+          AND balanceType = 10
+          AND delflag = 0
+    </select>
 </mapper>

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

@@ -359,6 +359,7 @@
                                     <span><a
                                             href="${ctx}/user/cmUserBalanceRecord/userBalanceRecord?userId=${orderInfo.userID}"
                                             style="text-decoration: underline">${receiptRecord.receiptAmount}</a></span>
+                                    (其中线下余额¥${receiptRecord.userMoney},线上余额¥${receiptRecord.onlineMoney})
                                 </c:if>
                                 <span>
     <%--                        一款多单的时候直接显示再订单上即可,无需收款记录显示--%>

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

@@ -544,14 +544,16 @@
                 <c:if test="${order.balancePayFee gt 0}">
                     <a href="${ctx}/user/cmUserBalanceRecord/userBalanceRecord?userId=${order.userID}"
                        style="color: red;text-decoration: underline">
-                        (账户余额抵扣: <fmt:formatNumber value="${order.balancePayFee}" type="currency"/>)
+                        (账户余额抵扣: <fmt:formatNumber value="${order.balancePayFee}" type="currency"/>,
+                        其中线下余额<fmt:formatNumber value="${order.userMoney}" type="currency"/>,
+                        线上余额<fmt:formatNumber value="${order.onlineMoney}" type="currency"/>)
                     </a>
                 </c:if>
                 <c:if test="${order.balancePayFee le 0}">
-                    (账户余额抵扣: <fmt:formatNumber value="${order.balancePayFee}" type="currency"/>)
+                    (账户余额抵扣: <fmt:formatNumber value="${order.balancePayFee}" type="currency"/>,
+                    其中线下余额<fmt:formatNumber value="${order.userMoney}" type="currency"/>,
+                    线上余额<fmt:formatNumber value="${order.onlineMoney}" type="currency"/>)
                 </c:if>
-
-
             </span>
         </td>
         <td>

+ 4 - 0
src/main/webapp/WEB-INF/views/modules/user/cmRechargeForm.jsp

@@ -40,6 +40,10 @@
                 $('#isnumber').show();
                 return;
             }
+			if ("" == remarks || null == remarks) {
+				$('#note').show();
+				return;
+			}
             var rechargeInfo = remarks + "," + amount;
             return rechargeInfo;
         }

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

@@ -97,6 +97,8 @@
 				<th>序号</th>
 				<th>机构名称</th>
 				<th>总余额</th>
+				<th>线下余额</th>
+				<th>线上余额</th>
 				<th>操作</th>
 			</tr>
 		</thead>

+ 2 - 0
src/main/webapp/WEB-INF/views/modules/user/cmUserBalanceRecordList.jsp

@@ -114,6 +114,8 @@
 					<th>记录时间</th>
 					<th>收支类型</th>
 					<th>金额</th>
+					<th>线下余额</th>
+					<th>线上余额</th>
 					<th>余额类型</th>
 					<th>备注</th>
 				</tr>

+ 4 - 3
src/main/webapp/WEB-INF/views/modules/user/cmUserBalanceWithdrawalsForm.jsp

@@ -51,7 +51,7 @@
 	</ul><br/>
 	<form:form id="inputForm" modelAttribute="cmUserBalanceWithdrawals" action="${ctx}/user/cmUserBalanceWithdrawals/save" method="post" class="form-horizontal">
 		<form:hidden path="userID" value="${cmUser.userID}"/>
-		<input type="hidden" id="ableUserMoney" value="${cmUser.ableUserMoney}"/>
+		<input type="hidden" id="ableUserMoney" value="${cmUser.userMoney}"/>
 		<sys:message content="${message}"/>
 		<c:if test="${not empty cmUser}">
 			<div class="control-group">
@@ -61,9 +61,10 @@
 				</div>
 			</div>
 			<div class="control-group">
-				<label class="control-label"><b>余额:</b></label>
+				<label class="control-label"><b>线下余额:</b></label>
 				<div class="controls">
-					<fmt:formatNumber value="${empty cmUser.ableUserMoney ? 0:cmUser.ableUserMoney}" type="currency"/>
+					<fmt:formatNumber value="${empty cmUser.userMoney ? 0:cmUser.userMoney}" type="currency"/>
+					(总余额:<fmt:formatNumber value="${empty cmUser.ableUserMoney ? 0:cmUser.ableUserMoney}" type="currency"/>)
 				</div>
 			</div>
 		</c:if>