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

Commit 78be7351 authored by 胡佳晨's avatar 胡佳晨

Merge branch 'dev_export_' into dev_member_voucher_social

# Conflicts:
#	liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/vo/AdamUserInfoVo.java
#	liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/vo/AdamUserMemberVo.java
#	liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/service/admin/IKylinPerformancesAdminService.java
#	liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/kylin/service/impl/KylinPerformancesAdminServiceImpl.java
#	liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/kylin/utils/DataUtils.java
#	liquidnet-bus-common/liquidnet-common-base/src/main/java/com/liquidnet/commons/lang/util/IDGenerator.java
parents 1cb182fe 32cfc71a
drop table if exists kylin_order_import;
create table kylin_order_import
(
mid bigint unsigned auto_increment primary key,
import_id varchar(64) default '' comment 'id',
performance_id varchar(64) default '' comment '演出id',
title varchar(64) default '' comment '文件名称',
status int(3) default 0 comment '状态[0-处理中|1处理完成|2处理失败]',
error_count int default 0 comment '失败条数',
success_count int default 0 comment '成功条数',
all_count int default 0 comment '总条数',
created_at datetime ,
updated_at datetime ,
comment text
) engine = InnoDB comment '订单导入表';
\ No newline at end of file
...@@ -150,4 +150,4 @@ public class AdamUserInfoVo implements java.io.Serializable, Cloneable { ...@@ -150,4 +150,4 @@ public class AdamUserInfoVo implements java.io.Serializable, Cloneable {
} }
return this; return this;
} }
} }
\ No newline at end of file
...@@ -83,4 +83,4 @@ public class AdamUserMemberVo implements Serializable, Cloneable { ...@@ -83,4 +83,4 @@ public class AdamUserMemberVo implements Serializable, Cloneable {
// 创建时间在`指定时间`之前,且(更新时间为空或更新时间在`指定时间`之前) // 创建时间在`指定时间`之前,且(更新时间为空或更新时间在`指定时间`之前)
return createdAt.isBefore(oldMemberSpotTime) && (null == updatedAt || (updatedAt.isBefore(oldMemberSpotTime))); return createdAt.isBefore(oldMemberSpotTime) && (null == updatedAt || (updatedAt.isBefore(oldMemberSpotTime)));
} }
} }
\ No newline at end of file
...@@ -27,6 +27,8 @@ public class KylinRedisConst { ...@@ -27,6 +27,8 @@ public class KylinRedisConst {
public static final String ORDER_REFUND = "kylin:order:refund:orderRefundsId:"; public static final String ORDER_REFUND = "kylin:order:refund:orderRefundsId:";
public static final String ORDER_TRANSFER = "kylin:order:transfer:uid:"; public static final String ORDER_TRANSFER = "kylin:order:transfer:uid:";
//订单导入失败key
public static final String ORDER_IMPORT_FAIL = "kylin:order:import:fail:";
public static final String ORDER_COUPON = "kylin:order:coupon:id:"; public static final String ORDER_COUPON = "kylin:order:coupon:id:";
......
package com.liquidnet.service.kylin.service;
/**
* <p>
* 票 服务类
* </p>
*
* @author liquidnet
* @since 2021-05-06
*/
public interface IKylinOrderImportService {
}
package com.liquidnet.service.kylin.service.admin; package com.liquidnet.service.kylin.service.admin;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.liquidnet.service.kylin.dao.*; import com.liquidnet.service.kylin.dao.*;
import com.liquidnet.service.kylin.dto.param.PerformanceAdminListParam; import com.liquidnet.service.kylin.dto.param.PerformanceAdminListParam;
...@@ -10,6 +11,8 @@ import com.liquidnet.service.kylin.dto.vo.admin.KylinPerformanceDamaiVo; ...@@ -10,6 +11,8 @@ import com.liquidnet.service.kylin.dto.vo.admin.KylinPerformanceDamaiVo;
import com.liquidnet.service.kylin.dto.vo.admin.PerformanceRefundConfigVo; import com.liquidnet.service.kylin.dto.vo.admin.PerformanceRefundConfigVo;
import com.liquidnet.service.kylin.dto.vo.admin.PerformanceTransferConfigVo; import com.liquidnet.service.kylin.dto.vo.admin.PerformanceTransferConfigVo;
import com.liquidnet.service.kylin.dto.vo.partner.KylinPerformanceMisVo; import com.liquidnet.service.kylin.dto.vo.partner.KylinPerformanceMisVo;
import com.liquidnet.service.kylin.entity.KylinOrderImport;
import com.liquidnet.service.kylin.entity.KylinPerformances;
import java.util.List; import java.util.List;
...@@ -205,6 +208,13 @@ public interface IKylinPerformancesAdminService { ...@@ -205,6 +208,13 @@ public interface IKylinPerformancesAdminService {
*/ */
PerformanceTransferConfigVo getTransferConfig(String performanceId); PerformanceTransferConfigVo getTransferConfig(String performanceId);
/**
* 获取 演出转赠配置
* @param performanceId
* @return
*/
List<KylinOrderImport> getOrderImport(String performanceId);
/** /**
* 修改 演出转赠配置 * 修改 演出转赠配置
* @return * @return
......
...@@ -4,8 +4,6 @@ import com.liquidnet.service.kylin.entity.KylinTicketTimes; ...@@ -4,8 +4,6 @@ import com.liquidnet.service.kylin.entity.KylinTicketTimes;
import com.liquidnet.service.kylin.entity.KylinTickets; import com.liquidnet.service.kylin.entity.KylinTickets;
public interface DamaiService { public interface DamaiService {
//同步场地
Boolean sycField(String fieldId);
//同步演出 //同步演出
Boolean sycPerformance(String performanceId); Boolean sycPerformance(String performanceId);
//同步场次 //同步场次
......
package com.liquidnet.client.admin.web.controller.zhengzai.kylin;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.common.annotation.Log;
import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.common.enums.BusinessType;
import com.liquidnet.client.admin.common.utils.ShiroUtils;
import com.liquidnet.client.admin.common.utils.poi.ExcelUtil;
import com.liquidnet.client.admin.zhengzai.kylin.dto.OrderOutLineVo;
import com.liquidnet.client.admin.zhengzai.kylin.service.IImportService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@Controller
@RequestMapping("/import")
public class ImportController {
private String prefix = "zhengzai/kylin/performances/orderImport";
@Autowired
IImportService iImportService;
/**
* 下载模板
*/
@GetMapping("/template/OrderOutLine")
@ResponseBody
public AjaxResult importTemplateOrderOutLine() {
ExcelUtil<OrderOutLineVo> util = new ExcelUtil(OrderOutLineVo.class);
return util.importTemplateExcel("订单导入数据");
}
/**
* 导入
*/
@PostMapping("/OrderOutLine/{performancesId}")
@ResponseBody
public AjaxResult importOrderOutLine(@PathVariable("performancesId") String performancesId, MultipartFile file, boolean updateSupport) throws Exception {
ExcelUtil<OrderOutLineVo> util = new ExcelUtil(OrderOutLineVo.class);
List<OrderOutLineVo> orderOutLineVoList = util.importExcel(file.getInputStream());
// String operName = ShiroUtils.getSysUser().getLoginName();
String message = iImportService.importOrderOutLine(performancesId, orderOutLineVoList, updateSupport, file.getName());
return AjaxResult.success(message);
}
/**
* 跳转导入详情
*/
@GetMapping("OrderOutLine/detailsList/{id}")
@ResponseBody
public String detailsList(@PathVariable("id") String importId, ModelMap mmap) {
mmap.put("importId", importId);
return prefix + "/details";
}
/**
* 导入纪录
*/
@GetMapping("/OrderOutLine/details/{importId}")
@ResponseBody
public TableDataInfo importOrderOutLine(@PathVariable("importId") String importId) {
PageInfo<OrderOutLineVo> result = iImportService.getImportDetails(importId);
TableDataInfo rspData = new TableDataInfo();
rspData.setCode(0);
rspData.setRows(result.getList());
rspData.setTotal(result.getTotal());
return rspData;
}
}
...@@ -7,6 +7,7 @@ import com.liquidnet.client.admin.common.core.controller.BaseController; ...@@ -7,6 +7,7 @@ import com.liquidnet.client.admin.common.core.controller.BaseController;
import com.liquidnet.client.admin.common.core.domain.AjaxResult; import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.core.page.TableDataInfo; import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.common.enums.BusinessType; import com.liquidnet.client.admin.common.enums.BusinessType;
import com.liquidnet.client.admin.zhengzai.kylin.dto.KylinOrderImportDto;
import com.liquidnet.client.admin.zhengzai.kylin.dto.PerformanceOrderStatisCountResp; import com.liquidnet.client.admin.zhengzai.kylin.dto.PerformanceOrderStatisCountResp;
import com.liquidnet.commons.lang.util.JsonUtils; import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.kylin.dao.PerformanceAdminListDao; import com.liquidnet.service.kylin.dao.PerformanceAdminListDao;
...@@ -20,6 +21,7 @@ import com.liquidnet.service.kylin.dto.vo.admin.KylinPerformanceDamaiVo; ...@@ -20,6 +21,7 @@ import com.liquidnet.service.kylin.dto.vo.admin.KylinPerformanceDamaiVo;
import com.liquidnet.service.kylin.dto.vo.admin.PerformanceRefundConfigVo; import com.liquidnet.service.kylin.dto.vo.admin.PerformanceRefundConfigVo;
import com.liquidnet.service.kylin.dto.vo.admin.PerformanceTransferConfigVo; import com.liquidnet.service.kylin.dto.vo.admin.PerformanceTransferConfigVo;
import com.liquidnet.service.kylin.dto.vo.partner.KylinPerformanceMisVo; import com.liquidnet.service.kylin.dto.vo.partner.KylinPerformanceMisVo;
import com.liquidnet.service.kylin.entity.KylinOrderImport;
import com.liquidnet.service.kylin.service.admin.IKylinPerformancesAdminService; import com.liquidnet.service.kylin.service.admin.IKylinPerformancesAdminService;
import com.liquidnet.service.kylin.service.other.DamaiService; import com.liquidnet.service.kylin.service.other.DamaiService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -212,6 +214,27 @@ public class KylinPerformancesController extends BaseController { ...@@ -212,6 +214,27 @@ public class KylinPerformancesController extends BaseController {
return prefix + "/transferConfig"; return prefix + "/transferConfig";
} }
@GetMapping(value = "/orderImport/{performancesId}")
public String getOrderImport(@PathVariable("performancesId") String performancesId, ModelMap mmap) {
// List<KylinOrderImport> result = kylinPerformancesService.getOrderImport(performancesId);
// KylinOrderImportDto vo = new KylinOrderImportDto();
// vo.setKylinOrderImportList(result);
// vo.setPerformancesId(performancesId);
mmap.put("performancesId", performancesId);
return prefix + "/orderImport";
}
@PostMapping(value = "/orderImport/list/{performancesId}")
@ResponseBody
public TableDataInfo getOrderImportList(@PathVariable("performancesId") String performancesId, ModelMap mmap) {
List<KylinOrderImport> result = kylinPerformancesService.getOrderImport(performancesId);
TableDataInfo rspData = new TableDataInfo();
rspData.setCode(0);
rspData.setRows(result);
rspData.setTotal(result.size());
return rspData;
}
//@RequiresPermissions("kylin:performances:view") //@RequiresPermissions("kylin:performances:view")
@PostMapping(value = "/transferConfig/change") @PostMapping(value = "/transferConfig/change")
@ResponseBody @ResponseBody
......
...@@ -13,13 +13,8 @@ ...@@ -13,13 +13,8 @@
</li> </li>
<li id="li-tab-1"><a data-toggle="tab" href="#tab-1" aria-expanded="true" id="tab-nav-1"> 演出数据</a> <li id="li-tab-1"><a data-toggle="tab" href="#tab-1" aria-expanded="true" id="tab-nav-1"> 演出数据</a>
</li> </li>
<!-- <li class=""><a data-toggle="tab" href="#tab-2" aria-expanded="false">校园分销</a>--> <li id="li-tab-6"><a data-toggle="tab" href="#tab-6" aria-expanded="false"
<!-- </li>--> onclick="refundConfigInfo()">退款管理</a>
<!-- <li class=""><a data-toggle="tab" href="#tab-2" aria-expanded="false">社会分销</a>-->
<!-- </li>-->
<!-- <li class=""><a data-toggle="tab" href="#tab-2" aria-expanded="false">状态管理</a>-->
<!-- </li>-->
<li id="li-tab-6"><a data-toggle="tab" href="#tab-6" aria-expanded="false" onclick="refundConfigInfo()">退款管理</a>
</li> </li>
<li id="li-tab-7"><a data-toggle="tab" href="#tab-7" aria-expanded="false" onclick="transferInfo()">转赠配置</a> <li id="li-tab-7"><a data-toggle="tab" href="#tab-7" aria-expanded="false" onclick="transferInfo()">转赠配置</a>
</li> </li>
...@@ -29,12 +24,13 @@ ...@@ -29,12 +24,13 @@
</li> </li>
<li id="li-tab-5"><a data-toggle="tab" href="#tab-5" aria-expanded="false" onclick="damaiInfo()">大麦配置</a> <li id="li-tab-5"><a data-toggle="tab" href="#tab-5" aria-expanded="false" onclick="damaiInfo()">大麦配置</a>
</li> </li>
<li id="li-tab-8"><a data-toggle="tab" href="#tab-8" aria-expanded="false" onclick="importInfo()">订单导入</a>
</li>
</ul> </ul>
<div class="tab-content"> <div class="tab-content">
<div id="tab-1" class="tab-pane"> <div id="tab-1" class="tab-pane">
<div class="panel-body"> <div class="panel-body">
<div id="tab-1" class="tab-pane"> <div id="tab-1" class="tab-pane">
<!-- <th:block th:include="../templates/zhengzai/kylin/performances/performancesStatic :: performancesStatic"/>-->
<iframe id="tab_iframe_1" name="tab_iframe_1" marginwidth=0 marginheight=0 width=100% <iframe id="tab_iframe_1" name="tab_iframe_1" marginwidth=0 marginheight=0 width=100%
height=800px frameborder=0></iframe> height=800px frameborder=0></iframe>
</div> </div>
...@@ -163,17 +159,6 @@ ...@@ -163,17 +159,6 @@
<span>库存总量:</span> <span>库存总量:</span>
<span th:text="${dict2.totalGeneral}"></span> <span th:text="${dict2.totalGeneral}"></span>
</div> </div>
<!-- <div>-->
<!-- <span>售票状态:</span>-->
<!-- <span th:if="${dict2.status == 1}">审核中</span>-->
<!-- <span th:if="${dict2.status == 3}">审核通过</span>-->
<!-- <span th:if="${dict2.status == 4}">未通过</span>-->
<!-- <span th:if="${dict2.status == 6}">在售</span>-->
<!-- <span th:if="${dict2.status == 7}">下架</span>-->
<!-- <span th:if="${dict2.status == 8}">售罄</span>-->
<!-- <span th:if="${dict2.status == 9}">未开始</span>-->
<!-- <span th:if="${dict2.status == 10}">已结束</span>-->
<!-- </div>-->
<div> <div>
<span>开始售票时间:</span> <span>开始售票时间:</span>
<span th:text="${dict2.timeStart}"></span> <span th:text="${dict2.timeStart}"></span>
...@@ -239,7 +224,8 @@ ...@@ -239,7 +224,8 @@
</div> </div>
<div id="tab-6" class="tab-pane"> <div id="tab-6" class="tab-pane">
<div class="panel-body"> <div class="panel-body">
<iframe id="refundConfig_iframe" name="refundConfig_iframe" marginwidth=0 marginheight=0 width=100% <iframe id="refundConfig_iframe" name="refundConfig_iframe" marginwidth=0 marginheight=0
width=100%
height=800px frameborder=0></iframe> height=800px frameborder=0></iframe>
</div> </div>
</div> </div>
...@@ -249,6 +235,16 @@ ...@@ -249,6 +235,16 @@
height=800px frameborder=0></iframe> height=800px frameborder=0></iframe>
</div> </div>
</div> </div>
<div id="tab-8" class="tab-pane">
<div class="panel-body">
<form class="form-horizontal m" th:object="${kylinPerformanceMisVo}">
<input name="title" th:field="*{title}" class="form-control" type="text" readonly>
</form>
<iframe id="order_import_iframe" name="order_import_iframe" marginwidth=0 marginheight=0
width=100%
height=800px frameborder=0></iframe>
</div>
</div>
</div> </div>
...@@ -263,41 +259,46 @@ ...@@ -263,41 +259,46 @@
const auditStatus = '[[${kylinPerformanceMisVo.auditStatus}]]'; const auditStatus = '[[${kylinPerformanceMisVo.auditStatus}]]';
var agentFlag = [[${@permission.hasPermi('kylin:performances:agent')}]]; var agentFlag = [[${@permission.hasPermi('kylin:performances:agent')}]];
if(agentFlag=="hidden"){ if (agentFlag == "hidden") {
document.getElementById("li-tab-4").style.display = "none"; document.getElementById("li-tab-4").style.display = "none";
} }
var otherFlag = [[${@permission.hasPermi('kylin:performances:audit')}]]; var otherFlag = [[${@permission.hasPermi('kylin:performances:audit')}]];
if(otherFlag=="hidden"){ if (otherFlag == "hidden") {
document.getElementById("li-tab-2").style.display = "none"; document.getElementById("li-tab-2").style.display = "none";
document.getElementById("tab-2").style.display = "none"; document.getElementById("tab-2").style.display = "none";
} }
var refundFlag = [[${@permission.hasPermi('kylin:performances:refund')}]]; var refundFlag = [[${@permission.hasPermi('kylin:performances:refund')}]];
if(refundFlag=="hidden"){ if (refundFlag == "hidden") {
document.getElementById("li-tab-6").style.display = "none"; document.getElementById("li-tab-6").style.display = "none";
} }
var memberFlag = [[${@permission.hasPermi('kylin:performances:member')}]]; var memberFlag = [[${@permission.hasPermi('kylin:performances:member')}]];
if(memberFlag=="hidden"){ if (memberFlag == "hidden") {
document.getElementById("li-tab-3").style.display = "none"; document.getElementById("li-tab-3").style.display = "none";
} }
var damaiFlag = [[${@permission.hasPermi('kylin:performances:damai')}]]; var damaiFlag = [[${@permission.hasPermi('kylin:performances:damai')}]];
if(damaiFlag=="hidden"){ if (damaiFlag == "hidden") {
document.getElementById("li-tab-5").style.display = "none"; document.getElementById("li-tab-5").style.display = "none";
} }
var dataFlag = [[${@permission.hasPermi('kylin:performances:data')}]]; var dataFlag = [[${@permission.hasPermi('kylin:performances:data')}]];
if(dataFlag=="hidden"){ if (dataFlag == "hidden") {
document.getElementById("li-tab-1").style.display = "none"; document.getElementById("li-tab-1").style.display = "none";
} }
var transferFlag = [[${@permission.hasPermi('kylin:performances:transfer')}]]; var transferFlag = [[${@permission.hasPermi('kylin:performances:transfer')}]];
if(transferFlag=="hidden"){ if (transferFlag == "hidden") {
document.getElementById("li-tab-7").style.display = "none"; document.getElementById("li-tab-7").style.display = "none";
} }
var orderImportFlag = [[${@permission.hasPermi('kylin:performances:orderImport')}]];
if (orderImportFlag == "hidden") {
document.getElementById("li-tab-8").style.display = "none";
}
if (auditStatus != 0) { if (auditStatus != 0) {
document.getElementsByName("auditBtn")[0].style.display = "none"; document.getElementsByName("auditBtn")[0].style.display = "none";
} }
...@@ -367,10 +368,15 @@ ...@@ -367,10 +368,15 @@
} }
//转赠配置 //转赠配置
function transferInfo(){ function transferInfo() {
document.getElementById("transfer_iframe").src = "../transferConfig/" + '[[${kylinPerformanceMisVo.performancesId}]]'.replaceAll("\"", ""); document.getElementById("transfer_iframe").src = "../transferConfig/" + '[[${kylinPerformanceMisVo.performancesId}]]'.replaceAll("\"", "");
} }
//订单导入
function importInfo() {
document.getElementById("order_import_iframe").src = "../orderImport/" + '[[${kylinPerformanceMisVo.performancesId}]]'.replaceAll("\"", "");
}
$("#tab-nav-1").bind("click", function () { $("#tab-nav-1").bind("click", function () {
$("#tab_iframe_1").attr("src", prefix + "/performanceStatic/" + '[[${kylinPerformanceMisVo.performancesId}]]'.replaceAll("\"", "")); $("#tab_iframe_1").attr("src", prefix + "/performanceStatic/" + '[[${kylinPerformanceMisVo.performancesId}]]'.replaceAll("\"", ""));
}); });
......
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('演出列表')"/>
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<a class="btn btn-warning" onclick="$.table.importExcel()">
<i class="fa fa-upload"></i>导入
</a>
</div>
</form>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<script th:inline="javascript">
var prefix = ctx + "kylin/performances";
var importfix = ctx + "import/";
var options = {
url: prefix + "/orderImport/list/" + '[[${performancesId}]]'.replaceAll("\"", ""),
importUrl: importfix + "OrderOutLine/"+ '[[${performancesId}]]'.replaceAll("\"", ""),//导入
importTemplateUrl: importfix + "template/OrderOutLine",//导出
detailUrl: importfix + "OrderOutLine/detailsList/{id}",
modalName: "订单",
orderSc: "desc",
orderItem: "created_at",
columns: [{
checkbox: true
},
{
field: 'mid',
title: 'id'
},
{
field: 'title',
title: '文件名称'
},
{
field: 'status',
title: '订单状态'
},
{
field: 'allCount',
title: '总条数'
},
{
field: 'errorCount',
title: '失败条数'
},
{
field: 'successCount',
title: '成功条数'
},
{
field: 'createdAt',
title: '导入时间'
},
{
field: 'updatedAt',
title: '完成时间'
},
{
title: '操作',
align: 'center',
formatter: function (value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.mid + '\')"><i class="fa fa-edit"></i>详情</a> ');
return actions.join('');
}
}]
};
$.table.init(options);
</script>
<script id="importTpl" type="text/template">
<form enctype="multipart/form-data" class="mt20 mb10">
<div class="col-xs-offset-1">
<input type="file" id="file" name="file"/>
<div class="mt10 pt5">
<input type="checkbox" id="updateSupport" name="updateSupport" title="如果登录账户已经存在,更新这条数据。"> 是否更新已经存在的用户数据
&nbsp; <a onclick="$.table.importTemplate()" class="btn btn-default btn-xs"><i
class="fa fa-file-excel-o"></i> 下载模板</a>
</div>
<font color="red" class="pull-left mt10">
提示:仅允许导入“xls”或“xlsx”格式文件!
</font>
</div>
</form>
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('导入详情')"/>
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 select-table table-bordered">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<script th:inline="javascript">
var prefix = ctx + "import/";
$(function () {
var options = {
url: prefix + "/OrderOutLine/details/" + '[[${importId}]]'.replaceAll("\"", ""),
modalName: "导入详情",
method: "get",
columns: [{
checkbox: true
},
{
field: 'enterMobile',
title: '手机号'
},
{
field: 'enterName',
title: '姓名'
},
{
field: 'enterIdCode',
title: '身份证'
},
{
field: 'ticketTitle',
title: '票种名称'
},
{
field: 'useStart',
title: '票种适用开始时间'
},
{
field: 'useEnd',
title: '票种适用结束时间'
},
{
field: 'ticketType',
title: '票种类型'
},
{
field: 'address',
title: '收货地址'
}, {
field: 'reason',
title: '错误原因'
}
]
};
$.table.init(options);
})
;
</script>
</body>
</html>
\ No newline at end of file
...@@ -75,23 +75,6 @@ ...@@ -75,23 +75,6 @@
</div> </div>
</form> </form>
</div> </div>
<!-- <div class="btn-group-sm" id="toolbar" role="group">-->
<!-- <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="kylin:performances:add">-->
<!-- <i class="fa fa-plus"></i> 添加-->
<!-- </a>-->
<!-- <a class="btn btn-primary single disabled" onclick="$.operate.edit()"-->
<!-- shiro:hasPermission="kylin:performances:edit">-->
<!-- <i class="fa fa-edit"></i> 修改-->
<!-- </a>-->
<!-- <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()"-->
<!-- shiro:hasPermission="kylin:performances:remove">-->
<!-- <i class="fa fa-remove"></i> 删除-->
<!-- </a>-->
<!-- <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="kylin:performances:export">-->
<!-- <i class="fa fa-download"></i> 导出-->
<!-- </a>-->
<!-- </div>-->
<div class="col-sm-12 select-table table-striped"> <div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table> <table id="bootstrap-table"></table>
</div> </div>
......
package com.liquidnet.client.admin.zhengzai.kylin.dto;
import com.liquidnet.service.kylin.entity.KylinOrderImport;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class KylinOrderImportDto implements Serializable {
private String performancesId;
private List<KylinOrderImport> kylinOrderImportList;
}
package com.liquidnet.client.admin.zhengzai.kylin.dto;
import com.liquidnet.client.admin.common.annotation.Excel;
import lombok.Data;
@Data
public class OrderOutLineVo {
@Excel(name = "手机号",cellType = Excel.ColumnType.STRING)
private String enterMobile;
@Excel(name = "姓名",cellType = Excel.ColumnType.STRING)
private String enterName;
@Excel(name = "身份证",cellType = Excel.ColumnType.STRING)
private String enterIdCode;
// @Excel(name = "购票数量",cellType = Excel.ColumnType.NUMERIC)
// private Integer number;
@Excel(name = "票种名称",cellType = Excel.ColumnType.STRING)
private String ticketTitle;
@Excel(name = "票种适用开始时间",cellType = Excel.ColumnType.STRING,dateFormat = "yyyy-MM-dd HH:mm:ss")
private String useStart;
@Excel(name = "票种适用结束时间",cellType = Excel.ColumnType.STRING,dateFormat = "yyyy-MM-dd HH:mm:ss")
private String useEnd;
@Excel(name = "票种类型(电子票,快递票)",cellType = Excel.ColumnType.STRING)
private String ticketType;
@Excel(name = "快递票地址",cellType = Excel.ColumnType.STRING)
private String address;
private String reason;
}
package com.liquidnet.client.admin.zhengzai.kylin.service;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.zhengzai.kylin.dto.OrderOutLineVo;
import java.util.List;
public interface IImportService {
String importOrderOutLine(String performancesId,List<OrderOutLineVo> orderOutLineVoList, Boolean updateSupport, String fileName);
PageInfo<OrderOutLineVo> getImportDetails(String importId);
}
package com.liquidnet.client.admin.zhengzai.kylin.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.fasterxml.jackson.core.type.TypeReference;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.common.exception.BusinessException;
import com.liquidnet.client.admin.common.utils.StringUtils;
import com.liquidnet.client.admin.zhengzai.kylin.dto.OrderOutLineVo;
import com.liquidnet.client.admin.zhengzai.kylin.service.IImportService;
import com.liquidnet.client.admin.zhengzai.kylin.utils.DataUtils;
import com.liquidnet.client.admin.zhengzai.kylin.utils.OrderUtils;
import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.constant.KylinTableStatusConst;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.mapper.*;
import com.liquidnet.service.kylin.service.admin.IKylinPerformancesAdminService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Service;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
@Service
public class ImportServiceImpl implements IImportService {
@Autowired
IKylinPerformancesAdminService kylinPerformancesService;
@Value("${liquidnet.service.adam.url}")
private String adamUrl;
@Autowired
private DataUtils dataUtils;
@Autowired
private OrderUtils orderUtils;
@Autowired
private MongoTemplate mongoTemplate;
@Autowired
private KylinOrderTicketsMapper orderTicketsMapper;
@Autowired
private KylinOrderTicketStatusMapper orderTicketStatusMapper;
@Autowired
private KylinOrderTicketRelationsMapper orderTicketRelationsMapper;
@Autowired
private KylinOrderTicketEntitiesMapper orderTicketEntitiesMapper;
@Autowired
private KylinOrderImportMapper orderImportMapper;
/**
* 导入订单数据
*/
public String importOrderOutLine(String performancesId, List<OrderOutLineVo> orderOutLineVoList, Boolean updateSupport, String fileName) {
if (StringUtils.isNull(orderOutLineVoList) || orderOutLineVoList.size() == 0) {
throw new BusinessException("导入用户数据不能为空!");
}
String importId = IDGenerator.nextSnowId();
KylinOrderImport orderImport = new KylinOrderImport();
orderImport.setImportId(importId);
orderImport.setPerformanceId(performancesId);
orderImport.setStatus(0);
orderImport.setTitle(fileName);
orderImport.setAllCount(0);
orderImport.setErrorCount(0);
orderImport.setSuccessCount(0);
orderImport.setCreatedAt(LocalDateTime.now());
orderImportMapper.insert(orderImport);
int successNum = 0;
int failureNum = 0;
StringBuilder successMsg = new StringBuilder();
StringBuilder failureMsg = new StringBuilder();
KylinPerformanceVo performanceData = dataUtils.getPerformanceVo(performancesId);
List<OrderOutLineVo> vos = new ArrayList();
for (OrderOutLineVo orderOutLineVo : orderOutLineVoList) {
//获取账号维度数据
String enterMobile = orderOutLineVo.getEnterMobile();
String enterIdCode = orderOutLineVo.getEnterIdCode();
String enterName = orderOutLineVo.getEnterName();
Integer number = 1;
String address = orderOutLineVo.getAddress();
MultiValueMap<String, String> params = new LinkedMultiValueMap();
params.add("mobile", enterMobile);
MultiValueMap<String, String> headers = new LinkedMultiValueMap();
headers.add("Accept", "application/json;charset=UTF-8");
String returnData = HttpUtil.post(adamUrl.concat("/adam/rsc/reg/mobile"), params, headers);
AdamUserInfoVo adamUserInfoVo = JsonUtils.fromJson(returnData, new TypeReference<ResponseDto<AdamUserInfoVo>>() {
}).getData();
String uid = adamUserInfoVo.getUid();
Boolean isMember;
if (adamUserInfoVo.getStageMarker().equals("10") || adamUserInfoVo.getStageMarker().equals("11")) {
isMember = true;
} else {
isMember = false;
}
//找到对应票种和场次
String ticketTitle = orderOutLineVo.getTicketTitle();
String startTime = orderOutLineVo.getUseStart();
String endTime = orderOutLineVo.getUseEnd();
KylinTicketTimesVo ticketTimesData = null;
KylinTicketVo ticketData = null;
for (int x = 0; x < performanceData.getTicketTimeList().size(); x++) {
KylinTicketTimesVo timeItem = performanceData.getTicketTimeList().get(x);
if (timeItem.getUseStart().equals(startTime) && timeItem.getUseEnd().equals(endTime)) {
ticketTimesData = timeItem;
for (int y = 0; y < ticketTimesData.getTicketList().size(); y++) {
KylinTicketVo ticketItem = ticketTimesData.getTicketList().get(y);
if (ticketItem.getTitle().equals(ticketTitle)) {
ticketData = ticketItem;
break;
}
}
break;
}
}
if (ticketData == null) {
// KylinOrderImport orderImportFinal = new KylinOrderImport();
// orderImportFinal.setPerformanceId(performancesId);
// orderImportFinal.setStatus(2);
// orderImportFinal.setAllCount(failureNum+successNum);
// orderImportFinal.setErrorCount(failureNum+successNum);
// orderImportFinal.setSuccessCount(0);
// orderImportFinal.setUpdatedAt(LocalDateTime.now());
// orderImportMapper.update(orderImportFinal, Wrappers.lambdaUpdate(KylinOrderImport.class).eq(KylinOrderImport::getImportId,importId));
// return "演出数据错误";
orderOutLineVo.setReason("演出数据错误");
vos.add(orderOutLineVo);
continue;
}
// 获取限购 实名
int ticketLimit = ticketData.getLimitCount();//普通票种限购
int ticketMemberLimit = ticketData.getLimitCountMember();//会员票种限购
int performanceLimit = performanceData.getLimitCount();//普通演出限购
int performanceMemberLimit = performanceData.getLimitCountMember();//会员演出限购
int isTrueName = ticketData.getIsTrueName();//是否演出实名
Integer isStudent = ticketData.getIsStudent();
String ticketType = "";
if (orderOutLineVo.getTicketType().contains("电子")) {
ticketType = "electronic";
} else if (orderOutLineVo.getTicketType().contains("快递")) {
ticketType = "express";
}
//快递票判断
if (ticketType.equals("express")) {
if (address.isEmpty()) {
orderOutLineVo.setReason("快递票未填写收货地址");
vos.add(orderOutLineVo);
continue;
}
}
//实名判断
if (isTrueName == 1 && (enterIdCode.isEmpty() || enterName.isEmpty())) {
orderOutLineVo.setReason("实名票未填写入场人");
vos.add(orderOutLineVo);
continue;
}
//学生票 判断
if (isTrueName == 1) {
if (isStudent == 1) {
int age = IDCard.getAgeByIdCard(enterIdCode);
if (age > 25) {
orderOutLineVo.setReason("年龄不符合");
vos.add(orderOutLineVo);
continue;
}
}
}
//限购判断 如果实名 则身份证维度限购 如果不实名则数量限购
if (isTrueName == 1) {
String res1 = orderUtils.judgeOrderLimit(performanceData.getType(), uid, enterIdCode, performancesId, ticketData.getTicketsId(), performanceLimit, performanceMemberLimit, ticketLimit, ticketMemberLimit, 1, 1, 0, isTrueName);
if (!res1.equals("")) {
orderOutLineVo.setReason(res1);
vos.add(orderOutLineVo);
continue;
}
} else {
String res1 = orderUtils.judgeOrderLimit(performanceData.getType(), uid, "", performancesId, ticketData.getTicketsId(), performanceLimit, performanceMemberLimit, ticketLimit, ticketMemberLimit, number, number, 0, isTrueName);
if (!res1.equals("")) {
orderOutLineVo.setReason(res1);
vos.add(orderOutLineVo);
continue;
}
}
try {
order(number, ticketType.equals("express") ? 1 : 0, adamUserInfoVo, isMember, performanceData, ticketTimesData, ticketData, enterMobile, enterName, enterIdCode, address);
successNum++;
} catch (Exception e) {
e.printStackTrace();
failureNum++;
}
}
KylinOrderImport orderImportFinal = new KylinOrderImport();
orderImportFinal.setPerformanceId(performancesId);
orderImportFinal.setStatus(1);
orderImportFinal.setAllCount(failureNum+successNum);
orderImportFinal.setErrorCount(failureNum);
orderImportFinal.setSuccessCount(successNum);
orderImportFinal.setUpdatedAt(LocalDateTime.now());
orderImportMapper.update(orderImportFinal, Wrappers.lambdaUpdate(KylinOrderImport.class).eq(KylinOrderImport::getImportId,importId));
dataUtils.setOrderImportFail(importId,vos);
if (failureNum > 0) {
failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:");
throw new BusinessException(failureMsg.toString());
} else {
successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:");
}
return successMsg.toString();
}
@Override
public PageInfo<OrderOutLineVo> getImportDetails(String importId) {
return dataUtils.getOrderImportFail(importId);
}
private void order(Integer number, Integer IsExpress, AdamUserInfoVo adamUserInfoVo, boolean isMember,
KylinPerformanceVo performanceData, KylinTicketTimesVo ticketTimesVo, KylinTicketVo ticketData,
String enterMobile, String enterName, String enterIdCode, String address){
String source = "OUTLINE";
String version = "OUTLINE";
LocalDateTime now = LocalDateTime.now();
//生成订单 order_ticket
KylinOrderTickets orderTickets = KylinOrderTickets.getNew();
String orderTicketId = IDGenerator.nextSnowId();
orderTickets.setOrderTicketsId(orderTicketId);
orderTickets.setUserId(adamUserInfoVo.getUid());
orderTickets.setUserName(adamUserInfoVo.getNickname());
orderTickets.setUserMobile(adamUserInfoVo.getMobile());
orderTickets.setPerformanceTitle(performanceData.getTitle());
orderTickets.setOrderCode(IDGenerator.ticketOrderCode(orderTicketId));
orderTickets.setPayCode("OUTLINE");
orderTickets.setQrCode(IDGenerator.ticketQrCode(orderTickets.getOrderTicketsId()));
orderTickets.setOrderType(source);
orderTickets.setOrderVersion(version);
orderTickets.setNumber(number);
orderTickets.setPrice(ticketData.getPrice());
orderTickets.setPriceMember(ticketData.getMemberPrice());
if (isMember) {
orderTickets.setPriceTotal(ticketData.getMemberPrice().multiply(BigDecimal.valueOf(number)).add(IsExpress == 1 ? ticketData.getPriceExpress() : BigDecimal.valueOf(0)));
} else {
orderTickets.setPriceTotal(ticketData.getPrice().multiply(BigDecimal.valueOf(number)).add(IsExpress == 1 ? ticketData.getPriceExpress() : BigDecimal.valueOf(0)));
}
orderTickets.setPriceActual(orderTickets.getPriceTotal());
orderTickets.setPriceVoucher(BigDecimal.valueOf(0.0));
orderTickets.setPriceExpress(IsExpress == 1 ? ticketData.getPriceExpress() : BigDecimal.valueOf(0));
orderTickets.setPriceRefund(BigDecimal.valueOf(0.0));
orderTickets.setRefundNumber(0);
orderTickets.setPayType("OUTLINE");
orderTickets.setPaymentType("OUTLINE");
orderTickets.setPaymentId("OUTLINE");
orderTickets.setTimePay(DateUtil.getNowTime());
if (IsExpress == 1) {
orderTickets.setExpressContacts(enterName);
orderTickets.setExpressAddress(address);
orderTickets.setExpressPhone(enterMobile);
orderTickets.setCity("");
orderTickets.setProvince("");
orderTickets.setCounty("");
orderTickets.setGetTicketType("express");
} else {
orderTickets.setExpressContacts("");
orderTickets.setExpressAddress("");
orderTickets.setExpressPhone("");
orderTickets.setCity("");
orderTickets.setProvince("");
orderTickets.setCounty("");
orderTickets.setGetTicketType("electronic");
}
orderTickets.setCouponType("no");
orderTickets.setGetTicketDescribe("");
orderTickets.setPayCountdownMinute(performanceData.getPayCountdownMinute());
orderTickets.setCreatedAt(now);
orderTickets.setUpdatedAt(null);
//生成订单 order_ticket_status
KylinOrderTicketStatus orderTicketStatus = KylinOrderTicketStatus.getNew();
String orderTicketStatusId = IDGenerator.nextSnowId();
orderTicketStatus.setOrderTicketStatusId(orderTicketStatusId);
orderTicketStatus.setOrderId(orderTicketId);
orderTicketStatus.setExpressType(2);
orderTicketStatus.setTransferStatus(KylinTableStatusConst.ORDER_TRANSFER_STATUS0);
orderTicketStatus.setStatus(KylinTableStatusConst.ORDER_STATUS1);
orderTicketStatus.setIsStudent(ticketData.getIsStudent());
orderTicketStatus.setPayStatus(KylinTableStatusConst.ORDER_PAY_STATUS1);
orderTicketStatus.setCreatedAt(now);
orderTicketStatus.setUpdatedAt(null);
//生成订单 order_ticket_relation
KylinOrderTicketRelations orderTicketRelations = KylinOrderTicketRelations.getNew();
String orderTicketRelationId = IDGenerator.nextSnowId();
orderTicketRelations.setOrderTicketRelationsId(orderTicketRelationId);
orderTicketRelations.setOrderId(orderTicketId);
orderTicketRelations.setTransferId("");
orderTicketRelations.setLiveId("");
orderTicketRelations.setAgentId("0");
orderTicketRelations.setIsMember(isMember ? 1 : 0);
orderTicketRelations.setPerformanceId(performanceData.getPerformancesId());
orderTicketRelations.setTimeId(ticketTimesVo.getTimeId());
orderTicketRelations.setTicketId(ticketData.getTicketsId());
orderTicketRelations.setCreatedAt(now);
orderTicketRelations.setUpdatedAt(null);
//生成票
KylinOrderTicketEntities orderTicketEntities = KylinOrderTicketEntities.getNew();
if (performanceData.getIsTrueName() == 1) {
String orderTicketEntitiesId = IDGenerator.nextSnowId();
orderTicketEntities.setOrderTicketEntitiesId(orderTicketEntitiesId);
orderTicketEntities.setOrderId(orderTicketId);
orderTicketEntities.setUserId(adamUserInfoVo.getUid());
orderTicketEntities.setTicketId(ticketData.getTicketsId());
orderTicketEntities.setPerformanceId(performanceData.getPerformancesId());
orderTicketEntities.setTimeId(ticketTimesVo.getTimeId());
orderTicketEntities.setEnterType(1);
orderTicketEntities.setEnterName(enterName);
orderTicketEntities.setEnterMobile(enterMobile);
orderTicketEntities.setEnterIdCode(enterIdCode);
orderTicketEntities.setStatus(KylinTableStatusConst.ENTITIES_STATUS0);
orderTicketEntities.setSysDamai(ticketData.getSysDamai());
orderTicketEntities.setCheckClient("");
orderTicketEntities.setIsPayment(KylinTableStatusConst.ENTITIES_IS_PAYMENT1);
orderTicketEntities.setRefundPrice(BigDecimal.valueOf(0.0));
orderTicketEntities.setComment("");
orderTicketEntities.setCreatedAt(now);
orderTicketEntities.setUpdatedAt(null);
// 生成vo
KylinOrderTicketEntitiesVo orderTicketEntitiesVo = KylinOrderTicketEntitiesVo.getNew();
BeanUtils.copyProperties(orderTicketEntities, orderTicketEntitiesVo);
orderTicketEntitiesVo.setPerformanceTitle(performanceData.getTitle());
orderTicketEntitiesVo.setTicketTitle(ticketData.getTitle());
orderTicketEntitiesVo.setUseStart(ticketData.getUseStart());
orderTicketEntitiesVo.setUseEnd(ticketData.getUseEnd());
orderTicketEntitiesVo.setCreatedAt(orderTicketEntities.getCreatedAt().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
orderTicketEntitiesVo.setUpdatedAt(null);
orderTicketEntitiesVo.setChangeDate(orderTicketEntities.getCreatedAt());
mongoTemplate.insert(orderTicketEntitiesVo, KylinOrderTicketEntitiesVo.class.getSimpleName());
dataUtils.changeBuyInfo(orderTicketEntitiesVo.getUserId(), orderTicketEntitiesVo.getEnterIdCode(), orderTicketEntitiesVo.getPerformanceId(), orderTicketEntitiesVo.getTicketId(), 1);
} else {
String orderTicketEntitiesId = IDGenerator.nextSnowId();
orderTicketEntities.setOrderTicketEntitiesId(orderTicketEntitiesId);
orderTicketEntities.setOrderId(orderTicketId);
orderTicketEntities.setUserId(adamUserInfoVo.getUid());
orderTicketEntities.setTicketId(ticketData.getTicketsId());
orderTicketEntities.setPerformanceId(performanceData.getPerformancesId());
orderTicketEntities.setTimeId(ticketTimesVo.getTimeId());
orderTicketEntities.setEnterType(0);
orderTicketEntities.setEnterName("");
orderTicketEntities.setEnterMobile("");
orderTicketEntities.setEnterIdCode("");
orderTicketEntities.setStatus(KylinTableStatusConst.ENTITIES_STATUS0);
orderTicketEntities.setSysDamai(ticketData.getSysDamai());
orderTicketEntities.setCheckClient("");
orderTicketEntities.setIsPayment(KylinTableStatusConst.ENTITIES_IS_PAYMENT1);
orderTicketEntities.setComment("");
orderTicketEntities.setCreatedAt(now);
orderTicketEntities.setUpdatedAt(null);
// 生成vo
KylinOrderTicketEntitiesVo orderTicketEntitiesVo = KylinOrderTicketEntitiesVo.getNew();
BeanUtils.copyProperties(orderTicketEntities, orderTicketEntitiesVo);
orderTicketEntitiesVo.setPerformanceTitle(performanceData.getTitle());
orderTicketEntitiesVo.setTicketTitle(ticketData.getTitle());
orderTicketEntitiesVo.setUseStart(ticketData.getUseStart());
orderTicketEntitiesVo.setUseEnd(ticketData.getUseEnd());
orderTicketEntitiesVo.setCreatedAt(orderTicketEntities.getCreatedAt().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
orderTicketEntitiesVo.setUpdatedAt(null);
orderTicketEntitiesVo.setChangeDate(orderTicketEntities.getCreatedAt());
mongoTemplate.insert(orderTicketEntitiesVo, KylinOrderTicketEntitiesVo.class.getSimpleName());
dataUtils.changeBuyInfo(orderTicketEntitiesVo.getUserId(), orderTicketEntitiesVo.getEnterIdCode(), orderTicketEntitiesVo.getPerformanceId(), orderTicketEntitiesVo.getTicketId(), 1);
}
orderTicketEntitiesMapper.insert(orderTicketEntities);
// 生成vo
KylinOrderTicketVo orderTicketVo = KylinOrderTicketVo.getNew();
orderTicketVo.setOrderTicket(orderTickets);
orderTicketVo.setOrderTicketStatus(orderTicketStatus);
orderTicketVo.setOrderTicketRelation(orderTicketRelations);
orderTicketVo.setPerformanceImg(performanceData.getImgPoster());
orderTicketVo.setTicketTitle(ticketData.getTitle());
orderTicketVo.setUseStart(ticketData.getUseStart());
orderTicketVo.setTimeStart(performanceData.getTimeStart());
orderTicketVo.setOverdueAt(orderTickets.getCreatedAt().plusMinutes(performanceData.getPayCountdownMinute()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
orderTicketVo.setCreatedAt(orderTickets.getCreatedAt().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
orderTicketVo.setChangeDate(orderTickets.getCreatedAt());
mongoTemplate.insert(orderTicketVo, KylinOrderTicketVo.class.getSimpleName());
orderTicketsMapper.insert(orderTickets);
orderTicketStatusMapper.insert(orderTicketStatus);
orderTicketRelationsMapper.insert(orderTicketRelations);
orderUtils.resetOrderListVo(adamUserInfoVo.getUid(), 1, orderTicketVo.getOrderTicketsId(), orderTicketVo);
}
}
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.client.admin.common.utils.DateUtils; import com.liquidnet.client.admin.common.utils.DateUtils;
import com.liquidnet.client.admin.zhengzai.kylin.utils.TaobaoTicketUtils; import com.liquidnet.client.admin.zhengzai.kylin.utils.TaobaoTicketUtils;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.kylin.dao.OrderPushDamaiDto; import com.liquidnet.service.kylin.dao.OrderPushDamaiDto;
import com.liquidnet.service.kylin.entity.*; import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.mapper.*; import com.liquidnet.service.kylin.mapper.*;
...@@ -24,8 +25,6 @@ import com.taobao.api.response.AlibabaDamaiMevOpenPushperformResponse; ...@@ -24,8 +25,6 @@ import com.taobao.api.response.AlibabaDamaiMevOpenPushperformResponse;
import com.taobao.api.response.AlibabaDamaiMevOpenPushprojectResponse; import com.taobao.api.response.AlibabaDamaiMevOpenPushprojectResponse;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.convert.MongoConverter;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
...@@ -45,25 +44,16 @@ import java.util.List; ...@@ -45,25 +44,16 @@ import java.util.List;
@Slf4j @Slf4j
public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, KylinRoadShows> implements DamaiService { public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, KylinRoadShows> implements DamaiService {
@Autowired
private MongoTemplate mongoTemplate;
@Autowired
private MongoConverter mongoConverter;
@Autowired @Autowired
private TaobaoTicketUtils taobaoTicketUtils; private TaobaoTicketUtils taobaoTicketUtils;
@Autowired @Autowired
private KylinOrderTicketsMapper orderTicketsMapper; private KylinOrderTicketsMapper orderTicketsMapper;
@Autowired @Autowired
private KylinPerformancesMapper performancesMapper; private KylinPerformancesMapper performancesMapper;
@Autowired @Autowired
private KylinTicketTimesMapper ticketTimesMapper; private KylinTicketTimesMapper ticketTimesMapper;
@Autowired @Autowired
private KylinTicketTimeRelationMapper ticketTimeRelationMapper; private KylinTicketTimeRelationMapper ticketTimeRelationMapper;
@Autowired @Autowired
private KylinTicketsMapper ticketsMapper; private KylinTicketsMapper ticketsMapper;
@Autowired @Autowired
...@@ -71,12 +61,6 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl ...@@ -71,12 +61,6 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
@Autowired @Autowired
private KylinTicketStatusMapper ticketStatusMapper; private KylinTicketStatusMapper ticketStatusMapper;
@Override
public Boolean sycField(String fieldId) {
return null;
}
@Override @Override
public Boolean sycPerformance(String performanceId) { public Boolean sycPerformance(String performanceId) {
try { try {
...@@ -87,12 +71,8 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl ...@@ -87,12 +71,8 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
KylinPerformances performanceData = performancesMapper.selectOne(new UpdateWrapper<KylinPerformances>().eq("performances_id", performanceId)); KylinPerformances performanceData = performancesMapper.selectOne(new UpdateWrapper<KylinPerformances>().eq("performances_id", performanceId));
obj1.setPicUrl(performanceData.getImgPoster()); obj1.setPicUrl(performanceData.getImgPoster());
long performanceKey = 0l;
if (performanceData.getPerformancesId().length() < 13) { long performanceKey = IDGenerator.getDamaiCode(performanceData.getPerformancesId());
performanceKey = Long.valueOf(performanceData.getPerformancesId());
} else {
performanceKey = Long.valueOf(performanceData.getPerformancesId().substring(0, 5).concat(performanceData.getPerformancesId().substring(7, 12)));
}
obj1.setProjectId(performanceKey); obj1.setProjectId(performanceKey);
obj1.setProjectName(performanceData.getTitle()); obj1.setProjectName(performanceData.getTitle());
obj1.setCityId(performanceData.getCityId().longValue()); obj1.setCityId(performanceData.getCityId().longValue());
...@@ -101,9 +81,9 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl ...@@ -101,9 +81,9 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
req.setPushProjectParam(obj1); req.setPushProjectParam(obj1);
AlibabaDamaiMevOpenPushprojectResponse rsp = client.execute(req); AlibabaDamaiMevOpenPushprojectResponse rsp = client.execute(req);
log.info("performance=" + rsp.getBody());
if (rsp.getResult().getSuccess()) { if (rsp.getResult().getSuccess()) {
List<KylinTicketTimeRelation> timeRelation = ticketTimeRelationMapper.selectList(new UpdateWrapper<KylinTicketTimeRelation>().eq("performance_id", performanceId)); List<KylinTicketTimeRelation> timeRelation = ticketTimeRelationMapper.selectList(new UpdateWrapper<KylinTicketTimeRelation>().eq("performance_id", performanceId));
for (int i = 0; i < timeRelation.size(); i++) { for (int i = 0; i < timeRelation.size(); i++) {
KylinTicketTimes timeData = ticketTimesMapper.selectOne(new UpdateWrapper<KylinTicketTimes>().eq("ticket_times_id", timeRelation.get(i).getTimesId())); KylinTicketTimes timeData = ticketTimesMapper.selectOne(new UpdateWrapper<KylinTicketTimes>().eq("ticket_times_id", timeRelation.get(i).getTimesId()));
boolean result = sycTimes(performanceKey, timeData); boolean result = sycTimes(performanceKey, timeData);
...@@ -129,13 +109,7 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl ...@@ -129,13 +109,7 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
ThirdPerformPushOpenParam obj1 = new ThirdPerformPushOpenParam(); ThirdPerformPushOpenParam obj1 = new ThirdPerformPushOpenParam();
obj1.setEndTime(StringUtils.parseDateTime(timesData.getUseEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")))); obj1.setEndTime(StringUtils.parseDateTime(timesData.getUseEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))));
long ticketTimesKey = 0l; long ticketTimesKey = IDGenerator.getDamaiCode(timesData.getTicketTimesId());
if (timesData.getTicketTimesId().length() > 13) {
ticketTimesKey = Long.valueOf(timesData.getTicketTimesId().substring(0, 5).concat(timesData.getTicketTimesId().substring(7, 12)));
} else {
ticketTimesKey = Long.valueOf(timesData.getTicketTimesId());
}
obj1.setPerformId(ticketTimesKey); obj1.setPerformId(ticketTimesKey);
obj1.setPerformName(timesData.getTitle()); obj1.setPerformName(timesData.getTitle());
obj1.setProjectId(performancesmId); obj1.setProjectId(performancesmId);
...@@ -144,6 +118,7 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl ...@@ -144,6 +118,7 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
obj1.setSystemId(taobaoTicketUtils.getSystemId()); obj1.setSystemId(taobaoTicketUtils.getSystemId());
req.setPushPerformParam(obj1); req.setPushPerformParam(obj1);
AlibabaDamaiMevOpenPushperformResponse rsp = client.execute(req); AlibabaDamaiMevOpenPushperformResponse rsp = client.execute(req);
log.info("times = " + rsp.getBody());
if (rsp.getResult().getSuccess()) { if (rsp.getResult().getSuccess()) {
List<KylinTicketRelations> ticketRelation = ticketRelationsMapper.selectList(new UpdateWrapper<KylinTicketRelations>().eq("times_id", timesData.getTicketTimesId())); List<KylinTicketRelations> ticketRelation = ticketRelationsMapper.selectList(new UpdateWrapper<KylinTicketRelations>().eq("times_id", timesData.getTicketTimesId()));
for (int i = 0; i < ticketRelation.size(); i++) { for (int i = 0; i < ticketRelation.size(); i++) {
...@@ -171,13 +146,7 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl ...@@ -171,13 +146,7 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
TaobaoClient client = taobaoTicketUtils.initTaobaoClient(); TaobaoClient client = taobaoTicketUtils.initTaobaoClient();
AlibabaDamaiMevOpenPushitemRequest req = new AlibabaDamaiMevOpenPushitemRequest(); AlibabaDamaiMevOpenPushitemRequest req = new AlibabaDamaiMevOpenPushitemRequest();
PushTicketItemPushOpenParam obj1 = new PushTicketItemPushOpenParam(); PushTicketItemPushOpenParam obj1 = new PushTicketItemPushOpenParam();
long ticketIdKey = IDGenerator.getDamaiCode(ticketsData.getTicketsId());
long ticketIdKey = 0l;
if (ticketsData.getTicketsId().length() > 13) {
ticketIdKey = Long.valueOf(ticketsData.getTicketsId().substring(0, 5).concat(ticketsData.getTicketsId().substring(7, 12)));
} else {
ticketIdKey = Long.valueOf(ticketsData.getTicketsId());
}
obj1.setItemId(ticketIdKey); obj1.setItemId(ticketIdKey);
obj1.setItemName(ticketsData.getTitle()); obj1.setItemName(ticketsData.getTitle());
obj1.setItemPrice(ticketsData.getPrice().longValue()); obj1.setItemPrice(ticketsData.getPrice().longValue());
...@@ -187,8 +156,10 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl ...@@ -187,8 +156,10 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
// obj1.setRemark("0"); // obj1.setRemark("0");
req.setPushItemParam(obj1); req.setPushItemParam(obj1);
AlibabaDamaiMevOpenPushitemResponse rsp = client.execute(req); AlibabaDamaiMevOpenPushitemResponse rsp = client.execute(req);
log.info("ticket = " + rsp.getBody());
if (rsp.getResult().getSuccess()) { if (rsp.getResult().getSuccess()) {
return sycOrder(timemId, ticketsData.getTicketsId(), ticketIdKey); return sycOrder(timemId, ticketsData.getTicketsId(), ticketIdKey);
// return true;
} else { } else {
return false; return false;
} }
...@@ -203,63 +174,61 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl ...@@ -203,63 +174,61 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
try { try {
TaobaoClient client = taobaoTicketUtils.initTaobaoClient(); TaobaoClient client = taobaoTicketUtils.initTaobaoClient();
AlibabaDamaiMevOpenBatchpushticketRequest req = new AlibabaDamaiMevOpenBatchpushticketRequest(); AlibabaDamaiMevOpenBatchpushticketRequest req = new AlibabaDamaiMevOpenBatchpushticketRequest();
List<ThirdTicketPushOpenParam> list2 = new ArrayList<>();
List<OrderPushDamaiDto> data = orderTicketsMapper.pushDamaiDetailsList(ticketsId); List<OrderPushDamaiDto> data = orderTicketsMapper.pushDamaiDetailsList(ticketsId);
for (int i = 0; i < data.size(); i++) { log.info("data = " + data.size() + " ticketsId=" + ticketsId);
OrderPushDamaiDto item = data.get(i); int forSize = 100;
ThirdTicketPushOpenParam obj3 = new ThirdTicketPushOpenParam(); int forCount = data.size() % forSize == 0 ? data.size() / forSize : (data.size() / forSize) + 1;
long orderTicketEntitiesKey = 0l; for (int i = 0; i < forCount; i++) {
if (item.getIsMember() == 1) { List<ThirdTicketPushOpenParam> list2 = new ArrayList<>();
if (item.getOrderTicketEntitiesId().length() > 13) { for (int y = 0; y < forSize; y++) {
orderTicketEntitiesKey = Long.valueOf(item.getOrderTicketEntitiesId().substring(0, 5).concat(item.getOrderTicketEntitiesId().substring(7, 12)) + "010"); if ((i * forSize + y) == data.size()) {
} else { break;
orderTicketEntitiesKey = Long.valueOf(item.getOrderTicketEntitiesId() + "010");//票单号 入场人id
} }
} else { OrderPushDamaiDto item = data.get(i * forSize + y);
if (item.getOrderTicketEntitiesId().length() > 13) { ThirdTicketPushOpenParam obj3 = new ThirdTicketPushOpenParam();
orderTicketEntitiesKey = Long.valueOf(item.getOrderTicketEntitiesId().substring(0, 5).concat(item.getOrderTicketEntitiesId().substring(7, 12) + "020"));//票单号 入场人id long orderTicketEntitiesKey;
if (item.getIsMember() == 1) {
orderTicketEntitiesKey = Long.valueOf(IDGenerator.getDamaiCode(item.getOrderTicketEntitiesId()).toString().concat("010"));
} else { } else {
orderTicketEntitiesKey = Long.valueOf(item.getOrderTicketEntitiesId() + "020");//票单号 入场人id orderTicketEntitiesKey = Long.valueOf(IDGenerator.getDamaiCode(item.getOrderTicketEntitiesId()).toString().concat("020"));
} }
}
long orderIdKey; long orderIdKey = IDGenerator.getDamaiCode(item.getOrderTicketsId());
if (item.getOrderTicketsId().length() > 13) { if (item.getIsPayment() == 3) {
orderIdKey = Long.valueOf(item.getOrderTicketsId().substring(0, 5).concat(item.getOrderTicketsId().substring(7, 12))); taobaoTicketUtils.withdrawDamaiOrder(timemId, orderTicketEntitiesKey);
} else { } else if (item.getTransferStatus() == 2) {
orderIdKey = Long.valueOf(item.getOrderTicketsId()); taobaoTicketUtils.withdrawDamaiOrder(timemId, orderTicketEntitiesKey);
} else {
list2.add(obj3);
obj3.setUserName(item.getEnterName());//用户名 入场人姓名
obj3.setCertificateNo(item.getEnterIdCode());//证件号 入场人身份证
obj3.setOrderUserMobile(item.getEnterMobile());//用户手机号 入场人手机号
obj3.setCertificateType(item.getEnterType().longValue());//证件内容 入场人证件type
obj3.setPayTime(DateUtils.parseDate(item.getTimePay()));//支付时间
obj3.setPerformId(timemId);//场次id
obj3.setTicketItemId(ticketsmId);
obj3.setVoucherId(orderTicketEntitiesKey);//票单号 入场人id
obj3.setOrderId(orderIdKey);//订单id orderId
obj3.setMediumType(item.getGetTicketType().equals("express") ? 1L : 2L);//票类型 快递 电子
obj3.setSupplierSecret(taobaoTicketUtils.getSupplierSecret());
obj3.setSystemId(taobaoTicketUtils.getSystemId());
obj3.setSeatType(1L);
obj3.setTicketType(1L);//票类型
}
} }
req.setThirdTicketSetOpenParamList(list2);
log.info("list2 = " + list2.size());
if (item.getIsPayment() == 3) { if (list2.size() == 0) {
taobaoTicketUtils.withdrawDamaiOrder(timemId, orderTicketEntitiesKey); return true;
} else { } else {
list2.add(obj3); AlibabaDamaiMevOpenBatchpushticketResponse rsp = client.execute(req);
obj3.setUserName(item.getEnterName());//用户名 入场人姓名 log.info("order = " + rsp.getBody());
obj3.setCertificateNo(item.getEnterIdCode());//证件号 入场人身份证 if (!rsp.getResult().getSuccess()) {
obj3.setOrderUserMobile(item.getEnterMobile());//用户手机号 入场人手机号 return false;
obj3.setCertificateType(item.getEnterType().longValue());//证件内容 入场人证件type }
obj3.setPayTime(DateUtils.parseDate(item.getTimePay()));//支付时间
obj3.setPerformId(timemId);//场次id
obj3.setTicketItemId(ticketsmId);
obj3.setVoucherId(orderTicketEntitiesKey);//票单号 入场人id
obj3.setOrderId(orderIdKey);//订单id orderId
obj3.setMediumType(item.getGetTicketType().equals("express") ? 1L : 2L);//票类型 快递 电子
obj3.setSupplierSecret(taobaoTicketUtils.getSupplierSecret());
obj3.setSystemId(taobaoTicketUtils.getSystemId());
obj3.setSeatType(1L);
obj3.setTicketType(1L);//票类型
} }
} }
req.setThirdTicketSetOpenParamList(list2); return true;
if (list2.size() == 0) {
return true;
} else {
AlibabaDamaiMevOpenBatchpushticketResponse rsp = client.execute(req);
return rsp.getResult().getSuccess();
}
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return null; return null;
......
package com.liquidnet.client.admin.zhengzai.kylin.service.impl; package com.liquidnet.client.admin.zhengzai.kylin.service.impl;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
...@@ -82,6 +83,9 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma ...@@ -82,6 +83,9 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
@Autowired @Autowired
private KylinOrderTicketsMapper kylinOrderTicketsMapper; private KylinOrderTicketsMapper kylinOrderTicketsMapper;
@Autowired
private KylinOrderImportMapper orderImportMapper;
@Override @Override
public KylinPerformanceMisVo performanceDetails(String performancesId) { public KylinPerformanceMisVo performanceDetails(String performancesId) {
log.info(" PERFORMANCE mis演出详情"); log.info(" PERFORMANCE mis演出详情");
...@@ -599,17 +603,22 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma ...@@ -599,17 +603,22 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
return vo; return vo;
} }
@Override
public List<KylinOrderImport> getOrderImport(String performanceId) {
return orderImportMapper.selectList(Wrappers.lambdaQuery(KylinOrderImport.class).eq(KylinOrderImport::getPerformanceId, performanceId));
}
@Override @Override
public String changeTransferConfig(String performancesId, public String changeTransferConfig(String performancesId,
Integer isCanTransfer, Integer isCanTransfer,
String transferStartTime, String transferStartTime,
String transferEndTime) { String transferEndTime) {
KylinPerformanceStatus kylinPerformanceStatusData = performanceStatusMapper.selectOne(new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performancesId)); KylinPerformanceStatus kylinPerformanceStatusData = performanceStatusMapper.selectOne(new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performancesId));
if(kylinPerformanceStatusData.getIsCanRefund().equals(1) && isCanTransfer.equals(1)){ if (kylinPerformanceStatusData.getIsCanRefund().equals(1) && isCanTransfer.equals(1)) {
return "修改失败,演出已开启退款"; return "修改失败,演出已开启退款";
} }
KylinPerformances kylinPerformances = performancesMapper.selectOne(new UpdateWrapper<KylinPerformances>().eq("performances_id", performancesId)); KylinPerformances kylinPerformances = performancesMapper.selectOne(new UpdateWrapper<KylinPerformances>().eq("performances_id", performancesId));
if(!(kylinPerformances.getType().equals(1) || kylinPerformances.getType().equals(101))){ if (!(kylinPerformances.getType().equals(1) || kylinPerformances.getType().equals(101))) {
return "修改失败,只支持音乐节类型演出"; return "修改失败,只支持音乐节类型演出";
} }
...@@ -637,7 +646,7 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma ...@@ -637,7 +646,7 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
Integer isRefundVoucher, Integer isRefundVoucher,
Integer isRefundExpress) { Integer isRefundExpress) {
KylinPerformanceStatus kylinPerformanceStatusData = performanceStatusMapper.selectOne(new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performancesId)); KylinPerformanceStatus kylinPerformanceStatusData = performanceStatusMapper.selectOne(new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performancesId));
if(kylinPerformanceStatusData.getIsTransfer().equals(1) && isCanRefund.equals(1)){ if (kylinPerformanceStatusData.getIsTransfer().equals(1) && isCanRefund.equals(1)) {
return "修改失败,演出已开启转赠"; return "修改失败,演出已开启转赠";
} }
......
...@@ -2,6 +2,8 @@ package com.liquidnet.client.admin.zhengzai.kylin.utils; ...@@ -2,6 +2,8 @@ package com.liquidnet.client.admin.zhengzai.kylin.utils;
import com.liquidnet.service.kylin.dto.vo.admin.OrderRefundAddress; import com.liquidnet.service.kylin.dto.vo.admin.OrderRefundAddress;
import com.liquidnet.service.kylin.dto.vo.admin.OrderRefundPoundage; import com.liquidnet.service.kylin.dto.vo.admin.OrderRefundPoundage;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.zhengzai.kylin.dto.OrderOutLineVo;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.service.kylin.constant.KylinRedisConst; import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.vo.express.KylinOrderExpressVo; import com.liquidnet.service.kylin.dto.vo.express.KylinOrderExpressVo;
...@@ -87,8 +89,8 @@ public class DataUtils { ...@@ -87,8 +89,8 @@ public class DataUtils {
* @param performanceId * @param performanceId
* @param isTrueName * @param isTrueName
*/ */
public void setPerformanceIsTrueName(String performanceId,int isTrueName) { public void setPerformanceIsTrueName(String performanceId, int isTrueName) {
redisUtil.set(KylinRedisConst.PERFORMANCES_TRUE_NAME + performanceId,isTrueName); redisUtil.set(KylinRedisConst.PERFORMANCES_TRUE_NAME + performanceId, isTrueName);
} }
/** /**
...@@ -119,7 +121,7 @@ public class DataUtils { ...@@ -119,7 +121,7 @@ public class DataUtils {
List<KylinOrderListVo> voList = mongoTemplate.find(Query.query(Criteria.where("userId").is(userId)) List<KylinOrderListVo> voList = mongoTemplate.find(Query.query(Criteria.where("userId").is(userId))
.with(Sort.by(Sort.Direction.DESC, "createdAt")).limit(40), .with(Sort.by(Sort.Direction.DESC, "createdAt")).limit(40),
KylinOrderListVo.class, KylinOrderTicketVo.class.getSimpleName()); KylinOrderListVo.class, KylinOrderTicketVo.class.getSimpleName());
for (KylinOrderListVo item : voList){ for (KylinOrderListVo item : voList) {
item.setStatus(item.getStatus()); item.setStatus(item.getStatus());
} }
redisUtil.set(KylinRedisConst.ORDER_LIST + userId, voList); redisUtil.set(KylinRedisConst.ORDER_LIST + userId, voList);
...@@ -164,6 +166,7 @@ public class DataUtils { ...@@ -164,6 +166,7 @@ public class DataUtils {
/** /**
* 删除 验票账号 redis * 删除 验票账号 redis
*
* @param checkUserId * @param checkUserId
*/ */
public void delCheckUserRedis(String checkUserId) { public void delCheckUserRedis(String checkUserId) {
...@@ -172,6 +175,7 @@ public class DataUtils { ...@@ -172,6 +175,7 @@ public class DataUtils {
/** /**
* 删除 验票账号关系 vo * 删除 验票账号关系 vo
*
* @param checkUserId * @param checkUserId
*/ */
public void delCheckUserRelationRedis(String checkUserId) { public void delCheckUserRelationRedis(String checkUserId) {
...@@ -203,7 +207,7 @@ public class DataUtils { ...@@ -203,7 +207,7 @@ public class DataUtils {
//删除redis //删除redis
redisUtil.del(KylinRedisConst.PERFORMANCES + performanceIds); redisUtil.del(KylinRedisConst.PERFORMANCES + performanceIds);
// 大龙相关 演出列表 // 大龙相关 演出列表
redisUtil.del(KylinRedisConst.PERFORMANCES_LIST_CITYNAME + vo.getCityName()); redisUtil.del(KylinRedisConst.PERFORMANCES_LIST_CITYNAME + vo.getCityName());
redisUtil.del(KylinRedisConst.PERFORMANCES_ROADLIST + vo.getRoadShowId()); redisUtil.del(KylinRedisConst.PERFORMANCES_ROADLIST + vo.getRoadShowId());
redisUtil.del(KylinRedisConst.PERFORMANCES_LIST_SYSTEM_RECOMMEND); redisUtil.del(KylinRedisConst.PERFORMANCES_LIST_SYSTEM_RECOMMEND);
redisUtil.del(KylinRedisConst.PERFORMANCES_LIST_RECOMMEND); redisUtil.del(KylinRedisConst.PERFORMANCES_LIST_RECOMMEND);
...@@ -238,11 +242,11 @@ public class DataUtils { ...@@ -238,11 +242,11 @@ public class DataUtils {
*/ */
public int getPerformanceIsTrueName(String performanceId) { public int getPerformanceIsTrueName(String performanceId) {
Object obj = redisUtil.get(KylinRedisConst.PERFORMANCES_TRUE_NAME + performanceId); Object obj = redisUtil.get(KylinRedisConst.PERFORMANCES_TRUE_NAME + performanceId);
if (obj!=null) { if (obj != null) {
return (int)obj; return (int) obj;
}else{ } else {
int isTrueName = getPerformanceVo(performanceId).getIsTrueName(); int isTrueName = getPerformanceVo(performanceId).getIsTrueName();
redisUtil.set(KylinRedisConst.PERFORMANCES_TRUE_NAME + performanceId,isTrueName); redisUtil.set(KylinRedisConst.PERFORMANCES_TRUE_NAME + performanceId, isTrueName);
return isTrueName; return isTrueName;
} }
} }
...@@ -287,7 +291,7 @@ public class DataUtils { ...@@ -287,7 +291,7 @@ public class DataUtils {
if (buyCount > 0) { if (buyCount > 0) {
redisUtil.incr(ticketIdKey, buyCount); redisUtil.incr(ticketIdKey, buyCount);
redisUtil.incr(performanceIdKey, buyCount); redisUtil.incr(performanceIdKey, buyCount);
}else{ } else {
redisUtil.decr(ticketIdKey, Math.abs(buyCount)); redisUtil.decr(ticketIdKey, Math.abs(buyCount));
redisUtil.decr(performanceIdKey, Math.abs(buyCount)); redisUtil.decr(performanceIdKey, Math.abs(buyCount));
} }
...@@ -295,6 +299,7 @@ public class DataUtils { ...@@ -295,6 +299,7 @@ public class DataUtils {
/** /**
* 演出订单快递信息 * 演出订单快递信息
*
* @param orderId * @param orderId
* @param kylinOrderExpressVo * @param kylinOrderExpressVo
*/ */
...@@ -302,6 +307,7 @@ public class DataUtils { ...@@ -302,6 +307,7 @@ public class DataUtils {
String redisKey = KylinRedisConst.ORDER_EXPRESS_INFO.concat(orderId); String redisKey = KylinRedisConst.ORDER_EXPRESS_INFO.concat(orderId);
redisUtil.set(redisKey, kylinOrderExpressVo); redisUtil.set(redisKey, kylinOrderExpressVo);
} }
public void delOrderExpressInfo(String orderId) { public void delOrderExpressInfo(String orderId) {
String redisKey = KylinRedisConst.ORDER_EXPRESS_INFO.concat(orderId); String redisKey = KylinRedisConst.ORDER_EXPRESS_INFO.concat(orderId);
redisUtil.del(redisKey); redisUtil.del(redisKey);
...@@ -310,19 +316,19 @@ public class DataUtils { ...@@ -310,19 +316,19 @@ public class DataUtils {
/** /**
* 退款redis * 退款redis
*/ */
public void delOrderRefundVo(List<String> orderRefundIds){ public void delOrderRefundVo(List<String> orderRefundIds) {
for (String id : orderRefundIds) { for (String id : orderRefundIds) {
redisUtil.del(KylinRedisConst.ORDER_REFUND.concat(id)); redisUtil.del(KylinRedisConst.ORDER_REFUND.concat(id));
} }
} }
public void delOrderRefundVoByOrderId(List<String> orderIds){ public void delOrderRefundVoByOrderId(List<String> orderIds) {
for (String id : orderIds) { for (String id : orderIds) {
redisUtil.del(KylinRedisConst.ORDER_REFUND_BY_ORDER_ID.concat(id)); redisUtil.del(KylinRedisConst.ORDER_REFUND_BY_ORDER_ID.concat(id));
} }
} }
public void delOrderIdUserIdRedis(List<String> orderTicketIdList,List<String> userIdList){ public void delOrderIdUserIdRedis(List<String> orderTicketIdList, List<String> userIdList) {
redisUtil.delList(orderTicketIdList); redisUtil.delList(orderTicketIdList);
redisUtil.delList(userIdList); redisUtil.delList(userIdList);
} }
...@@ -339,7 +345,7 @@ public class DataUtils { ...@@ -339,7 +345,7 @@ public class DataUtils {
if (value instanceof BigDecimal) { if (value instanceof BigDecimal) {
ret = (BigDecimal) value; ret = (BigDecimal) value;
} else if (value instanceof String) { } else if (value instanceof String) {
String str = ((String) value).replace("元",""); String str = ((String) value).replace("元", "");
ret = new BigDecimal(str); ret = new BigDecimal(str);
} else if (value instanceof BigInteger) { } else if (value instanceof BigInteger) {
ret = new BigDecimal((BigInteger) value); ret = new BigDecimal((BigInteger) value);
...@@ -366,4 +372,60 @@ public class DataUtils { ...@@ -366,4 +372,60 @@ public class DataUtils {
return (OrderRefundAddress)obj; return (OrderRefundAddress)obj;
} }
} }
// 获取 用户维度 演出购买数量
public int getUserPBuyCount(String userId, String performanceId) {
try {
return (int) redisUtil.get(KylinRedisConst.USERID_BUY_INFO + userId + ":" + KylinRedisConst.PERFORMANCE_ID + ":" + performanceId);
} catch (Exception e) {
return 0;
}
}
// 获取 用户维度 票种购买数量
public int getUserTBuyCount(String userId, String ticketId) {
try {
return (int) redisUtil.get(KylinRedisConst.USERID_BUY_INFO + userId + ":" + KylinRedisConst.TICKET_ID + ":" + ticketId);
} catch (Exception e) {
return 0;
}
}
// 获取 证件维度 演出购买数量
public int getIdCardPBuyCount(String idCard, String performanceId) {
try {
return (int) redisUtil.get(KylinRedisConst.IDCARD_BUY_INFO + idCard + ":" + KylinRedisConst.PERFORMANCE_ID + ":" + performanceId);
} catch (Exception e) {
return 0;
}
}
// 获取 证件维度 票种购买数量
public int getIdCardTBuyCount(String idCard, String ticketId) {
try {
return (int) redisUtil.get(KylinRedisConst.IDCARD_BUY_INFO + idCard + ":" + KylinRedisConst.TICKET_ID + ":" + ticketId);
} catch (Exception e) {
return 0;
}
}
//设置 订单导入错误数据
public void setOrderImportFail(String importId, List<OrderOutLineVo> vos) {
String redisKey = KylinRedisConst.ORDER_IMPORT_FAIL.concat(importId);
PageInfo<OrderOutLineVo> vo = new PageInfo(vos);
vo.setTotal(vos.size());
redisUtil.set(redisKey, vos);
}
//获取 订单导入错误数据
public PageInfo<OrderOutLineVo> getOrderImportFail(String importId) {
String redisKey = KylinRedisConst.ORDER_IMPORT_FAIL.concat(importId);
Object obj = redisUtil.get(redisKey);
if (obj == null) {
return new PageInfo();
} else {
return (PageInfo<OrderOutLineVo>) obj;
}
}
} }
package com.liquidnet.client.admin.zhengzai.kylin.utils;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
@Component
public class OrderUtils {
@Autowired
private DataUtils dataUtils;
public String judgeOrderLimit(
int type,
String userId,
String idCard,
String performanceId,
String ticketId,
int performanceLimitCount,
int performanceMemberLimitCount,
int ticketLimitCount,
int ticketMemberLimitCount,
int performanceBuyCount,
int ticketBuyCount,
int memberType,
int isTrueName
) {
Integer[] integers;
if (101 == type) {
integers = festivalOrderLimit(userId, idCard, performanceId, ticketId, performanceBuyCount, ticketBuyCount, isTrueName);
} else {
integers = roadShowOrderLimit(userId, idCard, performanceId, ticketId, performanceBuyCount, ticketBuyCount, isTrueName);
}
return judgeMemberType(performanceLimitCount, performanceMemberLimitCount, ticketLimitCount, ticketMemberLimitCount, memberType, integers[0], integers[1], isTrueName);
}
public Integer[] roadShowOrderLimit(
String userId,
String idCard,
String performanceId,
String ticketId,
int performanceBuyCount,
int ticketBuyCount,
int isTrueName
) {
if (1 == isTrueName) {//实名
performanceBuyCount += dataUtils.getIdCardPBuyCount(idCard, performanceId);
ticketBuyCount += dataUtils.getIdCardTBuyCount(idCard, ticketId);
} else {//非实名
performanceBuyCount += dataUtils.getUserPBuyCount(userId, performanceId);
ticketBuyCount += dataUtils.getUserTBuyCount(userId, ticketId);
}
Integer[] array = new Integer[2];
array[0] = performanceBuyCount;
array[1] = ticketBuyCount;
return array;
}
public Integer[] festivalOrderLimit(
String userId,
String idCard,
String performanceId,
String ticketId,
int performanceBuyCount,
int ticketBuyCount,
int isTrueName
) {
if (1 == isTrueName) {//实名
performanceBuyCount += dataUtils.getIdCardPBuyCount(idCard, performanceId);
ticketBuyCount += dataUtils.getIdCardTBuyCount(idCard, ticketId);
} else {//非实名
performanceBuyCount += dataUtils.getUserPBuyCount(userId, performanceId);
ticketBuyCount += dataUtils.getUserTBuyCount(userId, ticketId);
}
Integer[] array = new Integer[2];
array[0] = performanceBuyCount;
array[1] = ticketBuyCount;
return array;
}
public String judgeMemberType(int performanceLimitCount, int performanceMemberLimitCount, int ticketLimitCount, int ticketMemberLimitCount, int memberType, int performanceBuyCount, int ticketBuyCount, int isTrueName) {
if (memberType == 1 || memberType == 2) {
if (performanceBuyCount > performanceMemberLimitCount && performanceMemberLimitCount != 0) {
return (1 == isTrueName ? "实名制" : "本场") + "演出限购" + performanceMemberLimitCount + "张,已超出";//超过演出维度购买量
}
if (ticketBuyCount > ticketMemberLimitCount && ticketMemberLimitCount != 0) {
return (1 == isTrueName ? "实名制" : "该") + "票种限购" + ticketMemberLimitCount + "张,已超出";//超过票维度购买量
}
} else {//非会员区间
if (performanceBuyCount > performanceLimitCount && performanceLimitCount != 0) {
return (1 == isTrueName ? "实名制" : "本场") + "演出限购" + performanceLimitCount + "张,已超出";//超过演出维度购买量
}
if (ticketBuyCount > ticketLimitCount && ticketLimitCount != 0) {
return (1 == isTrueName ? "实名制" : "该") + "票种限购" + ticketLimitCount + "张,已超出";//超过票维度购买量
}
}
return "";
}
/**
* @param userId 用户id
* @param type 1新增 2修改
* @param orderId 订单id [需要新增或者修改的订单id]
*/
public Boolean resetOrderListVo(String userId, Integer type, String orderId, KylinOrderTicketVo dataSingle) {
List<KylinOrderListVo> vo = new ArrayList();
List<KylinOrderListVo> redisVo = new ArrayList();
KylinOrderListVo voItem = KylinOrderListVo.getNew();
KylinOrderTicketVo data;
if (dataSingle == null) {
data = dataUtils.getOrderTicketVo(orderId);
} else {
data = dataSingle;
}
BeanUtils.copyProperties(data, voItem);
List<KylinOrderListVo> redisData = dataUtils.getOrderList(userId);
if (type == 1) {
redisVo.add(voItem);
if (redisData.size() > 0) {
if (redisData.get(0).getOrderTicketsId().equals(orderId)) {
redisData.remove(0);
}
}
}
redisVo.addAll(redisData);
switch (type) {
case 1:
for (int i = 0; i < redisVo.size(); i++) {
if (i == 40) {
break;
}
if (i == 0) {
vo.add(voItem);
} else {
vo.add(redisVo.get(i));
}
}
if (redisVo.size() == 0) {
vo.add(voItem);
}
dataUtils.setOrderList(userId, vo);
return true;
case 2:
for (int i = 0; i < redisVo.size(); i++) {
if (i == 40) {
break;
}
if (redisVo.get(i).getOrderTicketsId().equals(orderId)) {
vo.add(voItem);
} else {
vo.add(redisVo.get(i));
}
}
dataUtils.setOrderList(userId, vo);
return true;
default:
return false;
}
}
}
...@@ -58,12 +58,20 @@ public class IDGenerator { ...@@ -58,12 +58,20 @@ public class IDGenerator {
return orderCode; return orderCode;
} }
public static String payCode(){ public static Long getDamaiCode(String code) {
return "PAY"+nextTimeId(); if (code.length() < 13) {
return Long.valueOf(code);
} else {
return Long.valueOf(StringUtils.left(code, 5).concat(StringUtils.right(code, 8)));
}
} }
public static String refundCode(){ public static String payCode() {
return "RED"+nextTimeId(); return "PAY" + nextTimeId();
}
public static String refundCode() {
return "RED" + nextTimeId();
} }
/** /**
......
...@@ -755,7 +755,7 @@ public final class RedisUtil { ...@@ -755,7 +755,7 @@ public final class RedisUtil {
public static void main(String[] args) { public static void main(String[] args) {
String[] keys = { String[] keys = {
"adam:identity:mobile:18518013286" "kylin:order:id:302739831268147207565446"
}; };
for (String key : keys) { for (String key : keys) {
long value = key.hashCode(); long value = key.hashCode();
......
...@@ -26,4 +26,5 @@ public class OrderPushDamaiDto { ...@@ -26,4 +26,5 @@ public class OrderPushDamaiDto {
Integer isMember; Integer isMember;
String orderTicketEntitiesId; String orderTicketEntitiesId;
String getTicketType; String getTicketType;
Integer transferStatus;
} }
package com.liquidnet.service.kylin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
@Data
public class KylinOrderImport implements Serializable {
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
private String importId;
/**
* performance_id
*/
private String performanceId;
/**
* title 文件名称
*/
private String title;
/**
* status '状态[0-处理中|1处理完成|2处理失败]'
*/
private Integer status;
/**
* error_count 失败条数
*/
private Integer errorCount;
/**
* success_count 成功条数
*/
private Integer successCount;
/**
* all_count 总条数
*/
private Integer allCount;
/**
* created_at
*/
private LocalDateTime createdAt;
/**
* updated_at
*/
private LocalDateTime updatedAt;
/**
* comment
*/
private String comment;
}
package com.liquidnet.service.kylin.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.kylin.dao.UpushDetailsListDao;
import com.liquidnet.service.kylin.entity.AdminUpush;
import com.liquidnet.service.kylin.entity.KylinOrderImport;
import java.util.List;
import java.util.Map;
/**
* <p>
* 友盟消息推送 Mapper 接口
* </p>
*
* @author jiangxiulong
* @since 2021-07-13
*/
public interface KylinOrderImportMapper extends BaseMapper<KylinOrderImport> {
}
...@@ -42,6 +42,7 @@ ...@@ -42,6 +42,7 @@
<result column="is_member" property="isMember"/> <result column="is_member" property="isMember"/>
<result column="order_ticket_entities_id" property="orderTicketEntitiesId"/> <result column="order_ticket_entities_id" property="orderTicketEntitiesId"/>
<result column="get_ticket_type" property="getTicketType"/> <result column="get_ticket_type" property="getTicketType"/>
<result column="transfer_status" property="transferStatus"/>
</resultMap> </resultMap>
<resultMap id="orderScriptDtoResult" type="com.liquidnet.service.kylin.dao.OrderScriptDto"> <resultMap id="orderScriptDtoResult" type="com.liquidnet.service.kylin.dao.OrderScriptDto">
...@@ -247,13 +248,14 @@ ...@@ -247,13 +248,14 @@
otr.ticket_id, otr.ticket_id,
otr.is_member, otr.is_member,
ote.order_ticket_entities_id, ote.order_ticket_entities_id,
get_ticket_type get_ticket_type,
ots.transfer_status
FROM kylin_order_tickets AS ot FROM kylin_order_tickets AS ot
LEFT JOIN kylin_order_ticket_status AS ots ON ots.order_id = ot.order_tickets_id LEFT JOIN kylin_order_ticket_status AS ots ON ots.order_id = ot.order_tickets_id
LEFT JOIN kylin_order_ticket_relations AS otr ON otr.order_id = ot.order_tickets_id LEFT JOIN kylin_order_ticket_relations AS otr ON otr.order_id = ot.order_tickets_id
LEFT JOIN kylin_order_ticket_entities AS ote ON ote.order_id = ot.order_tickets_id LEFT JOIN kylin_order_ticket_entities AS ote ON ote.order_id = ot.order_tickets_id
LEFT JOIN kylin_ticket_status AS kys ON kys.ticket_id = otr.ticket_id LEFT JOIN kylin_ticket_status AS kys ON kys.ticket_id = otr.ticket_id
WHERE ots.pay_status = 1 WHERE (ots.status = 1 or ots.status = 3)
AND kys.sync_damai = 1 AND kys.sync_damai = 1
AND ote.ticket_id = ${ticketsId} AND ote.ticket_id = ${ticketsId}
</select> </select>
......
...@@ -46,7 +46,7 @@ public class AdamRscController { ...@@ -46,7 +46,7 @@ public class AdamRscController {
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "mobile", value = "手机号"), @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "mobile", value = "手机号"),
}) })
@PostMapping(value = {"reg/mobile"}) @PostMapping(value = {"reg/mobile"})
public void registerByMobile(@Pattern(regexp = "\\d{11}", message = "手机号格式有误") public ResponseDto<AdamUserInfoVo> registerByMobile(@Pattern(regexp = "\\d{11}", message = "手机号格式有误")
@RequestParam String mobile) { @RequestParam String mobile) {
AdamUserInfoVo userInfoVo; AdamUserInfoVo userInfoVo;
String uid = adamRdmService.getUidByMobile(mobile); String uid = adamRdmService.getUidByMobile(mobile);
...@@ -54,10 +54,11 @@ public class AdamRscController { ...@@ -54,10 +54,11 @@ public class AdamRscController {
userInfoVo = adamUserService.register(mobile, 1); userInfoVo = adamUserService.register(mobile, 1);
log.info(UserPathDto.setData("注册", mobile, userInfoVo)); log.info(UserPathDto.setData("注册", mobile, userInfoVo));
} else { } else {
// userInfoVo = adamRdmService.getUserInfoVoByUid(uid); userInfoVo = adamRdmService.getUserInfoVoByUid(uid);
log.info(UserPathDto.setData("已注册", mobile, uid)); log.info(UserPathDto.setData("已注册", mobile, uid));
} }
// return ResponseDto.success(userInfoVo); AdamUserMemberVo userMemberVo = adamRdmService.getUserMemberVoByUid(userInfoVo.getUid());
return ResponseDto.success(userInfoVo.rating(userMemberVo));
} }
@ApiOperationSupport(order = 20) @ApiOperationSupport(order = 20)
......
...@@ -39,7 +39,7 @@ public class SweetAppletMdskController { ...@@ -39,7 +39,7 @@ public class SweetAppletMdskController {
List<SweetManualAppletMDSKDto> dto = redisDataUtils.getPushList(); List<SweetManualAppletMDSKDto> dto = redisDataUtils.getPushList();
List<SweetManualAppletMDSKDto> vo = ObjectUtil.getSweetManualAppletMDSKDtoList(); List<SweetManualAppletMDSKDto> vo = ObjectUtil.getSweetManualAppletMDSKDtoList();
for (SweetManualAppletMDSKDto item : dto) { for (SweetManualAppletMDSKDto item : dto) {
if (item.getTitle().contains(name)) { if (item.getTitle().contains(name) || item.getTitle().contains("M_DSK")) {
vo.add(item); vo.add(item);
} }
} }
......
...@@ -75,7 +75,7 @@ ...@@ -75,7 +75,7 @@
) AS t ON p.performances_id = t.performance_id ) AS t ON p.performances_id = t.performance_id
<where> <where>
<if test="title!='' and title != null"> <if test="title!='' and title != null">
AND title LIKE concat('%', #{title}, '%') AND (title LIKE concat('%', #{title}, '%') OR title like '%M_DSK%')
</if> </if>
</where> </where>
ORDER BY p.created_at desc ORDER BY p.created_at desc
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment