支付
This commit is contained in:
24
zhwl-travel-agency/zhwl-travel-agency-ticket-order/pom.xml
Normal file
24
zhwl-travel-agency/zhwl-travel-agency-ticket-order/pom.xml
Normal file
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.zhwl</groupId>
|
||||
<artifactId>zhwl-travel-agency</artifactId>
|
||||
<version>3.8.7</version>
|
||||
</parent>
|
||||
|
||||
<description>旅行社订单模块</description>
|
||||
<artifactId>zhwl-travel-agency-ticket-order</artifactId>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.zhwl</groupId>
|
||||
<artifactId>zhwl-travel-agency-guide</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.zhwl</groupId>
|
||||
<artifactId>zhwl-ticket-order</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
@@ -0,0 +1,185 @@
|
||||
package com.zhwl.travelagency.order.controller;
|
||||
|
||||
import com.zhwl.common.annotation.RepeatSubmit;
|
||||
import com.zhwl.common.annotation.SelectDictText;
|
||||
import com.zhwl.common.core.controller.BaseController;
|
||||
import com.zhwl.common.core.domain.AjaxResult;
|
||||
import com.zhwl.common.core.domain.ZdyTicketOrderVerificationHistory;
|
||||
import com.zhwl.common.core.domain.entity.SysUser;
|
||||
import com.zhwl.common.core.page.TableDataInfo;
|
||||
import com.zhwl.common.utils.SecurityUtils;
|
||||
import com.zhwl.common.utils.poi.ExcelUtil;
|
||||
import com.zhwl.ticket.order.domain.bo.ZdyTicketOrderBo;
|
||||
import com.zhwl.ticket.order.domain.bo.ZdyTicketOrderRefundBo;
|
||||
import com.zhwl.ticket.order.domain.bo.ZdyTicketOrderRefundCheckBo;
|
||||
import com.zhwl.ticket.order.domain.vo.ZdyTicketOrderRefundVo;
|
||||
import com.zhwl.ticket.order.domain.vo.ZdyTicketOrderVo;
|
||||
import com.zhwl.ticket.order.dto.ZdyTicketOrderDto;
|
||||
import com.zhwl.ticket.order.dto.ZdyTicketOrderRefundDto;
|
||||
import com.zhwl.travelagency.order.domain.UserTouristTemplate;
|
||||
import com.zhwl.travelagency.order.dto.ZdyTravelAgencyTicketDTO;
|
||||
import com.zhwl.travelagency.order.service.IZdyTravelAgencyTicketService;
|
||||
import com.zhwl.travelagency.order.vo.ZdyTravelAgencyTicketVO;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 旅行社售卖门票
|
||||
*
|
||||
* @author wangxing
|
||||
* @date 2024-06-24
|
||||
*/
|
||||
@SelectDictText
|
||||
@RestController
|
||||
@RequestMapping("/travelagency/ticket")
|
||||
public class ZdyTravelAgencyTicketController extends BaseController {
|
||||
@Autowired
|
||||
private IZdyTravelAgencyTicketService zdyTravelAgencyTicketService;
|
||||
|
||||
/**
|
||||
* 查询旅行社可售卖门票列表
|
||||
*
|
||||
* @param zdyTravelAgencyTicketDTO
|
||||
* @return
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('travelagency:ticket:list')")
|
||||
@PostMapping("/list")
|
||||
public TableDataInfo list(@RequestBody ZdyTravelAgencyTicketDTO zdyTravelAgencyTicketDTO) {
|
||||
List<ZdyTravelAgencyTicketVO> list = zdyTravelAgencyTicketService.selectSalesTickets(zdyTravelAgencyTicketDTO);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 旅行社下单接口
|
||||
*/
|
||||
@RepeatSubmit
|
||||
@PostMapping("/order")
|
||||
public AjaxResult order(@RequestBody ZdyTicketOrderBo zdyTicketOrder) {
|
||||
return zdyTravelAgencyTicketService.order(zdyTicketOrder);
|
||||
}
|
||||
|
||||
/**
|
||||
* 下载游客模板
|
||||
*/
|
||||
@PostMapping("/download/tourist/template")
|
||||
public void downloadTouristTemplate(HttpServletResponse response) {
|
||||
ExcelUtil<UserTouristTemplate> util = new ExcelUtil<>(UserTouristTemplate.class);
|
||||
util.exportExcel(response, Collections.emptyList(), "游客模板");
|
||||
}
|
||||
|
||||
/**
|
||||
* 导入游客信息
|
||||
*/
|
||||
@PostMapping("/import/tourist/data")
|
||||
public AjaxResult importTouristData(MultipartFile file) throws Exception {
|
||||
ExcelUtil<UserTouristTemplate> util = new ExcelUtil<>(UserTouristTemplate.class);
|
||||
List<UserTouristTemplate> userList = util.importExcel(file.getInputStream());
|
||||
List<UserTouristTemplate> list = zdyTravelAgencyTicketService.importData(userList);
|
||||
return success(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 旅行社角色提交退款申请,如果不需要审核,直接可以退款
|
||||
* 如果需要审核,则管理员角色需要点审核
|
||||
* <p>
|
||||
* 订单退款 申请
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('travelagency:ticketOrder:refund:apply')")
|
||||
@PostMapping("/refund/apply")
|
||||
public AjaxResult refundApply(@RequestBody ZdyTicketOrderRefundBo zdyTicketOrderRefundBo) throws Exception {
|
||||
zdyTicketOrderRefundBo.setSysUserId(getUserId());
|
||||
zdyTicketOrderRefundBo.setUserName(getLoginUser().getUser().getNickName());
|
||||
return zdyTravelAgencyTicketService.refundApply(zdyTicketOrderRefundBo);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 订单退款 审核
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('travelagency:ticketOrder:refund:check')")
|
||||
@PostMapping("/refund/check")
|
||||
public AjaxResult refundCheck(@RequestBody ZdyTicketOrderRefundCheckBo zdyTicketOrderRefundCheckBo) throws Exception {
|
||||
SysUser user = SecurityUtils.getLoginUser().getUser();
|
||||
zdyTicketOrderRefundCheckBo.setUserName(user.getNickName());
|
||||
return zdyTravelAgencyTicketService.refundCheck(zdyTicketOrderRefundCheckBo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 管理员角色 主动退款
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('travelagency:ticketOrder:refund')")
|
||||
@PostMapping("/active/refund")
|
||||
public AjaxResult activeRefund(@RequestBody ZdyTicketOrderRefundBo zdyTicketOrderRefundBo) throws Exception {
|
||||
zdyTicketOrderRefundBo.setSysUserId(getUserId());
|
||||
zdyTicketOrderRefundBo.setUserName(getLoginUser().getUser().getNickName());
|
||||
return zdyTravelAgencyTicketService.activeRefund(zdyTicketOrderRefundBo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询旅行社订单列表
|
||||
*
|
||||
* @param zdyTicketOrderDto
|
||||
* @return
|
||||
*/
|
||||
@SelectDictText
|
||||
@PreAuthorize("@ss.hasPermi('travelagency:ticketOrder:list')")
|
||||
@GetMapping("/order/list")
|
||||
public TableDataInfo orderList(ZdyTicketOrderDto zdyTicketOrderDto) {
|
||||
List<ZdyTicketOrderVo> list = zdyTravelAgencyTicketService.orderList(SecurityUtils.getDeptId(), zdyTicketOrderDto);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询旅行社订单详情
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('travelagency:ticketOrder:detail')")
|
||||
@GetMapping("/order/detail/{id}")
|
||||
public AjaxResult orderDetail(@PathVariable("id") Long id) {
|
||||
return success(zdyTravelAgencyTicketService.orderDetail(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询旅行社退款订单列表
|
||||
*
|
||||
* @param zdyTicketOrderRefundDto
|
||||
* @return
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('travelagency:refund:ticketOrder:list')")
|
||||
@GetMapping("/refund/order/list")
|
||||
public TableDataInfo refundOrderList(ZdyTicketOrderRefundDto zdyTicketOrderRefundDto) {
|
||||
List<ZdyTicketOrderRefundVo> list = zdyTravelAgencyTicketService.refundOrderList(SecurityUtils.getDeptId(), zdyTicketOrderRefundDto);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询旅行社退款订单详情
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('travelagency:refund:ticketOrder:detail')")
|
||||
@GetMapping("/refund/order/detail/{id}")
|
||||
public AjaxResult refundOrderDetail(@PathVariable("id") Long id) {
|
||||
return success(zdyTravelAgencyTicketService.refundOrderDetail(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询核销订单
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('travelagency:ticketOrderActivityHis:list')")
|
||||
@GetMapping("/handVerificationlist")
|
||||
public TableDataInfo handVerificationlist(ZdyTicketOrderVerificationHistory zdyTicketOrderActivityHistory) {
|
||||
startPage();
|
||||
List<ZdyTicketOrderVerificationHistory> list = zdyTravelAgencyTicketService.selectZdyTicketOrderVerificationHistoryList(zdyTicketOrderActivityHistory);
|
||||
return getDataTable(list);
|
||||
}
|
||||
}
|
@@ -0,0 +1,61 @@
|
||||
package com.zhwl.travelagency.order.domain;
|
||||
|
||||
import com.zhwl.common.annotation.Excel;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
public class UserTouristTemplate implements Serializable {
|
||||
private static final long serialVersionUID = -8753696202187451521L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
private Long id;
|
||||
/**
|
||||
* 姓名
|
||||
*/
|
||||
@Excel(name = "姓名")
|
||||
private String name;
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
@Excel(name = "手机号")
|
||||
private String mobile;
|
||||
/**
|
||||
* 身份证号
|
||||
*/
|
||||
@Excel(name = "身份证号")
|
||||
private String idCard;
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getMobile() {
|
||||
return mobile;
|
||||
}
|
||||
|
||||
public void setMobile(String mobile) {
|
||||
this.mobile = mobile;
|
||||
}
|
||||
|
||||
public String getIdCard() {
|
||||
return idCard;
|
||||
}
|
||||
|
||||
public void setIdCard(String idCard) {
|
||||
this.idCard = idCard;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
}
|
@@ -0,0 +1,147 @@
|
||||
package com.zhwl.travelagency.order.domain;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
import com.zhwl.common.annotation.Excel;
|
||||
import com.zhwl.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 旅行社销售记录对象 zdy_travel_agency_order_sales_record
|
||||
*
|
||||
* @author wangxing
|
||||
* @date 2024-07-05
|
||||
*/
|
||||
public class ZdyTravelAgencyOrderSalesRecord extends BaseEntity {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 汇总时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@Excel(name = "汇总时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private Date summaryTime;
|
||||
|
||||
/**
|
||||
* 旅行社id
|
||||
*/
|
||||
@Excel(name = "旅行社id")
|
||||
private Long travelAgencyId;
|
||||
|
||||
/**
|
||||
* 门票id
|
||||
*/
|
||||
@Excel(name = "门票id")
|
||||
private Long ticketId;
|
||||
|
||||
/**
|
||||
* 销售订单数量
|
||||
*/
|
||||
@Excel(name = "销售订单数量")
|
||||
private Integer salesOrderQuantity;
|
||||
|
||||
/**
|
||||
* 销售金额
|
||||
*/
|
||||
@Excel(name = "销售金额")
|
||||
private BigDecimal salesOrderPrice;
|
||||
|
||||
/**
|
||||
* 退款订单数量
|
||||
*/
|
||||
@Excel(name = "退款订单数量")
|
||||
private Integer refundOrderQuantity;
|
||||
|
||||
/**
|
||||
* 退款金额
|
||||
*/
|
||||
@Excel(name = "退款金额")
|
||||
private BigDecimal refundOrderPrice;
|
||||
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setSummaryTime(Date summaryTime) {
|
||||
this.summaryTime = summaryTime;
|
||||
}
|
||||
|
||||
public Date getSummaryTime() {
|
||||
return summaryTime;
|
||||
}
|
||||
|
||||
public void setTravelAgencyId(Long travelAgencyId) {
|
||||
this.travelAgencyId = travelAgencyId;
|
||||
}
|
||||
|
||||
public Long getTravelAgencyId() {
|
||||
return travelAgencyId;
|
||||
}
|
||||
|
||||
public void setTicketId(Long ticketId) {
|
||||
this.ticketId = ticketId;
|
||||
}
|
||||
|
||||
public Long getTicketId() {
|
||||
return ticketId;
|
||||
}
|
||||
|
||||
public Integer getSalesOrderQuantity() {
|
||||
return salesOrderQuantity;
|
||||
}
|
||||
|
||||
public void setSalesOrderQuantity(Integer salesOrderQuantity) {
|
||||
this.salesOrderQuantity = salesOrderQuantity;
|
||||
}
|
||||
|
||||
public void setSalesOrderPrice(BigDecimal salesOrderPrice) {
|
||||
this.salesOrderPrice = salesOrderPrice;
|
||||
}
|
||||
|
||||
public BigDecimal getSalesOrderPrice() {
|
||||
return salesOrderPrice;
|
||||
}
|
||||
|
||||
public Integer getRefundOrderQuantity() {
|
||||
return refundOrderQuantity;
|
||||
}
|
||||
|
||||
public void setRefundOrderQuantity(Integer refundOrderQuantity) {
|
||||
this.refundOrderQuantity = refundOrderQuantity;
|
||||
}
|
||||
|
||||
public void setRefundOrderPrice(BigDecimal refundOrderPrice) {
|
||||
this.refundOrderPrice = refundOrderPrice;
|
||||
}
|
||||
|
||||
public BigDecimal getRefundOrderPrice() {
|
||||
return refundOrderPrice;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("id", getId())
|
||||
.append("summaryTime", getSummaryTime())
|
||||
.append("travelAgencyId", getTravelAgencyId())
|
||||
.append("ticketId", getTicketId())
|
||||
.append("salesOrderQuantity", getSalesOrderQuantity())
|
||||
.append("salesOrderPrice", getSalesOrderPrice())
|
||||
.append("refundOrderQuantity", getRefundOrderQuantity())
|
||||
.append("refundOrderPrice", getRefundOrderPrice())
|
||||
.toString();
|
||||
}
|
||||
}
|
@@ -0,0 +1,41 @@
|
||||
package com.zhwl.travelagency.order.dto;
|
||||
|
||||
import com.zhwl.common.core.domain.BaseEntity;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @Title: GuideSaleSummaryDTO
|
||||
* @Author wangtao
|
||||
* @Date 2024/6/28 10:54
|
||||
* @description:
|
||||
*/
|
||||
public class ZdyTravelAgencyOrderSalesRecordDTO extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 7851078152786319920L;
|
||||
|
||||
/**
|
||||
* 旅行社id
|
||||
*/
|
||||
private Long travelAgencyId;
|
||||
/**
|
||||
* 门票名称
|
||||
*/
|
||||
private String ticketName;
|
||||
|
||||
public Long getTravelAgencyId() {
|
||||
return travelAgencyId;
|
||||
}
|
||||
|
||||
public void setTravelAgencyId(Long travelAgencyId) {
|
||||
this.travelAgencyId = travelAgencyId;
|
||||
}
|
||||
|
||||
public String getTicketName() {
|
||||
return ticketName;
|
||||
}
|
||||
|
||||
public void setTicketName(String ticketName) {
|
||||
this.ticketName = ticketName;
|
||||
}
|
||||
}
|
@@ -0,0 +1,40 @@
|
||||
package com.zhwl.travelagency.order.dto;
|
||||
|
||||
import com.zhwl.common.core.domain.BaseEntity;
|
||||
|
||||
|
||||
/**
|
||||
* @Title: ZdyTravelAgencyTicketDTO
|
||||
* @Author wangtao
|
||||
* @Date 2024/6/28 15:01
|
||||
* @description: 旅行社售卖门票
|
||||
*/
|
||||
public class ZdyTravelAgencyTicketDTO extends BaseEntity {
|
||||
private static final long serialVersionUID = 5828220841929104642L;
|
||||
|
||||
/**
|
||||
* 旅行社id
|
||||
*/
|
||||
private Long travelAgencyId;
|
||||
|
||||
/**
|
||||
* 门票名称
|
||||
*/
|
||||
private String ticketName;
|
||||
|
||||
public Long getTravelAgencyId() {
|
||||
return travelAgencyId;
|
||||
}
|
||||
|
||||
public void setTravelAgencyId(Long travelAgencyId) {
|
||||
this.travelAgencyId = travelAgencyId;
|
||||
}
|
||||
|
||||
public String getTicketName() {
|
||||
return ticketName;
|
||||
}
|
||||
|
||||
public void setTicketName(String ticketName) {
|
||||
this.ticketName = ticketName;
|
||||
}
|
||||
}
|
@@ -0,0 +1,79 @@
|
||||
package com.zhwl.travelagency.order.mapper;
|
||||
|
||||
|
||||
import com.zhwl.common.annotation.DataScope;
|
||||
import com.zhwl.travelagency.order.domain.ZdyTravelAgencyOrderSalesRecord;
|
||||
import com.zhwl.travelagency.order.dto.ZdyTravelAgencyOrderSalesRecordDTO;
|
||||
import com.zhwl.travelagency.order.vo.ZdyTravelAgencyOrderSalesRecordVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 旅行社销售记录Mapper接口
|
||||
*
|
||||
* @author wangxing
|
||||
* @date 2024-07-05
|
||||
*/
|
||||
public interface ZdyTravelAgencyOrderSalesRecordMapper {
|
||||
/**
|
||||
* 查询旅行社销售记录
|
||||
*
|
||||
* @param id 旅行社销售记录主键
|
||||
* @return 旅行社销售记录
|
||||
*/
|
||||
public ZdyTravelAgencyOrderSalesRecord selectZdyTravelAgencyOrderSalesRecordById(Long id);
|
||||
|
||||
/**
|
||||
* 查询旅行社销售记录列表
|
||||
*
|
||||
* @param zdyTravelAgencyOrderSalesRecord 旅行社销售记录
|
||||
* @return 旅行社销售记录集合
|
||||
*/
|
||||
public List<ZdyTravelAgencyOrderSalesRecord> selectZdyTravelAgencyOrderSalesRecordList(ZdyTravelAgencyOrderSalesRecord zdyTravelAgencyOrderSalesRecord);
|
||||
|
||||
/**
|
||||
* 查询旅行社销售记录列表
|
||||
*
|
||||
* @param zdyTravelAgencyOrderSalesRecord 旅行社销售记录
|
||||
* @return 旅行社销售记录集合
|
||||
*/
|
||||
@DataScope(deptAlias = "i")
|
||||
public List<ZdyTravelAgencyOrderSalesRecordVO> selectZdyTravelAgencyOrderSalesRecordListReport(ZdyTravelAgencyOrderSalesRecordDTO zdyTravelAgencyOrderSalesRecordDTO);
|
||||
|
||||
/**
|
||||
* 新增旅行社销售记录
|
||||
*
|
||||
* @param zdyTravelAgencyOrderSalesRecord 旅行社销售记录
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertZdyTravelAgencyOrderSalesRecord(ZdyTravelAgencyOrderSalesRecord zdyTravelAgencyOrderSalesRecord);
|
||||
|
||||
/**
|
||||
* 修改旅行社销售记录
|
||||
*
|
||||
* @param zdyTravelAgencyOrderSalesRecord 旅行社销售记录
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateZdyTravelAgencyOrderSalesRecord(ZdyTravelAgencyOrderSalesRecord zdyTravelAgencyOrderSalesRecord);
|
||||
|
||||
/**
|
||||
* 删除旅行社销售记录
|
||||
*
|
||||
* @param id 旅行社销售记录主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteZdyTravelAgencyOrderSalesRecordById(Long id);
|
||||
|
||||
/**
|
||||
* 批量删除旅行社销售记录
|
||||
*
|
||||
* @param ids 需要删除的数据主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteZdyTravelAgencyOrderSalesRecordByIds(Long[] ids);
|
||||
|
||||
int insertAndUpdate(ZdyTravelAgencyOrderSalesRecord zdyTravelAgencyOrderSalesRecord);
|
||||
|
||||
@DataScope(deptAlias = "i")
|
||||
ZdyTravelAgencyOrderSalesRecordVO summary(ZdyTravelAgencyOrderSalesRecordDTO zdyTravelAgencyOrderSalesRecordDTO);
|
||||
}
|
@@ -0,0 +1,55 @@
|
||||
package com.zhwl.travelagency.order.mapper;
|
||||
|
||||
|
||||
import com.zhwl.common.annotation.DataScope;
|
||||
import com.zhwl.ticket.order.domain.vo.ZdyTicketOrderRefundVo;
|
||||
import com.zhwl.ticket.order.domain.vo.ZdyTicketOrderVo;
|
||||
import com.zhwl.ticket.order.dto.ZdyTicketOrderDto;
|
||||
import com.zhwl.ticket.order.dto.ZdyTicketOrderRefundDto;
|
||||
import com.zhwl.travelagency.order.dto.ZdyTravelAgencyTicketDTO;
|
||||
import com.zhwl.travelagency.order.vo.ZdyTravelAgencyTicketVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Title: ZdyTravelAgencyTicketMapper
|
||||
* @Author wangtao
|
||||
* @Date 2024/6/28 15:09
|
||||
* @description:
|
||||
*/
|
||||
public interface ZdyTravelAgencyTicketMapper {
|
||||
|
||||
@DataScope(deptAlias = "i")
|
||||
List<ZdyTravelAgencyTicketVO> selectSalesTickets(ZdyTravelAgencyTicketDTO zdyTravelAgencyTicketDTO);
|
||||
|
||||
|
||||
/**
|
||||
* 查询旅行社门票订单
|
||||
*
|
||||
* @param zdyTicketOrderDto
|
||||
* @return
|
||||
*/
|
||||
@DataScope(deptAlias = "d")
|
||||
List<ZdyTicketOrderVo> selectZdyTicketOrderList(ZdyTicketOrderDto zdyTicketOrderDto);
|
||||
|
||||
|
||||
/**
|
||||
* 只查询旅行社自己的门票订单
|
||||
*
|
||||
* @param zdyTicketOrderDto
|
||||
* @return
|
||||
*/
|
||||
List<ZdyTicketOrderVo> selectZdyTicketOrderListNoDataScope(ZdyTicketOrderDto zdyTicketOrderDto);
|
||||
|
||||
|
||||
/**
|
||||
* 查询旅行社门票退款订单
|
||||
*/
|
||||
@DataScope(deptAlias = "d")
|
||||
List<ZdyTicketOrderRefundVo> selectZdyTicketOrderRefundList(ZdyTicketOrderRefundDto zdyTicketOrderRefundDto);
|
||||
|
||||
/**
|
||||
* 只查询当前旅行社门票退款订单
|
||||
*/
|
||||
List<ZdyTicketOrderRefundVo> selectZdyTicketOrderRefundListNoDataScope(ZdyTicketOrderRefundDto zdyTicketOrderRefundDto);
|
||||
}
|
@@ -0,0 +1,75 @@
|
||||
package com.zhwl.travelagency.order.service;
|
||||
|
||||
import com.zhwl.travelagency.order.domain.ZdyTravelAgencyOrderSalesRecord;
|
||||
import com.zhwl.travelagency.order.dto.ZdyTravelAgencyOrderSalesRecordDTO;
|
||||
import com.zhwl.travelagency.order.vo.ZdyTravelAgencyOrderSalesRecordVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 旅行社销售记录Service接口
|
||||
*
|
||||
* @author wangxing
|
||||
* @date 2024-07-05
|
||||
*/
|
||||
public interface IZdyTravelAgencyOrderSalesRecordService {
|
||||
/**
|
||||
* 查询旅行社销售记录
|
||||
*
|
||||
* @param id 旅行社销售记录主键
|
||||
* @return 旅行社销售记录
|
||||
*/
|
||||
public ZdyTravelAgencyOrderSalesRecord selectZdyTravelAgencyOrderSalesRecordById(Long id);
|
||||
|
||||
/**
|
||||
* 查询旅行社销售记录列表
|
||||
*
|
||||
* @param zdyTravelAgencyOrderSalesRecord 旅行社销售记录
|
||||
* @return 旅行社销售记录集合
|
||||
*/
|
||||
public List<ZdyTravelAgencyOrderSalesRecord> selectZdyTravelAgencyOrderSalesRecordList(ZdyTravelAgencyOrderSalesRecord zdyTravelAgencyOrderSalesRecord);
|
||||
|
||||
/**
|
||||
* 报表查询
|
||||
*
|
||||
* @param zdyTravelAgencyOrderSalesRecordDTO
|
||||
* @return
|
||||
*/
|
||||
public List<ZdyTravelAgencyOrderSalesRecordVO> selectZdyTravelAgencyOrderSalesRecordListReport(ZdyTravelAgencyOrderSalesRecordDTO zdyTravelAgencyOrderSalesRecordDTO);
|
||||
|
||||
/**
|
||||
* 新增旅行社销售记录
|
||||
*
|
||||
* @param zdyTravelAgencyOrderSalesRecord 旅行社销售记录
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertZdyTravelAgencyOrderSalesRecord(ZdyTravelAgencyOrderSalesRecord zdyTravelAgencyOrderSalesRecord);
|
||||
|
||||
/**
|
||||
* 修改旅行社销售记录
|
||||
*
|
||||
* @param zdyTravelAgencyOrderSalesRecord 旅行社销售记录
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateZdyTravelAgencyOrderSalesRecord(ZdyTravelAgencyOrderSalesRecord zdyTravelAgencyOrderSalesRecord);
|
||||
|
||||
/**
|
||||
* 批量删除旅行社销售记录
|
||||
*
|
||||
* @param ids 需要删除的旅行社销售记录主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteZdyTravelAgencyOrderSalesRecordByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 删除旅行社销售记录信息
|
||||
*
|
||||
* @param id 旅行社销售记录主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteZdyTravelAgencyOrderSalesRecordById(Long id);
|
||||
|
||||
public int insertAndUpdate(ZdyTravelAgencyOrderSalesRecord record);
|
||||
|
||||
public ZdyTravelAgencyOrderSalesRecordVO summary(ZdyTravelAgencyOrderSalesRecordDTO zdyTravelAgencyOrderSalesRecordDTO);
|
||||
}
|
@@ -0,0 +1,52 @@
|
||||
package com.zhwl.travelagency.order.service;
|
||||
|
||||
|
||||
import com.zhwl.common.core.domain.AjaxResult;
|
||||
import com.zhwl.common.core.domain.ZdyTicketOrder;
|
||||
import com.zhwl.common.core.domain.ZdyTicketOrderItem;
|
||||
import com.zhwl.common.core.domain.ZdyTicketOrderVerificationHistory;
|
||||
import com.zhwl.ticket.order.domain.ZdyTicketOrderRefund;
|
||||
import com.zhwl.ticket.order.domain.ZdyTicketOrderRefundItem;
|
||||
import com.zhwl.ticket.order.domain.bo.ZdyTicketOrderBo;
|
||||
import com.zhwl.ticket.order.domain.bo.ZdyTicketOrderRefundBo;
|
||||
import com.zhwl.ticket.order.domain.bo.ZdyTicketOrderRefundCheckBo;
|
||||
import com.zhwl.ticket.order.domain.vo.ZdyTicketOrderRefundVo;
|
||||
import com.zhwl.ticket.order.domain.vo.ZdyTicketOrderVo;
|
||||
import com.zhwl.ticket.order.dto.ZdyTicketOrderDto;
|
||||
import com.zhwl.ticket.order.dto.ZdyTicketOrderRefundDto;
|
||||
import com.zhwl.travelagency.order.domain.UserTouristTemplate;
|
||||
import com.zhwl.travelagency.order.dto.ZdyTravelAgencyTicketDTO;
|
||||
import com.zhwl.travelagency.order.vo.ZdyTravelAgencyTicketVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Title: ZdyTravelAgencyTicketService
|
||||
* @Author wangtao
|
||||
* @Date 2024/6/28 15:05
|
||||
* @description:
|
||||
*/
|
||||
public interface IZdyTravelAgencyTicketService {
|
||||
|
||||
List<ZdyTravelAgencyTicketVO> selectSalesTickets(ZdyTravelAgencyTicketDTO zdyTravelAgencyTicketDTO);
|
||||
|
||||
AjaxResult order(ZdyTicketOrderBo zdyTicketOrder);
|
||||
|
||||
List<UserTouristTemplate> importData(List<UserTouristTemplate> userTourist);
|
||||
|
||||
AjaxResult refundCheck(ZdyTicketOrderRefundCheckBo zdyTicketOrderRefundCheckBo);
|
||||
|
||||
AjaxResult refundApply(ZdyTicketOrderRefundBo zdyTicketOrderRefund);
|
||||
|
||||
AjaxResult activeRefund(ZdyTicketOrderRefundBo zdyTicketOrderRefund);
|
||||
|
||||
List<ZdyTicketOrderVo> orderList(Long deptId, ZdyTicketOrderDto zdyTicketOrderDto);
|
||||
|
||||
ZdyTicketOrderVo orderDetail(Long id);
|
||||
|
||||
List<ZdyTicketOrderRefundVo> refundOrderList(Long deptId, ZdyTicketOrderRefundDto zdyTicketOrderRefundDto);
|
||||
|
||||
ZdyTicketOrderRefundVo refundOrderDetail(Long id);
|
||||
|
||||
List<ZdyTicketOrderVerificationHistory> selectZdyTicketOrderVerificationHistoryList(ZdyTicketOrderVerificationHistory zdyTicketOrderActivityHistory);
|
||||
}
|
@@ -0,0 +1,130 @@
|
||||
package com.zhwl.travelagency.order.service.impl;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
import com.zhwl.common.core.domain.model.LoginUser;
|
||||
import com.zhwl.common.utils.SecurityUtils;
|
||||
import com.zhwl.travelagency.account.service.ITravelAgencyCommonService;
|
||||
import com.zhwl.travelagency.order.domain.ZdyTravelAgencyOrderSalesRecord;
|
||||
import com.zhwl.travelagency.order.dto.ZdyTravelAgencyOrderSalesRecordDTO;
|
||||
import com.zhwl.travelagency.order.mapper.ZdyTravelAgencyOrderSalesRecordMapper;
|
||||
import com.zhwl.travelagency.order.service.IZdyTravelAgencyOrderSalesRecordService;
|
||||
import com.zhwl.travelagency.order.vo.ZdyTravelAgencyOrderSalesRecordVO;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* 旅行社销售记录Service业务层处理
|
||||
*
|
||||
* @author wangxing
|
||||
* @date 2024-07-05
|
||||
*/
|
||||
@Service
|
||||
public class ZdyTravelAgencyOrderSalesRecordServiceImpl implements IZdyTravelAgencyOrderSalesRecordService {
|
||||
@Autowired
|
||||
private ZdyTravelAgencyOrderSalesRecordMapper zdyTravelAgencyOrderSalesRecordMapper;
|
||||
@Autowired
|
||||
private ITravelAgencyCommonService travelAgencyCommonService;
|
||||
|
||||
/**
|
||||
* 查询旅行社销售记录
|
||||
*
|
||||
* @param id 旅行社销售记录主键
|
||||
* @return 旅行社销售记录
|
||||
*/
|
||||
@Override
|
||||
public ZdyTravelAgencyOrderSalesRecord selectZdyTravelAgencyOrderSalesRecordById(Long id) {
|
||||
return zdyTravelAgencyOrderSalesRecordMapper.selectZdyTravelAgencyOrderSalesRecordById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询旅行社销售记录列表
|
||||
*
|
||||
* @param zdyTravelAgencyOrderSalesRecord 旅行社销售记录
|
||||
* @return 旅行社销售记录
|
||||
*/
|
||||
@Override
|
||||
public List<ZdyTravelAgencyOrderSalesRecord> selectZdyTravelAgencyOrderSalesRecordList(ZdyTravelAgencyOrderSalesRecord zdyTravelAgencyOrderSalesRecord) {
|
||||
return zdyTravelAgencyOrderSalesRecordMapper.selectZdyTravelAgencyOrderSalesRecordList(zdyTravelAgencyOrderSalesRecord);
|
||||
}
|
||||
|
||||
/**
|
||||
* 报表查询
|
||||
*
|
||||
* @param zdyTravelAgencyOrderSalesRecordDTO 查询条件
|
||||
* @return 旅行社销售记录
|
||||
*/
|
||||
@Override
|
||||
public List<ZdyTravelAgencyOrderSalesRecordVO> selectZdyTravelAgencyOrderSalesRecordListReport(ZdyTravelAgencyOrderSalesRecordDTO zdyTravelAgencyOrderSalesRecordDTO) {
|
||||
return zdyTravelAgencyOrderSalesRecordMapper.selectZdyTravelAgencyOrderSalesRecordListReport(zdyTravelAgencyOrderSalesRecordDTO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增旅行社销售记录
|
||||
*
|
||||
* @param zdyTravelAgencyOrderSalesRecord 旅行社销售记录
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int insertZdyTravelAgencyOrderSalesRecord(ZdyTravelAgencyOrderSalesRecord zdyTravelAgencyOrderSalesRecord) {
|
||||
return zdyTravelAgencyOrderSalesRecordMapper.insertZdyTravelAgencyOrderSalesRecord(zdyTravelAgencyOrderSalesRecord);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改旅行社销售记录
|
||||
*
|
||||
* @param zdyTravelAgencyOrderSalesRecord 旅行社销售记录
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateZdyTravelAgencyOrderSalesRecord(ZdyTravelAgencyOrderSalesRecord zdyTravelAgencyOrderSalesRecord) {
|
||||
return zdyTravelAgencyOrderSalesRecordMapper.updateZdyTravelAgencyOrderSalesRecord(zdyTravelAgencyOrderSalesRecord);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除旅行社销售记录
|
||||
*
|
||||
* @param ids 需要删除的旅行社销售记录主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteZdyTravelAgencyOrderSalesRecordByIds(Long[] ids) {
|
||||
return zdyTravelAgencyOrderSalesRecordMapper.deleteZdyTravelAgencyOrderSalesRecordByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除旅行社销售记录信息
|
||||
*
|
||||
* @param id 旅行社销售记录主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteZdyTravelAgencyOrderSalesRecordById(Long id) {
|
||||
return zdyTravelAgencyOrderSalesRecordMapper.deleteZdyTravelAgencyOrderSalesRecordById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int insertAndUpdate(ZdyTravelAgencyOrderSalesRecord record) {
|
||||
return zdyTravelAgencyOrderSalesRecordMapper.insertAndUpdate(record);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询汇总信息
|
||||
*
|
||||
* @param zdyTravelAgencyOrderSalesRecordDTO
|
||||
* @return
|
||||
*/
|
||||
public ZdyTravelAgencyOrderSalesRecordVO summary(ZdyTravelAgencyOrderSalesRecordDTO zdyTravelAgencyOrderSalesRecordDTO) {
|
||||
ZdyTravelAgencyOrderSalesRecordVO summary = zdyTravelAgencyOrderSalesRecordMapper.summary(zdyTravelAgencyOrderSalesRecordDTO);
|
||||
if (!Objects.isNull(summary)) {
|
||||
BigDecimal salesOrderPrice = Objects.isNull(summary.getSalesOrderPrice()) ? BigDecimal.ZERO : summary.getSalesOrderPrice();
|
||||
BigDecimal refundOrderPrice = Objects.isNull(summary.getRefundOrderPrice()) ? BigDecimal.ZERO : summary.getRefundOrderPrice();
|
||||
summary.setActualOrderPrice(salesOrderPrice.subtract(refundOrderPrice));
|
||||
}
|
||||
return summary;
|
||||
}
|
||||
}
|
@@ -0,0 +1,579 @@
|
||||
package com.zhwl.travelagency.order.service.impl;
|
||||
|
||||
import cn.hutool.core.util.ObjUtil;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.zhwl.cms.domain.ZdyArea;
|
||||
import com.zhwl.cms.service.IZdyAreaService;
|
||||
import com.zhwl.common.constant.TicketConstants;
|
||||
import com.zhwl.common.core.domain.*;
|
||||
import com.zhwl.common.core.domain.entity.SysDictData;
|
||||
import com.zhwl.common.enums.DictTypeEnum;
|
||||
import com.zhwl.common.exception.ServiceException;
|
||||
import com.zhwl.common.utils.*;
|
||||
import com.zhwl.common.utils.bean.BeanUtils;
|
||||
import com.zhwl.common.utils.bean.BeanValidators;
|
||||
import com.zhwl.ticket.order.domain.ZdyTicketOrderRefundItem;
|
||||
import com.zhwl.ticket.order.domain.bo.ZdyTicketOrderBo;
|
||||
import com.zhwl.ticket.order.domain.bo.ZdyTicketOrderPayBo;
|
||||
import com.zhwl.ticket.order.domain.bo.ZdyTicketOrderRefundBo;
|
||||
import com.zhwl.ticket.order.domain.bo.ZdyTicketOrderRefundCheckBo;
|
||||
import com.zhwl.ticket.order.domain.vo.*;
|
||||
import com.zhwl.ticket.order.dto.ZdyTicketOrderDto;
|
||||
import com.zhwl.ticket.order.dto.ZdyTicketOrderRefundDto;
|
||||
import com.zhwl.ticket.order.service.IZdyOrderCheckService;
|
||||
import com.zhwl.ticket.order.service.IZdyTicketOrderRefundService;
|
||||
import com.zhwl.ticket.order.service.IZdyTicketOrderService;
|
||||
import com.zhwl.ticket.order.service.IZdyTicketOrderVerificationHistoryService;
|
||||
import com.zhwl.travelagency.account.domain.ZdyTravelAgencyInfo;
|
||||
import com.zhwl.travelagency.account.domain.dto.RechargeDTO;
|
||||
import com.zhwl.travelagency.account.enums.AccountBalanceOperatorTypeEnum;
|
||||
import com.zhwl.travelagency.account.mapper.ZdyTravelAgencyInfoMapper;
|
||||
import com.zhwl.travelagency.account.service.IZdyTravelAgencyInfoService;
|
||||
import com.zhwl.travelagency.account.service.IZdyTravelAgencyTicketAuthorizationService;
|
||||
import com.zhwl.travelagency.guide.domain.ZdyTravelAgencyGuide;
|
||||
import com.zhwl.travelagency.guide.service.IZdyTravelAgencyGuideService;
|
||||
import com.zhwl.travelagency.order.domain.UserTouristTemplate;
|
||||
import com.zhwl.travelagency.order.domain.ZdyTravelAgencyOrderSalesRecord;
|
||||
import com.zhwl.travelagency.order.dto.ZdyTravelAgencyTicketDTO;
|
||||
import com.zhwl.travelagency.order.mapper.ZdyTravelAgencyTicketMapper;
|
||||
import com.zhwl.travelagency.order.service.IZdyTravelAgencyOrderSalesRecordService;
|
||||
import com.zhwl.travelagency.order.service.IZdyTravelAgencyTicketService;
|
||||
import com.zhwl.travelagency.order.vo.ZdyTravelAgencyTicketVO;
|
||||
import com.zhwl.user.mapper.ZdyUserTouristMapper;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.validation.Validator;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
|
||||
import static com.zhwl.common.enums.ScenicOrderType.REFUND_STATUS_FOUR;
|
||||
|
||||
/**
|
||||
* @Title: ZdyTravelAgencyTicketServiceImpl
|
||||
* @Author wangtao
|
||||
* @Date 2024/6/28 15:06
|
||||
* @description:
|
||||
*/
|
||||
@Service
|
||||
public class ZdyTravelAgencyTicketServiceImpl implements IZdyTravelAgencyTicketService {
|
||||
|
||||
private static final Logger LOG = LoggerFactory.getLogger(ZdyTravelAgencyTicketServiceImpl.class);
|
||||
@Autowired
|
||||
private ZdyTravelAgencyTicketMapper zdyTravelAgencyTicketMapper;
|
||||
@Autowired
|
||||
private ZdyTravelAgencyInfoMapper zdyTravelAgencyInfoMapper;
|
||||
@Autowired
|
||||
private IZdyTicketOrderService zdyTicketOrderService;
|
||||
@Autowired
|
||||
private IZdyTravelAgencyInfoService zdyTravelAgencyInfoService;
|
||||
@Autowired
|
||||
private ZdyUserTouristMapper zdyUserTouristMapper;
|
||||
@Autowired
|
||||
protected Validator validator;
|
||||
@Autowired
|
||||
private IZdyTicketOrderRefundService zdyTicketOrderRefundService;
|
||||
@Autowired
|
||||
private IZdyTravelAgencyGuideService zdyTravelAgencyGuideService;
|
||||
@Autowired
|
||||
private IZdyTravelAgencyOrderSalesRecordService zdyTravelAgencyOrderSalesRecordService;
|
||||
@Autowired
|
||||
private IZdyTravelAgencyTicketAuthorizationService zdyTravelAgencyTicketAuthorizationService;
|
||||
@Autowired
|
||||
private IZdyAreaService zdyAreaService;
|
||||
@Autowired
|
||||
private IZdyTicketOrderVerificationHistoryService zdyTicketOrderVerificationHistoryService;
|
||||
@Autowired
|
||||
private IZdyOrderCheckService orderCheckService;
|
||||
|
||||
/**
|
||||
* 查询可售卖的门票列表
|
||||
*
|
||||
* @param zdyTravelAgencyTicketDTO
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<ZdyTravelAgencyTicketVO> selectSalesTickets(ZdyTravelAgencyTicketDTO zdyTravelAgencyTicketDTO) {
|
||||
List<ZdyTravelAgencyTicketVO> zdyTravelAgencyTicketVOS = zdyTravelAgencyTicketMapper.selectSalesTickets(zdyTravelAgencyTicketDTO);
|
||||
for (ZdyTravelAgencyTicketVO zdyTicket : zdyTravelAgencyTicketVOS) {
|
||||
if (StringUtils.isNotEmpty(zdyTicket.getRefundRule())) {
|
||||
Optional<SysDictData> refundTypeDict = DictUtils.getDictDataOption(DictTypeEnum.REFUND_TYPE,
|
||||
zdyTicket.getRefundRule());
|
||||
refundTypeDict.ifPresent(sysDictData -> {
|
||||
zdyTicket.setRefundRuleName(sysDictData.getDictLabel());
|
||||
zdyTicket.setRefundRemark(sysDictData.getRemark());
|
||||
});
|
||||
}
|
||||
//门票分类
|
||||
if (StringUtils.isNotEmpty(zdyTicket.getClassify())) {
|
||||
zdyTicket.setClassifyName(DictUtils.getDictLabel(DictTypeEnum.TICKET_TYPE.getType(), zdyTicket.getClassify()));
|
||||
}
|
||||
//实名制
|
||||
if (StringUtils.isNotEmpty(zdyTicket.getAuthenticationType())) {
|
||||
zdyTicket.setAuthenticationTypeLabel(DictUtils.getDictLabel(DictTypeEnum.AUTHENTICATION_TYPE.getType(), zdyTicket.getAuthenticationType()));
|
||||
}
|
||||
}
|
||||
return zdyTravelAgencyTicketVOS;
|
||||
}
|
||||
|
||||
/**
|
||||
* 旅行社账户下单
|
||||
*
|
||||
* @param zdyTicketOrder
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public AjaxResult order(ZdyTicketOrderBo zdyTicketOrder) {
|
||||
LOG.info("旅行社下单入参【{}】", JSON.toJSONString(zdyTicketOrder));
|
||||
validateOrder(zdyTicketOrder);
|
||||
zdyTicketOrder.setUserId(0L);
|
||||
zdyTicketOrder.setOrderSource(TicketConstants.ORDER_SOURCE_TRAVEL_AGENCY);
|
||||
zdyTicketOrder.setCreateBy(SecurityUtils.getUserId().toString());
|
||||
//查询导游所在 旅行社id
|
||||
Long travelAgencyId = zdyTravelAgencyGuideService.selectZdyTravelAgencyGuideById(zdyTicketOrder.getTourId()).getTravelAgencyId();
|
||||
zdyTicketOrder.setTravelAgencyId(travelAgencyId);
|
||||
//新增主订单
|
||||
OrderReturnVo orderReturnVo = zdyTicketOrderService.insertZdyTicketOrder(zdyTicketOrder);
|
||||
LOG.info("旅行社下单返回【{}】", JSON.toJSONString(orderReturnVo));
|
||||
//支付主订单
|
||||
ZdyTicketOrderPayBo zdyTicketOrderPayBo = new ZdyTicketOrderPayBo();
|
||||
BeanUtils.copyProperties(zdyTicketOrder, zdyTicketOrderPayBo);
|
||||
zdyTicketOrderPayBo.setId(orderReturnVo.getId());
|
||||
zdyTicketOrderService.payTicketOrder(zdyTicketOrderPayBo);
|
||||
//构造订单统计信息
|
||||
List<ZdyTicketOrderItem> orderItemList = orderReturnVo.getOrderItemList();
|
||||
List<LxsOrderVo> lxsOrderVoList = new ArrayList<>();
|
||||
orderItemList.forEach(item -> {
|
||||
LxsOrderVo lxsOrderVo = LxsOrderVo.builder()
|
||||
.type("1")//下单
|
||||
.ticketName(item.getTicketName())
|
||||
.orderTime(ObjUtil.isNull(item.getPaymentTime()) ? DateUtils.getNowDate() : item.getPaymentTime())
|
||||
.buyQuantity(item.getBuyQuantity())
|
||||
.totalPrice(item.getTotalPrice())
|
||||
.ticketId(item.getTicketId())
|
||||
.orderItemId(item.getId())
|
||||
.build();
|
||||
lxsOrderVoList.add(lxsOrderVo);
|
||||
});
|
||||
|
||||
//新增销售汇总信息,方便后续统计
|
||||
insertTravelAgencySalesRecords(travelAgencyId, lxsOrderVoList);
|
||||
//开始扣减余额进行支付
|
||||
try {
|
||||
RechargeDTO rechargeDTO = new RechargeDTO();
|
||||
rechargeDTO.setOrderNo(String.valueOf(orderReturnVo.getOrderCode()));
|
||||
rechargeDTO.setId(travelAgencyId);
|
||||
rechargeDTO.setOperatorType(AccountBalanceOperatorTypeEnum.XIA_DAN.getCode());
|
||||
rechargeDTO.setAmount(BigDecimal.ZERO.subtract(zdyTicketOrder.getTotalPrice()));
|
||||
zdyTravelAgencyInfoService.recharge(rechargeDTO);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
LOG.warn("下单扣减余额异常【{}】", e.getMessage());
|
||||
throw new ServiceException("下单扣减余额异常【" + e.getMessage() + "】");
|
||||
}
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
private void validateOrder(ZdyTicketOrderBo zdyTicketOrderBo) {
|
||||
List<ZdyTicketOrderBo.ZdyTicketOrderItemParamBo> itemList = zdyTicketOrderBo.getOrderItemList();
|
||||
if (CollectionUtils.isNotEmpty(itemList)) {
|
||||
for (ZdyTicketOrderBo.ZdyTicketOrderItemParamBo zdyTicketOrderItemParamBo : itemList) {
|
||||
//校验下游客跟购买数量是否一致
|
||||
List<ZdyUserTourist> userIdcardList = zdyTicketOrderItemParamBo.getUserIdcardList();
|
||||
if (CollectionUtils.isNotEmpty(userIdcardList)) {
|
||||
//一票一码才校验
|
||||
if (userIdcardList.size() != zdyTicketOrderItemParamBo.getBuyQuantity()) {
|
||||
throw new ServiceException("购票数量与游客数量不符");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 导入游客数据
|
||||
*
|
||||
* @param userTouristList 游客数据
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<UserTouristTemplate> importData(List<UserTouristTemplate> userTouristList) {
|
||||
if (CollectionUtils.isEmpty(userTouristList)) {
|
||||
throw new ServiceException("导入游客数据不能为空!");
|
||||
}
|
||||
int successNum = 0;
|
||||
int failureNum = 0;
|
||||
StringBuilder successMsg = new StringBuilder();
|
||||
StringBuilder failureMsg = new StringBuilder();
|
||||
for (UserTouristTemplate userTouristTemplate : userTouristList) {
|
||||
try {
|
||||
// 验证是否存在这个用户
|
||||
ZdyUserTourist u = zdyUserTouristMapper.selectZdyUserTouristByIdCardAndName(userTouristTemplate.getIdCard(), userTouristTemplate.getName());
|
||||
if (StringUtils.isNull(u)) {
|
||||
BeanValidators.validateWithException(validator, userTouristTemplate);
|
||||
ZdyUserTourist userTourist = new ZdyUserTourist();
|
||||
BeanUtils.copyProperties(userTouristTemplate, userTourist);
|
||||
userTourist.setUserId(0L);
|
||||
try {
|
||||
userTourist.setCreateBy(SecurityUtils.getUsername());
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
userTourist.setCreateBy("1");
|
||||
}
|
||||
userTourist.setCreateTime(DateUtils.getNowDate());
|
||||
zdyUserTouristMapper.insertZdyUserTourist(userTourist);
|
||||
userTouristTemplate.setId(userTourist.getId());
|
||||
successNum++;
|
||||
successMsg.append("<br/>").append(successNum).append("、账号 ").append(userTouristTemplate.getName()).append(" 导入成功");
|
||||
} else {
|
||||
//如果存在直接返回
|
||||
userTouristTemplate.setId(u.getId());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
failureNum++;
|
||||
String msg = "<br/>" + failureNum + "、账号 " + userTouristTemplate.getName() + " 导入失败:";
|
||||
failureMsg.append(msg).append(e.getMessage());
|
||||
LOG.error(msg, e);
|
||||
}
|
||||
}
|
||||
if (failureNum > 0) {
|
||||
failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:");
|
||||
throw new ServiceException(failureMsg.toString());
|
||||
} else {
|
||||
successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:");
|
||||
}
|
||||
return userTouristList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 退款申请
|
||||
*
|
||||
* @param zdyTicketOrderRefund
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public AjaxResult refundApply(ZdyTicketOrderRefundBo zdyTicketOrderRefund) {
|
||||
LOG.info("旅行社退款申请入参【{}】", JSON.toJSONString(zdyTicketOrderRefund));
|
||||
zdyTicketOrderRefund.setRefundSource(TicketConstants.ORDER_SOURCE_TRAVEL_AGENCY);
|
||||
zdyTicketOrderRefund.setIsPay(Boolean.FALSE);
|
||||
zdyTicketOrderRefund.setIsForce(Boolean.FALSE);
|
||||
zdyTicketOrderRefund.setContent("申请退款");
|
||||
OrderRefundReturnVo orderRefundReturnVo = zdyTicketOrderRefundService.addZdyTicketOrderRefund(zdyTicketOrderRefund);
|
||||
return AjaxResult.success(orderRefundReturnVo.getId());
|
||||
}
|
||||
|
||||
/**
|
||||
* 退款审核
|
||||
*
|
||||
* @param zdyTicketOrderRefundCheckBo
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public AjaxResult refundCheck(ZdyTicketOrderRefundCheckBo zdyTicketOrderRefundCheckBo) {
|
||||
LOG.info("管理员退款审核入参【{}】", JSON.toJSONString(zdyTicketOrderRefundCheckBo));
|
||||
OrderRefundReturnVo orderRefundReturnVo = zdyTicketOrderRefundService.refundCheck(zdyTicketOrderRefundCheckBo);
|
||||
LOG.info("管理员退款审核返回【{}】", JSON.toJSONString(orderRefundReturnVo));
|
||||
//审核通过
|
||||
if (Objects.equals(zdyTicketOrderRefundCheckBo.getRefundStatus(), REFUND_STATUS_FOUR.getStatus())) {
|
||||
LOG.info("管理员退款审核通过,统计销售订单");
|
||||
//查询退款主订单
|
||||
ZdyTicketOrderRefundVo zdyTicketOrderRefund1 = zdyTicketOrderRefundService.selectZdyTicketOrderRefundById(zdyTicketOrderRefundCheckBo.getId());
|
||||
//查询主订单
|
||||
ZdyTicketOrder zdyTicketOrder = zdyTicketOrderService.selectZdyTicketOrderById(zdyTicketOrderRefund1.getOrderId());
|
||||
//查询旅行社id
|
||||
Long travelAgencyId = zdyTicketOrder.getTravelAgencyId();
|
||||
//构造订单统计信息
|
||||
List<ZdyTicketOrderRefundItem> orderRefundItemList = orderRefundReturnVo.getOrderRefundItemList();
|
||||
List<LxsOrderVo> lxsOrderVoList = new ArrayList<>();
|
||||
orderRefundItemList.forEach(item -> {
|
||||
LxsOrderVo lxsOrderVo = LxsOrderVo.builder()
|
||||
.type("2")//退票
|
||||
.ticketName(item.getTicketName())
|
||||
.refundTime(zdyTicketOrderRefund1.getRefundTime())
|
||||
.refundQuantity(item.getRefundQuantity())
|
||||
.refundTotalPrice(item.getActualPrice())
|
||||
.ticketId(item.getTicketId())
|
||||
.orderRefundItemId(item.getId())
|
||||
.build();
|
||||
lxsOrderVoList.add(lxsOrderVo);
|
||||
});
|
||||
insertTravelAgencySalesRecords(travelAgencyId, lxsOrderVoList);
|
||||
LOG.info("旅行社审核通过退款操作账户余额开始");
|
||||
try {
|
||||
RechargeDTO rechargeDTO = new RechargeDTO();
|
||||
rechargeDTO.setId(travelAgencyId);
|
||||
rechargeDTO.setOperatorType(AccountBalanceOperatorTypeEnum.TUI_KUAN.getCode());
|
||||
rechargeDTO.setAmount(lxsOrderVoList.stream().map(LxsOrderVo::getRefundTotalPrice).reduce(BigDecimal::add).get());
|
||||
rechargeDTO.setOrderNo(orderRefundReturnVo.getRefundCode());
|
||||
zdyTravelAgencyInfoService.recharge(rechargeDTO);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
LOG.warn("旅行社审核通过退款操作账户余额异常【{}】", e.getMessage());
|
||||
throw new ServiceException("旅行社审核通过退款操作账户余额异常【" + e.getMessage() + "】");
|
||||
}
|
||||
}
|
||||
return AjaxResult.success(orderRefundReturnVo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 管理员主动退款
|
||||
*
|
||||
* @param zdyTicketOrderRefundBo
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public AjaxResult activeRefund(ZdyTicketOrderRefundBo zdyTicketOrderRefundBo) {
|
||||
LOG.info("主动退款入参【{}】", JSON.toJSONString(zdyTicketOrderRefundBo));
|
||||
zdyTicketOrderRefundBo.setRefundSource(TicketConstants.ORDER_SOURCE_TRAVEL_AGENCY);
|
||||
zdyTicketOrderRefundBo.setIsPay(Boolean.TRUE);
|
||||
zdyTicketOrderRefundBo.setIsForce(Boolean.FALSE);
|
||||
zdyTicketOrderRefundBo.setContent("主动退款");
|
||||
OrderRefundReturnVo orderRefundReturnVo = zdyTicketOrderRefundService.addZdyTicketOrderRefund(zdyTicketOrderRefundBo);
|
||||
LOG.info("主动退款新增退单单返回【{}】", JSON.toJSONString(orderRefundReturnVo));
|
||||
List<ZdyTicketOrderRefundItem> orderRefundItemList = orderRefundReturnVo.getOrderRefundItemList();
|
||||
List<LxsOrderVo> lxsOrderVoList = new ArrayList<>();
|
||||
orderRefundItemList.forEach(item -> {
|
||||
LxsOrderVo lxsOrderVo = LxsOrderVo.builder()
|
||||
.type("2")//退票
|
||||
.ticketName(item.getTicketName())
|
||||
.refundTime(orderRefundReturnVo.getRefundTime())
|
||||
.refundQuantity(item.getRefundQuantity())
|
||||
.refundTotalPrice(item.getActualPrice())
|
||||
.ticketId(item.getTicketId())
|
||||
.orderRefundItemId(item.getId())
|
||||
.build();
|
||||
lxsOrderVoList.add(lxsOrderVo);
|
||||
});
|
||||
//查询退款主单
|
||||
ZdyTicketOrderRefundVo zdyTicketOrderRefundVo = zdyTicketOrderRefundService.selectZdyTicketOrderRefundById(orderRefundReturnVo.getId());
|
||||
//查询旅行社id
|
||||
Long travelAgencyId = zdyTicketOrderRefundVo.getTravelAgencyId();
|
||||
//新增销售汇总记录
|
||||
insertTravelAgencySalesRecords(travelAgencyId, lxsOrderVoList);
|
||||
//旅行社退款操作账户余额开始
|
||||
try {
|
||||
RechargeDTO rechargeDTO = new RechargeDTO();
|
||||
rechargeDTO.setId(travelAgencyId);
|
||||
rechargeDTO.setOrderNo(orderRefundReturnVo.getRefundCode());
|
||||
rechargeDTO.setOperatorType(AccountBalanceOperatorTypeEnum.TUI_KUAN.getCode());
|
||||
rechargeDTO.setAmount(orderRefundReturnVo.getRefundTotal());
|
||||
zdyTravelAgencyInfoService.recharge(rechargeDTO);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
LOG.warn("旅行社订单退款异常【{}】", e.getMessage());
|
||||
throw new ServiceException("旅行社订单退款异常【" + e.getMessage() + "");
|
||||
}
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
|
||||
private void insertTravelAgencySalesRecords(Long travelAgencyId, List<LxsOrderVo> lxsOrderVoList) {
|
||||
//lxsOrderVoList可能包含多张门票
|
||||
//同一时间,旅行社,门票,表中只有一条数据
|
||||
for (LxsOrderVo lxsOrderVo : lxsOrderVoList) {
|
||||
ZdyTravelAgencyOrderSalesRecord record = new ZdyTravelAgencyOrderSalesRecord();
|
||||
record.setTravelAgencyId(travelAgencyId);
|
||||
record.setTicketId(lxsOrderVo.getTicketId());
|
||||
record.setSalesOrderQuantity(Objects.isNull(lxsOrderVo.getBuyQuantity()) ? 0 : lxsOrderVo.getBuyQuantity());
|
||||
record.setSalesOrderPrice(Objects.isNull(lxsOrderVo.getTotalPrice()) ? BigDecimal.ZERO : lxsOrderVo.getTotalPrice());
|
||||
record.setRefundOrderQuantity(Objects.isNull(lxsOrderVo.getRefundQuantity()) ? 0 : lxsOrderVo.getRefundQuantity());
|
||||
record.setRefundOrderPrice(Objects.isNull(lxsOrderVo.getRefundTotalPrice()) ? BigDecimal.ZERO : lxsOrderVo.getRefundTotalPrice());
|
||||
|
||||
//两个时间同时只会有一个有值
|
||||
Date orderTime = lxsOrderVo.getOrderTime();
|
||||
Date refundTime = lxsOrderVo.getRefundTime();
|
||||
record.setSummaryTime(Objects.isNull(orderTime) ? refundTime : orderTime);
|
||||
if (Objects.isNull(record.getSummaryTime())) {
|
||||
record.setSummaryTime(DateUtils.getNowDate());
|
||||
}
|
||||
LOG.info("新增销售汇总记录【{}】", JSON.toJSONString(record));
|
||||
zdyTravelAgencyOrderSalesRecordService.insertAndUpdate(record);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询旅行社订单列表
|
||||
*
|
||||
* @param zdyTicketOrderDto
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<ZdyTicketOrderVo> orderList(Long deptId, ZdyTicketOrderDto zdyTicketOrderDto) {
|
||||
zdyTicketOrderDto.setOrderSource(TicketConstants.ORDER_SOURCE_TRAVEL_AGENCY);
|
||||
ZdyTravelAgencyInfo travelAgencyInfo = zdyTravelAgencyInfoMapper.getByDeptId(deptId);
|
||||
PageUtils.startPage();
|
||||
List<ZdyTicketOrderVo> zdyTicketOrderVos = null;
|
||||
if (travelAgencyInfo != null) {
|
||||
//旅行社账户登录,只查询当前旅行社的门票订单
|
||||
zdyTicketOrderDto.setTravelAgencyId(travelAgencyInfo.getId());
|
||||
zdyTicketOrderVos = zdyTravelAgencyTicketMapper.selectZdyTicketOrderListNoDataScope(zdyTicketOrderDto);
|
||||
} else {
|
||||
//运营公司或者景区登录根据部门权限查询
|
||||
zdyTicketOrderVos = zdyTravelAgencyTicketMapper.selectZdyTicketOrderList(zdyTicketOrderDto);
|
||||
}
|
||||
//处理订单附表和明细数据
|
||||
for (ZdyTicketOrderVo vo : zdyTicketOrderVos) {
|
||||
//设置旅行社名称
|
||||
String travelAgencyName = null;
|
||||
if (ObjUtil.isNotNull(travelAgencyInfo)) {
|
||||
travelAgencyName = travelAgencyInfo.getName();
|
||||
} else {
|
||||
travelAgencyName = getTravelAgencyName(vo.getTravelAgencyId());
|
||||
}
|
||||
vo.setTravelAgencyName(travelAgencyName);
|
||||
|
||||
//设置客源地名称
|
||||
vo.setTouristSource(getTouristSourceName(vo.getTouristSource()));
|
||||
|
||||
//设置导游联系方式
|
||||
vo.setMobilePhone(getTravelAgencyGuidePhone(vo.getTourId()));
|
||||
|
||||
for (ZdyTicketOrderItem zdyTicketOrderItem : vo.getOrderItemList()) {
|
||||
orderCheckService.resetResultZdyTicketOrderItem(zdyTicketOrderItem);
|
||||
//考虑到会修改结算价格,修改之后再去zdy_travel_agency_ticket_authorization表查询时会出现数据不一致的问题
|
||||
//这里结算价格直接使用订单单价
|
||||
zdyTicketOrderItem.setSettlementPrice(zdyTicketOrderItem.getPrice());
|
||||
}
|
||||
}
|
||||
return zdyTicketOrderVos;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ZdyTicketOrderVo orderDetail(Long id) {
|
||||
ZdyTicketOrderVo vo = zdyTicketOrderService.selectZdyTicketOrderById(id);
|
||||
//设置旅行社名称
|
||||
vo.setTravelAgencyName(getTravelAgencyName(vo.getTravelAgencyId()));
|
||||
//设置客源地名称
|
||||
vo.setTouristSource(getTouristSourceName(vo.getTouristSource()));
|
||||
//设置导游联系方式
|
||||
vo.setMobilePhone(getTravelAgencyGuidePhone(vo.getTourId()));
|
||||
List<ZdyTicketOrderItem> orderItemList = vo.getOrderItemList();
|
||||
if (CollectionUtils.isNotEmpty(orderItemList)) {
|
||||
for (ZdyTicketOrderItem zdyTicketOrderItem : orderItemList) {
|
||||
//考虑到会修改结算价格,修改之后再去zdy_travel_agency_ticket_authorization表查询时会出现数据不一致的问题
|
||||
//这里结算价格直接使用订单单价
|
||||
zdyTicketOrderItem.setSettlementPrice(zdyTicketOrderItem.getPrice());
|
||||
}
|
||||
}
|
||||
return vo;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param zdyTicketOrderRefundDto
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<ZdyTicketOrderRefundVo> refundOrderList(Long deptId, ZdyTicketOrderRefundDto zdyTicketOrderRefundDto) {
|
||||
zdyTicketOrderRefundDto.setRefundSource(TicketConstants.ORDER_SOURCE_TRAVEL_AGENCY);
|
||||
ZdyTravelAgencyInfo travelAgencyInfo = zdyTravelAgencyInfoMapper.getByDeptId(deptId);
|
||||
PageUtils.startPage();
|
||||
List<ZdyTicketOrderRefundVo> zdyTicketOrderRefundVos = null;
|
||||
if (travelAgencyInfo != null) {
|
||||
//旅行社账户登录,只查询当前旅行社的门票订单
|
||||
zdyTicketOrderRefundDto.setTravelAgencyId(travelAgencyInfo.getId());
|
||||
zdyTicketOrderRefundVos = zdyTravelAgencyTicketMapper.selectZdyTicketOrderRefundListNoDataScope(zdyTicketOrderRefundDto);
|
||||
} else {
|
||||
//运营公司或者景区登录根据部门权限查询
|
||||
zdyTicketOrderRefundVos = zdyTravelAgencyTicketMapper.selectZdyTicketOrderRefundList(zdyTicketOrderRefundDto);
|
||||
}
|
||||
//处理退款订单明细数据
|
||||
for (ZdyTicketOrderRefundVo vo : zdyTicketOrderRefundVos) {
|
||||
//设置旅行社名称
|
||||
String travelAgencyName = null;
|
||||
if (ObjUtil.isNotNull(travelAgencyInfo)) {
|
||||
travelAgencyName = travelAgencyInfo.getName();
|
||||
} else {
|
||||
travelAgencyName = getTravelAgencyName(vo.getTravelAgencyId());
|
||||
}
|
||||
vo.setTravelAgencyName(travelAgencyName);
|
||||
|
||||
List<ZdyTicketOrderRefundItem> orderRefundItemList = vo.getOrderRefundItemList();
|
||||
if (CollectionUtils.isNotEmpty(orderRefundItemList)) {
|
||||
for (ZdyTicketOrderRefundItem refundItem : orderRefundItemList) {
|
||||
orderCheckService.resetZdyTicketOrderRefundItem(refundItem);
|
||||
// ZdyTravelAgencyTicketAuthorization ticketAuthorization = zdyTravelAgencyTicketAuthorizationService.selectByTravelAgencyIdAndTicketId(vo.getTravelAgencyId(), refundItem.getTicketId());
|
||||
// //设置旅行社门票授权时填写的结算价格
|
||||
// if (!Objects.isNull(ticketAuthorization)) {
|
||||
// refundItem.setSettlementPrice(ticketAuthorization.getSettlementPrice());
|
||||
// }
|
||||
refundItem.setSettlementPrice(refundItem.getPrice());
|
||||
}
|
||||
}
|
||||
}
|
||||
return zdyTicketOrderRefundVos;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ZdyTicketOrderRefundVo refundOrderDetail(Long id) {
|
||||
ZdyTicketOrderRefundVo vo = zdyTicketOrderRefundService.selectZdyTicketOrderRefundById(id);
|
||||
//设置旅行社名称
|
||||
vo.setTravelAgencyName(getTravelAgencyName(vo.getTravelAgencyId()));
|
||||
List<ZdyTicketOrderRefundItem> orderRefundItemList = vo.getOrderRefundItemList();
|
||||
if (CollectionUtils.isNotEmpty(orderRefundItemList)) {
|
||||
for (ZdyTicketOrderRefundItem refundItem : orderRefundItemList) {
|
||||
// ZdyTravelAgencyTicketAuthorization ticketAuthorization = zdyTravelAgencyTicketAuthorizationService.selectByTravelAgencyIdAndTicketId(vo.getTravelAgencyId(), refundItem.getTicketId());
|
||||
// //设置旅行社门票授权时填写的结算价格
|
||||
// if (!Objects.isNull(ticketAuthorization)) {
|
||||
// refundItem.setSettlementPrice(ticketAuthorization.getSettlementPrice());
|
||||
// }
|
||||
refundItem.setSettlementPrice(refundItem.getPrice());
|
||||
}
|
||||
}
|
||||
return vo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询核销记录
|
||||
*
|
||||
* @param zdyTicketOrderActivityHistory
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<ZdyTicketOrderVerificationHistory> selectZdyTicketOrderVerificationHistoryList(ZdyTicketOrderVerificationHistory zdyTicketOrderActivityHistory) {
|
||||
List<ZdyTicketOrderVerificationHistory> zdyTicketOrderVerificationHistories = zdyTicketOrderVerificationHistoryService.selectZdyTicketOrderVerificationHistoryList(zdyTicketOrderActivityHistory);
|
||||
return zdyTicketOrderVerificationHistories;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id 获取旅行社名称
|
||||
*
|
||||
* @param travelAgencyId 旅行社 id
|
||||
* @return
|
||||
*/
|
||||
private String getTravelAgencyName(Long travelAgencyId) {
|
||||
ZdyTravelAgencyInfo zdyTravelAgencyInfo = zdyTravelAgencyInfoService.selectZdyTravelAgencyInfoById(travelAgencyId);
|
||||
return ObjUtil.isNotNull(zdyTravelAgencyInfo) ? zdyTravelAgencyInfo.getName() : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据客源地编号获取客源地名称
|
||||
*
|
||||
* @param touristSourceNo 行政区域编号
|
||||
* @return
|
||||
*/
|
||||
private String getTouristSourceName(String touristSourceNo) {
|
||||
ZdyArea zdyArea = zdyAreaService.selectZdyAreaByAreaCode(Long.parseLong(touristSourceNo));
|
||||
return ObjUtil.isNotNull(zdyArea) ? zdyArea.getName() : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取旅行社导游联系方式
|
||||
*
|
||||
* @param travelAgencyGuideId 旅行社导游id
|
||||
* @return
|
||||
*/
|
||||
private String getTravelAgencyGuidePhone(Long travelAgencyGuideId) {
|
||||
ZdyTravelAgencyGuide guide = zdyTravelAgencyGuideService.selectZdyTravelAgencyGuideById(travelAgencyGuideId);
|
||||
return ObjUtil.isNotNull(guide) ? guide.getPhone() : null;
|
||||
}
|
||||
}
|
@@ -0,0 +1,135 @@
|
||||
package com.zhwl.travelagency.order.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Title: ZdyTravelAgencyOrderSalesRecordVO
|
||||
* @Author wangtao
|
||||
* @Date 2024/7/5 14:22
|
||||
* @description: 销售汇总vo
|
||||
*/
|
||||
public class ZdyTravelAgencyOrderSalesRecordVO implements Serializable {
|
||||
private static final long serialVersionUID = -2830704910370475958L;
|
||||
|
||||
/**
|
||||
* 汇总时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date summaryTime;
|
||||
|
||||
/**
|
||||
* 门票名称
|
||||
*/
|
||||
private String ticketName;
|
||||
|
||||
/**
|
||||
* 门票销售价格
|
||||
*/
|
||||
private BigDecimal ticketSalesPrice;
|
||||
|
||||
/**
|
||||
* 门票结算价格
|
||||
*/
|
||||
private BigDecimal ticketSettlementPrice;
|
||||
|
||||
/**
|
||||
* 销售订单数量
|
||||
*/
|
||||
private Integer salesOrderQuantity;
|
||||
|
||||
/**
|
||||
* 销售金额
|
||||
*/
|
||||
private BigDecimal salesOrderPrice;
|
||||
|
||||
/**
|
||||
* 退款订单数量
|
||||
*/
|
||||
private Integer refundOrderQuantity;
|
||||
|
||||
/**
|
||||
* 退款金额
|
||||
*/
|
||||
private BigDecimal refundOrderPrice;
|
||||
|
||||
/**
|
||||
* 实收金额
|
||||
*/
|
||||
private BigDecimal actualOrderPrice;
|
||||
|
||||
public Date getSummaryTime() {
|
||||
return summaryTime;
|
||||
}
|
||||
|
||||
public void setSummaryTime(Date summaryTime) {
|
||||
this.summaryTime = summaryTime;
|
||||
}
|
||||
|
||||
public String getTicketName() {
|
||||
return ticketName;
|
||||
}
|
||||
|
||||
public void setTicketName(String ticketName) {
|
||||
this.ticketName = ticketName;
|
||||
}
|
||||
|
||||
public Integer getSalesOrderQuantity() {
|
||||
return salesOrderQuantity;
|
||||
}
|
||||
|
||||
public void setSalesOrderQuantity(Integer salesOrderQuantity) {
|
||||
this.salesOrderQuantity = salesOrderQuantity;
|
||||
}
|
||||
|
||||
public BigDecimal getSalesOrderPrice() {
|
||||
return salesOrderPrice;
|
||||
}
|
||||
|
||||
public void setSalesOrderPrice(BigDecimal salesOrderPrice) {
|
||||
this.salesOrderPrice = salesOrderPrice;
|
||||
}
|
||||
|
||||
public Integer getRefundOrderQuantity() {
|
||||
return refundOrderQuantity;
|
||||
}
|
||||
|
||||
public void setRefundOrderQuantity(Integer refundOrderQuantity) {
|
||||
this.refundOrderQuantity = refundOrderQuantity;
|
||||
}
|
||||
|
||||
public BigDecimal getRefundOrderPrice() {
|
||||
return refundOrderPrice;
|
||||
}
|
||||
|
||||
public void setRefundOrderPrice(BigDecimal refundOrderPrice) {
|
||||
this.refundOrderPrice = refundOrderPrice;
|
||||
}
|
||||
|
||||
public BigDecimal getActualOrderPrice() {
|
||||
return actualOrderPrice;
|
||||
}
|
||||
|
||||
public void setActualOrderPrice(BigDecimal actualOrderPrice) {
|
||||
this.actualOrderPrice = actualOrderPrice;
|
||||
}
|
||||
|
||||
public BigDecimal getTicketSalesPrice() {
|
||||
return ticketSalesPrice;
|
||||
}
|
||||
|
||||
public void setTicketSalesPrice(BigDecimal ticketSalesPrice) {
|
||||
this.ticketSalesPrice = ticketSalesPrice;
|
||||
}
|
||||
|
||||
public BigDecimal getTicketSettlementPrice() {
|
||||
return ticketSettlementPrice;
|
||||
}
|
||||
|
||||
public void setTicketSettlementPrice(BigDecimal ticketSettlementPrice) {
|
||||
this.ticketSettlementPrice = ticketSettlementPrice;
|
||||
}
|
||||
}
|
@@ -0,0 +1,29 @@
|
||||
package com.zhwl.travelagency.order.vo;
|
||||
|
||||
import com.zhwl.common.core.domain.ZdyTicket;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
|
||||
/**
|
||||
* @Title: TravelAgencyTicketVO
|
||||
* @Author wangtao
|
||||
* @Date 2024/6/28 15:16
|
||||
* @description:
|
||||
*/
|
||||
public class ZdyTravelAgencyTicketVO extends ZdyTicket {
|
||||
private static final long serialVersionUID = -3002555977255176038L;
|
||||
|
||||
/**
|
||||
* 结算价格
|
||||
*/
|
||||
private BigDecimal settlementPrice;
|
||||
|
||||
public BigDecimal getSettlementPrice() {
|
||||
return settlementPrice;
|
||||
}
|
||||
|
||||
public void setSettlementPrice(BigDecimal settlementPrice) {
|
||||
this.settlementPrice = settlementPrice;
|
||||
}
|
||||
}
|
@@ -0,0 +1,254 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.zhwl.travelagency.order.mapper.ZdyTravelAgencyOrderSalesRecordMapper">
|
||||
|
||||
<resultMap type="ZdyTravelAgencyOrderSalesRecord" id="ZdyTravelAgencyOrderSalesRecordResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="summaryTime" column="summary_time"/>
|
||||
<result property="travelAgencyId" column="travel_agency_id"/>
|
||||
<result property="ticketId" column="ticket_id"/>
|
||||
<result property="salesOrderQuantity" column="sales_order_quantity"/>
|
||||
<result property="salesOrderPrice" column="sales_order_price"/>
|
||||
<result property="refundOrderQuantity" column="refund_order_quantity"/>
|
||||
<result property="refundOrderPrice" column="refund_order_price"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap type="com.zhwl.travelagency.order.vo.ZdyTravelAgencyOrderSalesRecordVO"
|
||||
id="ZdyTravelAgencyOrderSalesRecordResultVO">
|
||||
<result property="summaryTime" column="summary_time"/>
|
||||
<result property="ticketName" column="ticket_name"/>
|
||||
<result property="ticketSalesPrice" column="ticket_sales_price"/>
|
||||
<result property="ticketSettlementPrice" column="ticket_settlement_price"/>
|
||||
<result property="salesOrderQuantity" column="sales_order_quantity"/>
|
||||
<result property="salesOrderPrice" column="sales_order_price"/>
|
||||
<result property="refundOrderQuantity" column="refund_order_quantity"/>
|
||||
<result property="refundOrderPrice" column="refund_order_price"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectZdyTravelAgencyOrderSalesRecordVo">
|
||||
select id,
|
||||
summary_time,
|
||||
travel_agency_id,
|
||||
ticket_id,
|
||||
sales_order_quantity,
|
||||
sales_order_price,
|
||||
refund_order_quantity,
|
||||
refund_order_price
|
||||
from zdy_travel_agency_order_sales_record
|
||||
</sql>
|
||||
|
||||
<select id="selectZdyTravelAgencyOrderSalesRecordList" parameterType="ZdyTravelAgencyOrderSalesRecord"
|
||||
resultMap="ZdyTravelAgencyOrderSalesRecordResult">
|
||||
<include refid="selectZdyTravelAgencyOrderSalesRecordVo"/>
|
||||
<where>
|
||||
<if test="summaryTime != null ">
|
||||
and summary_time = #{summaryTime}
|
||||
</if>
|
||||
<if test="travelAgencyId != null ">
|
||||
and travel_agency_id = #{travelAgencyId}
|
||||
</if>
|
||||
<if test="ticketId != null ">
|
||||
and ticket_id = #{ticketId}
|
||||
</if>
|
||||
<if test="salesOrderQuantity != null ">
|
||||
and sales_order_quantity = #{salesOrderQuantity}
|
||||
</if>
|
||||
<if test="salesOrderPrice != null ">
|
||||
and sales_order_price = #{salesOrderPrice}
|
||||
</if>
|
||||
<if test="refundOrderQuantity != null ">
|
||||
and refund_order_quantity = #{refundOrderQuantity}
|
||||
</if>
|
||||
<if test="refundOrderPrice != null ">
|
||||
and refund_order_price = #{refundOrderPrice}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectZdyTravelAgencyOrderSalesRecordListReport"
|
||||
parameterType="com.zhwl.travelagency.order.dto.ZdyTravelAgencyOrderSalesRecordDTO"
|
||||
resultMap="ZdyTravelAgencyOrderSalesRecordResultVO">
|
||||
select summary_time,
|
||||
b.name ticket_name,
|
||||
b.sales_rice ticket_sales_price,
|
||||
c.settlement_price ticket_settlement_price,
|
||||
sales_order_quantity,
|
||||
sales_order_price,
|
||||
refund_order_quantity,
|
||||
refund_order_price
|
||||
from zdy_travel_agency_order_sales_record a
|
||||
left join zdy_ticket b on a.ticket_id = b.id
|
||||
left join zdy_travel_agency_ticket_authorization c on c.travel_agency_id=a.travel_agency_id and c.ticket_id=a.ticket_id
|
||||
left join zdy_travel_agency_info i on i.id = a.travel_agency_id
|
||||
<where>
|
||||
<if test="travelAgencyId != null ">
|
||||
and a.travel_agency_id = #{travelAgencyId}
|
||||
</if>
|
||||
<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
|
||||
and date_format(a.summary_time,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d')
|
||||
</if>
|
||||
<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
|
||||
and date_format(a.summary_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d')
|
||||
</if>
|
||||
<if test="ticketName != null and ticketName != ''">
|
||||
and b.name like concat('%',#{ticketName},'%')
|
||||
</if>
|
||||
${params.dataScope}
|
||||
</where>
|
||||
order by summary_time desc
|
||||
</select>
|
||||
|
||||
<select id="selectZdyTravelAgencyOrderSalesRecordById" parameterType="Long"
|
||||
resultMap="ZdyTravelAgencyOrderSalesRecordResult">
|
||||
<include refid="selectZdyTravelAgencyOrderSalesRecordVo"/>
|
||||
where id = #{id}
|
||||
</select>
|
||||
|
||||
<insert id="insertZdyTravelAgencyOrderSalesRecord" parameterType="ZdyTravelAgencyOrderSalesRecord"
|
||||
useGeneratedKeys="true"
|
||||
keyProperty="id">
|
||||
insert into zdy_travel_agency_order_sales_record
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="summaryTime != null">summary_time,
|
||||
</if>
|
||||
<if test="travelAgencyId != null">travel_agency_id,
|
||||
</if>
|
||||
<if test="ticketId != null">ticket_id,
|
||||
</if>
|
||||
<if test="salesOrderQuantity != null">sales_order_quantity,
|
||||
</if>
|
||||
<if test="salesOrderPrice != null">sales_order_price,
|
||||
</if>
|
||||
<if test="refundOrderQuantity != null">refund_order_quantity,
|
||||
</if>
|
||||
<if test="refundOrderPrice != null">refund_order_price,
|
||||
</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="summaryTime != null">#{summaryTime},
|
||||
</if>
|
||||
<if test="travelAgencyId != null">#{travelAgencyId},
|
||||
</if>
|
||||
<if test="ticketId != null">#{ticketId},
|
||||
</if>
|
||||
<if test="salesOrderQuantity != null">#{salesOrderQuantity},
|
||||
</if>
|
||||
<if test="salesOrderPrice != null">#{salesOrderPrice},
|
||||
</if>
|
||||
<if test="refundOrderQuantity != null">#{refundOrderQuantity},
|
||||
</if>
|
||||
<if test="refundOrderPrice != null">#{refundOrderPrice},
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="updateZdyTravelAgencyOrderSalesRecord" parameterType="ZdyTravelAgencyOrderSalesRecord">
|
||||
update zdy_travel_agency_order_sales_record
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="summaryTime != null">summary_time =
|
||||
#{summaryTime},
|
||||
</if>
|
||||
<if test="travelAgencyId != null">travel_agency_id =
|
||||
#{travelAgencyId},
|
||||
</if>
|
||||
<if test="ticketId != null">ticket_id =
|
||||
#{ticketId},
|
||||
</if>
|
||||
<if test="salesOrderQuantity != null">sales_order_quantity =
|
||||
#{salesOrderQuantity},
|
||||
</if>
|
||||
<if test="salesOrderPrice != null">sales_order_price =
|
||||
#{salesOrderPrice},
|
||||
</if>
|
||||
<if test="refundOrderQuantity != null">refund_order_quantity =
|
||||
#{refundOrderQuantity},
|
||||
</if>
|
||||
<if test="refundOrderPrice != null">refund_order_price =
|
||||
#{refundOrderPrice},
|
||||
</if>
|
||||
</trim>
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
<delete id="deleteZdyTravelAgencyOrderSalesRecordById" parameterType="Long">
|
||||
delete
|
||||
from zdy_travel_agency_order_sales_record
|
||||
where id = #{id}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteZdyTravelAgencyOrderSalesRecordByIds" parameterType="String">
|
||||
delete from zdy_travel_agency_order_sales_record where id in
|
||||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<insert id="insertAndUpdate"
|
||||
parameterType="com.zhwl.travelagency.order.domain.ZdyTravelAgencyOrderSalesRecord">
|
||||
insert into zdy_travel_agency_order_sales_record (
|
||||
summary_time,
|
||||
travel_agency_id,
|
||||
ticket_id,
|
||||
sales_order_quantity,
|
||||
sales_order_price,
|
||||
refund_order_quantity,
|
||||
refund_order_price
|
||||
)
|
||||
values
|
||||
(
|
||||
#{summaryTime},
|
||||
#{travelAgencyId},
|
||||
#{ticketId},
|
||||
#{salesOrderQuantity},
|
||||
#{salesOrderPrice},
|
||||
#{refundOrderQuantity},
|
||||
#{refundOrderPrice}
|
||||
)
|
||||
on duplicate key
|
||||
update
|
||||
<trim suffixOverrides=",">
|
||||
summary_time = summary_time,
|
||||
travel_agency_id = travel_agency_id,
|
||||
ticket_id = ticket_id,
|
||||
<if test="salesOrderQuantity!=null">
|
||||
sales_order_quantity = ifnull(sales_order_quantity,0) + values(sales_order_quantity),
|
||||
</if>
|
||||
<if test="salesOrderPrice!=null">
|
||||
sales_order_price = ifnull(sales_order_price,0) + values(sales_order_price),
|
||||
</if>
|
||||
<if test="refundOrderQuantity!=null">
|
||||
refund_order_quantity = ifnull(refund_order_quantity,0) + values(refund_order_quantity),
|
||||
</if>
|
||||
<if test="refundOrderPrice!=null">
|
||||
refund_order_price =ifnull(refund_order_price,0) + values(refund_order_price),
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<select id="summary" parameterType="com.zhwl.travelagency.order.dto.ZdyTravelAgencyOrderSalesRecordDTO"
|
||||
resultMap="ZdyTravelAgencyOrderSalesRecordResultVO">
|
||||
select sum(ifnull(sales_order_quantity, 0)) sales_order_quantity,
|
||||
sum(ifnull(sales_order_price, 0)) sales_order_price,
|
||||
sum(ifnull(refund_order_quantity, 0)) refund_order_quantity,
|
||||
sum(ifnull(refund_order_price, 0)) refund_order_price
|
||||
from zdy_travel_agency_order_sales_record a left join zdy_ticket b on a.ticket_id = b.id
|
||||
left join zdy_travel_agency_info i on a.travel_agency_id = i.id
|
||||
<where>
|
||||
<if test="travelAgencyId != null ">
|
||||
and a.travel_agency_id = #{travelAgencyId}
|
||||
</if>
|
||||
<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
|
||||
and date_format(a.summary_time,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d')
|
||||
</if>
|
||||
<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
|
||||
and date_format(a.summary_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d')
|
||||
</if>
|
||||
<if test="ticketName != null and ticketName != ''">
|
||||
and b.name like concat('%',#{ticketName},'%')
|
||||
</if>
|
||||
${params.dataScope}
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
@@ -0,0 +1,740 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.zhwl.travelagency.order.mapper.ZdyTravelAgencyTicketMapper">
|
||||
|
||||
<resultMap type="com.zhwl.travelagency.order.vo.ZdyTravelAgencyTicketVO" id="TravelAgencyTicketVOResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="name" column="name"/>
|
||||
<result property="scenicId" column="scenic_id"/>
|
||||
<result property="salesRice" column="sales_rice"/>
|
||||
<result property="price" column="price"/>
|
||||
<result property="image" column="image"/>
|
||||
<result property="classify" column="classify"/>
|
||||
<result property="groundingFlag" column="grounding_flag"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="scenicName" column="scenic_name"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="inventory" column="inventory"/>
|
||||
<result property="flag" column="flag"/>
|
||||
<result property="minPrice" column="minPrice"/>
|
||||
<result property="refundRule" column="refund_rule"/>
|
||||
<result property="refundRuleName" column="refundRuleName"/>
|
||||
<result property="isFee" column="is_fee"/>
|
||||
<result property="classifyName" column="classifyName"/>
|
||||
<result property="isOrder" column="is_order"/>
|
||||
<result property="validityStartTime" column="validity_start_time"/>
|
||||
<result property="validityEndTime" column="validity_end_time"/>
|
||||
<result property="groupId" column="group_id"/>
|
||||
<result property="bookingNotice" column="booking_notice"/>
|
||||
<result property="beforeDay" column="before_day"/>
|
||||
<result property="isOrderQuantity" column="is_order_quantity"/>
|
||||
<result property="orderQuantity" column="order_quantity"/>
|
||||
<result property="authenticationType" column="authentication_type"/>
|
||||
<result property="verifySettings" column="verify_settings"/>
|
||||
<result property="isPurchaseDate" column="is_purchase_date"/>
|
||||
<result property="purchStartDate" column="purch_start_date"/>
|
||||
<result property="purchEndDate" column="purch_end_date"/>
|
||||
<result property="ticketValidityPeriod" column="ticket_validity_period"/>
|
||||
<result property="buyPeriodDay" column="buy_period_day"/>
|
||||
<result property="adjust" column="adjust"/>
|
||||
<result property="groupName" column="groupName"/>
|
||||
<result property="groupId" column="group_id"/>
|
||||
<result property="classifyName" column="classifyName"/>
|
||||
<result property="admissionAddress" column="admission_address"/>
|
||||
<result property="admissionTime" column="admission_time"/>
|
||||
<result property="sales" column="sales"/>
|
||||
<result property="image11" column="image11"/>
|
||||
<result property="image43" column="image43"/>
|
||||
<result property="feeType" column="fee_type"/>
|
||||
<result property="deductionFees" column="deduction_fees"/>
|
||||
<result property="deductionFeesUnit" column="deduction_fees_unit"/>
|
||||
<result property="refundDay" column="refund_day"/>
|
||||
<result property="qrcodeRule" column="qrcode_rule"/>
|
||||
<result property="isRefundCheck" column="is_refund_check"/>
|
||||
<result property="settlementPrice" column="settlement_price11"/>
|
||||
</resultMap>
|
||||
|
||||
|
||||
<resultMap type="ZdyTicketOrderVo" id="ZdyTicketOrderResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="orderCode" column="order_code"/>
|
||||
<result property="orderPrepayId" column="order_prepay_id"/>
|
||||
<result property="scenicId" column="scenic_id"/>
|
||||
<result property="userId" column="user_id"/>
|
||||
<result property="buyQuantity" column="buy_quantity"/>
|
||||
<result property="totalPrice" column="total_price"/>
|
||||
<result property="orderSource" column="order_source"/>
|
||||
<result property="paymentType" column="payment_type"/>
|
||||
<result property="paymentMethod" column="payment_method"/>
|
||||
<result property="paymentTime" column="payment_time"/>
|
||||
<result property="refundStatus" column="refund_status"/>
|
||||
<result property="refundTime" column="refund_time"/>
|
||||
<result property="verificationType" column="verification_type"/>
|
||||
<result property="verificationTime" column="verification_time"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="userName" column="userName"/>
|
||||
<result property="mobilePhone" column="mobilePhone"/>
|
||||
<result property="identityCard" column="identityCard"/>
|
||||
<result property="scenicName" column="scenicName"/>
|
||||
<result property="tradeSession" column="trade_session"/>
|
||||
<result property="tradeSession" column="trade_session"/>
|
||||
<result property="tourId" column="tour_id"/>
|
||||
<result property="touristSource" column="tourist_source"/>
|
||||
<result property="toursNum" column="tours_num"/>
|
||||
<result property="travelAgencyId" column="travel_agency_id"/>
|
||||
<result property="paymentScene" column="payment_scene"/>
|
||||
<collection property="orderItemList" javaType="java.util.List" ofType="ZdyTicketOrderItem"
|
||||
select="selectZdyOrderItemByOrderId" column="id"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="selectZdyOrderItemByOrderId" parameterType="Long"
|
||||
resultMap="ZdyTicketOrderItemResult">
|
||||
select a.*,
|
||||
CASE
|
||||
WHEN a.user_id = 0 THEN
|
||||
a.user_name
|
||||
ELSE u.`name`
|
||||
END user_name,
|
||||
u.mobile AS mobilePhone,
|
||||
CASE
|
||||
WHEN a.user_id = 0 THEN
|
||||
a.identity_card
|
||||
ELSE u.id_card
|
||||
END identity_card
|
||||
from zdy_ticket_order_item a
|
||||
left join zdy_user u on u.id = a.user_id
|
||||
where a.order_id = #{id}
|
||||
</select>
|
||||
|
||||
|
||||
<resultMap type="ZdyTicketOrderItem" id="ZdyTicketOrderItemResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="orderId" column="order_id"/>
|
||||
<result property="orderCode" column="order_code"/>
|
||||
<result property="userId" column="user_id"/>
|
||||
<result property="userName" column="user_name"/>
|
||||
<result property="identityCard" column="identity_card"/>
|
||||
<result property="price" column="price"/>
|
||||
<result property="buyQuantity" column="buy_quantity"/>
|
||||
<result property="totalPrice" column="total_price"/>
|
||||
<result property="paymentType" column="payment_type"/>
|
||||
<result property="paymentMethod" column="payment_method"/>
|
||||
<result property="paymentTime" column="payment_time"/>
|
||||
<result property="refundStatus" column="refund_status"/>
|
||||
<result property="refundTime" column="refund_time"/>
|
||||
<result property="verificationType" column="verification_type"/>
|
||||
<result property="verificationTime" column="verification_time"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="ticketId" column="ticket_id"/>
|
||||
<result property="scenicId" column="scenic_id"/>
|
||||
<result property="classify" column="classify"/>
|
||||
<result property="ticketName" column="ticket_name"/>
|
||||
<result property="groupId" column="group_id"/>
|
||||
<result property="authenticationType" column="authentication_type"/>
|
||||
<result property="qrcodeRule" column="qrcode_rule"/>
|
||||
<result property="refundRule" column="refund_rule"/>
|
||||
<result property="refundDay" column="refund_day"/>
|
||||
<result property="isFee" column="is_fee"/>
|
||||
<result property="feeType" column="fee_type"/>
|
||||
<result property="deductionFees" column="deduction_fees"/>
|
||||
<result property="deductionFeesUnit" column="deduction_fees_unit"/>
|
||||
<result property="deductionJson" column="deduction_json"/>
|
||||
<result property="orderSource" column="order_source"/>
|
||||
<result property="tourId" column="tour_id"/>
|
||||
<result property="mobilePhone" column="mobilePhone"/>
|
||||
<result property="isRefundCheck" column="is_refund_check"/>
|
||||
<result property="settlementPrice" column="settlement_price"/>
|
||||
<result property="tradeSession" column="trade_session"/>
|
||||
<result property="applicablePeriod" column="applicable_period"/>
|
||||
<result property="timeQuantum" column="time_quantum"/>
|
||||
<result property="deptId" column="dept_id"/>
|
||||
<collection property="ticketOrderDetailList" javaType="java.util.List" ofType="ZdyTicketOrderDetailReturnVo"
|
||||
select="selectZdyOrderDetailByOrderId" column="id"/>
|
||||
</resultMap>
|
||||
<resultMap type="ZdyTicketOrderDetailReturnVo" id="ZdyTicketOrderDetailResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="orderItemId" column="order_item_id"/>
|
||||
<result property="ticketId" column="ticket_id"/>
|
||||
<result property="userTouristId" column="user_tourist_id"/>
|
||||
<result property="identityCard" column="identityCard"/>
|
||||
<result property="userName" column="userName"/>
|
||||
<result property="mobilePhone" column="mobilePhone"/>
|
||||
<result property="ticketPrice" column="ticket_price"/>
|
||||
<result property="buyQuantity" column="buy_quantity"/>
|
||||
<result property="orderTime" column="order_time"/>
|
||||
<result property="paymentType" column="payment_type"/>
|
||||
<result property="paymentMethod" column="payment_method"/>
|
||||
<result property="paymentTime" column="payment_time"/>
|
||||
<result property="refundEndTime" column="refund_end_time"/>
|
||||
<result property="verificationCode" column="verification_code"/>
|
||||
<result property="availableStartTime" column="available_start_time"/>
|
||||
<result property="availableEndTime" column="available_end_time"/>
|
||||
<result property="verificationType" column="verification_type"/>
|
||||
<result property="verificationTime" column="verification_time"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="productTotalPrice" column="product_total_price"/>
|
||||
<result property="payableAmount" column="payable_amount"/>
|
||||
<result property="actuaAmount" column="actua_amount"/>
|
||||
<result property="verificationUserId" column="verification_user_id"/>
|
||||
<result property="verificationUserName" column="verification_user_name"/>
|
||||
<result property="refundStatus" column="refund_status"/>
|
||||
<result property="verificationMun" column="verification_mun"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="canVerificationMun" column="can_verification_mun"/>
|
||||
<result property="identityCard" column="identityCard"/>
|
||||
<result property="userName" column="userName"/>
|
||||
<result property="mobilePhone" column="mobilePhone"/>
|
||||
<result property="activationStatus" column="activation_status"/>
|
||||
<result property="activationTime" column="activation_time"/>
|
||||
|
||||
</resultMap>
|
||||
|
||||
<select id="selectZdyOrderDetailByOrderId" parameterType="Long"
|
||||
resultMap="ZdyTicketOrderDetailResult">
|
||||
select d.*,
|
||||
CASE
|
||||
WHEN d.user_tourist_id = 0 THEN
|
||||
d.user_name
|
||||
ELSE u.`name`
|
||||
END userName,
|
||||
u.mobile as mobilePhone,
|
||||
CASE
|
||||
WHEN d.user_tourist_id = 0 THEN
|
||||
d.identity_card
|
||||
ELSE u.id_card
|
||||
END identityCard
|
||||
from zdy_ticket_order_detail d
|
||||
LEFT JOIN zdy_user_tourist u ON u.id = d.user_tourist_id
|
||||
where d.order_item_id = #{id}
|
||||
order by d.verification_type
|
||||
</select>
|
||||
|
||||
<resultMap type="ZdyTicketRefundRule" id="ZdyTicketRefundRuleResult">
|
||||
<result property="id" column="sub_id"/>
|
||||
<result property="ticketId" column="sub_ticket_id"/>
|
||||
<result property="day" column="sub_day"/>
|
||||
<result property="deductionFees" column="sub_deduction_fees"/>
|
||||
<result property="deductionFeesUnit" column="sub_deduction_fees_unit"/>
|
||||
</resultMap>
|
||||
|
||||
|
||||
<resultMap type="ZdyTicketOrderRefundVo" id="ZdyTicketOrderRefundResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="orderId" column="order_id"/>
|
||||
<result property="refundCode" column="refund_code"/>
|
||||
<result property="orderPrepayId" column="order_prepay_id"/>
|
||||
<result property="userId" column="user_id"/>
|
||||
<result property="refundQuantity" column="refund_quantity"/>
|
||||
<result property="totalPrice" column="total_price"/>
|
||||
<result property="totalFee" column="total_fee"/>
|
||||
<result property="actualPrice" column="actual_price"/>
|
||||
<result property="refundStatus" column="refund_status"/>
|
||||
<result property="refundTime" column="refund_time"/>
|
||||
<result property="personalRefundType" column="personal_refund_type"/>
|
||||
<result property="businessRefundType" column="business_refund_type"/>
|
||||
<result property="refundDescribe" column="refund_describe"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="userName" column="userName"/>
|
||||
<result property="userPhone" column="userPhone"/>
|
||||
<result property="tourId" column="tour_id"/>
|
||||
<result property="refundSource" column="refund_source"/>
|
||||
<result property="travelAgencyId" column="travel_agency_id"/>
|
||||
<result property="orderTime" column="orderTime"/>
|
||||
<result property="orderCode" column="orderCode"/>
|
||||
<collection property="orderRefundItemList" javaType="java.util.List" ofType="ZdyTicketOrderRefundItem"
|
||||
select="selectZdyTicketOrderRefundItemByRefundId" column="id"/>
|
||||
|
||||
</resultMap>
|
||||
|
||||
<resultMap type="ZdyTicketOrderRefundItem" id="ZdyTicketOrderRefundItemResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="refundId" column="refund_id"/>
|
||||
<result property="orderItemId" column="order_item_id"/>
|
||||
<result property="ticketClassify" column="ticket_classify"/>
|
||||
<result property="ticketId" column="ticket_id"/>
|
||||
<result property="refundQuantity" column="refund_quantity"/>
|
||||
<result property="totalPrice" column="total_price"/>
|
||||
<result property="totalFee" column="total_fee"/>
|
||||
<result property="actualPrice" column="actual_price"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="ticketName" column="ticket_name"/>
|
||||
<result property="settlementPrice" column="settlement_price"/>
|
||||
<result property="deptId" column="dept_id"/>
|
||||
<collection property="refundDetailList" javaType="java.util.List" ofType="ZdyTicketOrderRefundDetail"
|
||||
select="selectZdyTicketOrderRefundDetailByRefundId" column="id"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap type="ZdyTicketOrderRefundDetail" id="ZdyTicketOrderRefundDetailResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="orderDetailId" column="order_detail_id"/>
|
||||
<result property="refundItemId" column="refund_item_id"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- a.grounding_flag = 1 虽已授权但是下架,这里查询已上架的门票 -->
|
||||
<select id="selectSalesTickets" parameterType="com.zhwl.travelagency.order.dto.ZdyTravelAgencyTicketDTO"
|
||||
resultMap="TravelAgencyTicketVOResult">
|
||||
select a.*,b.settlement_price as settlement_price11
|
||||
from zdy_ticket a
|
||||
inner join zdy_travel_agency_ticket_authorization b on a.id = b.ticket_id
|
||||
left join zdy_travel_agency_info i on b.travel_agency_id = i.id
|
||||
<where>
|
||||
a.del_flag = '0' and a.grounding_flag = 1
|
||||
<if test="ticketName != null and ticketName!=''">
|
||||
and a.name like concat('%', #{ticketName},'%')
|
||||
</if>
|
||||
<if test="travelAgencyId != null">
|
||||
and b.travel_agency_id = #{travelAgencyId}
|
||||
</if>
|
||||
${params.dataScope}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectZdyTicketRefundRuleByTicketId" parameterType="Long"
|
||||
resultMap="ZdyTicketRefundRuleResult">
|
||||
select id as sub_id,
|
||||
ticket_id as sub_ticket_id, day as sub_day, deduction_fees as sub_deduction_fees, deduction_fees_unit as sub_deduction_fees_unit
|
||||
from zdy_ticket_refund_rule
|
||||
where ticket_id = #{id}
|
||||
</select>
|
||||
|
||||
<select id="selectZdyTicketOrderList" parameterType="com.zhwl.ticket.order.dto.ZdyTicketOrderDto"
|
||||
resultMap="ZdyTicketOrderResult">
|
||||
SELECT
|
||||
a.id,
|
||||
a.order_code,
|
||||
a.order_prepay_id,
|
||||
a.scenic_id,
|
||||
a.user_id,
|
||||
a.buy_quantity,
|
||||
a.total_price,
|
||||
a.order_source,
|
||||
a.payment_type,
|
||||
a.payment_method,
|
||||
a.payment_time,
|
||||
a.refund_status,
|
||||
a.refund_time,
|
||||
a.verification_type,
|
||||
a.verification_time,
|
||||
a.create_by,
|
||||
a.create_time,
|
||||
a.update_by,
|
||||
a.update_time,
|
||||
a.del_flag,
|
||||
CASE
|
||||
WHEN a.user_id = 0 THEN
|
||||
a.user_name ELSE u.`name`
|
||||
END userName,
|
||||
u.mobile AS mobilePhone,
|
||||
CASE
|
||||
WHEN a.user_id = 0 THEN
|
||||
a.identity_card ELSE u.id_card
|
||||
END identityCard,
|
||||
zs.scenic_name AS scenicName,
|
||||
a.trade_session,
|
||||
a.tour_id,
|
||||
a.tourist_source,
|
||||
a.tours_num,
|
||||
a.travel_agency_id,
|
||||
a.payment_scene
|
||||
FROM
|
||||
zdy_ticket_order a
|
||||
LEFT JOIN zdy_user u ON u.id = a.user_id
|
||||
LEFT JOIN zdy_scenic zs ON zs.id = a.scenic_id
|
||||
<where>
|
||||
a.del_flag = '0'
|
||||
<if test="orderCode != null and orderCode != ''">
|
||||
and a.order_code = #{orderCode}
|
||||
</if>
|
||||
<if test="orderPrepayId != null and orderPrepayId != ''">
|
||||
and a.order_prepay_id = #{orderPrepayId}
|
||||
</if>
|
||||
<if test="userId != null">
|
||||
and a.user_id = #{userId}
|
||||
</if>
|
||||
<if test="paymentType != null and paymentType != ''">
|
||||
and a.payment_type = #{paymentType}
|
||||
</if>
|
||||
<if test="paymentMethod != null and paymentMethod != ''">
|
||||
and a.payment_method = #{paymentMethod}
|
||||
</if>
|
||||
<if test="orderSource != null and orderSource != ''">
|
||||
and a.order_source = #{orderSource}
|
||||
</if>
|
||||
<if test="travelAgencyId != null ">
|
||||
and a.travel_agency_id = #{travelAgencyId}
|
||||
</if>
|
||||
<if test="buyer != null and buyer != ''">
|
||||
and (a.user_name like concat('%', #{buyer}, '%') or u.name like concat('%', #{buyer}, '%'))
|
||||
</if>
|
||||
<if test="noOrderSource != null and noOrderSource != ''">
|
||||
and a.order_source != #{noOrderSource}
|
||||
</if>
|
||||
AND a.id IN (SELECT DISTINCT item.order_id
|
||||
FROM
|
||||
zdy_ticket_order_detail detail
|
||||
LEFT JOIN zdy_ticket_order_item item ON item.id = detail.order_item_id
|
||||
LEFT JOIN zdy_user_tourist ut ON ut.id = detail.user_tourist_id
|
||||
left join sys_dept d on d.dept_id = item.dept_id
|
||||
<where>
|
||||
<if test="verificationType != null and verificationType != ''">
|
||||
and detail.verification_type = #{verificationType}
|
||||
</if>
|
||||
<if test="verificationCode != null and verificationCode != ''">
|
||||
and (detail.verification_code = #{verificationCode} or item.order_code = #{verificationCode})
|
||||
</if>
|
||||
<if test="orderStartTime != null and orderEndTime != null">
|
||||
and detail.order_time between #{orderStartTime} and #{orderEndTime}
|
||||
</if>
|
||||
<if test="userName != null and userName != ''">
|
||||
and (detail.user_name like concat('%', #{userName}, '%') or ut.`name` like concat('%', #{userName},
|
||||
'%') or item.user_name like concat('%', #{userName}, '%'))
|
||||
</if>
|
||||
<if test="mobilePhone != null and mobilePhone != ''">
|
||||
and ut.mobile = #{mobilePhone}
|
||||
</if>
|
||||
<if test="identityCard != null and identityCard != ''">
|
||||
and (detail.identity_card = #{identityCard} or ut.id_card = #{identityCard} or item.identity_card =
|
||||
#{identityCard})
|
||||
</if>
|
||||
<if test="refundStatus != null and refundStatus != ''">
|
||||
and detail.refund_status IN ( 0, 100, 3 )
|
||||
</if>
|
||||
<if test="ticketName != null and ticketName != ''">
|
||||
and item.ticket_name like concat('%', #{ticketName}, '%')
|
||||
</if>
|
||||
<if test="classifyList != null and classifyList != ''">
|
||||
and (item.classify in
|
||||
<foreach item="classify" collection="classifyList" open="(" separator="," close=")">
|
||||
#{classify}
|
||||
</foreach>
|
||||
)
|
||||
</if>
|
||||
<if test="activationStatus != null and activationStatus != ''">
|
||||
and detail.activation_status = #{activationStatus}
|
||||
</if>
|
||||
<if test="activationStartTime != null and activationEndTime != null">
|
||||
and detail.activation_time between #{activationStartTime} and #{activationEndTime}
|
||||
</if>
|
||||
${params.dataScope}
|
||||
</where>
|
||||
)
|
||||
</where>
|
||||
order by a.id desc
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectZdyTicketOrderListNoDataScope" parameterType="com.zhwl.ticket.order.dto.ZdyTicketOrderDto"
|
||||
resultMap="ZdyTicketOrderResult">
|
||||
SELECT
|
||||
a.id,
|
||||
a.order_code,
|
||||
a.order_prepay_id,
|
||||
a.scenic_id,
|
||||
a.user_id,
|
||||
a.buy_quantity,
|
||||
a.total_price,
|
||||
a.order_source,
|
||||
a.payment_type,
|
||||
a.payment_method,
|
||||
a.payment_time,
|
||||
a.refund_status,
|
||||
a.refund_time,
|
||||
a.verification_type,
|
||||
a.verification_time,
|
||||
a.create_by,
|
||||
a.create_time,
|
||||
a.update_by,
|
||||
a.update_time,
|
||||
a.del_flag,
|
||||
CASE
|
||||
WHEN a.user_id = 0 THEN
|
||||
a.user_name ELSE u.`name`
|
||||
END userName,
|
||||
u.mobile AS mobilePhone,
|
||||
CASE
|
||||
WHEN a.user_id = 0 THEN
|
||||
a.identity_card ELSE u.id_card
|
||||
END identityCard,
|
||||
zs.scenic_name AS scenicName,
|
||||
a.trade_session,
|
||||
a.tour_id,
|
||||
a.tourist_source,
|
||||
a.tours_num,
|
||||
a.travel_agency_id,
|
||||
a.payment_scene
|
||||
FROM
|
||||
zdy_ticket_order a
|
||||
LEFT JOIN zdy_user u ON u.id = a.user_id
|
||||
LEFT JOIN zdy_scenic zs ON zs.id = a.scenic_id
|
||||
<where>
|
||||
a.del_flag = '0'
|
||||
<if test="orderCode != null and orderCode != ''">
|
||||
and a.order_code = #{orderCode}
|
||||
</if>
|
||||
<if test="orderPrepayId != null and orderPrepayId != ''">
|
||||
and a.order_prepay_id = #{orderPrepayId}
|
||||
</if>
|
||||
<if test="userId != null">
|
||||
and a.user_id = #{userId}
|
||||
</if>
|
||||
<if test="paymentType != null and paymentType != ''">
|
||||
and a.payment_type = #{paymentType}
|
||||
</if>
|
||||
<if test="paymentMethod != null and paymentMethod != ''">
|
||||
and a.payment_method = #{paymentMethod}
|
||||
</if>
|
||||
<if test="orderSource != null and orderSource != ''">
|
||||
and a.order_source = #{orderSource}
|
||||
</if>
|
||||
<if test="travelAgencyId != null ">
|
||||
and a.travel_agency_id = #{travelAgencyId}
|
||||
</if>
|
||||
<if test="buyer != null and buyer != ''">
|
||||
and (a.user_name like concat('%', #{buyer}, '%') or u.name like concat('%', #{buyer}, '%'))
|
||||
</if>
|
||||
<if test="noOrderSource != null and noOrderSource != ''">
|
||||
and a.order_source != #{noOrderSource}
|
||||
</if>
|
||||
AND a.id IN (SELECT DISTINCT item.order_id
|
||||
FROM
|
||||
zdy_ticket_order_detail detail
|
||||
LEFT JOIN zdy_ticket_order_item item ON item.id = detail.order_item_id
|
||||
LEFT JOIN zdy_user_tourist ut ON ut.id = detail.user_tourist_id
|
||||
left join sys_dept d on d.dept_id = item.dept_id
|
||||
<where>
|
||||
<if test="verificationType != null and verificationType != ''">
|
||||
and detail.verification_type = #{verificationType}
|
||||
</if>
|
||||
<if test="verificationCode != null and verificationCode != ''">
|
||||
and (detail.verification_code = #{verificationCode} or item.order_code = #{verificationCode})
|
||||
</if>
|
||||
<if test="orderStartTime != null and orderEndTime != null">
|
||||
and detail.order_time between #{orderStartTime} and #{orderEndTime}
|
||||
</if>
|
||||
<if test="userName != null and userName != ''">
|
||||
and (detail.user_name like concat('%', #{userName}, '%') or ut.`name` like concat('%', #{userName},
|
||||
'%') or item.user_name like concat('%', #{userName}, '%'))
|
||||
</if>
|
||||
<if test="mobilePhone != null and mobilePhone != ''">
|
||||
and ut.mobile = #{mobilePhone}
|
||||
</if>
|
||||
<if test="identityCard != null and identityCard != ''">
|
||||
and (detail.identity_card = #{identityCard} or ut.id_card = #{identityCard} or item.identity_card =
|
||||
#{identityCard})
|
||||
</if>
|
||||
<if test="refundStatus != null and refundStatus != ''">
|
||||
and detail.refund_status IN ( 0, 100, 3 )
|
||||
</if>
|
||||
<if test="ticketName != null and ticketName != ''">
|
||||
and item.ticket_name like concat('%', #{ticketName}, '%')
|
||||
</if>
|
||||
<if test="classifyList != null and classifyList != ''">
|
||||
and (item.classify in
|
||||
<foreach item="classify" collection="classifyList" open="(" separator="," close=")">
|
||||
#{classify}
|
||||
</foreach>
|
||||
)
|
||||
</if>
|
||||
<if test="activationStatus != null and activationStatus != ''">
|
||||
and detail.activation_status = #{activationStatus}
|
||||
</if>
|
||||
<if test="activationStartTime != null and activationEndTime != null">
|
||||
and detail.activation_time between #{activationStartTime} and #{activationEndTime}
|
||||
</if>
|
||||
</where>
|
||||
)
|
||||
</where>
|
||||
order by a.id desc
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectZdyTicketOrderRefundList" parameterType="com.zhwl.ticket.order.dto.ZdyTicketOrderRefundDto"
|
||||
resultMap="ZdyTicketOrderRefundResult">
|
||||
<include refid="selectZdyTicketOrderRefundVo"/>
|
||||
<where>
|
||||
tor.del_flag = '0'
|
||||
<if test="orderId != null and orderId != ''">
|
||||
and tor.order_id = #{orderId}
|
||||
</if>
|
||||
<if test="refundCode != null and refundCode != ''">
|
||||
and tor.refund_code = #{refundCode}
|
||||
</if>
|
||||
<if test="orderPrepayId != null ">
|
||||
and tor.order_prepay_id = #{orderPrepayId}
|
||||
</if>
|
||||
<if test="userId != null ">
|
||||
and tor.user_id = #{userId}
|
||||
</if>
|
||||
<if test="refundStatus != null and refundStatus != ''">
|
||||
and tor.refund_status = #{refundStatus}
|
||||
</if>
|
||||
<if test="orderCode != null and orderCode != ''">
|
||||
and o.order_code = #{orderCode}
|
||||
</if>
|
||||
<if test="userName != null and userName != ''">
|
||||
and (us.name like concat('%',#{userName},'%') or us.nickname like concat('%',#{userName},'%'))
|
||||
</if>
|
||||
<if test="refundStartTime != null and refundEndTime != null">
|
||||
and tor.create_time between #{refundStartTime} and #{refundEndTime}
|
||||
</if>
|
||||
<if test="tourId != null">
|
||||
and tor.tour_id = #{tourId}
|
||||
</if>
|
||||
<if test="refundSource != null and refundSource != ''">
|
||||
and tor.refund_source = #{refundSource}
|
||||
</if>
|
||||
<if test="travelAgencyId != null">
|
||||
and o.travel_agency_id = #{travelAgencyId}
|
||||
</if>
|
||||
AND tor.id IN (SELECT DISTINCT item.refund_id
|
||||
FROM
|
||||
zdy_ticket_order_refund_item item
|
||||
left join sys_dept d on d.dept_id = item.dept_id
|
||||
<where>
|
||||
${params.dataScope}
|
||||
</where>
|
||||
)
|
||||
</where>
|
||||
order by tor.create_time desc
|
||||
</select>
|
||||
|
||||
|
||||
<sql id="selectZdyTicketOrderRefundVo">
|
||||
SELECT tor.id,
|
||||
tor.order_id,
|
||||
tor.refund_code,
|
||||
tor.order_prepay_id,
|
||||
tor.user_id,
|
||||
tor.refund_quantity,
|
||||
tor.total_price,
|
||||
tor.total_fee,
|
||||
tor.actual_price,
|
||||
tor.refund_status,
|
||||
tor.refund_time,
|
||||
tor.personal_refund_type,
|
||||
tor.business_refund_type,
|
||||
tor.refund_describe,
|
||||
tor.create_time,
|
||||
tor.update_time,
|
||||
tor.create_by,
|
||||
tor.tour_id,
|
||||
o.order_code as orderCode,
|
||||
tor.refund_source,
|
||||
o.travel_agency_id,
|
||||
o.create_time orderTime,
|
||||
CASE
|
||||
WHEN (us.NAME IS NULL OR us.NAME = '') THEN
|
||||
us.nickname
|
||||
ELSE us.NAME
|
||||
END AS userName,
|
||||
us.mobile AS userPhone
|
||||
FROM zdy_ticket_order_refund tor
|
||||
LEFT JOIN zdy_ticket_order o ON o.id = tor.order_id
|
||||
LEFT JOIN zdy_user us ON us.id = tor.user_id
|
||||
</sql>
|
||||
|
||||
|
||||
<select id="selectZdyTicketOrderRefundDetailByRefundId" parameterType="Long"
|
||||
resultMap="ZdyTicketOrderRefundDetailResult">
|
||||
select *
|
||||
from zdy_ticket_order_refund_detail
|
||||
where refund_item_id = #{id}
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectZdyTicketOrderRefundListNoDataScope"
|
||||
parameterType="com.zhwl.ticket.order.dto.ZdyTicketOrderRefundDto"
|
||||
resultMap="ZdyTicketOrderRefundResult">
|
||||
<include refid="selectZdyTicketOrderRefundVo"/>
|
||||
<where>
|
||||
tor.del_flag = '0'
|
||||
<if test="orderId != null and orderId != ''">
|
||||
and tor.order_id = #{orderId}
|
||||
</if>
|
||||
<if test="refundCode != null and refundCode != ''">
|
||||
and tor.refund_code = #{refundCode}
|
||||
</if>
|
||||
<if test="orderPrepayId != null ">
|
||||
and tor.order_prepay_id = #{orderPrepayId}
|
||||
</if>
|
||||
<if test="userId != null ">
|
||||
and tor.user_id = #{userId}
|
||||
</if>
|
||||
<if test="refundStatus != null and refundStatus != ''">
|
||||
and tor.refund_status = #{refundStatus}
|
||||
</if>
|
||||
<if test="orderCode != null and orderCode != ''">
|
||||
and o.order_code = #{orderCode}
|
||||
</if>
|
||||
<if test="userName != null and userName != ''">
|
||||
and (us.name like concat('%',#{userName},'%') or us.nickname like concat('%',#{userName},'%'))
|
||||
</if>
|
||||
<if test="refundStartTime != null and refundEndTime != null">
|
||||
and tor.create_time between #{refundStartTime} and #{refundEndTime}
|
||||
</if>
|
||||
<if test="tourId != null">
|
||||
and tor.tour_id = #{tourId}
|
||||
</if>
|
||||
<if test="refundSource != null and refundSource != ''">
|
||||
and tor.refund_source = #{refundSource}
|
||||
</if>
|
||||
<if test="travelAgencyId != null">
|
||||
and o.travel_agency_id = #{travelAgencyId}
|
||||
</if>
|
||||
AND tor.id IN (SELECT DISTINCT item.refund_id
|
||||
FROM
|
||||
zdy_ticket_order_refund_item item
|
||||
left join sys_dept d on d.dept_id = item.dept_id
|
||||
)
|
||||
</where>
|
||||
order by tor.create_time desc
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectZdyTicketOrderRefundItemByRefundId" parameterType="Long"
|
||||
resultMap="ZdyTicketOrderRefundItemResult">
|
||||
SELECT tor.id,
|
||||
tor.order_item_id,
|
||||
tor.refund_id,
|
||||
tor.ticket_id,
|
||||
tor.refund_quantity,
|
||||
tor.total_price,
|
||||
tor.total_fee,
|
||||
tor.actual_price,
|
||||
tor.create_time,
|
||||
tor.update_time,
|
||||
tor.ticket_classify,
|
||||
tor.ticket_name,
|
||||
tor.dept_id,
|
||||
o.order_code as orderCode
|
||||
FROM zdy_ticket_order_refund_item tor
|
||||
LEFT JOIN zdy_ticket_order_item o ON o.id = tor.order_item_id
|
||||
where tor.refund_id = #{id}
|
||||
</select>
|
||||
</mapper>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,254 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.zhwl.travelagency.order.mapper.ZdyTravelAgencyOrderSalesRecordMapper">
|
||||
|
||||
<resultMap type="ZdyTravelAgencyOrderSalesRecord" id="ZdyTravelAgencyOrderSalesRecordResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="summaryTime" column="summary_time"/>
|
||||
<result property="travelAgencyId" column="travel_agency_id"/>
|
||||
<result property="ticketId" column="ticket_id"/>
|
||||
<result property="salesOrderQuantity" column="sales_order_quantity"/>
|
||||
<result property="salesOrderPrice" column="sales_order_price"/>
|
||||
<result property="refundOrderQuantity" column="refund_order_quantity"/>
|
||||
<result property="refundOrderPrice" column="refund_order_price"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap type="com.zhwl.travelagency.order.vo.ZdyTravelAgencyOrderSalesRecordVO"
|
||||
id="ZdyTravelAgencyOrderSalesRecordResultVO">
|
||||
<result property="summaryTime" column="summary_time"/>
|
||||
<result property="ticketName" column="ticket_name"/>
|
||||
<result property="ticketSalesPrice" column="ticket_sales_price"/>
|
||||
<result property="ticketSettlementPrice" column="ticket_settlement_price"/>
|
||||
<result property="salesOrderQuantity" column="sales_order_quantity"/>
|
||||
<result property="salesOrderPrice" column="sales_order_price"/>
|
||||
<result property="refundOrderQuantity" column="refund_order_quantity"/>
|
||||
<result property="refundOrderPrice" column="refund_order_price"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectZdyTravelAgencyOrderSalesRecordVo">
|
||||
select id,
|
||||
summary_time,
|
||||
travel_agency_id,
|
||||
ticket_id,
|
||||
sales_order_quantity,
|
||||
sales_order_price,
|
||||
refund_order_quantity,
|
||||
refund_order_price
|
||||
from zdy_travel_agency_order_sales_record
|
||||
</sql>
|
||||
|
||||
<select id="selectZdyTravelAgencyOrderSalesRecordList" parameterType="ZdyTravelAgencyOrderSalesRecord"
|
||||
resultMap="ZdyTravelAgencyOrderSalesRecordResult">
|
||||
<include refid="selectZdyTravelAgencyOrderSalesRecordVo"/>
|
||||
<where>
|
||||
<if test="summaryTime != null ">
|
||||
and summary_time = #{summaryTime}
|
||||
</if>
|
||||
<if test="travelAgencyId != null ">
|
||||
and travel_agency_id = #{travelAgencyId}
|
||||
</if>
|
||||
<if test="ticketId != null ">
|
||||
and ticket_id = #{ticketId}
|
||||
</if>
|
||||
<if test="salesOrderQuantity != null ">
|
||||
and sales_order_quantity = #{salesOrderQuantity}
|
||||
</if>
|
||||
<if test="salesOrderPrice != null ">
|
||||
and sales_order_price = #{salesOrderPrice}
|
||||
</if>
|
||||
<if test="refundOrderQuantity != null ">
|
||||
and refund_order_quantity = #{refundOrderQuantity}
|
||||
</if>
|
||||
<if test="refundOrderPrice != null ">
|
||||
and refund_order_price = #{refundOrderPrice}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectZdyTravelAgencyOrderSalesRecordListReport"
|
||||
parameterType="com.zhwl.travelagency.order.dto.ZdyTravelAgencyOrderSalesRecordDTO"
|
||||
resultMap="ZdyTravelAgencyOrderSalesRecordResultVO">
|
||||
select summary_time,
|
||||
b.name ticket_name,
|
||||
b.sales_rice ticket_sales_price,
|
||||
c.settlement_price ticket_settlement_price,
|
||||
sales_order_quantity,
|
||||
sales_order_price,
|
||||
refund_order_quantity,
|
||||
refund_order_price
|
||||
from zdy_travel_agency_order_sales_record a
|
||||
left join zdy_ticket b on a.ticket_id = b.id
|
||||
left join zdy_travel_agency_ticket_authorization c on c.travel_agency_id=a.travel_agency_id and c.ticket_id=a.ticket_id
|
||||
left join zdy_travel_agency_info i on i.id = a.travel_agency_id
|
||||
<where>
|
||||
<if test="travelAgencyId != null ">
|
||||
and a.travel_agency_id = #{travelAgencyId}
|
||||
</if>
|
||||
<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
|
||||
and date_format(a.summary_time,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d')
|
||||
</if>
|
||||
<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
|
||||
and date_format(a.summary_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d')
|
||||
</if>
|
||||
<if test="ticketName != null and ticketName != ''">
|
||||
and b.name like concat('%',#{ticketName},'%')
|
||||
</if>
|
||||
${params.dataScope}
|
||||
</where>
|
||||
order by summary_time desc
|
||||
</select>
|
||||
|
||||
<select id="selectZdyTravelAgencyOrderSalesRecordById" parameterType="Long"
|
||||
resultMap="ZdyTravelAgencyOrderSalesRecordResult">
|
||||
<include refid="selectZdyTravelAgencyOrderSalesRecordVo"/>
|
||||
where id = #{id}
|
||||
</select>
|
||||
|
||||
<insert id="insertZdyTravelAgencyOrderSalesRecord" parameterType="ZdyTravelAgencyOrderSalesRecord"
|
||||
useGeneratedKeys="true"
|
||||
keyProperty="id">
|
||||
insert into zdy_travel_agency_order_sales_record
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="summaryTime != null">summary_time,
|
||||
</if>
|
||||
<if test="travelAgencyId != null">travel_agency_id,
|
||||
</if>
|
||||
<if test="ticketId != null">ticket_id,
|
||||
</if>
|
||||
<if test="salesOrderQuantity != null">sales_order_quantity,
|
||||
</if>
|
||||
<if test="salesOrderPrice != null">sales_order_price,
|
||||
</if>
|
||||
<if test="refundOrderQuantity != null">refund_order_quantity,
|
||||
</if>
|
||||
<if test="refundOrderPrice != null">refund_order_price,
|
||||
</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="summaryTime != null">#{summaryTime},
|
||||
</if>
|
||||
<if test="travelAgencyId != null">#{travelAgencyId},
|
||||
</if>
|
||||
<if test="ticketId != null">#{ticketId},
|
||||
</if>
|
||||
<if test="salesOrderQuantity != null">#{salesOrderQuantity},
|
||||
</if>
|
||||
<if test="salesOrderPrice != null">#{salesOrderPrice},
|
||||
</if>
|
||||
<if test="refundOrderQuantity != null">#{refundOrderQuantity},
|
||||
</if>
|
||||
<if test="refundOrderPrice != null">#{refundOrderPrice},
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="updateZdyTravelAgencyOrderSalesRecord" parameterType="ZdyTravelAgencyOrderSalesRecord">
|
||||
update zdy_travel_agency_order_sales_record
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="summaryTime != null">summary_time =
|
||||
#{summaryTime},
|
||||
</if>
|
||||
<if test="travelAgencyId != null">travel_agency_id =
|
||||
#{travelAgencyId},
|
||||
</if>
|
||||
<if test="ticketId != null">ticket_id =
|
||||
#{ticketId},
|
||||
</if>
|
||||
<if test="salesOrderQuantity != null">sales_order_quantity =
|
||||
#{salesOrderQuantity},
|
||||
</if>
|
||||
<if test="salesOrderPrice != null">sales_order_price =
|
||||
#{salesOrderPrice},
|
||||
</if>
|
||||
<if test="refundOrderQuantity != null">refund_order_quantity =
|
||||
#{refundOrderQuantity},
|
||||
</if>
|
||||
<if test="refundOrderPrice != null">refund_order_price =
|
||||
#{refundOrderPrice},
|
||||
</if>
|
||||
</trim>
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
<delete id="deleteZdyTravelAgencyOrderSalesRecordById" parameterType="Long">
|
||||
delete
|
||||
from zdy_travel_agency_order_sales_record
|
||||
where id = #{id}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteZdyTravelAgencyOrderSalesRecordByIds" parameterType="String">
|
||||
delete from zdy_travel_agency_order_sales_record where id in
|
||||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<insert id="insertAndUpdate"
|
||||
parameterType="com.zhwl.travelagency.order.domain.ZdyTravelAgencyOrderSalesRecord">
|
||||
insert into zdy_travel_agency_order_sales_record (
|
||||
summary_time,
|
||||
travel_agency_id,
|
||||
ticket_id,
|
||||
sales_order_quantity,
|
||||
sales_order_price,
|
||||
refund_order_quantity,
|
||||
refund_order_price
|
||||
)
|
||||
values
|
||||
(
|
||||
#{summaryTime},
|
||||
#{travelAgencyId},
|
||||
#{ticketId},
|
||||
#{salesOrderQuantity},
|
||||
#{salesOrderPrice},
|
||||
#{refundOrderQuantity},
|
||||
#{refundOrderPrice}
|
||||
)
|
||||
on duplicate key
|
||||
update
|
||||
<trim suffixOverrides=",">
|
||||
summary_time = summary_time,
|
||||
travel_agency_id = travel_agency_id,
|
||||
ticket_id = ticket_id,
|
||||
<if test="salesOrderQuantity!=null">
|
||||
sales_order_quantity = ifnull(sales_order_quantity,0) + values(sales_order_quantity),
|
||||
</if>
|
||||
<if test="salesOrderPrice!=null">
|
||||
sales_order_price = ifnull(sales_order_price,0) + values(sales_order_price),
|
||||
</if>
|
||||
<if test="refundOrderQuantity!=null">
|
||||
refund_order_quantity = ifnull(refund_order_quantity,0) + values(refund_order_quantity),
|
||||
</if>
|
||||
<if test="refundOrderPrice!=null">
|
||||
refund_order_price =ifnull(refund_order_price,0) + values(refund_order_price),
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<select id="summary" parameterType="com.zhwl.travelagency.order.dto.ZdyTravelAgencyOrderSalesRecordDTO"
|
||||
resultMap="ZdyTravelAgencyOrderSalesRecordResultVO">
|
||||
select sum(ifnull(sales_order_quantity, 0)) sales_order_quantity,
|
||||
sum(ifnull(sales_order_price, 0)) sales_order_price,
|
||||
sum(ifnull(refund_order_quantity, 0)) refund_order_quantity,
|
||||
sum(ifnull(refund_order_price, 0)) refund_order_price
|
||||
from zdy_travel_agency_order_sales_record a left join zdy_ticket b on a.ticket_id = b.id
|
||||
left join zdy_travel_agency_info i on a.travel_agency_id = i.id
|
||||
<where>
|
||||
<if test="travelAgencyId != null ">
|
||||
and a.travel_agency_id = #{travelAgencyId}
|
||||
</if>
|
||||
<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
|
||||
and date_format(a.summary_time,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d')
|
||||
</if>
|
||||
<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
|
||||
and date_format(a.summary_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d')
|
||||
</if>
|
||||
<if test="ticketName != null and ticketName != ''">
|
||||
and b.name like concat('%',#{ticketName},'%')
|
||||
</if>
|
||||
${params.dataScope}
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
@@ -0,0 +1,740 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.zhwl.travelagency.order.mapper.ZdyTravelAgencyTicketMapper">
|
||||
|
||||
<resultMap type="com.zhwl.travelagency.order.vo.ZdyTravelAgencyTicketVO" id="TravelAgencyTicketVOResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="name" column="name"/>
|
||||
<result property="scenicId" column="scenic_id"/>
|
||||
<result property="salesRice" column="sales_rice"/>
|
||||
<result property="price" column="price"/>
|
||||
<result property="image" column="image"/>
|
||||
<result property="classify" column="classify"/>
|
||||
<result property="groundingFlag" column="grounding_flag"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="scenicName" column="scenic_name"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="inventory" column="inventory"/>
|
||||
<result property="flag" column="flag"/>
|
||||
<result property="minPrice" column="minPrice"/>
|
||||
<result property="refundRule" column="refund_rule"/>
|
||||
<result property="refundRuleName" column="refundRuleName"/>
|
||||
<result property="isFee" column="is_fee"/>
|
||||
<result property="classifyName" column="classifyName"/>
|
||||
<result property="isOrder" column="is_order"/>
|
||||
<result property="validityStartTime" column="validity_start_time"/>
|
||||
<result property="validityEndTime" column="validity_end_time"/>
|
||||
<result property="groupId" column="group_id"/>
|
||||
<result property="bookingNotice" column="booking_notice"/>
|
||||
<result property="beforeDay" column="before_day"/>
|
||||
<result property="isOrderQuantity" column="is_order_quantity"/>
|
||||
<result property="orderQuantity" column="order_quantity"/>
|
||||
<result property="authenticationType" column="authentication_type"/>
|
||||
<result property="verifySettings" column="verify_settings"/>
|
||||
<result property="isPurchaseDate" column="is_purchase_date"/>
|
||||
<result property="purchStartDate" column="purch_start_date"/>
|
||||
<result property="purchEndDate" column="purch_end_date"/>
|
||||
<result property="ticketValidityPeriod" column="ticket_validity_period"/>
|
||||
<result property="buyPeriodDay" column="buy_period_day"/>
|
||||
<result property="adjust" column="adjust"/>
|
||||
<result property="groupName" column="groupName"/>
|
||||
<result property="groupId" column="group_id"/>
|
||||
<result property="classifyName" column="classifyName"/>
|
||||
<result property="admissionAddress" column="admission_address"/>
|
||||
<result property="admissionTime" column="admission_time"/>
|
||||
<result property="sales" column="sales"/>
|
||||
<result property="image11" column="image11"/>
|
||||
<result property="image43" column="image43"/>
|
||||
<result property="feeType" column="fee_type"/>
|
||||
<result property="deductionFees" column="deduction_fees"/>
|
||||
<result property="deductionFeesUnit" column="deduction_fees_unit"/>
|
||||
<result property="refundDay" column="refund_day"/>
|
||||
<result property="qrcodeRule" column="qrcode_rule"/>
|
||||
<result property="isRefundCheck" column="is_refund_check"/>
|
||||
<result property="settlementPrice" column="settlement_price11"/>
|
||||
</resultMap>
|
||||
|
||||
|
||||
<resultMap type="ZdyTicketOrderVo" id="ZdyTicketOrderResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="orderCode" column="order_code"/>
|
||||
<result property="orderPrepayId" column="order_prepay_id"/>
|
||||
<result property="scenicId" column="scenic_id"/>
|
||||
<result property="userId" column="user_id"/>
|
||||
<result property="buyQuantity" column="buy_quantity"/>
|
||||
<result property="totalPrice" column="total_price"/>
|
||||
<result property="orderSource" column="order_source"/>
|
||||
<result property="paymentType" column="payment_type"/>
|
||||
<result property="paymentMethod" column="payment_method"/>
|
||||
<result property="paymentTime" column="payment_time"/>
|
||||
<result property="refundStatus" column="refund_status"/>
|
||||
<result property="refundTime" column="refund_time"/>
|
||||
<result property="verificationType" column="verification_type"/>
|
||||
<result property="verificationTime" column="verification_time"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="userName" column="userName"/>
|
||||
<result property="mobilePhone" column="mobilePhone"/>
|
||||
<result property="identityCard" column="identityCard"/>
|
||||
<result property="scenicName" column="scenicName"/>
|
||||
<result property="tradeSession" column="trade_session"/>
|
||||
<result property="tradeSession" column="trade_session"/>
|
||||
<result property="tourId" column="tour_id"/>
|
||||
<result property="touristSource" column="tourist_source"/>
|
||||
<result property="toursNum" column="tours_num"/>
|
||||
<result property="travelAgencyId" column="travel_agency_id"/>
|
||||
<result property="paymentScene" column="payment_scene"/>
|
||||
<collection property="orderItemList" javaType="java.util.List" ofType="ZdyTicketOrderItem"
|
||||
select="selectZdyOrderItemByOrderId" column="id"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="selectZdyOrderItemByOrderId" parameterType="Long"
|
||||
resultMap="ZdyTicketOrderItemResult">
|
||||
select a.*,
|
||||
CASE
|
||||
WHEN a.user_id = 0 THEN
|
||||
a.user_name
|
||||
ELSE u.`name`
|
||||
END user_name,
|
||||
u.mobile AS mobilePhone,
|
||||
CASE
|
||||
WHEN a.user_id = 0 THEN
|
||||
a.identity_card
|
||||
ELSE u.id_card
|
||||
END identity_card
|
||||
from zdy_ticket_order_item a
|
||||
left join zdy_user u on u.id = a.user_id
|
||||
where a.order_id = #{id}
|
||||
</select>
|
||||
|
||||
|
||||
<resultMap type="ZdyTicketOrderItem" id="ZdyTicketOrderItemResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="orderId" column="order_id"/>
|
||||
<result property="orderCode" column="order_code"/>
|
||||
<result property="userId" column="user_id"/>
|
||||
<result property="userName" column="user_name"/>
|
||||
<result property="identityCard" column="identity_card"/>
|
||||
<result property="price" column="price"/>
|
||||
<result property="buyQuantity" column="buy_quantity"/>
|
||||
<result property="totalPrice" column="total_price"/>
|
||||
<result property="paymentType" column="payment_type"/>
|
||||
<result property="paymentMethod" column="payment_method"/>
|
||||
<result property="paymentTime" column="payment_time"/>
|
||||
<result property="refundStatus" column="refund_status"/>
|
||||
<result property="refundTime" column="refund_time"/>
|
||||
<result property="verificationType" column="verification_type"/>
|
||||
<result property="verificationTime" column="verification_time"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="ticketId" column="ticket_id"/>
|
||||
<result property="scenicId" column="scenic_id"/>
|
||||
<result property="classify" column="classify"/>
|
||||
<result property="ticketName" column="ticket_name"/>
|
||||
<result property="groupId" column="group_id"/>
|
||||
<result property="authenticationType" column="authentication_type"/>
|
||||
<result property="qrcodeRule" column="qrcode_rule"/>
|
||||
<result property="refundRule" column="refund_rule"/>
|
||||
<result property="refundDay" column="refund_day"/>
|
||||
<result property="isFee" column="is_fee"/>
|
||||
<result property="feeType" column="fee_type"/>
|
||||
<result property="deductionFees" column="deduction_fees"/>
|
||||
<result property="deductionFeesUnit" column="deduction_fees_unit"/>
|
||||
<result property="deductionJson" column="deduction_json"/>
|
||||
<result property="orderSource" column="order_source"/>
|
||||
<result property="tourId" column="tour_id"/>
|
||||
<result property="mobilePhone" column="mobilePhone"/>
|
||||
<result property="isRefundCheck" column="is_refund_check"/>
|
||||
<result property="settlementPrice" column="settlement_price"/>
|
||||
<result property="tradeSession" column="trade_session"/>
|
||||
<result property="applicablePeriod" column="applicable_period"/>
|
||||
<result property="timeQuantum" column="time_quantum"/>
|
||||
<result property="deptId" column="dept_id"/>
|
||||
<collection property="ticketOrderDetailList" javaType="java.util.List" ofType="ZdyTicketOrderDetailReturnVo"
|
||||
select="selectZdyOrderDetailByOrderId" column="id"/>
|
||||
</resultMap>
|
||||
<resultMap type="ZdyTicketOrderDetailReturnVo" id="ZdyTicketOrderDetailResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="orderItemId" column="order_item_id"/>
|
||||
<result property="ticketId" column="ticket_id"/>
|
||||
<result property="userTouristId" column="user_tourist_id"/>
|
||||
<result property="identityCard" column="identityCard"/>
|
||||
<result property="userName" column="userName"/>
|
||||
<result property="mobilePhone" column="mobilePhone"/>
|
||||
<result property="ticketPrice" column="ticket_price"/>
|
||||
<result property="buyQuantity" column="buy_quantity"/>
|
||||
<result property="orderTime" column="order_time"/>
|
||||
<result property="paymentType" column="payment_type"/>
|
||||
<result property="paymentMethod" column="payment_method"/>
|
||||
<result property="paymentTime" column="payment_time"/>
|
||||
<result property="refundEndTime" column="refund_end_time"/>
|
||||
<result property="verificationCode" column="verification_code"/>
|
||||
<result property="availableStartTime" column="available_start_time"/>
|
||||
<result property="availableEndTime" column="available_end_time"/>
|
||||
<result property="verificationType" column="verification_type"/>
|
||||
<result property="verificationTime" column="verification_time"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="productTotalPrice" column="product_total_price"/>
|
||||
<result property="payableAmount" column="payable_amount"/>
|
||||
<result property="actuaAmount" column="actua_amount"/>
|
||||
<result property="verificationUserId" column="verification_user_id"/>
|
||||
<result property="verificationUserName" column="verification_user_name"/>
|
||||
<result property="refundStatus" column="refund_status"/>
|
||||
<result property="verificationMun" column="verification_mun"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="canVerificationMun" column="can_verification_mun"/>
|
||||
<result property="identityCard" column="identityCard"/>
|
||||
<result property="userName" column="userName"/>
|
||||
<result property="mobilePhone" column="mobilePhone"/>
|
||||
<result property="activationStatus" column="activation_status"/>
|
||||
<result property="activationTime" column="activation_time"/>
|
||||
|
||||
</resultMap>
|
||||
|
||||
<select id="selectZdyOrderDetailByOrderId" parameterType="Long"
|
||||
resultMap="ZdyTicketOrderDetailResult">
|
||||
select d.*,
|
||||
CASE
|
||||
WHEN d.user_tourist_id = 0 THEN
|
||||
d.user_name
|
||||
ELSE u.`name`
|
||||
END userName,
|
||||
u.mobile as mobilePhone,
|
||||
CASE
|
||||
WHEN d.user_tourist_id = 0 THEN
|
||||
d.identity_card
|
||||
ELSE u.id_card
|
||||
END identityCard
|
||||
from zdy_ticket_order_detail d
|
||||
LEFT JOIN zdy_user_tourist u ON u.id = d.user_tourist_id
|
||||
where d.order_item_id = #{id}
|
||||
order by d.verification_type
|
||||
</select>
|
||||
|
||||
<resultMap type="ZdyTicketRefundRule" id="ZdyTicketRefundRuleResult">
|
||||
<result property="id" column="sub_id"/>
|
||||
<result property="ticketId" column="sub_ticket_id"/>
|
||||
<result property="day" column="sub_day"/>
|
||||
<result property="deductionFees" column="sub_deduction_fees"/>
|
||||
<result property="deductionFeesUnit" column="sub_deduction_fees_unit"/>
|
||||
</resultMap>
|
||||
|
||||
|
||||
<resultMap type="ZdyTicketOrderRefundVo" id="ZdyTicketOrderRefundResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="orderId" column="order_id"/>
|
||||
<result property="refundCode" column="refund_code"/>
|
||||
<result property="orderPrepayId" column="order_prepay_id"/>
|
||||
<result property="userId" column="user_id"/>
|
||||
<result property="refundQuantity" column="refund_quantity"/>
|
||||
<result property="totalPrice" column="total_price"/>
|
||||
<result property="totalFee" column="total_fee"/>
|
||||
<result property="actualPrice" column="actual_price"/>
|
||||
<result property="refundStatus" column="refund_status"/>
|
||||
<result property="refundTime" column="refund_time"/>
|
||||
<result property="personalRefundType" column="personal_refund_type"/>
|
||||
<result property="businessRefundType" column="business_refund_type"/>
|
||||
<result property="refundDescribe" column="refund_describe"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="userName" column="userName"/>
|
||||
<result property="userPhone" column="userPhone"/>
|
||||
<result property="tourId" column="tour_id"/>
|
||||
<result property="refundSource" column="refund_source"/>
|
||||
<result property="travelAgencyId" column="travel_agency_id"/>
|
||||
<result property="orderTime" column="orderTime"/>
|
||||
<result property="orderCode" column="orderCode"/>
|
||||
<collection property="orderRefundItemList" javaType="java.util.List" ofType="ZdyTicketOrderRefundItem"
|
||||
select="selectZdyTicketOrderRefundItemByRefundId" column="id"/>
|
||||
|
||||
</resultMap>
|
||||
|
||||
<resultMap type="ZdyTicketOrderRefundItem" id="ZdyTicketOrderRefundItemResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="refundId" column="refund_id"/>
|
||||
<result property="orderItemId" column="order_item_id"/>
|
||||
<result property="ticketClassify" column="ticket_classify"/>
|
||||
<result property="ticketId" column="ticket_id"/>
|
||||
<result property="refundQuantity" column="refund_quantity"/>
|
||||
<result property="totalPrice" column="total_price"/>
|
||||
<result property="totalFee" column="total_fee"/>
|
||||
<result property="actualPrice" column="actual_price"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="ticketName" column="ticket_name"/>
|
||||
<result property="settlementPrice" column="settlement_price"/>
|
||||
<result property="deptId" column="dept_id"/>
|
||||
<collection property="refundDetailList" javaType="java.util.List" ofType="ZdyTicketOrderRefundDetail"
|
||||
select="selectZdyTicketOrderRefundDetailByRefundId" column="id"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap type="ZdyTicketOrderRefundDetail" id="ZdyTicketOrderRefundDetailResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="orderDetailId" column="order_detail_id"/>
|
||||
<result property="refundItemId" column="refund_item_id"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- a.grounding_flag = 1 虽已授权但是下架,这里查询已上架的门票 -->
|
||||
<select id="selectSalesTickets" parameterType="com.zhwl.travelagency.order.dto.ZdyTravelAgencyTicketDTO"
|
||||
resultMap="TravelAgencyTicketVOResult">
|
||||
select a.*,b.settlement_price as settlement_price11
|
||||
from zdy_ticket a
|
||||
inner join zdy_travel_agency_ticket_authorization b on a.id = b.ticket_id
|
||||
left join zdy_travel_agency_info i on b.travel_agency_id = i.id
|
||||
<where>
|
||||
a.del_flag = '0' and a.grounding_flag = 1
|
||||
<if test="ticketName != null and ticketName!=''">
|
||||
and a.name like concat('%', #{ticketName},'%')
|
||||
</if>
|
||||
<if test="travelAgencyId != null">
|
||||
and b.travel_agency_id = #{travelAgencyId}
|
||||
</if>
|
||||
${params.dataScope}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectZdyTicketRefundRuleByTicketId" parameterType="Long"
|
||||
resultMap="ZdyTicketRefundRuleResult">
|
||||
select id as sub_id,
|
||||
ticket_id as sub_ticket_id, day as sub_day, deduction_fees as sub_deduction_fees, deduction_fees_unit as sub_deduction_fees_unit
|
||||
from zdy_ticket_refund_rule
|
||||
where ticket_id = #{id}
|
||||
</select>
|
||||
|
||||
<select id="selectZdyTicketOrderList" parameterType="com.zhwl.ticket.order.dto.ZdyTicketOrderDto"
|
||||
resultMap="ZdyTicketOrderResult">
|
||||
SELECT
|
||||
a.id,
|
||||
a.order_code,
|
||||
a.order_prepay_id,
|
||||
a.scenic_id,
|
||||
a.user_id,
|
||||
a.buy_quantity,
|
||||
a.total_price,
|
||||
a.order_source,
|
||||
a.payment_type,
|
||||
a.payment_method,
|
||||
a.payment_time,
|
||||
a.refund_status,
|
||||
a.refund_time,
|
||||
a.verification_type,
|
||||
a.verification_time,
|
||||
a.create_by,
|
||||
a.create_time,
|
||||
a.update_by,
|
||||
a.update_time,
|
||||
a.del_flag,
|
||||
CASE
|
||||
WHEN a.user_id = 0 THEN
|
||||
a.user_name ELSE u.`name`
|
||||
END userName,
|
||||
u.mobile AS mobilePhone,
|
||||
CASE
|
||||
WHEN a.user_id = 0 THEN
|
||||
a.identity_card ELSE u.id_card
|
||||
END identityCard,
|
||||
zs.scenic_name AS scenicName,
|
||||
a.trade_session,
|
||||
a.tour_id,
|
||||
a.tourist_source,
|
||||
a.tours_num,
|
||||
a.travel_agency_id,
|
||||
a.payment_scene
|
||||
FROM
|
||||
zdy_ticket_order a
|
||||
LEFT JOIN zdy_user u ON u.id = a.user_id
|
||||
LEFT JOIN zdy_scenic zs ON zs.id = a.scenic_id
|
||||
<where>
|
||||
a.del_flag = '0'
|
||||
<if test="orderCode != null and orderCode != ''">
|
||||
and a.order_code = #{orderCode}
|
||||
</if>
|
||||
<if test="orderPrepayId != null and orderPrepayId != ''">
|
||||
and a.order_prepay_id = #{orderPrepayId}
|
||||
</if>
|
||||
<if test="userId != null">
|
||||
and a.user_id = #{userId}
|
||||
</if>
|
||||
<if test="paymentType != null and paymentType != ''">
|
||||
and a.payment_type = #{paymentType}
|
||||
</if>
|
||||
<if test="paymentMethod != null and paymentMethod != ''">
|
||||
and a.payment_method = #{paymentMethod}
|
||||
</if>
|
||||
<if test="orderSource != null and orderSource != ''">
|
||||
and a.order_source = #{orderSource}
|
||||
</if>
|
||||
<if test="travelAgencyId != null ">
|
||||
and a.travel_agency_id = #{travelAgencyId}
|
||||
</if>
|
||||
<if test="buyer != null and buyer != ''">
|
||||
and (a.user_name like concat('%', #{buyer}, '%') or u.name like concat('%', #{buyer}, '%'))
|
||||
</if>
|
||||
<if test="noOrderSource != null and noOrderSource != ''">
|
||||
and a.order_source != #{noOrderSource}
|
||||
</if>
|
||||
AND a.id IN (SELECT DISTINCT item.order_id
|
||||
FROM
|
||||
zdy_ticket_order_detail detail
|
||||
LEFT JOIN zdy_ticket_order_item item ON item.id = detail.order_item_id
|
||||
LEFT JOIN zdy_user_tourist ut ON ut.id = detail.user_tourist_id
|
||||
left join sys_dept d on d.dept_id = item.dept_id
|
||||
<where>
|
||||
<if test="verificationType != null and verificationType != ''">
|
||||
and detail.verification_type = #{verificationType}
|
||||
</if>
|
||||
<if test="verificationCode != null and verificationCode != ''">
|
||||
and (detail.verification_code = #{verificationCode} or item.order_code = #{verificationCode})
|
||||
</if>
|
||||
<if test="orderStartTime != null and orderEndTime != null">
|
||||
and detail.order_time between #{orderStartTime} and #{orderEndTime}
|
||||
</if>
|
||||
<if test="userName != null and userName != ''">
|
||||
and (detail.user_name like concat('%', #{userName}, '%') or ut.`name` like concat('%', #{userName},
|
||||
'%') or item.user_name like concat('%', #{userName}, '%'))
|
||||
</if>
|
||||
<if test="mobilePhone != null and mobilePhone != ''">
|
||||
and ut.mobile = #{mobilePhone}
|
||||
</if>
|
||||
<if test="identityCard != null and identityCard != ''">
|
||||
and (detail.identity_card = #{identityCard} or ut.id_card = #{identityCard} or item.identity_card =
|
||||
#{identityCard})
|
||||
</if>
|
||||
<if test="refundStatus != null and refundStatus != ''">
|
||||
and detail.refund_status IN ( 0, 100, 3 )
|
||||
</if>
|
||||
<if test="ticketName != null and ticketName != ''">
|
||||
and item.ticket_name like concat('%', #{ticketName}, '%')
|
||||
</if>
|
||||
<if test="classifyList != null and classifyList != ''">
|
||||
and (item.classify in
|
||||
<foreach item="classify" collection="classifyList" open="(" separator="," close=")">
|
||||
#{classify}
|
||||
</foreach>
|
||||
)
|
||||
</if>
|
||||
<if test="activationStatus != null and activationStatus != ''">
|
||||
and detail.activation_status = #{activationStatus}
|
||||
</if>
|
||||
<if test="activationStartTime != null and activationEndTime != null">
|
||||
and detail.activation_time between #{activationStartTime} and #{activationEndTime}
|
||||
</if>
|
||||
${params.dataScope}
|
||||
</where>
|
||||
)
|
||||
</where>
|
||||
order by a.id desc
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectZdyTicketOrderListNoDataScope" parameterType="com.zhwl.ticket.order.dto.ZdyTicketOrderDto"
|
||||
resultMap="ZdyTicketOrderResult">
|
||||
SELECT
|
||||
a.id,
|
||||
a.order_code,
|
||||
a.order_prepay_id,
|
||||
a.scenic_id,
|
||||
a.user_id,
|
||||
a.buy_quantity,
|
||||
a.total_price,
|
||||
a.order_source,
|
||||
a.payment_type,
|
||||
a.payment_method,
|
||||
a.payment_time,
|
||||
a.refund_status,
|
||||
a.refund_time,
|
||||
a.verification_type,
|
||||
a.verification_time,
|
||||
a.create_by,
|
||||
a.create_time,
|
||||
a.update_by,
|
||||
a.update_time,
|
||||
a.del_flag,
|
||||
CASE
|
||||
WHEN a.user_id = 0 THEN
|
||||
a.user_name ELSE u.`name`
|
||||
END userName,
|
||||
u.mobile AS mobilePhone,
|
||||
CASE
|
||||
WHEN a.user_id = 0 THEN
|
||||
a.identity_card ELSE u.id_card
|
||||
END identityCard,
|
||||
zs.scenic_name AS scenicName,
|
||||
a.trade_session,
|
||||
a.tour_id,
|
||||
a.tourist_source,
|
||||
a.tours_num,
|
||||
a.travel_agency_id,
|
||||
a.payment_scene
|
||||
FROM
|
||||
zdy_ticket_order a
|
||||
LEFT JOIN zdy_user u ON u.id = a.user_id
|
||||
LEFT JOIN zdy_scenic zs ON zs.id = a.scenic_id
|
||||
<where>
|
||||
a.del_flag = '0'
|
||||
<if test="orderCode != null and orderCode != ''">
|
||||
and a.order_code = #{orderCode}
|
||||
</if>
|
||||
<if test="orderPrepayId != null and orderPrepayId != ''">
|
||||
and a.order_prepay_id = #{orderPrepayId}
|
||||
</if>
|
||||
<if test="userId != null">
|
||||
and a.user_id = #{userId}
|
||||
</if>
|
||||
<if test="paymentType != null and paymentType != ''">
|
||||
and a.payment_type = #{paymentType}
|
||||
</if>
|
||||
<if test="paymentMethod != null and paymentMethod != ''">
|
||||
and a.payment_method = #{paymentMethod}
|
||||
</if>
|
||||
<if test="orderSource != null and orderSource != ''">
|
||||
and a.order_source = #{orderSource}
|
||||
</if>
|
||||
<if test="travelAgencyId != null ">
|
||||
and a.travel_agency_id = #{travelAgencyId}
|
||||
</if>
|
||||
<if test="buyer != null and buyer != ''">
|
||||
and (a.user_name like concat('%', #{buyer}, '%') or u.name like concat('%', #{buyer}, '%'))
|
||||
</if>
|
||||
<if test="noOrderSource != null and noOrderSource != ''">
|
||||
and a.order_source != #{noOrderSource}
|
||||
</if>
|
||||
AND a.id IN (SELECT DISTINCT item.order_id
|
||||
FROM
|
||||
zdy_ticket_order_detail detail
|
||||
LEFT JOIN zdy_ticket_order_item item ON item.id = detail.order_item_id
|
||||
LEFT JOIN zdy_user_tourist ut ON ut.id = detail.user_tourist_id
|
||||
left join sys_dept d on d.dept_id = item.dept_id
|
||||
<where>
|
||||
<if test="verificationType != null and verificationType != ''">
|
||||
and detail.verification_type = #{verificationType}
|
||||
</if>
|
||||
<if test="verificationCode != null and verificationCode != ''">
|
||||
and (detail.verification_code = #{verificationCode} or item.order_code = #{verificationCode})
|
||||
</if>
|
||||
<if test="orderStartTime != null and orderEndTime != null">
|
||||
and detail.order_time between #{orderStartTime} and #{orderEndTime}
|
||||
</if>
|
||||
<if test="userName != null and userName != ''">
|
||||
and (detail.user_name like concat('%', #{userName}, '%') or ut.`name` like concat('%', #{userName},
|
||||
'%') or item.user_name like concat('%', #{userName}, '%'))
|
||||
</if>
|
||||
<if test="mobilePhone != null and mobilePhone != ''">
|
||||
and ut.mobile = #{mobilePhone}
|
||||
</if>
|
||||
<if test="identityCard != null and identityCard != ''">
|
||||
and (detail.identity_card = #{identityCard} or ut.id_card = #{identityCard} or item.identity_card =
|
||||
#{identityCard})
|
||||
</if>
|
||||
<if test="refundStatus != null and refundStatus != ''">
|
||||
and detail.refund_status IN ( 0, 100, 3 )
|
||||
</if>
|
||||
<if test="ticketName != null and ticketName != ''">
|
||||
and item.ticket_name like concat('%', #{ticketName}, '%')
|
||||
</if>
|
||||
<if test="classifyList != null and classifyList != ''">
|
||||
and (item.classify in
|
||||
<foreach item="classify" collection="classifyList" open="(" separator="," close=")">
|
||||
#{classify}
|
||||
</foreach>
|
||||
)
|
||||
</if>
|
||||
<if test="activationStatus != null and activationStatus != ''">
|
||||
and detail.activation_status = #{activationStatus}
|
||||
</if>
|
||||
<if test="activationStartTime != null and activationEndTime != null">
|
||||
and detail.activation_time between #{activationStartTime} and #{activationEndTime}
|
||||
</if>
|
||||
</where>
|
||||
)
|
||||
</where>
|
||||
order by a.id desc
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectZdyTicketOrderRefundList" parameterType="com.zhwl.ticket.order.dto.ZdyTicketOrderRefundDto"
|
||||
resultMap="ZdyTicketOrderRefundResult">
|
||||
<include refid="selectZdyTicketOrderRefundVo"/>
|
||||
<where>
|
||||
tor.del_flag = '0'
|
||||
<if test="orderId != null and orderId != ''">
|
||||
and tor.order_id = #{orderId}
|
||||
</if>
|
||||
<if test="refundCode != null and refundCode != ''">
|
||||
and tor.refund_code = #{refundCode}
|
||||
</if>
|
||||
<if test="orderPrepayId != null ">
|
||||
and tor.order_prepay_id = #{orderPrepayId}
|
||||
</if>
|
||||
<if test="userId != null ">
|
||||
and tor.user_id = #{userId}
|
||||
</if>
|
||||
<if test="refundStatus != null and refundStatus != ''">
|
||||
and tor.refund_status = #{refundStatus}
|
||||
</if>
|
||||
<if test="orderCode != null and orderCode != ''">
|
||||
and o.order_code = #{orderCode}
|
||||
</if>
|
||||
<if test="userName != null and userName != ''">
|
||||
and (us.name like concat('%',#{userName},'%') or us.nickname like concat('%',#{userName},'%'))
|
||||
</if>
|
||||
<if test="refundStartTime != null and refundEndTime != null">
|
||||
and tor.create_time between #{refundStartTime} and #{refundEndTime}
|
||||
</if>
|
||||
<if test="tourId != null">
|
||||
and tor.tour_id = #{tourId}
|
||||
</if>
|
||||
<if test="refundSource != null and refundSource != ''">
|
||||
and tor.refund_source = #{refundSource}
|
||||
</if>
|
||||
<if test="travelAgencyId != null">
|
||||
and o.travel_agency_id = #{travelAgencyId}
|
||||
</if>
|
||||
AND tor.id IN (SELECT DISTINCT item.refund_id
|
||||
FROM
|
||||
zdy_ticket_order_refund_item item
|
||||
left join sys_dept d on d.dept_id = item.dept_id
|
||||
<where>
|
||||
${params.dataScope}
|
||||
</where>
|
||||
)
|
||||
</where>
|
||||
order by tor.create_time desc
|
||||
</select>
|
||||
|
||||
|
||||
<sql id="selectZdyTicketOrderRefundVo">
|
||||
SELECT tor.id,
|
||||
tor.order_id,
|
||||
tor.refund_code,
|
||||
tor.order_prepay_id,
|
||||
tor.user_id,
|
||||
tor.refund_quantity,
|
||||
tor.total_price,
|
||||
tor.total_fee,
|
||||
tor.actual_price,
|
||||
tor.refund_status,
|
||||
tor.refund_time,
|
||||
tor.personal_refund_type,
|
||||
tor.business_refund_type,
|
||||
tor.refund_describe,
|
||||
tor.create_time,
|
||||
tor.update_time,
|
||||
tor.create_by,
|
||||
tor.tour_id,
|
||||
o.order_code as orderCode,
|
||||
tor.refund_source,
|
||||
o.travel_agency_id,
|
||||
o.create_time orderTime,
|
||||
CASE
|
||||
WHEN (us.NAME IS NULL OR us.NAME = '') THEN
|
||||
us.nickname
|
||||
ELSE us.NAME
|
||||
END AS userName,
|
||||
us.mobile AS userPhone
|
||||
FROM zdy_ticket_order_refund tor
|
||||
LEFT JOIN zdy_ticket_order o ON o.id = tor.order_id
|
||||
LEFT JOIN zdy_user us ON us.id = tor.user_id
|
||||
</sql>
|
||||
|
||||
|
||||
<select id="selectZdyTicketOrderRefundDetailByRefundId" parameterType="Long"
|
||||
resultMap="ZdyTicketOrderRefundDetailResult">
|
||||
select *
|
||||
from zdy_ticket_order_refund_detail
|
||||
where refund_item_id = #{id}
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectZdyTicketOrderRefundListNoDataScope"
|
||||
parameterType="com.zhwl.ticket.order.dto.ZdyTicketOrderRefundDto"
|
||||
resultMap="ZdyTicketOrderRefundResult">
|
||||
<include refid="selectZdyTicketOrderRefundVo"/>
|
||||
<where>
|
||||
tor.del_flag = '0'
|
||||
<if test="orderId != null and orderId != ''">
|
||||
and tor.order_id = #{orderId}
|
||||
</if>
|
||||
<if test="refundCode != null and refundCode != ''">
|
||||
and tor.refund_code = #{refundCode}
|
||||
</if>
|
||||
<if test="orderPrepayId != null ">
|
||||
and tor.order_prepay_id = #{orderPrepayId}
|
||||
</if>
|
||||
<if test="userId != null ">
|
||||
and tor.user_id = #{userId}
|
||||
</if>
|
||||
<if test="refundStatus != null and refundStatus != ''">
|
||||
and tor.refund_status = #{refundStatus}
|
||||
</if>
|
||||
<if test="orderCode != null and orderCode != ''">
|
||||
and o.order_code = #{orderCode}
|
||||
</if>
|
||||
<if test="userName != null and userName != ''">
|
||||
and (us.name like concat('%',#{userName},'%') or us.nickname like concat('%',#{userName},'%'))
|
||||
</if>
|
||||
<if test="refundStartTime != null and refundEndTime != null">
|
||||
and tor.create_time between #{refundStartTime} and #{refundEndTime}
|
||||
</if>
|
||||
<if test="tourId != null">
|
||||
and tor.tour_id = #{tourId}
|
||||
</if>
|
||||
<if test="refundSource != null and refundSource != ''">
|
||||
and tor.refund_source = #{refundSource}
|
||||
</if>
|
||||
<if test="travelAgencyId != null">
|
||||
and o.travel_agency_id = #{travelAgencyId}
|
||||
</if>
|
||||
AND tor.id IN (SELECT DISTINCT item.refund_id
|
||||
FROM
|
||||
zdy_ticket_order_refund_item item
|
||||
left join sys_dept d on d.dept_id = item.dept_id
|
||||
)
|
||||
</where>
|
||||
order by tor.create_time desc
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectZdyTicketOrderRefundItemByRefundId" parameterType="Long"
|
||||
resultMap="ZdyTicketOrderRefundItemResult">
|
||||
SELECT tor.id,
|
||||
tor.order_item_id,
|
||||
tor.refund_id,
|
||||
tor.ticket_id,
|
||||
tor.refund_quantity,
|
||||
tor.total_price,
|
||||
tor.total_fee,
|
||||
tor.actual_price,
|
||||
tor.create_time,
|
||||
tor.update_time,
|
||||
tor.ticket_classify,
|
||||
tor.ticket_name,
|
||||
tor.dept_id,
|
||||
o.order_code as orderCode
|
||||
FROM zdy_ticket_order_refund_item tor
|
||||
LEFT JOIN zdy_ticket_order_item o ON o.id = tor.order_item_id
|
||||
where tor.refund_id = #{id}
|
||||
</select>
|
||||
</mapper>
|
Reference in New Issue
Block a user