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

Commit 2d4f7a7e authored by jiangxiulong's avatar jiangxiulong

Merge remote-tracking branch 'origin/new_member' into new_member

parents a30eea66 e0060686
...@@ -2,15 +2,24 @@ package com.liquidnet.client.admin.web.controller.zhengzai.tools; ...@@ -2,15 +2,24 @@ package com.liquidnet.client.admin.web.controller.zhengzai.tools;
import com.liquidnet.client.admin.common.core.controller.BaseController; import com.liquidnet.client.admin.common.core.controller.BaseController;
import com.liquidnet.client.admin.common.core.domain.AjaxResult; import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.utils.poi.ExcelUtil;
import com.liquidnet.client.admin.zhengzai.kylin.dto.OrderExportVo;
import com.liquidnet.client.admin.zhengzai.kylin.dto.OrderOutLineVo;
import com.liquidnet.client.admin.zhengzai.kylin.service.IExportService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
@Controller @Controller
@RequestMapping("/tools") @RequestMapping("/tools")
public class ToolsBaseController extends BaseController { public class ToolsBaseController extends BaseController {
private String prefix = "zhengzai/tools"; private String prefix = "zhengzai/tools";
@Autowired
private IExportService exportService;
@GetMapping() @GetMapping()
public String tools() { public String tools() {
...@@ -20,6 +29,7 @@ public class ToolsBaseController extends BaseController { ...@@ -20,6 +29,7 @@ public class ToolsBaseController extends BaseController {
@GetMapping(value = "/details/{id}") @GetMapping(value = "/details/{id}")
public String detailsRoadShow(@PathVariable("id") Integer id, ModelMap mmap) { public String detailsRoadShow(@PathVariable("id") Integer id, ModelMap mmap) {
if (id == 1) { if (id == 1) {
mmap.put("url", "/tools/export/mobile");
return prefix + "/fun1"; return prefix + "/fun1";
} else { } else {
return prefix + "/edit"; return prefix + "/edit";
...@@ -28,8 +38,23 @@ public class ToolsBaseController extends BaseController { ...@@ -28,8 +38,23 @@ public class ToolsBaseController extends BaseController {
@PostMapping("/export/mobile") @PostMapping("/export/mobile")
@ResponseBody @ResponseBody
public AjaxResult exportMobile(Integer mobileType) { public AjaxResult exportMobile(Integer mobileType, String performanceId) {
System.out.println(mobileType); if (performanceId == null || performanceId.trim().equals("")) {
return toAjax(mobileType); return error("演出id有误");
}
List<OrderExportVo> list;
if (mobileType == 1) {//购票用户
list = exportService.exportOrderByPerformanceIdPay(performanceId);
} else if (mobileType == 2) {//下单用户
list = exportService.exportOrderByPerformanceIdAll(performanceId);
} else {
return error("查无订单");
}
if (list.size() == 0) {
return error("查无订单");
}
ExcelUtil<OrderExportVo> util = new ExcelUtil(OrderExportVo.class);
return util.exportExcel(list, list.get(0).getPerformanceTitle() + "-" + mobileType);
} }
} }
...@@ -171,10 +171,10 @@ ...@@ -171,10 +171,10 @@
<input type="text" id="searchIpt" autocomplete="off" class="layui-input" placeholder="全部"> <input type="text" id="searchIpt" autocomplete="off" class="layui-input" placeholder="全部">
<ul id="dataList" style="position: absolute;"></ul> <ul id="dataList" style="position: absolute;"></ul>
</div> </div>
<select name="bindType" id="selectTwo"> <select name="bindType" id="selectTwo" placeholder="请选择场次">
<option value="">所有</option> <option value="">所有111</option>
</select> </select>
<select name="bindType" id="selectThree"> <select name="bindType" id="selectThree" placeholder="请选择票种">
<option value="">所有</option> <option value="">所有</option>
</select> </select>
</div> </div>
...@@ -271,10 +271,15 @@ ...@@ -271,10 +271,15 @@
let str = ''; let str = '';
promiseMethods(ctx+'kylin/base/performance/status','get',data,'application/x-www-form-urlencoded').then(res=>{ promiseMethods(ctx+'kylin/base/performance/status','get',data,'application/x-www-form-urlencoded').then(res=>{
if (res.value.length>0) { if (res.value.length>0) {
let filterData = [];
searchData = res.value; searchData = res.value;
searchData.forEach((item,index)=>{ let obj = {};
str+= `<li class="selectData" onclick="selectOne('${item.performancesId}','${item.title}')">${item.title}</li>` searchData.reduce((cur,next) => {
}) if (!obj[next.performancesId]) {
obj[next.performancesId] = true
str+= `<li class="selectData" onclick="selectOne('${next.performancesId}','${next.title}')">${next.title}</li>`
}
},[]) //设置cur默认类型为数组,并且初始值为空的数组
$('#dataList').html(str); $('#dataList').html(str);
} else { } else {
$('#dataList').html('<li style="width:100%;text-align:center;color:#ccc;">--- 暂无数据 ---</li>'); $('#dataList').html('<li style="width:100%;text-align:center;color:#ccc;">--- 暂无数据 ---</li>');
...@@ -313,11 +318,19 @@ ...@@ -313,11 +318,19 @@
return return
} }
let str = `<option value="0" label="">所有</option>`; let str = `<option value="0" label="">所有</option>`;
let obj = {};
let filterData = [];
searchData.forEach(item=>{ searchData.forEach(item=>{
if (item.performancesId == id) { if (item.performancesId == id) {
str+= `<option value='${item.timeId}' label=${item.timeTitle}>${item.timeTitle}</option>` filterData.push(item)
} }
}) })
filterData.reduce((cur, next) => {
if (!obj[next.timeId]) {
obj[next.timeId] = true
str+= `<option value='${next.timeId}' label=${next.timeTitle}>${next.timeTitle}</option>`
}
}, [])
selectTwoId = ''; // 选中演出下级的ID selectTwoId = ''; // 选中演出下级的ID
selectThreeId = ''; // 选中演出三级的ID selectThreeId = ''; // 选中演出三级的ID
$('#selectTwo').empty().append(str); $('#selectTwo').empty().append(str);
......
...@@ -275,9 +275,13 @@ ...@@ -275,9 +275,13 @@
promiseMethods(ctx+'kylin/base/performance/status','get',data,'application/x-www-form-urlencoded').then(res=>{ promiseMethods(ctx+'kylin/base/performance/status','get',data,'application/x-www-form-urlencoded').then(res=>{
if (res.value.length>0) { if (res.value.length>0) {
searchData = res.value; searchData = res.value;
searchData.forEach((item,index)=>{ let obj = {};
str+= `<li class="selectData" onclick="selectOne('${item.performancesId}','${item.title}')">${item.title}</li>` searchData.reduce((cur,next) => {
}) if (!obj[next.performancesId]) {
obj[next.performancesId] = true
str+= `<li class="selectData" onclick="selectOne('${next.performancesId}','${next.title}')">${next.title}</li>`
}
},[]) //设置cur默认类型为数组,并且初始值为空的数组
$('#dataList').html(str); $('#dataList').html(str);
} else { } else {
$('#dataList').html('<li style="width:100%;text-align:center;color:#ccc;">--- 暂无数据 ---</li>'); $('#dataList').html('<li style="width:100%;text-align:center;color:#ccc;">--- 暂无数据 ---</li>');
...@@ -315,11 +319,19 @@ ...@@ -315,11 +319,19 @@
return return
} }
let str = `<option value="0" label="">所有</option>`; let str = `<option value="0" label="">所有</option>`;
let obj = {};
let filterData = [];
searchData.forEach(item=>{ searchData.forEach(item=>{
if (item.performancesId == id) { if (item.performancesId == id) {
str+= `<option value='${item.timeId}' label=${item.timeTitle}>${item.timeTitle}</option>` filterData.push(item)
} }
}) })
filterData.reduce((cur, next) => {
if (!obj[next.timeId]) {
obj[next.timeId] = true
str+= `<option value='${next.timeId}' label=${next.timeTitle}>${next.timeTitle}</option>`
}
}, [])
selectTwoId = ''; // 选中演出下级的ID selectTwoId = ''; // 选中演出下级的ID
selectThreeId = ''; // 选中演出三级的ID selectThreeId = ''; // 选中演出三级的ID
$('#selectTwo').empty().append(str); $('#selectTwo').empty().append(str);
......
...@@ -162,10 +162,10 @@ ...@@ -162,10 +162,10 @@
<select name="bindType" id="selectThree"> <select name="bindType" id="selectThree">
<option value="">所有</option> <option value="">所有</option>
</select> </select>
<span style="margin-left: 12px;color: #ccc;" id="showNum"> <!-- <span style="margin-left: 12px;color: #ccc;" id="showNum">
演出库存:<span id="totalGeneral"></span> 演出库存:<span id="totalGeneral"></span>
兑换库存:<span id="totalExchange"></span> 兑换库存:<span id="totalExchange"></span>
</span> </span> -->
</div> </div>
<div class="changeData"> <div class="changeData">
<div id="modalOne"> <div id="modalOne">
...@@ -219,9 +219,13 @@ ...@@ -219,9 +219,13 @@
promiseMethods(ctx+'kylin/base/performance/status','get',data,'application/x-www-form-urlencoded').then(res=>{ promiseMethods(ctx+'kylin/base/performance/status','get',data,'application/x-www-form-urlencoded').then(res=>{
if (res.value.length>0) { if (res.value.length>0) {
searchData = res.value; searchData = res.value;
searchData.forEach((item,index)=>{ let obj = {};
str+= `<li class="selectData" onclick="selectOne('${item.performancesId}','${item.title}')">${item.title}</li>` searchData.reduce((cur,next) => {
}) if (!obj[next.performancesId]) {
obj[next.performancesId] = true
str+= `<li class="selectData" onclick="selectOne('${next.performancesId}','${next.title}')">${next.title}</li>`
}
},[]) //设置cur默认类型为数组,并且初始值为空的数组
$('#dataList').html(str); $('#dataList').html(str);
} else { } else {
$('#dataList').html('<li style="width:100%;text-align:center;color:#ccc;">--- 暂无数据 ---</li>'); $('#dataList').html('<li style="width:100%;text-align:center;color:#ccc;">--- 暂无数据 ---</li>');
...@@ -232,14 +236,19 @@ ...@@ -232,14 +236,19 @@
$("#searchIpt").val(name); $("#searchIpt").val(name);
showId = id; showId = id;
let str = `<option value="0" label="">所有</option>`; let str = `<option value="0" label="">所有</option>`;
let obj = {};
let filterData = [];
searchData.forEach(item=>{ searchData.forEach(item=>{
if (item.performancesId == id) { if (item.performancesId == id) {
$('#showNum').show(); filterData.push(item)
$('#totalExchange').text(item.totalExchange);
$('#totalGeneral').text(item.totalGeneral);
str+= `<option value='${item.timeId}' label=${item.timeTitle}>${item.timeTitle}</option>`;
} }
}) })
filterData.reduce((cur, next) => {
if (!obj[next.timeId]) {
obj[next.timeId] = true
str+= `<option value='${next.timeId}' label=${next.timeTitle}>${next.timeTitle}</option>`
}
}, [])
selectTwoId = ''; // 选中演出下级的ID selectTwoId = ''; // 选中演出下级的ID
selectThreeId = ''; // 选中演出三级的ID selectThreeId = ''; // 选中演出三级的ID
$('#selectTwo').empty().append(str); $('#selectTwo').empty().append(str);
...@@ -325,6 +334,14 @@ ...@@ -325,6 +334,14 @@
} }
promiseMethods('/candy/coupon/mgt/add','post',JSON.stringify(data),'application/json').then(res=>{ promiseMethods('/candy/coupon/mgt/add','post',JSON.stringify(data),'application/json').then(res=>{
layer.msg('创建成功!'); layer.msg('创建成功!');
let data = {
pageSize: 10,
pageNum: 1,
orderByColumn: 'createdAt',
isAsc: 'desc',
couType: 3
}
$.operate.save(prefix + "/list", data);
closeItem(); closeItem();
}) })
} }
......
...@@ -236,7 +236,7 @@ ...@@ -236,7 +236,7 @@
let sendTimeType = ''; let sendTimeType = '';
function getMallList() { function getMallList() {
let data = { let data = {
title: '' title: $('#searchIpt').val()
} }
let str = ''; let str = '';
promiseMethods(phpMallUrl + '/admin/goodListForQuick','get',data,'application/x-www-form-urlencoded').then(res=>{ promiseMethods(phpMallUrl + '/admin/goodListForQuick','get',data,'application/x-www-form-urlencoded').then(res=>{
...@@ -285,7 +285,7 @@ ...@@ -285,7 +285,7 @@
}); });
$("#searchIpt").keyup(function(){ $("#searchIpt").keyup(function(){
searchVal = $("#searchIpt").val() searchVal = $("#searchIpt").val()
search() getMallList()
}); });
$("input[name=sendType]").change(function(e){ $("input[name=sendType]").change(function(e){
sendType = e.target.value; sendType = e.target.value;
......
<!DOCTYPE html> <!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org"> <html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head> <head>
<th:block th:include="include :: header('工具库')"/> <th:block th:include="include :: header('工具库')"/>
</head> </head>
...@@ -12,21 +12,22 @@ ...@@ -12,21 +12,22 @@
<div class="radio check-box"> <div class="radio check-box">
<input type="radio" value="2" name="mobileType"> 下单用户</label> <input type="radio" value="2" name="mobileType"> 下单用户</label>
</div> </div>
</div>
<div class="form-group">
<label class="control-label">演出id:</label>
<div class="input-group date">
<input id="performanceId" class="form-control" type="text">
</div>
</div> </div>
</div> </div>
<th:block th:include="include :: footer"/> <th:block th:include="include :: footer"/>
<script th:inline="javascript"> <script th:inline="javascript">
var prefix = ctx + "/tools";
function submitHandler() { function submitHandler() {
// $.operate.save(prefix + "/export/mobile", $('#form-fun1-edit').serialize());
var param = { var param = {
"mobileType": document.getElementsByName("mobileType")[0].checked ? 1 : 2 "mobileType": document.getElementsByName("mobileType")[0].checked ? 1 : 2,
"performanceId": $('#performanceId').val()
}; };
// $.operate.save(prefix + "/export/mobile", param); $.operate.post([[${url}]], param, function (res) {
$.operate.post(prefix + "/export/mobile", param, function (res) {
}); });
} }
</script> </script>
......
...@@ -28,8 +28,7 @@ ...@@ -28,8 +28,7 @@
</div> </div>
<th:block th:include="include :: footer"/> <th:block th:include="include :: footer"/>
<script th:inline="javascript"> <script th:inline="javascript">
var prefix = ctx+"tools/"; var prefix = ctx + "tools/";
console.log(ctx);
var options = { var options = {
url: prefix, url: prefix,
modalName: "", modalName: "",
......
package com.liquidnet.client.admin.zhengzai.kylin.dto;
import com.liquidnet.client.admin.common.annotation.Excel;
import lombok.Data;
@Data
public class OrderExportVo {
@Excel(name = "演出名称",cellType = Excel.ColumnType.STRING)
private String performanceTitle;
@Excel(name = "手机号",cellType = Excel.ColumnType.STRING)
private String enterMobile;
@Excel(name = "姓名",cellType = Excel.ColumnType.STRING)
private String enterName;
}
package com.liquidnet.client.admin.zhengzai.kylin.service;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.zhengzai.kylin.dto.OrderExportVo;
import com.liquidnet.client.admin.zhengzai.kylin.dto.OrderOutLineVo;
import java.util.List;
public interface IExportService {
List<OrderExportVo> exportOrderByPerformanceIdAll(String performancesId);
List<OrderExportVo> exportOrderByPerformanceIdPay(String performancesId);
}
package com.liquidnet.client.admin.zhengzai.kylin.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.fasterxml.jackson.core.type.TypeReference;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.common.exception.BusinessException;
import com.liquidnet.client.admin.common.utils.StringUtils;
import com.liquidnet.client.admin.zhengzai.kylin.dto.OrderExportVo;
import com.liquidnet.client.admin.zhengzai.kylin.dto.OrderOutLineVo;
import com.liquidnet.client.admin.zhengzai.kylin.service.IExportService;
import com.liquidnet.client.admin.zhengzai.kylin.service.IImportService;
import com.liquidnet.client.admin.zhengzai.kylin.utils.DataUtils;
import com.liquidnet.client.admin.zhengzai.kylin.utils.OrderUtils;
import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.constant.KylinTableStatusConst;
import com.liquidnet.service.kylin.dao.OrderExportDao;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.mapper.*;
import com.liquidnet.service.kylin.service.admin.IKylinPerformancesAdminService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Service;
import org.springframework.util.MultiValueMap;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
@Service
@Slf4j
public class ExportServiceImpl implements IExportService {
@Autowired
KylinPerformancesMapper performancesMapper;
@Override
public List<OrderExportVo> exportOrderByPerformanceIdAll(String performancesId) {
List<OrderExportDao> list = performancesMapper.exportOrderByPerformanceIdAll(performancesId);
List<OrderExportVo> voList = new ArrayList();
BeanUtils.copyProperties(list,voList);
return voList;
}
@Override
public List<OrderExportVo> exportOrderByPerformanceIdPay(String performancesId) {
List<OrderExportDao> list = performancesMapper.exportOrderByPerformanceIdPay(performancesId);
List<OrderExportVo> voList = new ArrayList();
BeanUtils.copyProperties(list,voList);
return voList;
}
}
package com.liquidnet.service.kylin.dao;
import lombok.Data;
@Data
public class OrderExportDao {
private String performanceTitle;
private String enterMobile;
private String enterName;
}
...@@ -52,4 +52,7 @@ public interface KylinPerformancesMapper extends BaseMapper<KylinPerformances> { ...@@ -52,4 +52,7 @@ public interface KylinPerformancesMapper extends BaseMapper<KylinPerformances> {
List<PerformanceExpressPerformanceListAdminDao> performanceExpressPerformanceList(Map<String, Object> map); List<PerformanceExpressPerformanceListAdminDao> performanceExpressPerformanceList(Map<String, Object> map);
PerformanceExpressPerformanceListAdminDao countExpressNumber(String performancesId); PerformanceExpressPerformanceListAdminDao countExpressNumber(String performancesId);
List<OrderExportDao> exportOrderByPerformanceIdAll(String performancesId);
List<OrderExportDao> exportOrderByPerformanceIdPay(String performancesId);
} }
...@@ -47,6 +47,12 @@ ...@@ -47,6 +47,12 @@
<result column="title" property="title"/> <result column="title" property="title"/>
</resultMap> </resultMap>
<resultMap id="OrderExportDaoResult" type="com.liquidnet.service.kylin.dao.OrderExportDao">
<result column="performance_title" property="performanceTitle"/>
<result column="enter_mobile" property="enterMobile"/>
<result column="enter_name" property="enterName"/>
</resultMap>
<resultMap id="PerformanceSimpleAllDaoResult" type="com.liquidnet.service.kylin.dao.PerformanceSimpleAllDao"> <resultMap id="PerformanceSimpleAllDaoResult" type="com.liquidnet.service.kylin.dao.PerformanceSimpleAllDao">
<result column="performances_id" property="performancesId"/> <result column="performances_id" property="performancesId"/>
<result column="title" property="title"/> <result column="title" property="title"/>
...@@ -278,7 +284,8 @@ ...@@ -278,7 +284,8 @@
LEFT JOIN kylin_order_ticket_status AS ots ON ots.order_id = ot.order_tickets_id LEFT JOIN kylin_order_ticket_status AS ots ON ots.order_id = ot.order_tickets_id
LEFT JOIN kylin_order_ticket_relations AS otr ON otr.order_id = ot.order_tickets_id LEFT JOIN kylin_order_ticket_relations AS otr ON otr.order_id = ot.order_tickets_id
WHERE WHERE
(ots.`status` = 1 or ots.`status` = 0 or ots.`status` = 3 or ots.`status` = 6) and coupon_type ='no' and ots.transfer_status in (0,1,2,5) (ots.`status` = 1 or ots.`status` = 0 or ots.`status` = 3 or ots.`status` = 6) and coupon_type ='no' and
ots.transfer_status in (0,1,2,5)
GROUP BY otr.performance_id GROUP BY otr.performance_id
) AS ot ON ot.performance_id = p.performances_id ) AS ot ON ot.performance_id = p.performances_id
<where> <where>
...@@ -354,7 +361,8 @@ ...@@ -354,7 +361,8 @@
INNER JOIN kylin_tickets AS t ON t.tickets_id = tr.ticket_id INNER JOIN kylin_tickets AS t ON t.tickets_id = tr.ticket_id
INNER JOIN kylin_ticket_status AS ts ON ts.ticket_id = tr.ticket_id INNER JOIN kylin_ticket_status AS ts ON ts.ticket_id = tr.ticket_id
<where> <where>
<foreach collection="performanceList" item="performanceIds" index="index" open="performances_id in (" close=")" separator=","> <foreach collection="performanceList" item="performanceIds" index="index" open="performances_id in ("
close=")" separator=",">
${performanceIds} ${performanceIds}
</foreach> </foreach>
</where> </where>
...@@ -518,7 +526,8 @@ ...@@ -518,7 +526,8 @@
</where> </where>
order by sponsor_id order by sponsor_id
</select> </select>
<select id="performanceExpressPerformanceList" resultType="com.liquidnet.service.kylin.dao.PerformanceExpressPerformanceListAdminDao"> <select id="performanceExpressPerformanceList"
resultType="com.liquidnet.service.kylin.dao.PerformanceExpressPerformanceListAdminDao">
SELECT SELECT
p.performances_id , p.performances_id ,
p.title , p.title ,
...@@ -544,7 +553,8 @@ ...@@ -544,7 +553,8 @@
GROUP BY p.performances_id GROUP BY p.performances_id
ORDER BY p.created_at DESC ORDER BY p.created_at DESC
</select> </select>
<select id="countExpressNumber" resultType="com.liquidnet.service.kylin.dao.PerformanceExpressPerformanceListAdminDao"> <select id="countExpressNumber"
resultType="com.liquidnet.service.kylin.dao.PerformanceExpressPerformanceListAdminDao">
SELECT SELECT
COUNT(*) total_number COUNT(*) total_number
FROM FROM
...@@ -558,4 +568,23 @@ ...@@ -558,4 +568,23 @@
AND ots.transfer_status IN (0, 1, 3, 5) AND ots.transfer_status IN (0, 1, 3, 5)
AND ot.get_ticket_type = 'express' AND ot.get_ticket_type = 'express'
</select> </select>
<select id="exportOrderByPerformanceIdAll" resultMap="OrderExportDaoResult">
SELECT performance_title,user_mobile,enter_name
FROM kylin_order_tickets kot
INNER JOIN kylin_order_ticket_relations as kotr on kotr.order_id = kot.order_tickets_id
INNER JOIN kylin_order_ticket_status as kots on kots.order_id = kot.order_tickets_id
WHERE performance_id = #{performancesId}
GROUP BY user_mobile;
</select>
<select id="exportOrderByPerformanceIdPay" resultMap="OrderExportDaoResult">
SELECT performance_title,user_mobile,enter_name
FROM kylin_order_tickets kot
INNER JOIN kylin_order_ticket_relations as kotr on kotr.order_id = kot.order_tickets_id
INNER JOIN kylin_order_ticket_status as kots on kots.order_id = kot.order_tickets_id
WHERE performance_id = #{performancesId}
AND status IN (1, 3)
GROUP BY user_mobile;
</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