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

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

提交 第三方 演出上票迁移

parent 939291c9
......@@ -145,6 +145,9 @@ public class MQConst {
SQL_MERCHANT_FIELD("kylin:stream:rk.performance.lack", "group.performance.lack", "场地相关"),
SQL_MERCHANT_TICKET_UPDATE("merchant:stream:rk.ticket", "group.ticket", "票种相关"),
SQL_MERCHANT_PERFORMANCE_UPDATE("merchant:stream:rk.performance", "group.performance", "演出相关"),
SQL_MERCHANT_STEP2("merchant:stream:rk.performance.step2", "group.performance.step2", "修改演出第二部"),
SQL_MERCHANT_LINE("merchant:stream:rk.any.line", "group.any.line", "上下线相关"),
SQL_MERCHANT_PERFORMANCE_INSERT("merchant:stream:rk.performance.insert", "group.performance.insert", "创建演出"),
;
private final String key;
......
package com.liquidnet.service.merchant.controller;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.vo.middle.KylinBuyNoticeVo;
import com.liquidnet.service.kylin.service.partner.IKylinBuyNoticePartnerService;
import com.liquidnet.service.merchant.util.InnerUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.Arrays;
import java.util.List;
/**
* <p>
* 购票须知表 前端控制器
* </p>
*
* @author liquidnet
* @since 2021-05-18
*/
@Api(tags = "第三方-购票须知", position = 1004)
@RestController
@RequestMapping("partner/buyNotice")
public class KylinBuyNoticeParnterController {
@Autowired
private IKylinBuyNoticePartnerService buyNoticePartnerService;
@Autowired
InnerUtils innerUtils;
@GetMapping(value = "")
@ApiOperation(value = "购票须知列表", position = 1)
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<List<KylinBuyNoticeVo>> getBuyNotice() {
PageInfo<KylinBuyNoticeVo> result = buyNoticePartnerService.getBuyNotice();
if (null == result) {
return ResponseDto.failure("查询失败");
} else {
return ResponseDto.success(result.getList());
}
}
@GetMapping(value = "string")
@ApiOperation(value = "购票须知列表String", position = 1)
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<String> getBuyNoticeJsonString(@RequestParam("buyNoticeId") String buyNoticeId) {
return ResponseDto.success(innerUtils.getBuyNoticeJsonString(Arrays.asList(buyNoticeId.split(","))));
}
}
package com.liquidnet.service.merchant.controller;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.param.CreateTicketTimesParam;
import com.liquidnet.service.kylin.dto.vo.partner.KylinTicketTimesPartnerVo;
import com.liquidnet.service.kylin.service.partner.IKylinTicketTimesPartnerService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
/**
* <p>
* 场次 前端控制器
* </p>
*
* @author liquidnet
* @since 2021-05-06
*/
@Api(tags = "第三方-场次",position = 1002)
@RestController
@RequestMapping("partner/times")
@Validated
public class KylinTicketTimesPartnerController {
@Autowired
private IKylinTicketTimesPartnerService ticketTimesPartnerService;
@PostMapping(value = "")
@ApiOperation(value = "创建场次",position = 1)
@ApiResponse(response = KylinTicketTimesPartnerVo.class, code = 200, message = "接口返回对象参数")
public ResponseDto<KylinTicketTimesPartnerVo> createTimesSummary(@RequestBody @Valid CreateTicketTimesParam createTicketTimesParam) {
return ticketTimesPartnerService.createTimesSummary(createTicketTimesParam);
}
@DeleteMapping(value = "")
@ApiOperation(value = "删除场次",position = 2)
@ApiResponse(response = KylinTicketTimesPartnerVo.class, code = 200, message = "接口返回对象参数")
public ResponseDto<String> deleteTimes(@RequestParam("ticketTimesId") @NotNull(message = "场次ID不能为空") String ticketTimesId,
@RequestParam("performanceId") @NotNull(message = "演出ID不能为空") String performanceId) {
return ticketTimesPartnerService.deleteTimes(ticketTimesId,performanceId);
}
@PutMapping(value = "")
@ApiOperation(value = "修改场次",position = 3)
@ApiResponse(response = KylinTicketTimesPartnerVo.class, code = 200, message = "接口返回对象参数")
public ResponseDto<KylinTicketTimesPartnerVo> changeTimes(@RequestBody @Valid CreateTicketTimesParam createTicketTimesParam) {
return ticketTimesPartnerService.changeTimes(createTicketTimesParam);
}
@GetMapping(value = "/details")
@ApiOperation(value = "获取场次详情",position = 4)
@ApiResponse(response = KylinTicketTimesPartnerVo.class, code = 200, message = "接口返回对象参数")
public ResponseDto<KylinTicketTimesPartnerVo> getTimesMongo(@RequestParam("ticketTimesId") @NotNull(message = "场次ID不能为空") String ticketTimesId) {
KylinTicketTimesPartnerVo result = null;
result = ticketTimesPartnerService.getTimesMongo(ticketTimesId);
if (null == result) {
return ResponseDto.failure("查询场次信息失败");
} else {
return ResponseDto.success(result);
}
}
}
package com.liquidnet.service.merchant.controller;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.param.TicketCreateParam;
import com.liquidnet.service.kylin.dto.vo.partner.KylinTicketPartnerVo;
import com.liquidnet.service.kylin.service.partner.IKylinTicketsPartnerService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
/**
* <p>
* 票 前端控制器
* </p>
*
* @author liquidnet
* @since 2021-05-06
*/
@Api(tags = "第三方-票",position = 1003)
@RestController
@RequestMapping("partner/ticket")
@Validated
public class KylinTicketsPartnerController {
@Autowired
private IKylinTicketsPartnerService ticketsPartnerService;
@PostMapping(value = "")
@ApiOperation(value = "创建票务",position = 1 )
@ApiResponse(response = KylinTicketPartnerVo.class, code = 200, message = "接口返回对象参数")
public ResponseDto<KylinTicketPartnerVo> createTicketSummary(@RequestBody @Valid TicketCreateParam ticketCreateParam) {
return ticketsPartnerService.createTicketSummary(ticketCreateParam);
}
@PutMapping(value = "")
@ApiOperation(value = "修改票务",position = 2)
@ApiResponse(response = KylinTicketPartnerVo.class, code = 200, message = "接口返回对象参数")
public ResponseDto<KylinTicketPartnerVo> updateTicket(@RequestBody @Valid TicketCreateParam ticketCreateParam) {
return ticketsPartnerService.updateTicket(ticketCreateParam);
}
@DeleteMapping(value = "")
@ApiOperation(value = "删除票务",position = 3)
@ApiResponse( code = 200, message = "接口返回对象参数")
public ResponseDto<String> deleteTicket(@RequestParam("ticketsId") @NotNull(message = "票务ID不能为空") String ticketsId,
@RequestParam("performanceId") @NotNull(message = "演出ID不能为空") String performanceId) {
return ticketsPartnerService.deleteTicket(ticketsId,performanceId);
}
@PostMapping(value = "/copy")
@ApiOperation(value = "复制票务",position = 4)
@ApiResponse(response = KylinTicketPartnerVo.class, code = 200, message = "接口返回对象参数")
public ResponseDto<KylinTicketPartnerVo> copyTicket(@RequestParam("performancesId") @NotNull(message = "演出ID不能为空") String performancesId,
@RequestParam("ticketsId") @NotNull(message = "票务ID不能为空") String ticketsId) {
return ticketsPartnerService.copyTicket(performancesId,ticketsId);
}
@GetMapping(value = "/details")
@ApiOperation(value = "获取票务详情",position = 5)
@ApiResponse(response = KylinTicketPartnerVo.class, code = 200, message = "接口返回对象参数")
public ResponseDto<KylinTicketPartnerVo> getTicketsMongo(@RequestParam("ticketsId") @NotNull(message = "票务ID不能为空") String ticketsId) {
KylinTicketPartnerVo result = null;
result = ticketsPartnerService.getTicketsMongo(ticketsId);
if (null == result) {
return ResponseDto.failure("查询票务信息失败");
} else {
return ResponseDto.success(result);
}
}
@PostMapping(value = "/onLine")
@ApiOperation(value = "票上线",position = 6)
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<String> onLine(@RequestParam("ticketsId") @NotNull(message = "票务ID不能为空") String ticketsId,
@RequestParam("performancesId") @NotNull(message = "演出ID不能为空") String performancesId) {
return ticketsPartnerService.onLine(ticketsId,performancesId);
}
@PostMapping(value = "/outLine")
@ApiOperation(value = "票下线",position = 7)
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<String> outLine(@RequestParam("ticketsId") @NotNull(message = "票务ID不能为空") String ticketsId,
@RequestParam("performancesId") @NotNull(message = "演出ID不能为空") String performancesId) {
return ticketsPartnerService.outLine(ticketsId,performancesId);
}
}
package com.liquidnet.service.merchant.controller;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dao.PerformancePartnerListDao;
import com.liquidnet.service.kylin.dto.param.PerformancePartnerListParam;
import com.liquidnet.service.kylin.dto.param.PerformancePartnerVo;
import com.liquidnet.service.kylin.dto.param.PerformanceStep1Param;
import com.liquidnet.service.kylin.dto.param.PerformanceStep2Param;
import com.liquidnet.service.kylin.dto.vo.PerformanceOrderStatisticalVo;
import com.liquidnet.service.kylin.service.partner.IKylinPerformancesPartnerService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Api(tags = "第三方-演出",position = 1001)
@RestController
@RequestMapping("partner/performance")
@Validated
public class PerformancePartnerController {
@Autowired
private IKylinPerformancesPartnerService performancesPartnerService;
@PostMapping(value = "list")
@ApiOperation(value = "演出列表",position = 1)
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<PageInfo<PerformancePartnerListDao>> getList(@RequestBody @Valid PerformancePartnerListParam performancePartnerListParam) {
return performancesPartnerService.getList(performancePartnerListParam);
}
@PostMapping(value = "copy")
@ApiOperation(value = "复制演出",position = 6)
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<Map<String, String>> copyPerformance(@RequestParam("performancesId") @NotNull(message = "演出ID不能为空") String performancesId) {
String result = performancesPartnerService.copyPerformance(performancesId);
if (null == result) {
return ResponseDto.failure("复制失败");
} else {
Map<String, String> map = new HashMap<>();
map.put("performancesId", result);
return ResponseDto.success(map);
}
}
@GetMapping(value = "step1")
@ApiOperation(value = "获取演出第一步数据",position = 3)
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<PerformancePartnerVo> getStep1(@RequestParam("performancesId") @NotNull(message = "演出ID不能为空") String performancesId) {
return performancesPartnerService.getStep1(performancesId);
}
@PostMapping(value = "step1")
@ApiOperation(value = "操作演出第一步",position = 2)
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<Map<String, String>> Step1(@RequestBody @Valid PerformanceStep1Param performanceStep1Param) {
String result = performancesPartnerService.step1(performanceStep1Param);
if (result.isEmpty()) {
return ResponseDto.failure("操作失败");
} else if (result.equals("不可修改")) {
return ResponseDto.failure(result);
} else {
Map<String, String> map = new HashMap<>();
map.put("performancesId", result);
return ResponseDto.success(map);
}
}
@PostMapping(value = "step2")
@ApiOperation(value = "操作演出第二步",position = 4)
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<String> step2(@RequestBody @Valid PerformanceStep2Param performanceStep2Param) {
return performancesPartnerService.step2(performanceStep2Param);
}
@GetMapping(value = "step2")
@ApiOperation(value = "获取演出第二步数据",position = 5)
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<PerformanceStep2Param> getStep2(@RequestParam("performancesId") @NotNull(message = "演出ID不能为空") String performancesId) {
return performancesPartnerService.getStep2(performancesId);
}
@PostMapping(value = "online")
@ApiOperation(value = "演出上线",position = 7)
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<String> onLinePerformance(@RequestParam("performancesId") @NotNull(message = "演出ID不能为空") String performancesId) {
return performancesPartnerService.onLinePerformance(performancesId);
}
@PostMapping(value = "outline")
@ApiOperation(value = "演出下线",position = 8)
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<String> outLinePerformance(@RequestParam("performancesId") @NotNull(message = "演出ID不能为空") String performancesId) {
return performancesPartnerService.outLinePerformance(performancesId);
}
@PostMapping(value = "withdraw")
@ApiOperation(value = "演出撤回",position = 9)
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<String> withdraw(@RequestParam("performancesId") @NotNull(message = "演出ID不能为空") String performancesId) {
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);
}
}
......@@ -25,7 +25,7 @@ import java.util.List;
* @since 2021-05-18
*/
@Service
public class KylinBuyNoticePartnerServiceImpl extends ServiceImpl<KylinBuyNoticeMapper, KylinBuyNotice> implements IKylinBuyNoticePartnerService {
public class KylinBuyNoticePartnerServiceImpl implements IKylinBuyNoticePartnerService {
@Autowired
RedisMerchantUtils merchantUtils;
......
......@@ -57,7 +57,7 @@ import java.util.List;
*/
@Service
@Slf4j
public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerformancesMapper, KylinPerformances> implements IKylinPerformancesPartnerService {
public class KylinPerformancesPartnerServiceImpl implements IKylinPerformancesPartnerService {
@Autowired
RedisMerchantUtils redisMerchantUtils;
......@@ -186,8 +186,7 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
public ResponseDto<String> step2(PerformanceStep2Param step2Param) {
ResponseDto<String> result = null;
// 无 performancesId 则 创建
if (step2Param.getPerformancesId().isEmpty()) {
} else { // 获取 create 数据 status = 0 或 无数据 创建
if (!step2Param.getPerformancesId().isEmpty()) { // 获取 create 数据 status = 0 或 无数据 创建
KylinPerformanceVo vo = redisMerchantUtils.getPerformanceVo(step2Param.getPerformancesId());
if (vo == null || vo.getAppStatus() == 0 || vo.getAppStatus() == 4) {
result = createStep2(step2Param);
......@@ -211,9 +210,9 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
LocalDateTime createdAt = LocalDateTime.now();
boolean isExistsSubmit = mongoMerchantUtils.isExistsSubmitPerformancePartner(performanceId);
if (isExistsSubmit) {
return ResponseDto.failure(ErrorMapping.get(20112));
}
// if (isExistsSubmit) {
// return ResponseDto.failure(ErrorMapping.get(20112));
// }
//演出修改数据
PerformancePartnerVo performancePartnerVo = PerformancePartnerVo.getNew();
......@@ -275,10 +274,16 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
// 获取 主键id
String performanceId = step2Param.getPerformancesId();
LinkedList<String> sqls = CollectionUtil.linkedListString();
sqls.add(SqlMapping.get("kylin_performance.updateStep2"));
sqls.add(SqlMapping.get("kylin_performance_status.updateStep2"));
sqls.add(SqlMapping.get("kylin_ticket.updateStep2"));
sqls.add(SqlMapping.get("kylin_ticket_status.updateStep2"));
LinkedList<Object[]> sqlsDataA = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> sqlsDataB = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> sqlsDataC = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> sqlsDataD = CollectionUtil.linkedListObjectArr();
LocalDateTime now = LocalDateTime.now();
// 获取 当前时间 -> 创建时间
LocalDateTime createdAt = LocalDateTime.now();
boolean isExistsSubmit = mongoMerchantUtils.isExistsSubmitPerformancePartner(performanceId);
if (isExistsSubmit) {
return ResponseDto.failure(ErrorMapping.get(20112));
......@@ -288,8 +293,8 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
performancePartnerVo.setPerformancesId(performanceId);
performancePartnerVo.setIsTrueName(step2Param.getIsTrueName());
performancePartnerVo.setLimitCount(step2Param.getLimitCount());
performancePartnerVo.setCreatedAt(createdAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
performancePartnerVo.setUpdatedAt(createdAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
performancePartnerVo.setCreatedAt(now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
performancePartnerVo.setUpdatedAt(now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
performancePartnerVo.setIsSubmit(step2Param.getIsSubmit());
// 获取第一步数据
......@@ -317,26 +322,13 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
HashMap<String, Object> mapSql = CollectionUtil.mapStringObject();
mapSql.put("rejectTxt", "");
mapSql.put("status", performancePartnerVo.getStatus());
mapSql.put("updatedAt", createdAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
// KylinPerformances performances = KylinPerformances.getNew();
// performances.setAuditTime(LocalDateTime.now());
// performances.setNoticeImage(kylinPerformanceMisVo.getNoticeImage());
sqls.add(SqlMapping.get("kylin_performance.updateStep2"));
LinkedList<Object[]> sqlsDataA = CollectionUtil.linkedListObjectArr();
mapSql.put("updatedAt", now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
sqlsDataA.add(new Object[]{
now,kylinPerformanceMisVo.getNoticeImage(),performanceId
now, kylinPerformanceMisVo.getNoticeImage(), performanceId
});
// performancesMapper.update(performances, Wrappers.lambdaQuery(KylinPerformances.class).eq(KylinPerformances::getPerformancesId, performanceId));
// KylinPerformanceStatus performanceStatus = KylinPerformanceStatus.getNew();
// performanceStatus.setAuditStatus(performancePartnerVo.getAuditStatus());
// performanceStatus.setIsTrueName(step2Param.getIsTrueName());
// performanceStatus.setLimitCount(step2Param.getLimitCount());
sqls.add(SqlMapping.get("kylin_performance_status.updateStep2"));
LinkedList<Object[]> sqlsDataB = CollectionUtil.linkedListObjectArr();
sqlsDataA.add(new Object[]{
performancePartnerVo.getAuditStatus(),step2Param.getIsTrueName(),step2Param.getLimitCount(),performanceId
sqlsDataB.add(new Object[]{
performancePartnerVo.getAuditStatus(), step2Param.getIsTrueName(), step2Param.getLimitCount(), performanceId
});
// performanceStatusMapper.update(performanceStatus, Wrappers.lambdaQuery(KylinPerformanceStatus.class).eq(KylinPerformanceStatus::getPerformanceId, performanceId));
redisMerchantUtils.setPerformanceIsTrueName(performanceId, step2Param.getIsTrueName());
//提示:票种价格、售票时间、票种购票限制 直接生效 (演出购票限制,购票须知 演出是否实名 票种缺货登记 票种是否电子票 票种是否快递票 票种最低购买张数 票种是否显示二维码)
......@@ -346,42 +338,43 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
for (KylinTicketPartnerVo ticketItem : ticketList) {
//修改 redis库存
if (redisMerchantUtils.hasKey(KylinRedisConst.PERFORMANCES_INVENTORY + ticketItem.getTicketsId() + ":" + KylinRedisConst.SURPLUS_GENERAL)) {
KylinTicketStatus ticketStatus = ticketStatusMapper.selectOne(Wrappers.lambdaQuery(KylinTicketStatus.class).eq(KylinTicketStatus::getTicketId, ticketItem.getTicketsId()));
int changeGeneral = ticketItem.getTotalGeneral() - ticketStatus.getTotalGeneral();
int changeExchange = ticketItem.getTotalExchange() - ticketStatus.getTotalExchange();
KylinPerformanceVo vo = redisMerchantUtils.getPerformanceVo(performanceId);
KylinTicketTimesVo ticketTimesData = null;
KylinTicketVo ticketData = null;
for (int x = 0; x < vo.getTicketTimeList().size(); x++) {
for (int y = 0; y < ticketTimesData.getTicketList().size(); y++) {
KylinTicketVo ticketStatus = ticketTimesData.getTicketList().get(y);
if (ticketStatus.getTicketsId().equals(ticketItem.getTicketsId())) {
ticketData = ticketStatus;
break;
}
break;
}
}
int changeGeneral = ticketItem.getTotalGeneral() - ticketData.getTotalGeneral();
int changeExchange = ticketItem.getTotalExchange() - ticketData.getTotalExchange();
redisMerchantUtils.changeSurplusGeneral(ticketItem.getTicketsId(), changeGeneral);
redisMerchantUtils.changeSurplusExchange(ticketItem.getTicketsId(), changeExchange);
}
//修改 mysql 库存
// KylinTicketStatus inventory = KylinTicketStatus.getNew();
inventory.setTotalExchange(ticketItem.getTotalExchange());
inventory.setTotalGeneral(ticketItem.getTotalGeneral());
inventory.setIsTrueName(kylinPerformanceMisVo.getIsTrueName());
inventory.setLimitCount(ticketItem.getLimitCount());
inventory.setIsLackRegister(ticketItem.getIsLackRegister());
inventory.setIsExpress(ticketItem.getIsExpress());
inventory.setIsElectronic(ticketItem.getIsElectronic());
inventory.setCounts(ticketItem.getCounts());
inventory.setIsShowCode(ticketItem.getIsShowCode());
inventory.setMemberLimitCount(null);
inventory.setQrCodeShowTime(DateUtil.Formatter.yyyyMMddHHmmss.parse(ticketItem.getQrCodeShowTime()));
//修改 mysql 售卖时间
// KylinTickets ticketSellTime = KylinTickets.getNew();
ticketSellTime.setTimeEnd(DateUtil.Formatter.yyyyMMddHHmmss.parse(ticketItem.getTimeEnd()));
ticketSellTime.setTimeStart(DateUtil.Formatter.yyyyMMddHHmmss.parse(ticketItem.getTimeStart()));
ticketSellTime.setAdvanceMinuteMember(null);
ticketSellTime.setTimeEndExpress(DateUtil.Formatter.yyyyMMddHHmmss.parse(ticketItem.getTimeEndExpress()));
ticketSellTime.setPayCountdownMinute(kylinPerformanceMisVo.getPayCountdownMinute());
//修改 价格
ticketSellTime.setPrice(ticketItem.getPrice());
ticketSellTime.setPriceDiscountMember(null);
sqls.add(SqlMapping.get("kylin_ticket.updateStep2"));
ticketsMapper.update(ticketSellTime, Wrappers.lambdaQuery(KylinTickets.class).eq(KylinTickets::getTicketsId, ticketItem.getTicketsId()));
//修改 mysql 购票限购
sqls.add(SqlMapping.get("kylin_ticket_status.updateStep2"));
ticketStatusMapper.update(inventory, Wrappers.lambdaQuery(KylinTicketStatus.class).eq(KylinTicketStatus::getTicketId, ticketItem.getTicketsId()));
sqlsDataC.add(new Object[]{
DateUtil.Formatter.yyyyMMddHHmmss.parse(ticketItem.getTimeEnd()), DateUtil.Formatter.yyyyMMddHHmmss.parse(ticketItem.getTimeStart()),
DateUtil.Formatter.yyyyMMddHHmmss.parse(ticketItem.getTimeEndExpress()), kylinPerformanceMisVo.getPayCountdownMinute(),
ticketItem.getPrice(), ticketItem.getTicketsId()
});
//修改 mysql 购票限购、库存
sqlsDataD.add(new Object[]{
ticketItem.getTotalExchange(), ticketItem.getTotalGeneral(), kylinPerformanceMisVo.getIsTrueName(),
ticketItem.getLimitCount(), ticketItem.getIsLackRegister(), ticketItem.getIsExpress(),
ticketItem.getIsElectronic(), ticketItem.getCounts(), ticketItem.getIsShowCode(),
DateUtil.Formatter.yyyyMMddHHmmss.parse(ticketItem.getQrCodeShowTime()), ticketItem.getTicketsId()
});
}
}
String sqlData = SqlMapping.gets(sqls, sqlsDataA, sqlsDataB, sqlsDataC, sqlsDataD);
queueUtil.sendMsgByRedis(MQConst.MerchantQueue.SQL_MERCHANT_STEP2.getKey(),
sqlData);
performanceUtils.performanceVoStatus(performanceId);
}
return ResponseDto.success("操作完成");
......@@ -430,26 +423,31 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
@Override
public ResponseDto<String> onLinePerformance(String performancesId) {
try {
LinkedList<String> sqls = CollectionUtil.linkedListString();
sqls.add(SqlMapping.get("kylin_performances_status.onLine"));
sqls.add(SqlMapping.get("kylin_ticket_status.onLine"));
LinkedList<Object[]> sqlsDataA = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> sqlsDataB = CollectionUtil.linkedListObjectArr();
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVo(performancesId);
if (!(vo.getAppStatus() == 3 || vo.getAppStatus() == 7)) {
return ResponseDto.failure(ErrorMapping.get(20110));
}
// mysql
LocalDateTime updatedAt = LocalDateTime.now();
KylinPerformanceStatus performanceStatusUpdate = KylinPerformanceStatus.getNew();
performanceStatusUpdate.setStatus(6);
performanceStatusUpdate.setUpdatedAt(updatedAt);
performanceStatusMapper.update(performanceStatusUpdate, Wrappers.lambdaQuery(KylinPerformanceStatus.class).eq(KylinPerformanceStatus::getPerformanceId, performancesId));
sqlsDataA.add(new Object[]{
6, updatedAt, performancesId
});
//场次
List<KylinTicketTimesVo> ticketTimeVo = vo.getTicketTimeList();
for (KylinTicketTimesVo ticketTimeItem : ticketTimeVo) {
//票
List<KylinTicketVo> ticketVo = ticketTimeItem.getTicketList();
for (KylinTicketVo ticketItem : ticketVo) {
KylinTicketStatus ticketStatusUpdate = KylinTicketStatus.getNew();
ticketStatusUpdate.setStatus(9);
ticketStatusUpdate.setUpdatedAt(updatedAt);
ticketStatusMapper.update(ticketStatusUpdate, Wrappers.lambdaQuery(KylinTicketStatus.class).eq(KylinTicketStatus::getTicketId, ticketItem.getTicketsId()).in(KylinTicketStatus::getStatus, 3, 6, 8, 9, 10));
sqlsDataB.add(new Object[]{
9, updatedAt, ticketItem.getTicketsId()
});
KylinTicketPartnerVo ticketPartnerVo = KylinTicketPartnerVo.getNew();
ticketPartnerVo.setTicketsId(ticketItem.getTicketsId());
ticketPartnerVo.setStatus(9);
......@@ -457,7 +455,10 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
mongoMerchantUtils.updateSubmitTicketVoById(ticketPartnerVo);
}
}
// 判断状态
String sqlData = SqlMapping.gets(sqls, sqlsDataA, sqlsDataB);
queueUtil.sendMsgByRedis(MQConst.MerchantQueue.SQL_MERCHANT_LINE.getKey(),
sqlData);
// 判断状态
performanceUtils.performanceVoStatus(performancesId);
log.info(UserPathDto.setPartnerData("0", "onLinePerformance", "performancesId=" + performancesId, "上线成功"));
return ResponseDto.success("上线成功");
......@@ -473,12 +474,10 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVo(performancesId);
if (vo.getAppStatus() >= 3 && vo.getAppStatus() != 4 && vo.getAppStatus() != 7) {//未提审||被拒绝 && performanceStatusData.getStatus() != 10
LocalDateTime updatedAt = LocalDateTime.now();
KylinPerformanceStatus performanceStatus = KylinPerformanceStatus.getNew();
performanceStatus.setStatus(7);
performanceStatus.setUpdatedAt(updatedAt);
performanceStatusMapper.update(performanceStatus
, Wrappers.lambdaQuery(KylinPerformanceStatus.class).eq(KylinPerformanceStatus::getPerformanceId, performancesId));
queueUtil.sendMsgByRedis(MQConst.MerchantQueue.SQL_MERCHANT_LINE.getKey(),
SqlMapping.get("kylin_performances_status.outLine",
7, updatedAt, performancesId
));
performanceUtils.performanceVoStatus(performancesId);
log.info(UserPathDto.setPartnerData("0", "outLinePerformance", "performancesId=" + performancesId, "下线成功"));
return ResponseDto.success("下线成功");
......@@ -559,20 +558,21 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
} else {//演出列表
try {
PageHelper.startPage(performancePartnerListParam.getPage(), performancePartnerListParam.getSize());
List<PerformancePartnerListDao> voList = performancesMapper.partnerPerformanceList(BeanUtil.convertBeanToMap(performancePartnerListParam));
for (int i = 0; i < voList.size(); i++) {
PerformancePartnerListDao vo = voList.get(i);
if (vo.getStatus() >= 6 && vo.getStatus() != 7) {
if (DateUtil.compareStrDay(vo.getTimeSell(), DateUtil.getNowTime()) > 0) {//未开始
vo.setStatus(9);
} else if (DateUtil.compareStrDay(vo.getTimeStop(), DateUtil.getNowTime()) < 0) {//已结束
vo.setStatus(10);
} else {
vo.setStatus(6);
}
}
}
pageInfoTmp = new PageInfo(voList);
//TODO 待做
// List<PerformancePartnerListDao> voList = performancesMapper.partnerPerformanceList(BeanUtil.convertBeanToMap(performancePartnerListParam));
// for (int i = 0; i < voList.size(); i++) {
// PerformancePartnerListDao vo = voList.get(i);
// if (vo.getStatus() >= 6 && vo.getStatus() != 7) {
// if (DateUtil.compareStrDay(vo.getTimeSell(), DateUtil.getNowTime()) > 0) {//未开始
// vo.setStatus(9);
// } else if (DateUtil.compareStrDay(vo.getTimeStop(), DateUtil.getNowTime()) < 0) {//已结束
// vo.setStatus(10);
// } else {
// vo.setStatus(6);
// }
// }
// }
pageInfoTmp = new PageInfo(null);
} catch (Exception e) {
e.printStackTrace();
return ResponseDto.failure(ErrorMapping.get(20104));
......@@ -586,25 +586,28 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
try {
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVo(performancesId);
if (vo != null && vo.getAuditStatus() == 0) {
KylinPerformanceStatus data1 = KylinPerformanceStatus.getNew();
PerformancePartnerVo performancePartnerVo = PerformancePartnerVo.getNew();
performancePartnerVo.setPerformancesId(performancesId);
if (vo.getAppStatus() >= 3) {//通过审核
data1.setAuditStatus(1);
data1.setStatus(null);
performancePartnerVo.setAuditStatus(1);
queueUtil.sendMsgByRedis(MQConst.MerchantQueue.SQL_MERCHANT_PERFORMANCE_UPDATE.getKey(),
SqlMapping.get("kylin_performances_status.withdraw",
1, performancesId
));
} else if (vo.getAppStatus() == 4 || vo.getAppStatus() == 1) {//未通过审核
data1.setAuditStatus(-1);
data1.setStatus(0);
performancePartnerVo.setAuditStatus(-1);
performancePartnerVo.setStatus(0);
queueUtil.sendMsgByRedis(MQConst.MerchantQueue.SQL_MERCHANT_PERFORMANCE_UPDATE.getKey(),
SqlMapping.get("kylin_performances_status.withdraw2",
-1, 0, performancesId
));
} else {
data1.setAuditStatus(2);
data1.setStatus(null);
performancePartnerVo.setAuditStatus(2);
queueUtil.sendMsgByRedis(MQConst.MerchantQueue.SQL_MERCHANT_PERFORMANCE_UPDATE.getKey(),
SqlMapping.get("kylin_performances_status.withdraw",
2, performancesId
));
}
performanceStatusMapper.update(data1, Wrappers.lambdaQuery(KylinPerformanceStatus.class).eq(KylinPerformanceStatus::getPerformanceId, performancesId));
mongoMerchantUtils.updatePerformancePartnerVoById(performancePartnerVo);
log.info(UserPathDto.setPartnerData("0", "withdraw", "performancesId=" + performancesId, "撤回成功"));
return ResponseDto.success("撤回成功");
......
......@@ -33,7 +33,7 @@ import java.util.List;
*/
@Service
@Slf4j
public class KylinTicketTimesPartnerServiceImpl extends ServiceImpl<KylinTicketTimesMapper, KylinTicketTimes> implements IKylinTicketTimesPartnerService {
public class KylinTicketTimesPartnerServiceImpl implements IKylinTicketTimesPartnerService {
@Autowired
RedisMerchantUtils redisMerchantUtils;
......
......@@ -46,7 +46,7 @@ import java.util.List;
*/
@Service
@Slf4j
public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapper, KylinTickets> implements IKylinTicketsPartnerService {
public class KylinTicketsPartnerServiceImpl implements IKylinTicketsPartnerService {
@Autowired
RedisMerchantUtils redisMerchantUtils;
......
......@@ -16,8 +16,8 @@ import java.util.List;
@Component
public class InnerUtils {
@Value("${liquidnet.service.platform.url}")
private String platform;
// @Value("${liquidnet.service.platform.url}")
private String platform="http://127.0.0.1:9003";
public List<KylinBuyNoticeVo> getBuyNotice() {
MultiValueMap<String, String> header = CollectionUtil.linkedMultiValueMapStringString();
......
package com.liquidnet.service.merchant.util;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
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.KylinOrderTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
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.returns.KylinOrderListVo;
import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.mapper.*;
import com.liquidnet.service.merchant.dto.vo.MerchantFieldsVo;
import com.mongodb.BasicDBObject;
import com.mongodb.client.result.UpdateResult;
import com.mongodb.client.model.FindOneAndUpdateOptions;
import com.mongodb.client.model.ReturnDocument;
import org.bson.Document;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.convert.MongoConverter;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Component;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@Component
public class MongoMerchantUtils {
@Autowired
private RedisMerchantUtils redisMerchantUtils;
@Autowired
private MongoTemplate mongoTemplate;
@Autowired
private MongoConverter mongoConverter;
public PerformancePartnerVo getPerformancePartnerVo(String performanceId) {
......@@ -70,11 +55,13 @@ public class MongoMerchantUtils {
return mongoTemplate.find(Query.query(Criteria.where("performancesId").is(performancesId)), KylinTicketTimesPartnerVo.class, KylinTicketTimesPartnerVo.class.getSimpleName());
}
public Object updateTicketTimesPartnerVo(KylinTicketTimesPartnerVo data) {
public void updateTicketTimesPartnerVo(KylinTicketTimesPartnerVo data) {
Query query = Query.query(Criteria.where("ticketTimesId").is(data.getTicketTimesId()));
Update update = Update.fromDocument(Document.parse(JsonUtils.toJson(data)));
UpdateResult result = mongoTemplate.updateFirst(query, update, KylinTicketTimesPartnerVo.class, KylinTicketTimesPartnerVo.class.getSimpleName());
return result;
BasicDBObject objectTicketVo = new BasicDBObject("$set", mongoConverter.convertToMongoType(data));
mongoTemplate.getCollection(KylinTicketTimesPartnerVo.class.getSimpleName()).updateOne(
query.getQueryObject(),
objectTicketVo
);
}
public Object delTicketTimesPartnerVo(String ticketTimesId) {
......@@ -85,18 +72,22 @@ public class MongoMerchantUtils {
return mongoTemplate.insert(data, KylinTicketPartnerVo.class.getSimpleName());
}
public Object updateTicketPartnerVo(KylinTicketPartnerVo data) {
public void updateTicketPartnerVo(KylinTicketPartnerVo data) {
Query query = Query.query(Criteria.where("ticketsId").is(data.getTicketsId()));
Update update = Update.fromDocument(Document.parse(JsonUtils.toJson(data)));
UpdateResult result = mongoTemplate.updateFirst(query, update, KylinTicketPartnerVo.class, KylinTicketPartnerVo.class.getSimpleName());
return result;
BasicDBObject objectTicketVo = new BasicDBObject("$set", mongoConverter.convertToMongoType(data));
mongoTemplate.getCollection(KylinTicketPartnerVo.class.getSimpleName()).updateOne(
query.getQueryObject(),
objectTicketVo
);
}
public Object submitTicketByTimes(KylinTicketPartnerVo data) {
public void submitTicketByTimes(KylinTicketPartnerVo data) {
Query query = Query.query(Criteria.where("timesId").is(data.getTimesId()).and("status").nin(-2, 7));
Update update = Update.fromDocument(Document.parse(JsonUtils.toJson(data)));
UpdateResult result = mongoTemplate.updateFirst(query, update, KylinTicketPartnerVo.class, KylinTicketPartnerVo.class.getSimpleName());
return result;
BasicDBObject objectTicketVo = new BasicDBObject("$set", mongoConverter.convertToMongoType(data));
mongoTemplate.getCollection(KylinTicketPartnerVo.class.getSimpleName()).updateOne(
query.getQueryObject(),
objectTicketVo
);
}
public long getCountTicketPartnerByTimes(String timesId) {
......@@ -121,18 +112,22 @@ public class MongoMerchantUtils {
return mongoTemplate.find(Query.query(Criteria.where("timesId").is(timesId)), KylinTicketPartnerVo.class, KylinTicketPartnerVo.class.getSimpleName());
}
public Object updatePerformancePartnerVoById(PerformancePartnerVo data) {
public void updatePerformancePartnerVoById(PerformancePartnerVo data) {
Query query = Query.query(Criteria.where("performancesId").is(data.getPerformancesId()));
Update update = Update.fromDocument(Document.parse(JsonUtils.toJson(data)));
UpdateResult result = mongoTemplate.updateFirst(query, update, PerformancePartnerVo.class, PerformancePartnerVo.class.getSimpleName());
return result;
BasicDBObject objectTicketVo = new BasicDBObject("$set", mongoConverter.convertToMongoType(data));
mongoTemplate.getCollection(PerformancePartnerVo.class.getSimpleName()).updateOne(
query.getQueryObject(),
objectTicketVo
);
}
public Object updateSubmitTicketVoById(KylinTicketPartnerVo data) {
public void updateSubmitTicketVoById(KylinTicketPartnerVo data) {
Query query = Query.query(Criteria.where("ticketsId").is(data.getTicketsId()).and("status").in(3, 6, 8, 9, 10));
Update update = Update.fromDocument(Document.parse(JsonUtils.toJson(data)));
UpdateResult result = mongoTemplate.updateFirst(query, update, KylinTicketPartnerVo.class, KylinTicketPartnerVo.class.getSimpleName());
return result;
BasicDBObject objectTicketVo = new BasicDBObject("$set", mongoConverter.convertToMongoType(data));
mongoTemplate.getCollection(KylinTicketPartnerVo.class.getSimpleName()).updateOne(
query.getQueryObject(),
objectTicketVo
);
}
public void deleteTicketPartnerVo(String ticketsId) {
......@@ -178,4 +173,13 @@ public class MongoMerchantUtils {
return mongoTemplate.find(Query.query(Criteria.where("appStatus").in(6, 8, 9)), KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
}
public Document getObjectTicketVo(HashMap<String, Object> map, String ticketsId) {
BasicDBObject objectTicketVo = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
Document docTicket = mongoTemplate.getCollection(KylinTicketPartnerVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("ticketsId").is(ticketsId)).getQueryObject(),
objectTicketVo,
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
);
return docTicket;
}
}
package com.liquidnet.service.merchant.util;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst;
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;
......@@ -31,10 +31,7 @@ import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.*;
@Component
@Slf4j
......@@ -45,20 +42,27 @@ public class PerformanceUtils {
@Autowired
private MongoMerchantUtils mongoMerchantUtils;
@Autowired
QueueUtil queueUtil;
@Autowired
PerformanceUtils performanceUtils;
@Autowired
private IKylinTicketTimesPartnerService ticketTimesPartnerService;
@Autowired
private IKylinTicketsPartnerService ticketsPartnerService;
/**
* 根据票状态判断 演出状态 票状态
*
* @param performanceSingleId
*/
public void performanceVoStatus(String performanceSingleId) {
LinkedList<String> sqls = CollectionUtil.linkedListString();
sqls.add(SqlMapping.get("kylin_ticket_status.VoStatus"));
sqls.add(SqlMapping.get("kylin_performance_status.VoStatus"));
LinkedList<Object[]> sqlsDataA = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> sqlsDataB = CollectionUtil.linkedListObjectArr();
LocalDateTime timeNow = LocalDateTime.now();
List<String> performanceIdList = new ArrayList<>();
if (performanceSingleId == null) {
List<KylinPerformanceVo> list = mongoMerchantUtils.getPerformanceVoOnlineList();
for (KylinPerformanceVo item : list) {
......@@ -121,7 +125,9 @@ public class PerformanceUtils {
if (surplusGeneral != -1) {
changeStatus.setSurplusGeneral(surplusGeneral);
}
ticketStatusMapper.update(changeStatus, new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", kylinTicketVoItem.getTicketsId()));
sqlsDataA.add(new Object[]{
changeStatus.getStatus(), changeStatus.getSurplusGeneral(), kylinTicketVoItem.getTicketsId()
});
kylinTicketVoItem.setStatus(status);
//演出状态
......@@ -143,15 +149,18 @@ public class PerformanceUtils {
appStatus = 7;
}
//修改演出状态
KylinPerformanceStatus changeStatus = new KylinPerformanceStatus();
changeStatus.setStatus(appStatus);
performanceStatusMapper.update(changeStatus, new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performancesId));
sqlsDataB.add(new Object[]{
appStatus, performancesId
});
String sqlData = SqlMapping.gets(sqls, sqlsDataA, sqlsDataB);
queueUtil.sendMsgByRedis(MQConst.MerchantQueue.SQL_MERCHANT_PERFORMANCE_UPDATE.getKey(),
sqlData);
vo.setAppStatus(appStatus);
redisMerchantUtils.updatePerformanceMongo(performancesId, vo);
}
}
/**
* 生成 PerformanceCreatePartnerVo(用于审核第一次提交数据)
*
......@@ -210,6 +219,42 @@ public class PerformanceUtils {
*/
public void createPerformanceMySql(String performancesId, HashMap<String, Object> map, KylinPerformanceMisVo kylinPerformanceMisVo, LocalDateTime updatedAt) {
try {
LinkedList<String> sqls = CollectionUtil.linkedListString();
sqls.add(SqlMapping.get("kylin_performances.del"));
sqls.add(SqlMapping.get("kylin_performance_status.del"));
sqls.add(SqlMapping.get("kylin_performance_relations.del"));
sqls.add(SqlMapping.get("kylin_performances.insert"));
sqls.add(SqlMapping.get("kylin_performance_status.insert"));
sqls.add(SqlMapping.get("kylin_performance_relations.insert"));
sqls.add(SqlMapping.get("kylin_ticket_times.del"));
sqls.add(SqlMapping.get("kylin_ticket_time_relation.del"));
sqls.add(SqlMapping.get("kylin_ticket_times.insert"));
sqls.add(SqlMapping.get("kylin_ticket_time_relation.insert"));
sqls.add(SqlMapping.get("kylin_tickets.del"));
sqls.add(SqlMapping.get("kylin_ticket_status.del"));
sqls.add(SqlMapping.get("kylin_ticket_relations.del"));
sqls.add(SqlMapping.get("kylin_tickets.insert"));
sqls.add(SqlMapping.get("kylin_ticket_status.insert"));
sqls.add(SqlMapping.get("kylin_ticket_relations.insert"));
LinkedList<Object[]> del1 = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> del2 = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> del3 = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> del4 = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> del5 = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> del6 = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> del7 = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> del8 = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> insert1 = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> insert2 = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> insert3 = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> insert4 = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> insert5 = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> insert6 = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> insert7 = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> insert8 = CollectionUtil.linkedListObjectArr();
//创建演出
KylinPerformances performances = new KylinPerformances();
BeanUtils.copyProperties(kylinPerformanceMisVo, performances);
......@@ -239,13 +284,19 @@ public class PerformanceUtils {
performanceRelations.setCreatedAt(performances.getCreatedAt());
performanceRelations.setUpdatedAt(updatedAt);
performancesMapper.delete(new UpdateWrapper<KylinPerformances>().eq("performances_id", performances.getPerformancesId()));
performancesMapper.insert(performances);
performanceStatusMapper.delete(new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performanceStatus.getPerformanceId()));
performanceStatusMapper.insert(performanceStatus);
performanceRelationsMapper.delete(new UpdateWrapper<KylinPerformanceRelations>().eq("performance_id", performanceRelations.getPerformanceId()));
performanceRelationsMapper.insert(performanceRelations);
del1.add(new Object[]{performances.getPerformancesId()});
Object[] obj_array1 = BeanUtil.convertBeanToMap(performances).values().toArray();
insert1.add(obj_array1);
log.debug("performance:"+obj_array1);
del2.add(new Object[]{performances.getPerformancesId()});
Object[] obj_array2 = BeanUtil.convertBeanToMap(performanceStatus).values().toArray();
insert2.add(obj_array2);
log.debug("performanceStatus:"+obj_array2);
del3.add(new Object[]{performances.getPerformancesId()});
Object[] obj_array3 = BeanUtil.convertBeanToMap(performanceRelations).values().toArray();
insert3.add(obj_array3);
//场次数据
List<KylinTicketTimesPartnerVo> kylinTicketTimesPartnerVos = ticketTimesPartnerService.getTimesMongoList(performancesId);
......@@ -262,24 +313,22 @@ public class PerformanceUtils {
ticketTimes.setUpdatedAt(updatedAt);
ticketTimeRelation.setPerformanceId(performancesId);
ticketTimeRelation.setTicketTimeRelationId(IDGenerator.nextSnowId().toString());
ticketTimeRelation.setTicketTimeRelationId(IDGenerator.nextSnowId());
ticketTimeRelation.setTimesId(ticketTimes.getTicketTimesId());
ticketTimeRelation.setCreatedAt(ticketTimes.getCreatedAt());
ticketTimeRelation.setUpdatedAt(updatedAt);
ticketTimesMapper.delete(new UpdateWrapper<KylinTicketTimes>().eq("ticket_times_id", ticketTimes.getTicketTimesId()));
ticketTimesMapper.insert(ticketTimes);
ticketTimeRelationMapper.delete(new UpdateWrapper<KylinTicketTimeRelation>().eq("times_id", ticketTimeRelation.getTimesId()));
ticketTimeRelationMapper.insert(ticketTimeRelation);
del4.add(new Object[]{ticketTimes.getTicketTimesId()});
Object[] obj_array4 = BeanUtil.convertBeanToMap(ticketTimes).values().toArray();
insert4.add(obj_array4);
del5.add(new Object[]{ticketTimes.getTicketTimesId()});
Object[] obj_array5 = BeanUtil.convertBeanToMap(ticketTimeRelation).values().toArray();
insert5.add(obj_array5);
//修改票
for (KylinTicketPartnerVo ticketItem : ticketsPartnerService.getTicketMongoList(ticketTimeItem.getTicketTimesId())) {
BasicDBObject objectTicketVo = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
Document docTicket = mongoTemplate.getCollection(KylinTicketPartnerVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("ticketsId").is(ticketItem.getTicketsId())).getQueryObject(),
objectTicketVo,
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
);
Document docTicket = mongoMerchantUtils.getObjectTicketVo(map, ticketItem.getTicketsId());
KylinTicketPartnerVo kylinTicketPartnerVo = JsonUtils.fromJson(docTicket.toJson(), KylinTicketPartnerVo.class);
//创建演出
......@@ -289,7 +338,6 @@ public class PerformanceUtils {
BeanUtils.copyProperties(kylinTicketPartnerVo, ticketStatus);
KylinTicketRelations ticketRelations = new KylinTicketRelations();
BeanUtils.copyProperties(kylinTicketPartnerVo, ticketRelations);
tickets.setPayCountdownMinute(kylinPerformanceMisVo.getPayCountdownMinute());
tickets.setPriceExpress(new BigDecimal("0.00"));
tickets.setPriceDiscountMember(new BigDecimal("0.00"));
......@@ -308,7 +356,6 @@ public class PerformanceUtils {
tickets.setSaleRemindMinute(60);
tickets.setCreatedAt(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketItem.getCreatedAt())));
tickets.setUpdatedAt(updatedAt);
ticketStatus.setTicketStatusId(IDGenerator.nextSnowId().toString());
ticketStatus.setTicketId(tickets.getTicketsId());
ticketStatus.setIsMember(1);
......@@ -322,23 +369,33 @@ public class PerformanceUtils {
ticketRelations.setCreatedAt(tickets.getCreatedAt());
ticketRelations.setUpdatedAt(updatedAt);
ticketRelations.setTicketRelationsId(IDGenerator.nextSnowId().toString());
ticketRelations.setTicketRelationsId(IDGenerator.nextSnowId());
ticketRelations.setTicketId(tickets.getTicketsId());
ticketRelations.setCreatedAt(tickets.getCreatedAt());
ticketRelations.setUpdatedAt(updatedAt);
ticketsMapper.delete(new UpdateWrapper<KylinTickets>().eq("tickets_id", tickets.getTicketsId()));
ticketsMapper.insert(tickets);
ticketStatusMapper.delete(new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", ticketStatus.getTicketId()));
ticketStatusMapper.insert(ticketStatus);
ticketRelationsMapper.delete(new UpdateWrapper<KylinTicketRelations>().eq("ticket_id", ticketRelations.getTicketId()));
ticketRelationsMapper.insert(ticketRelations);
del6.add(new Object[]{tickets.getTicketsId()});
Object[] obj_array6 = BeanUtil.convertBeanToMap(tickets).values().toArray();
insert6.add(obj_array6);
del7.add(new Object[]{tickets.getTicketsId()});
Object[] obj_array7 = BeanUtil.convertBeanToMap(ticketStatus).values().toArray();
insert7.add(obj_array7);
del8.add(new Object[]{tickets.getTicketsId()});
Object[] obj_array8 = BeanUtil.convertBeanToMap(ticketRelations).values().toArray();
insert8.add(obj_array8);
redisMerchantUtils.setSurplusExchange(tickets.getTicketsId(), ticketStatus.getSurplusExchange());
redisMerchantUtils.setSurplusGeneral(tickets.getTicketsId(), ticketStatus.getSurplusGeneral());
}
}
//TODO 待做
String sqlData = SqlMapping.gets(sqls,
del1, del2, del3, del4, del5, del6, del7, del8,
insert1, insert2, insert3, insert4, insert5, insert6, insert7, insert8);
queueUtil.sendMsgByRedis(MQConst.MerchantQueue.SQL_MERCHANT_PERFORMANCE_INSERT.getKey(),
sqlData);
} catch (Exception e) {
e.printStackTrace();
}
......
# ---------------------------------------------------------------------------------------------------------------------
merchant_fields.update_claim_status=UPDATE merchant_fields SET claim_status = ?, updated_at = ? WHERE field_id = ?
merchant_fields.update_is_check=UPDATE merchant_fields SET is_check = ?, updated_at = ? WHERE field_id = ?
# ---------------------------------------------------------------------------------------------------------------------
merchant_field_applies.insert=INSERT INTO merchant_field_applies (field_apply_id, apply_status, apply_type, reject, uid, field_id, name, logo, background, description, built_date, province_id, province_name, city_id, city_name, district_id, district_name, address, longitude, latitude, contact_name, contact_email, company_name, license_code, license_img, legal_name, legal_identity, legal_identity_obverse, legal_identity_reverse, created_at) VALUE (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
# ---------------------------------------------------------------------------------------------------------------------
merchant_field_checkers.insert=INSERT INTO merchant_field_checkers (field_checker_id, field_id, uid, mobile, name, cuid, created_at) VALUE (?, ?, ?, ?, ?, ?, ?)
merchant_field_checkers.update=UPDATE merchant_field_checkers SET cuid = ?, updated_at = ?, delete_at = ? WHERE field_checker_id = ?
# ---- 演出审核时间修改 ----
kylin_performances.auditTime=UPDATE kylin_performances SET audit_time = WHERE performances_id = ? and (updated_at <= ? or created_at = ? or updated_at is null)
# ---- 演出修改 ----
kylin_performances.auditTime=UPDATE kylin_performances SET audit_time = ? WHERE performances_id = ? and (updated_at <= ? or created_at = ? or updated_at is null)
kylin_performances_status.withdraw=UPDATE kylin_performance_status SET audit_status = ? WHERE performance_id = ? and (updated_at <= ? or created_at = ? or updated_at is null)
kylin_performances_status.withdraw2=UPDATE kylin_performance_status SET audit_status = ? AND status = ? WHERE performance_id = ? and (updated_at <= ? or created_at = ? or updated_at is null)
kylin_performances_status.outLine=UPDATE kylin_performance_status SET status = ? AND updated_at = ? WHERE performance_id = ? and (updated_at <= ? or created_at = ? or updated_at is null)
kylin_performances_status.onLine=UPDATE kylin_performance_status SET status = ? AND updated_at = ? WHERE performance_id = ? and (updated_at <= ? or created_at = ? or updated_at is null)
# ---- 票种状态修改 ----
kylin_ticket_status.update_status=UPDATE kylin_ticket_status SET status = ?, updated_at = ? WHERE ticket_id = ? and (updated_at <= ? or created_at = ? or updated_at is null)
kylin_ticket_status.onLine=UPDATE kylin_ticket_status SET status = ?, updated_at = ? WHERE ticket_id = ? and (updated_at <= ? or created_at = ? or updated_at is null)
# ---- 演出第二步骤操作 ----
kylin_performance.updateStep2 =
kylin_performance_status.updateStep2 =
kylin_ticket.updateStep2 =
kylin_ticket_status.updateStep2 =
\ No newline at end of file
kylin_performance.updateStep2=UPDATE kylin_performances SET audit_time = ? , notice_image = ? WHERE performances_id = ? and (updated_at <= ? or created_at = ? or updated_at is null)
kylin_performance_status.updateStep2=UPDATE kylin_performance_status SET audit_status = ? , is_true_name = ? , limit_count = ? WHERE performance_id = ? and (updated_at <= ? or created_at = ? or updated_at is null)
kylin_ticket.updateStep2=UPDATE kylin_tickets SET time_end = ? , time_start = ? ,time_end_express = ? ,pay_countdown_minute = ? WHERE tickets_id = ? and (updated_at <= ? or created_at = ? or updated_at is null)
kylin_ticket_status.updateStep2=UPDATE kylin_ticket_status SET WHERE ticket_id = ? and (updated_at <= ? or created_at = ? or updated_at is null)
# ---- VoStatus ----
kylin_ticket_status.VoStatus=UPDATE kylin_ticket_status SET status = ?, surplus_general = ? WHERE ticket_id = ? and (updated_at <= ? or created_at = ? or updated_at is null)
kylin_performance_status.VoStatus=UPDATE kylin_performance_status SET status = ? WHERE performance_id = ? and (updated_at <= ? or created_at = ? or updated_at is null)
# ---- createPerformanceMySql ----
kylin_performances.del=DELETE FROM kylin_performances WHERE performances_id = ?
kylin_performance_status.del=DELETE FROM kylin_performance_status WHERE performance_id = ?
kylin_performance_relations.del=DELETE FROM kylin_performance_relations WHERE performance_id = ?
kylin_performances.insert=DELETE FROM kylin_performances WHERE performances_id = ?
kylin_performance_status.insert=DELETE FROM kylin_performance_status WHERE performance_id = ?
kylin_performance_relations.insert=DELETE FROM kylin_performance_relations WHERE performance_id = ?
kylin_ticket_times.del=DELETE FROM kylin_ticket_times WHERE ticket_times_id = ?
kylin_ticket_time_relation.del=DELETE FROM kylin_ticket_time_relation WHERE times_id = ?
kylin_ticket_times.insert=DELETE FROM kylin_ticket_times WHERE ticket_times_id = ?
kylin_ticket_time_relation.insert=DELETE FROM kylin_ticket_time_relation WHERE times_id = ?
kylin_tickets.del=DELETE FROM kylin_tickets WHERE tickets_id = ?
kylin_ticket_status.del=DELETE FROM kylin_ticket_status WHERE ticket_id = ?
kylin_ticket_relations.del=DELETE FROM kylin_ticket_relations WHERE ticket_id = ?
kylin_tickets.insert=DELETE FROM kylin_tickets WHERE tickets_id = ?
kylin_ticket_status.insert=DELETE FROM kylin_ticket_status WHERE ticket_id = ?
kylin_ticket_relations.insert=DELETE FROM kylin_ticket_relations WHERE ticket_id = ?
......@@ -8,6 +8,7 @@ import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.StringUtil;
import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.UserPathDto;
......@@ -143,7 +144,7 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
performancePartnerVo.setProjectId("0");
performancePartnerVo.setIsShow(1);
performancePartnerVo.setFieldName((String) redisUtil.getDB15RedisHGet(KylinRedisConst.FIELDS + ":" + performancePartnerVo.getFieldId(), "name"));
performancePartnerVo.setNoticeImage(dataUtils.getBuyNoticeJsonString(step1Param.getNoticeIds()));
performancePartnerVo.setNoticeImage(dataUtils.getBuyNoticeJsonString(step1Param.getNoticeIds().toArray(new String[step1Param.getNoticeIds().size()])));
mongoTemplate.insert(
performancePartnerVo, PerformancePartnerVo.class.getSimpleName()
......@@ -175,9 +176,9 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
performancePartnerVo.setUpdatedAt(timeNow.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
performancePartnerVo.setIsSubmit(0);
performancePartnerVo.setStatus(0);
performancePartnerVo.setNoticeImage(dataUtils.getBuyNoticeJsonString(step1Param.getNoticeIds()));
performancePartnerVo.setNoticeImage(dataUtils.getBuyNoticeJsonString(step1Param.getNoticeIds().toArray(new String[step1Param.getNoticeIds().size()])));
performancePartnerVo.setFieldName((String) redisUtil.getDB15RedisHGet(KylinRedisConst.FIELDS + ":" + performancePartnerVo.getFieldId(), "name"));
performancePartnerVo.setNoticeImage(dataUtils.getBuyNoticeJsonString(step1Param.getNoticeIds()));
performancePartnerVo.setNoticeImage(dataUtils.getBuyNoticeJsonString(step1Param.getNoticeIds().toArray(new String[step1Param.getNoticeIds().size()])));
if (data != null) { // 有修改记录
performancePartnerVo.setIsTrueName(data.getIsTrueName());
performancePartnerVo.setLimitCount(data.getLimitCount());
......
......@@ -170,7 +170,7 @@ public class KylinTicketTimesPartnerServiceImpl extends ServiceImpl<KylinTicketT
}
@Override
public ResponseDto<String> deleteTimes(String ticketTimesId) {
public ResponseDto<String> deleteTimes(String ticketTimesId,String performanceId) {
try {
LocalDateTime updatedAt = LocalDateTime.now();
......
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