记得上下班打卡 | git大法好,push需谨慎

Commit 574b7bc0 authored by anjiabin's avatar anjiabin

注释掉mongo事物

parent 6f6ca89f
...@@ -13,4 +13,16 @@ import lombok.Data; ...@@ -13,4 +13,16 @@ import lombok.Data;
*/ */
@Data @Data
public class OrderListReq { public class OrderListReq {
private String orderCode;
private String performanceTitle;
private String userMobile;
private String timePayStart;
private String timePayEnd;
private String sponsorId;
private String paymentType;
private String orderStatus;
private String orderSource;
private String getTicketType;
private String expressStatus;
private String tiedType;
} }
...@@ -11,84 +11,45 @@ ...@@ -11,84 +11,45 @@
<div class="select-list"> <div class="select-list">
<ul> <ul>
<li> <li>
<label>支付时间</label> <label>订单号</label>
<input type="text" name="orderNo"/> <input type="text" name="orderNo"/>
</li> </li>
<li> <li>
<label>支付时间</label> <label>电话</label>
<input type="text" name="uid"/> <input type="text" name="mobile"/>
</li> </li>
<li> <li>
<label>购买方式:0-购买会员 1-购买会员码,2-使用会员码:</label> <label>支付方式:</label>
<input type="text" name="mode"/> <select name="paymentType" th:with="type=${@dict.getType('zhengzai_pay_type')}">
</li> <option value="">所有</option>
<li> <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
<label>原价:</label> </select>
<input type="text" name="price"/>
</li>
<li>
<label>实际支付:</label>
<input type="text" name="pricePaid"/>
</li>
<li>
<label>实际支付:</label>
<input type="text" name="memberName"/>
</li>
<li>
<label>会员id:</label>
<input type="text" name="memberId"/>
</li>
<li>
<label>会员价格id:</label>
<input type="text" name="memberPriceId"/>
</li>
<li>
<label>购买天数:</label>
<input type="text" name="days"/>
</li> </li>
<li> <li>
<label>订单状态:</label> <label>订单状态:</label>
<input type="text" name="state"/> <select name="orderStatus" th:with="type=${@dict.getType('zhengzai_order_status')}">
</li> <option value="">所有</option>
<li> <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
<label>会员号:</label> </select>
<input type="text" name="memberNo"/>
</li> </li>
<li> <li>
<label>支付渠道:</label> <label>购买方式:</label>
<input type="text" name="payChannel"/> <select name="buyMode" th:with="type=${@dict.getType('zhengzai_buy_mode')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li> </li>
<li> <li>
<label>支付订单:</label> <label>客户端:</label>
<input type="text" name="payNo"/> <select name="orderSource" th:with="type=${@dict.getType('zhengzai_order_source')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li> </li>
<li> <li class="select-time">
<label>用户生日:</label> <label>支付时间: </label>
<input type="text" class="time-input" placeholder="请选择用户生日" name="birthday"/> <input type="text" class="time-input" id="timePayStart" placeholder="开始日期" name="params[beginTime]"/>
</li> <span>-</span>
<li> <input type="text" class="time-input" id="timePayEnd" placeholder="结束日期" name="params[endTime]"/>
<label>支付时间:</label>
<input type="text" class="time-input" placeholder="请选择支付时间" name="paymentAt"/>
</li>
<li>
<label>支付时间:</label>
<input type="text" class="time-input" placeholder="请选择支付时间" name="createdAt"/>
</li>
<li>
<label>支付时间:</label>
<input type="text" class="time-input" placeholder="请选择支付时间" name="updatedAt"/>
</li>
<li>
<label>支付时间:</label>
<input type="text" name="clientIp"/>
</li>
<li>
<label>支付时间:</label>
<input type="text" name="source"/>
</li>
<li>
<label>支付时间:</label>
<input type="text" name="version"/>
</li> </li>
<li> <li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a> <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
......
...@@ -6,14 +6,147 @@ ...@@ -6,14 +6,147 @@
</head> </head>
<body class="white-bg"> <body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content"> <div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-tickets-edit" th:object="${orderDetailsVo.orderTicketVo}"> <form class="form-horizontal m" id="form-tickets-edit" th:object="${orderDetailsVo}">
<!-- <input name="mid" th:field="*{mid}" type="hidden">--> <!-- <input name="mid" th:field="*{mid}" type="hidden">-->
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label is-required">order_tickets_id</label> <label class="col-sm-3 control-label is-required">演出名称</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="orderTicketsId" th:field="*{orderTicketsId}" class="form-control" type="text" required> <input name="performanceTitle" th:field="*{performanceVo.title}" class="form-control" type="text" required>
</div> </div>
</div> </div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">票名:</label>
<div class="col-sm-8">
<input name="performanceTitle" th:field="*{ticketVo.title}" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">单价:</label>
<div class="col-sm-8">
<input name="price" th:field="*{orderTicketVo.price}" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">数量:</label>
<div class="col-sm-8">
<input name="number" th:field="*{orderTicketVo.number}" class="form-control" type="text" required>
</div>
</div>
<!-- <div class="form-group">-->
<!-- <label class="col-sm-3 control-label is-required">适用日期:</label>-->
<!-- <div class="col-sm-8">-->
<!-- <input name="payCountdownMinute" th:field="*{payCountdownMinute}" class="form-control" type="text" required>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="form-group">-->
<!-- <label class="col-sm-3 control-label is-required">应付价格:</label>-->
<!-- <div class="col-sm-8">-->
<!-- <input name="priceTotal" th:field="*{priceTotal}" class="form-control" type="text" required>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="form-group">-->
<!-- <label class="col-sm-3 control-label is-required">优惠价格:</label>-->
<!-- <div class="col-sm-8">-->
<!-- <input name="priceVoucher" th:field="*{priceVoucher}" class="form-control" type="text" required>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="form-group">-->
<!-- <label class="col-sm-3 control-label is-required">实付价格:</label>-->
<!-- <div class="col-sm-8">-->
<!-- <input name="priceActual" th:field="*{priceActual}" class="form-control" type="text" required>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="form-group">-->
<!-- <label class="col-sm-3 control-label is-required">快递价格:</label>-->
<!-- <div class="col-sm-8">-->
<!-- <input name="priceExpress" th:field="*{priceExpress}" class="form-control" type="text" required>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="form-group">-->
<!-- <label class="col-sm-3 control-label is-required">退款价格:</label>-->
<!-- <div class="col-sm-8">-->
<!-- <input name="priceRefund" th:field="*{priceRefund}" class="form-control" type="text" required>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="form-group">-->
<!-- <label class="col-sm-3 control-label is-required">订单状态:</label>-->
<!-- <div class="col-sm-8">-->
<!-- <input name="priceVoucher" th:field="*{priceVoucher}" class="form-control" type="text" required>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="form-group">-->
<!-- <label class="col-sm-3 control-label is-required">转增状态:</label>-->
<!-- <div class="col-sm-8">-->
<!-- <input name="priceVoucher" th:field="*{priceVoucher}" class="form-control" type="text" required>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="form-group">-->
<!-- <label class="col-sm-3 control-label is-required">订单号:</label>-->
<!-- <div class="col-sm-8">-->
<!-- <input name="orderCode" th:field="*{orderCode}" class="form-control" type="text" required>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="form-group">-->
<!-- <label class="col-sm-3 control-label">生成时间:</label>-->
<!-- <div class="col-sm-8">-->
<!-- <div class="input-group date">-->
<!-- <input name="createdAt" th:value="${#dates.format(kylinOrderTickets.createdAt, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">-->
<!-- <span class="input-group-addon"><i class="fa fa-calendar"></i></span>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="form-group">-->
<!-- <label class="col-sm-3 control-label">实际支付方式:</label>-->
<!-- <div class="col-sm-8">-->
<!-- <select name="paymentType" class="form-control m-b">-->
<!-- <option value="">所有</option>-->
<!-- </select>-->
<!-- <span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 代码生成请选择字典属性</span>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="form-group">-->
<!-- <label class="col-sm-3 control-label is-required">微信订单号:</label>-->
<!-- <div class="col-sm-8">-->
<!-- <input name="orderCode" th:field="*{orderCode}" class="form-control" type="text" required>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="form-group">-->
<!-- <label class="col-sm-3 control-label">支付时间:</label>-->
<!-- <div class="col-sm-8">-->
<!-- <input name="timePay" th:field="*{timePay}" class="form-control" type="text">-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="form-group">-->
<!-- <label class="col-sm-3 control-label is-required">取票方式:</label>-->
<!-- <div class="col-sm-8">-->
<!-- <select name="getTicketType" class="form-control m-b" required>-->
<!-- <option value="">所有</option>-->
<!-- </select>-->
<!-- <span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 代码生成请选择字典属性</span>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="form-group">-->
<!-- <label class="col-sm-3 control-label is-required">取票人1:</label>-->
<!-- <div class="col-sm-8">-->
<!-- <input name="orderCode" th:field="*{orderCode}" class="form-control" type="text" required>-->
<!-- </div>-->
<!-- <label class="col-sm-3 control-label">证件号:</label>-->
<!-- <div class="col-sm-8">-->
<!-- <input name="orderCode" th:field="*{orderCode}" class="form-control" type="text" required>-->
<!-- </div>-->
<!-- <label class="col-sm-3 control-label">电话:</label>-->
<!-- <div class="col-sm-8">-->
<!-- <input name="orderCode" th:field="*{orderCode}" class="form-control" type="text" required>-->
<!-- </div>-->
<!-- <label class="col-sm-3 control-label">票务状态:</label>-->
<!-- <div class="col-sm-8">-->
<!-- <input name="orderCode" th:field="*{orderCode}" class="form-control" type="text" required>-->
<!-- </div>-->
<!-- <label class="col-sm-3 control-label">支付时间:</label>-->
<!-- <div class="col-sm-8">-->
<!-- <input name="orderCode" th:field="*{orderCode}" class="form-control" type="text" required>-->
<!-- </div>-->
<!-- </div>-->
</form> </form>
</div> </div>
<th:block th:include="include :: footer" /> <th:block th:include="include :: footer" />
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
</li> </li>
<li> <li>
<label>第三方:</label> <label>第三方:</label>
<select name="orderType"> <select name="sponsorId">
<option value="">所有</option> <option value="">所有</option>
<option value="-1">代码生成请选择字典属性</option> <option value="-1">代码生成请选择字典属性</option>
</select> </select>
...@@ -58,23 +58,21 @@ ...@@ -58,23 +58,21 @@
</li> </li>
<li> <li>
<label>取票方式:</label> <label>取票方式:</label>
<select name="orderType"> <select name="getTicketType" th:with="type=${@dict.getType('zhengzai_get_ticket_type')}">
<option value="">所有</option> <option value="">所有</option>
<option value="-1">代码生成请选择字典属性</option> <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select> </select>
</li> </li>
<li> <li>
<label>快递状态:</label> <label>快递状态:</label>
<select name="orderType"> <select name="expressStatus" th:with="type=${@dict.getType('zhengzai_express_status')}">
<option value="">所有</option> <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
<option value="-1">代码生成请选择字典属性</option>
</select> </select>
</li> </li>
<li> <li>
<label>搭售商品:</label> <label>搭售商品:</label>
<select name="orderType"> <select name="tiedType" th:with="type=${@dict.getType('zhengzai_tied_type')}">
<option value="">所有</option> <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
<option value="-1">代码生成请选择字典属性</option>
</select> </select>
</li> </li>
<li> <li>
...@@ -119,21 +117,17 @@ ...@@ -119,21 +117,17 @@
columns: [{ columns: [{
checkbox: true checkbox: true
}, },
{
field: 'userId',
title: '第三方'
},
{ {
field: 'orderCode', field: 'orderCode',
title: '订单号' title: '订单号'
}, },
{ {
field: 'performanceTitle', field: 'performanceTitle',
title: '演出名称' title: '订单状态'
}, },
{ {
field: 'getTicketType', field: 'getTicketType',
title: '订单状态' title: '支付方式'
}, },
{ {
field: 'getTicketType', field: 'getTicketType',
......
...@@ -17,9 +17,12 @@ import lombok.extern.slf4j.Slf4j; ...@@ -17,9 +17,12 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.beans.IntrospectionException;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* @author AnJiabin <anjiabin@zhengzai.tv> * @author AnJiabin <anjiabin@zhengzai.tv>
...@@ -54,9 +57,17 @@ public class KylinOrderTicketsAdminServiceImpl extends ServiceImpl<KylinOrderTic ...@@ -54,9 +57,17 @@ public class KylinOrderTicketsAdminServiceImpl extends ServiceImpl<KylinOrderTic
@Override @Override
public List<OrderTicketsListDao> orderList(OrderListReq orderListReq) { public List<OrderTicketsListDao> orderList(OrderListReq orderListReq) {
HashMap<String, Object> map = new HashMap<>(); Map<String, Object> reqParamMap = new HashMap<>();
map.put("title", ""); try {
List<OrderTicketsListDao> list = kylinOrderTicketsMapper.orderList(map); reqParamMap = BeanUtil.convertBeanToMap(orderListReq,false);
} catch (IntrospectionException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
List<OrderTicketsListDao> list = kylinOrderTicketsMapper.orderList(reqParamMap);
return list; return list;
} }
......
package com.liquidnet.service.kylin.dao;
import lombok.Data;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: TODO
* @class: PerformanceOrderListDao
* @Package com.liquidnet.service.kylin.dao
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2021/6/4 13:31
*/
@Data
public class PerformanceOrderListDao {
String orderTicketsId;
String sponsor;
String orderCode;
String title;
String status;
String getTicketType;
String payType;
String paymentType;
String tied;
String price;
String number;
String priceMember;
String priceTotal;
String priceVoucher;
String priceActual;
String priceExpress;
String priceRefund;
String refundNumber;
String userId;
String userName;
String userMobile;
}
...@@ -7,6 +7,7 @@ import org.apache.ibatis.annotations.Param; ...@@ -7,6 +7,7 @@ import org.apache.ibatis.annotations.Param;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* <p> * <p>
...@@ -27,5 +28,5 @@ public interface KylinOrderTicketsMapper extends BaseMapper<KylinOrderTickets> { ...@@ -27,5 +28,5 @@ public interface KylinOrderTicketsMapper extends BaseMapper<KylinOrderTickets> {
// 获取订单和购票信息 // 获取订单和购票信息
List<KylinOrderTickets> getOrderList(@Param("targetId") String targetId, @Param("mid") int mid, @Param("limitNum") int limitNum); List<KylinOrderTickets> getOrderList(@Param("targetId") String targetId, @Param("mid") int mid, @Param("limitNum") int limitNum);
List<OrderTicketsListDao> orderList(HashMap<String, Object> map); List<OrderTicketsListDao> orderList(Map<String, Object> map);
} }
...@@ -92,6 +92,24 @@ ...@@ -92,6 +92,24 @@
<result column="total_paying_number" property="totalPayingNumber"/> <result column="total_paying_number" property="totalPayingNumber"/>
<result column="total_buy_users" property="totalBuyUsers"/> <result column="total_buy_users" property="totalBuyUsers"/>
</resultMap> </resultMap>
<resultMap id="performanceOrderListDaoResult" type="com.liquidnet.service.kylin.dao.PerformanceOrderListDao">
<result column="performances_id" property="performancesId"/>
<result column="tickets_id" property="ticketsId"/>
<result column="title" property="title"/>
<result column="price" property="price"/>
<result column="type" property="type"/>
<result column="use_start" property="useStart"/>
<result column="total_general" property="totalGeneral"/>
<result column="sale_general" property="saleGeneral"/>
<result column="surplus_general" property="surplusGeneral"/>
<result column="total_sale_price" property="totalSalePrice"/>
<result column="total_exchange" property="totalExchange"/>
<result column="total_refund_general" property="totalRefundGeneral"/>
<result column="total_refund_price" property="totalRefundPrice"/>
<result column="total_member_number" property="totalMemberNumber"/>
<result column="total_paying_number" property="totalPayingNumber"/>
<result column="total_buy_users" property="totalBuyUsers"/>
</resultMap>
<!-- 第三方演出列表 (不包含退票信息) --> <!-- 第三方演出列表 (不包含退票信息) -->
<select id="partnerPerformanceList" parameterType="java.util.Map" resultMap="partnerPerformanceListResult"> <select id="partnerPerformanceList" parameterType="java.util.Map" resultMap="partnerPerformanceListResult">
...@@ -395,4 +413,93 @@ ...@@ -395,4 +413,93 @@
) t ) t
) AS ut ON ut.performance_id = kp.performances_id ) AS ut ON ut.performance_id = kp.performances_id
</select> </select>
<select id="orderList" resultMap="performanceOrderListDaoResult">
SELECT
kot.order_tickets_id,
kp.sponsor,
kot.order_code,
kp.title,
kots.status,
kot.get_ticket_type,
kot.pay_type,
kot.payment_type,
'无' as tied,
kot.price,
kot.number,
kot.price_member,
kot.price_total,
kot.price_voucher,
kot.price_actual,
kot.price_express,
kot.price_refund,
kot.refund_number,
kot.user_id,
kot.user_name,
kot.user_mobile
FROM kylin_order_tickets kot
inner join kylin_order_ticket_status kots on kot.order_tickets_id = kots.order_id
inner join kylin_order_ticket_relations kotr on kot.order_tickets_id = kotr.order_id
inner join kylin_performances kp on kotr.performance_id = kp.performances_id
<where>
<if test="orderTicketsId != null and orderTicketsId != ''"> and order_tickets_id = #{orderTicketsId}</if>
<if test="userId != null and userId != ''"> and user_id = #{userId}</if>
<if test="userName != null and userName != ''"> and user_name like concat('%', #{userName}, '%')</if>
<if test="userMobile != null and userMobile != ''"> and user_mobile = #{userMobile}</if>
<if test="performanceTitle != null and performanceTitle != ''"> and performance_title = #{performanceTitle}</if>
<if test="orderCode != null and orderCode != ''"> and order_code = #{orderCode}</if>
<if test="payCode != null and payCode != ''"> and pay_code = #{payCode}</if>
<if test="qrCode != null and qrCode != ''"> and qr_code = #{qrCode}</if>
<if test="orderType != null and orderType != ''"> and order_type = #{orderType}</if>
<if test="orderVersion != null and orderVersion != ''"> and order_version = #{orderVersion}</if>
<if test="number != null "> and number = #{number}</if>
<if test="price != null "> and price = #{price}</if>
<if test="priceMember != null "> and price_member = #{priceMember}</if>
<if test="priceTotal != null "> and price_total = #{priceTotal}</if>
<if test="priceVoucher != null "> and price_voucher = #{priceVoucher}</if>
<if test="priceActual != null "> and price_actual = #{priceActual}</if>
<if test="priceExpress != null "> and price_express = #{priceExpress}</if>
<if test="priceRefund != null "> and price_refund = #{priceRefund}</if>
<if test="refundNumber != null "> and refund_number = #{refundNumber}</if>
<if test="payType != null and payType != ''"> and pay_type = #{payType}</if>
<if test="paymentType != null and paymentType != ''"> and payment_type = #{paymentType}</if>
<if test="timePay != null and timePay != ''"> and time_pay = #{timePay}</if>
<if test="expressContacts != null and expressContacts != ''"> and express_contacts = #{expressContacts}</if>
<if test="expressAddress != null and expressAddress != ''"> and express_address = #{expressAddress}</if>
<if test="expressPhone != null and expressPhone != ''"> and express_phone = #{expressPhone}</if>
<if test="couponType != null and couponType != ''"> and coupon_type = #{couponType}</if>
<if test="getTicketType != null and getTicketType != ''"> and get_ticket_type = #{getTicketType}</if>
<if test="getTicketDescribe != null and getTicketDescribe != ''"> and get_ticket_describe = #{getTicketDescribe}</if>
<if test="payCountdownMinute != null "> and pay_countdown_minute = #{payCountdownMinute}</if>
<if test="comment != null and comment != ''"> and comment = #{comment}</if>
<if test="createdAt != null "> and created_at = #{createdAt}</if>
<if test="updatedAt != null "> and updated_at = #{updatedAt}</if>
<if test="orderSourece != null and orderSourece != ''"> and order_sourece = #{orderSourece}</if>
</where>
<where>
<if test="title!=''">
AND title LIKE concat('%', #{title}, '%')
</if>
<if test="cityName!=''">
AND city_name LIKE concat('%', #{cityName}, '%')
</if>
<if test="status!='-2'">
AND ps.STATUS = #{status}
</if>
<if test="status=='-2'">
AND ps.STATUS >= 3 or ps.STATUS = 1
</if>
<if test="auditStatus!='-2'">
AND ps.audit_status = #{auditStatus}
</if>
<!-- <if test="auditStatus=='-2'">-->
<!-- AND (ps.audit_status = 0 or ps.audit_status = 1 or ps.audit_status = 2)-->
<!-- </if>-->
<if test="stopSellDay!=-2">
AND p.time_end BETWEEN #{stopSellTime} AND NOW()
</if>
</where>
<if test="orderItem!=''">
ORDER BY ${orderItem} ${orderSc}
</if>
</select>
</mapper> </mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment