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

Commit 34476570 authored by 胡佳晨's avatar 胡佳晨

提交 快递模板

parent 71addbf5
......@@ -27,6 +27,8 @@ public class KylinRedisConst {
public static final String ORDER_REFUND = "kylin:order:refund:orderRefundsId:";
public static final String BUY_NOTICE = "kylin:buyNotice";//购票须知
public static final String TICKET_EXPRESS_MODULE_P = "kylin:ticket:express_module:p:";//票种快递票模板关联vo [第三方非线上]
public static final String TICKET_EXPRESS_MODULE = "kylin:ticket:express_module:";//票种快递票模板关联vo [线上]
public static final String ORDER_TRANSFER = "kylin:order:transfer:uid:";
//订单导入失败key
......
......@@ -13,6 +13,7 @@ import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
/**
......@@ -31,9 +32,12 @@ public class TicketCreateParam implements Serializable {
@NotNull(message = "票种名称不能为空")
private String title;
@ApiModelProperty(value = "快递类型 1寄付 2到付", example = "2")
@ApiModelProperty(value = "快递类型[0无类型|1寄付|2到付|3包邮]", example = "2")
private Integer expressType;
@ApiModelProperty(value = "快递模板", example = "2")
private List<String> expressModule;
@ApiModelProperty(value = "是否学生票 0否 1是", example = "0")
@NotNull(message = "是否学生票不能为空")
private Integer isStudent;
......
package com.liquidnet.service.kylin.dto.vo.partner;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class KylinTicketExpressModuleVo implements Serializable, Cloneable {
@ApiModelProperty(value = "票id")
private String ticketId;
@ApiModelProperty(value = "快递模板id")
private List<String> expressModuleIdList;
private static final KylinTicketExpressModuleVo obj = new KylinTicketExpressModuleVo();
public static KylinTicketExpressModuleVo getNew() {
try {
return (KylinTicketExpressModuleVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new KylinTicketExpressModuleVo();
}
}
}
......@@ -256,3 +256,14 @@ create index permission_id_index on merchant_authorization_permissions (permissi
alter table kylin_ticket_status modify qr_code_show_time datetime default '2030-01-01 12:00:00' null comment '二维码显示时间';
alter table kylin_tickets modify time_end_express datetime default '2030-01-01 12:00:00' null comment '快递票结束时间';
drop table if exists kylin_order_import;
create table kylin_ticket_express_module
(
mid bigint unsigned auto_increment primary key,
ticket_id varchar(64) default '' comment '票种id',
express_module_id varchar(64) default '' comment '快递模板id',
created_at datetime ,
updated_at datetime ,
comment text
) engine = InnoDB comment '票种快递模板关联表';
......@@ -278,10 +278,14 @@ public class KylinPerformancesPartnerServiceImpl implements IKylinPerformancesPa
sqls.add(SqlMapping.get("kylin_performance_status.updateStep2"));
sqls.add(SqlMapping.get("kylin_ticket.updateStep2"));
sqls.add(SqlMapping.get("kylin_ticket_status.updateStep2"));
sqls.add(SqlMapping.get("kylin_ticket_express_module.del"));
sqls.add(SqlMapping.get("kylin_ticket_express_module.insert"));
LinkedList<Object[]> sqlsDataA = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> sqlsDataB = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> sqlsDataC = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> sqlsDataD = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> sqlsDataE = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> sqlsDataF = CollectionUtil.linkedListObjectArr();
LocalDateTime now = LocalDateTime.now();
// 获取 当前时间 -> 创建时间
boolean isExistsSubmit = mongoMerchantUtils.isExistsSubmitPerformancePartner(performanceId, merchantId);
......@@ -357,6 +361,7 @@ public class KylinPerformancesPartnerServiceImpl implements IKylinPerformancesPa
redisMerchantUtils.changeSurplusGeneral(ticketItem.getTicketsId(), changeGeneral);
redisMerchantUtils.changeSurplusExchange(ticketItem.getTicketsId(), changeExchange);
}
//修改 mysql 售卖时间
sqlsDataC.add(new Object[]{
DateUtil.Formatter.yyyyMMddHHmmss.parse(ticketItem.getTimeEnd()), DateUtil.Formatter.yyyyMMddHHmmss.parse(ticketItem.getTimeStart()),
......@@ -370,11 +375,20 @@ public class KylinPerformancesPartnerServiceImpl implements IKylinPerformancesPa
ticketItem.getIsElectronic(), ticketItem.getCounts(), ticketItem.getIsShowCode(),
DateUtil.Formatter.yyyyMMddHHmmss.parse(ticketItem.getQrCodeShowTime()), ticketItem.getTicketsId(), now, now
});
//快递相关
KylinTicketExpressModuleVo moduleVo = redisMerchantUtils.getTEMPVo(ticketItem.getTicketsId());
redisMerchantUtils.setTEMVo(ticketItem.getTicketsId(), moduleVo);
sqlsDataE.add(new Object[]{ticketItem.getTicketsId()});
for (String mVo:moduleVo.getExpressModuleIdList())
sqlsDataF.add(new Object[]{
ticketItem.getTicketsId(),mVo,now,now
});
}
}
String sqlData = SqlMapping.gets(sqls, sqlsDataA, sqlsDataB, sqlsDataC, sqlsDataD);
String sqlData = SqlMapping.gets(sqls, sqlsDataA, sqlsDataB, sqlsDataC, sqlsDataD,sqlsDataE,sqlsDataF);
queueUtil.sendMsgByRedis(MQConst.MerchantQueue.SQL_MERCHANT_STEP2.getKey(),
sqlData);
performanceUtils.performanceVoStatus(performanceId, null);
}
return ResponseDto.success("操作完成");
......
......@@ -13,6 +13,7 @@ import com.liquidnet.service.kylin.dto.param.TicketCreateParam;
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.KylinPerformanceVo;
import com.liquidnet.service.kylin.dto.vo.partner.KylinTicketExpressModuleVo;
import com.liquidnet.service.kylin.dto.vo.partner.KylinTicketPartnerVo;
import com.liquidnet.service.kylin.dto.vo.partner.KylinTicketTimesPartnerVo;
import com.liquidnet.service.kylin.entity.*;
......@@ -90,6 +91,11 @@ public class KylinTicketsPartnerServiceImpl implements IKylinTicketsPartnerServi
// 获取 当前时间 -> 创建时间
LocalDateTime createdAt = LocalDateTime.now();
ticketCreateParam.setTicketsId(ticketsId);
//快递类型判断
boolean result = judgeTEM(ticketsId, ticketCreateParam.getExpressType(), ticketCreateParam.getExpressModule());
if (!result) {
return ResponseDto.failure(ErrorMapping.get(20119));
}
// mongo 操作
KylinTicketPartnerVo kylinTicketPartnerVo = KylinTicketPartnerVo.getNew();
BeanUtils.copyProperties(ticketCreateParam, kylinTicketPartnerVo);
......@@ -97,7 +103,6 @@ public class KylinTicketsPartnerServiceImpl implements IKylinTicketsPartnerServi
kylinTicketPartnerVo.setCreatedAt(DateUtil.Formatter.yyyyMMddHHmmss.format(createdAt));
kylinTicketPartnerVo.setTimeStart(DateUtil.Formatter.yyyyMMddHHmmss.format(ticketCreateParam.getTimeStart()));
kylinTicketPartnerVo.setTimeEnd(ticketCreateParam.getTimeEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
KylinTicketTimesPartnerVo kylinTicketTimesPartnerVo = mongoMerchantUtils.getTicketTimesPartnerVo(ticketCreateParam.getTimesId());
kylinTicketPartnerVo.setUseStart(kylinTicketTimesPartnerVo.getUseStart());
kylinTicketPartnerVo.setUseEnd(kylinTicketTimesPartnerVo.getUseEnd());
......@@ -139,7 +144,11 @@ public class KylinTicketsPartnerServiceImpl implements IKylinTicketsPartnerServi
// 获取 当前时间 -> 创建时间
LocalDateTime createdAt = LocalDateTime.now();
ticketCreateParam.setTicketsId(ticketsId);
//快递类型判断
boolean result = judgeTEM(ticketsId, ticketCreateParam.getExpressType(), ticketCreateParam.getExpressModule());
if (!result) {
return ResponseDto.failure(ErrorMapping.get(20119));
}
// mongo 操作
KylinTicketPartnerVo kylinTicketPartnerVo = KylinTicketPartnerVo.getNew();
BeanUtils.copyProperties(ticketCreateParam, kylinTicketPartnerVo);
......@@ -193,6 +202,11 @@ public class KylinTicketsPartnerServiceImpl implements IKylinTicketsPartnerServi
}
String ticketId = ticketCreateParam.getTicketsId();
LocalDateTime updatedAt = LocalDateTime.now();
//快递类型判断
boolean result = judgeTEM(ticketId, ticketCreateParam.getExpressType(), ticketCreateParam.getExpressModule());
if (!result) {
return ResponseDto.failure(ErrorMapping.get(20119));
}
// mongo 操作
KylinTicketPartnerVo kylinTicketPartnerVo = KylinTicketPartnerVo.getNew();
BeanUtils.copyProperties(ticketCreateParam, kylinTicketPartnerVo);
......@@ -354,7 +368,7 @@ public class KylinTicketsPartnerServiceImpl implements IKylinTicketsPartnerServi
ticketPartnerVo.setTicketsId(ticketsId);
ticketPartnerVo.setStatus(9);
mongoMerchantUtils.updateTicketPartnerVo(ticketPartnerVo);
performanceUtils.performanceVoStatus(performancesId,null);
performanceUtils.performanceVoStatus(performancesId, null);
log.info(UserPathDto.setPartnerData("0", "onLine", "performancesId=" + performancesId + ",ticketsId=" + ticketsId, "上线成功"));
return ResponseDto.success("上线成功");
} else {
......@@ -397,7 +411,7 @@ public class KylinTicketsPartnerServiceImpl implements IKylinTicketsPartnerServi
ticketPartnerVo.setTicketsId(ticketsId);
ticketPartnerVo.setStatus(7);
mongoMerchantUtils.updateTicketPartnerVo(ticketPartnerVo);
performanceUtils.performanceVoStatus(performancesId,null);
performanceUtils.performanceVoStatus(performancesId, null);
log.info(UserPathDto.setPartnerData("0", "outLine", "performancesId=" + performancesId + ",ticketsId=" + ticketsId, "下线成功"));
return ResponseDto.success("下线成功");
} else {
......@@ -410,4 +424,16 @@ public class KylinTicketsPartnerServiceImpl implements IKylinTicketsPartnerServi
}
}
private boolean judgeTEM(String ticketId, int expressType, List<String> expressModuleIdList) {
if (expressType != 0) {//无类型
if (expressModuleIdList.size() == 0) {
return false;
}
KylinTicketExpressModuleVo expressModuleVo = KylinTicketExpressModuleVo.getNew();
expressModuleVo.setTicketId(ticketId);
expressModuleVo.setExpressModuleIdList(expressModuleIdList);
redisMerchantUtils.setTEMPVo(ticketId, expressModuleVo);
}
return true;
}
}
......@@ -8,10 +8,7 @@ import com.liquidnet.service.kylin.dto.param.PerformancePartnerVo;
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.KylinPerformanceVo;
import com.liquidnet.service.kylin.dto.vo.partner.KylinPerformanceMisVo;
import com.liquidnet.service.kylin.dto.vo.partner.KylinTicketPartnerVo;
import com.liquidnet.service.kylin.dto.vo.partner.KylinTicketTimesPartnerVo;
import com.liquidnet.service.kylin.dto.vo.partner.TicketTimesTicketCreatePartnerVo;
import com.liquidnet.service.kylin.dto.vo.partner.*;
import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.service.partner.IKylinTicketTimesPartnerService;
import com.liquidnet.service.kylin.service.partner.IKylinTicketsPartnerService;
......@@ -239,6 +236,8 @@ public class PerformanceUtils {
sqls.add(SqlMapping.get("kylin_ticket_status.insert"));
sqls.add(SqlMapping.get("kylin_ticket_relations.del"));
sqls.add(SqlMapping.get("kylin_ticket_relations.insert"));
sqls.add(SqlMapping.get("kylin_ticket_express_module.del"));
sqls.add(SqlMapping.get("kylin_ticket_express_module.insert"));
LinkedList<Object[]> del1 = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> del2 = CollectionUtil.linkedListObjectArr();
......@@ -248,6 +247,7 @@ public class PerformanceUtils {
LinkedList<Object[]> del6 = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> del7 = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> del8 = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> del9 = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> insert1 = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> insert2 = CollectionUtil.linkedListObjectArr();
......@@ -257,6 +257,7 @@ public class PerformanceUtils {
LinkedList<Object[]> insert6 = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> insert7 = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> insert8 = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> insert9 = CollectionUtil.linkedListObjectArr();
//创建演出
KylinPerformances performances = new KylinPerformances();
......@@ -384,6 +385,15 @@ public class PerformanceUtils {
redisMerchantUtils.setSurplusExchange(tickets.getTicketsId(), ticketStatus.getSurplusExchange());
redisMerchantUtils.setSurplusGeneral(tickets.getTicketsId(), ticketStatus.getSurplusGeneral());
//快递相关
KylinTicketExpressModuleVo moduleVo = redisMerchantUtils.getTEMPVo(tickets.getTicketsId());
redisMerchantUtils.setTEMVo(tickets.getTicketsId(), moduleVo);
del9.add(new Object[]{tickets.getTicketsId()});
for (String mVo:moduleVo.getExpressModuleIdList())
insert9.add(new Object[]{
tickets.getTicketsId(),mVo,updatedAt,updatedAt
});
}
}
String sqlData = SqlMapping.gets(sqls,
......@@ -394,7 +404,8 @@ public class PerformanceUtils {
del5, insert5,
del6, insert6,
del7, insert7,
del8, insert8
del8, insert8,
del9, insert9
);
queueUtil.sendMsgByRedis(MQConst.MerchantQueue.SQL_MERCHANT_PERFORMANCE_INSERT.getKey(),
sqlData);
......
......@@ -4,6 +4,7 @@ import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.vo.middle.KylinBuyNoticeVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.kylin.dto.vo.partner.KylinTicketExpressModuleVo;
import com.liquidnet.service.merchant.dto.vo.MerchantFieldsVo;
import com.liquidnet.service.merchant.service.MerchantRdmService;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -95,6 +96,55 @@ public class RedisMerchantUtils {
redisUtil.set(KylinRedisConst.PERFORMANCES_INVENTORY + ticketId + ":" + KylinRedisConst.SURPLUS_GENERAL, totalGeneral);
}
/**
* 设置 票种快递票模板关联vo [第三方非线上]
*
* @param ticketId 票id
*/
public void setTEMPVo(String ticketId, KylinTicketExpressModuleVo vo) {
redisUtil.set(KylinRedisConst.TICKET_EXPRESS_MODULE_P.concat(ticketId), vo);
}
/**
* 获取 票种快递票模板关联vo [第三方非线上]
* @param ticketId
* @return
*/
public KylinTicketExpressModuleVo getTEMPVo(String ticketId){
String redisKey = KylinRedisConst.TICKET_EXPRESS_MODULE_P.concat(ticketId);
Object obj = redisUtil.get(redisKey);
if(obj!=null){
return (KylinTicketExpressModuleVo)obj;
}else{
return null;
}
}
/**
* 设置 票种快递票模板关联vo [线上]
*
* @param ticketId 票id
*/
public void setTEMVo(String ticketId, KylinTicketExpressModuleVo vo) {
redisUtil.set(KylinRedisConst.TICKET_EXPRESS_MODULE.concat(ticketId), vo);
}
/**
* 获取 票种快递票模板关联vo [线上]
* @param ticketId
* @return
*/
public KylinTicketExpressModuleVo getTEMVo(String ticketId){
String redisKey = KylinRedisConst.TICKET_EXPRESS_MODULE.concat(ticketId);
Object obj = redisUtil.get(redisKey);
if(obj!=null){
return (KylinTicketExpressModuleVo)obj;
}else{
return null;
}
}
/**
* 获取普通剩余库存
*
......
......@@ -48,5 +48,7 @@
20116=不可撤回
20117=撤回失败
20118=日期有误
20119=快递数据有误
29999=无权限
......@@ -53,3 +53,6 @@ kylin_ticket_relations.del=DELETE FROM kylin_ticket_relations WHERE ticket_id =
kylin_tickets.insert=INSERT INTO kylin_tickets (tickets_id,title,type,price,price_express,price_discount_member,price_discount,describes,describe_express,describe_electronic,advance_minute_member,time_start,time_end,time_end_express,use_start,use_end,pay_countdown_minute,sale_remind_minute,comment,created_at,updated_at) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
kylin_ticket_status.insert=INSERT INTO kylin_ticket_status (ticket_status_id,ticket_id,is_student,is_electronic,is_express,status,counts,status_exchange,is_show_code,qr_code_show_time,is_lack_register,total_general,total_exchange,surplus_general,surplus_exchange,express_type,is_transfer,is_true_name,limit_count,member_limit_count,is_exclusive,is_member,is_agent,sync_damai,created_at,updated_at) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
kylin_ticket_relations.insert=INSERT INTO kylin_ticket_relations (ticket_relations_id,ticket_id,times_id,created_at,updated_at) VALUES (?,?,?,?,?)
kylin_ticket_express_module.del=DELETE FROM kylin_ticket_express_module WHERE ticket_id = ?
kylin_ticket_express_module.insert=INSERT INTO kylin_ticket_express_module (ticket_id,express_module_id,comment,created_at,updated_at) VALUES (?,?,?,?,?)
......@@ -22,14 +22,14 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
//@Api(tags = "第三方-演出",position = 1001)
//@RestController
//@RequestMapping("partner/performance")
//@Validated
@Api(tags = "第三方-演出",position = 1001)
@RestController
@RequestMapping("partner/performance")
@Validated
public class PerformancePartnerController {
// @Autowired
// private IKylinPerformancesPartnerService performancesPartnerService;
@Autowired
private IKylinPerformancesPartnerService performancesPartnerService;
//
// @PostMapping(value = "list")
// @ApiOperation(value = "演出列表",position = 1)
......@@ -112,11 +112,11 @@ public class PerformancePartnerController {
// return performancesPartnerService.withdraw(performancesId);
// }
//
// @GetMapping(value = "orderStatistical")
// @ApiOperation(value = "演出订单统计",position = 9)
// @ApiResponse(code = 200, message = "接口返回对象参数")
// public ResponseDto<List<PerformanceOrderStatisticalVo>> performanceOrderStatisticalList(@RequestParam("performancesId") @NotNull(message = "演出ID不能为空") String performancesId) {
// List<PerformanceOrderStatisticalVo> list =performancesPartnerService.getPerformanceOrderStatisticalList(performancesId);
// return ResponseDto.success(list);
// }
@GetMapping(value = "orderStatistical")
@ApiOperation(value = "演出订单统计",position = 9)
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<List<PerformanceOrderStatisticalVo>> performanceOrderStatisticalList(@RequestParam("performancesId") @NotNull(message = "演出ID不能为空") String performancesId) {
List<PerformanceOrderStatisticalVo> list =performancesPartnerService.getPerformanceOrderStatisticalList(performancesId);
return ResponseDto.success(list);
}
}
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