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

Commit 5b0146d6 authored by 胡佳晨's avatar 胡佳晨

修改 会员相关

parent 7c98a4c8
......@@ -11,7 +11,7 @@ import java.math.BigDecimal;
public class TicketMemberAuditParam {
@ApiModelProperty(value = "票id")
private String ticketsId;
@ApiModelProperty(value = "演出名称",hidden = true)
@ApiModelProperty(value = "演出名称")
private String title;
@ApiModelProperty(value = "会员优惠价格")
private BigDecimal priceDiscountMember;
......
......@@ -540,4 +540,17 @@ CREATE TABLE `kylin_buy_notice`
KEY `kylin_order_tickets_refund_uid_index` (`buy_notice_id`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT '购票须知表';
\ No newline at end of file
DEFAULT CHARSET = utf8mb4 COMMENT '购票须知表';
insert into `ln_kylin`.`kylin_buy_notice` ( `buy_notice_id`, `img_url`, `message`, `status`, `sort`, `created_at`, `updated_at`, `title`) values ( '1', 'http://img-zhengzai-tv.oss-cn-hangzhou.aliyuncs.com/partner/2019/01/21/5c45722882a13.png', '门票为有价证券,并非商品,一经售出不予退换。因“不可抗力”导致的演出取消或延期除外。', '1', '0', '2019-01-29 13:51:42', '2019-01-29 13:51:42', '门票不退不换');
insert into `ln_kylin`.`kylin_buy_notice` ( `buy_notice_id`, `img_url`, `message`, `status`, `sort`, `created_at`, `updated_at`, `title`) values ( '2', 'http://img-zhengzai-tv.oss-cn-hangzhou.aliyuncs.com/partner/2019/01/21/5c456e93db0b9.png', '本场演出不设座位,均为站席观演。', '1', '0', '2019-01-29 13:51:42', '2019-01-29 13:51:42', '仅设站席');
insert into `ln_kylin`.`kylin_buy_notice` ( `buy_notice_id`, `img_url`, `message`, `status`, `sort`, `created_at`, `updated_at`, `title`) values ( '3', 'http://img-zhengzai-tv.oss-cn-hangzhou.aliyuncs.com/partner/2019/01/21/5c456e5c27644.png', '为防止不法分子利用票务转让诈骗钱款,建议广大乐迷不要进行个人间票务买卖,不要轻易相信来源不明的转票,以免自身利益受到侵害。', '1', '0', '2019-01-29 13:51:42', '2019-01-29 13:51:42', '禁止个人票务买卖');
insert into `ln_kylin`.`kylin_buy_notice` ( `buy_notice_id`, `img_url`, `message`, `status`, `sort`, `created_at`, `updated_at`, `title`) values ( '4', 'http://img-zhengzai-tv.oss-cn-hangzhou.aliyuncs.com/partner/2019/01/21/5c456d9482fb9.png', '本场演出凭纸质票验票入场,不支持选座,根据支付顺序择优安排。', '1', '0', '2019-01-29 13:51:42', '2019-01-29 13:51:42', '凭票入场');
insert into `ln_kylin`.`kylin_buy_notice` ( `buy_notice_id`, `img_url`, `message`, `status`, `sort`, `created_at`, `updated_at`, `title`) values ( '5', 'http://img-zhengzai-tv.oss-cn-hangzhou.aliyuncs.com/partner/2019/01/21/5c456e163f0e5.png', '本场演出请按照票面标注对号入座。', '1', '0', '2019-01-29 13:51:42', '2019-01-29 13:51:42', '对号入座');
insert into `ln_kylin`.`kylin_buy_notice` ( `buy_notice_id`, `img_url`, `message`, `status`, `sort`, `created_at`, `updated_at`, `title`) values ( '6', 'http://img-zhengzai-tv.oss-cn-hangzhou.aliyuncs.com/partner/2019/01/21/5c456d9482fb9.png', '凭订单二维码或手机号兑票入场,二维码或手机号请勿泄露,以免影响入场。个人原因导致的信息泄露,主办方/平台方不承担任何责任。', '1', '0', '2019-01-29 13:51:42', '2019-01-29 13:51:42', '电子票');
insert into `ln_kylin`.`kylin_buy_notice` ( `buy_notice_id`, `img_url`, `message`, `status`, `sort`, `created_at`, `updated_at`, `title`) values ( '7', 'http://img-zhengzai-tv.oss-cn-hangzhou.aliyuncs.com/partner/2019/01/21/5c456d9482fb9.png', '电子票购票人须持本人身份证原件兑换实体票后验票入场。请不要将身份证信息提供给他人,因此导致的损失,主办方/平台方不承担任何责任。', '1', '0', '2019-01-29 13:51:42', '2019-01-29 13:51:42', '凭身份证原件兑票');
insert into `ln_kylin`.`kylin_buy_notice` ( `buy_notice_id`, `img_url`, `message`, `status`, `sort`, `created_at`, `updated_at`, `title`) values ( '8', 'http://img-zhengzai-tv.oss-cn-hangzhou.aliyuncs.com/partner/2019/06/17/5d0763c262a30.png', '凭实体票验票入场的演出,门票请妥善保管,忘带、丢失、损坏等情况,主办方/平台方无法办理补票。', '1', '0', '2019-06-17 18:06:06', '2019-06-17 18:06:06', '门票丢失不补');
insert into `ln_kylin`.`kylin_buy_notice` ( `buy_notice_id`, `img_url`, `message`, `status`, `sort`, `created_at`, `updated_at`, `title`) values ( '9', 'http://img-zhengzai-tv.oss-cn-hangzhou.aliyuncs.com/partner/2019/06/17/5d0764a613742.png', '请通过官方平台【正在现场】购买门票。通过个人转让购买的门票,若遇到假票、一票多卖等情况,导致的损失,主办方/平台方不承担任何责任。', '1', '0', '2019-06-17 18:06:06', '2019-06-17 18:06:06', '购买官方门票');
insert into `ln_kylin`.`kylin_buy_notice` ( `buy_notice_id`, `img_url`, `message`, `status`, `sort`, `created_at`, `updated_at`, `title`) values ( '10', 'http://img-zhengzai-tv.oss-cn-hangzhou.aliyuncs.com/partner/2019/06/17/5d0764c565d9e.png', '学生票仅适用于年龄在25周岁以下的在校生。学生票购票人须持本人学生证或校园卡等有效学生证件兑换实体票后验票入场,无法提供有效学生证件则需补全差价。', '1', '0', '2019-06-17 18:06:06', '2019-06-17 18:06:06', '学生票');
insert into `ln_kylin`.`kylin_buy_notice` ( `buy_notice_id`, `img_url`, `message`, `status`, `sort`, `created_at`, `updated_at`, `title`) values ( '11', 'http://img-zhengzai-tv.oss-cn-hangzhou.aliyuncs.com/partner/2019/06/17/5d07647eaa55f.png', '每场现场票数量由场地方决定,具体请到现场询问。', '1', '0', '2019-06-17 18:06:06', '2019-06-17 18:06:06', '现场票');
insert into `ln_kylin`.`kylin_buy_notice` ( `buy_notice_id`, `img_url`, `message`, `status`, `sort`, `created_at`, `updated_at`, `title`) values ( '12', 'http://img-zhengzai-tv.oss-cn-hangzhou.aliyuncs.com/partner/2019/01/21/5c456d9482fb9.png', '电子票购票人须持本人身份证原件和订单二维码验票入场。请不要将身份证信息和订单二维码提供给他人,因此导致的损失,主办方/平台方不承担任何责任。', '1', '0', '2019-01-29 13:51:42', '2019-01-29 13:51:42', '凭身份证原件兑票');
\ No newline at end of file
......@@ -163,7 +163,7 @@ public class KylinPerformancesAdminController {
@GetMapping(value = "member/list")
@ApiOperation(value = "待审核会员演出列表", position = 11)
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<PageInfo<PerformanceTitleDao>> performanceMemberList(@RequestParam("title") @NotNull String title,
public ResponseDto<PageInfo<PerformanceTitleDao>> performanceMemberList(@RequestParam(value = "title" , required=false) String title,
@RequestParam("page") @NotNull int page,
@RequestParam("size") @NotNull int size) {
PageInfo<PerformanceTitleDao> result = performancesAdminService.performanceMemberList(title, page, size);
......
......@@ -35,6 +35,7 @@ import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
......@@ -164,7 +165,7 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
performanceVoTask.performanceVoStatus(performancesId);
}
}
redisUtil.hdel(KylinRedisConst.PERFORMANCES,performancesId);
redisUtil.hdel(KylinRedisConst.PERFORMANCES, performancesId);
} else if (status == 4) {
log.info(" PERFORMANCE 演出审核 拒绝");
auditStatus = 2;
......@@ -252,7 +253,7 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
Query.query(Criteria.where("performancesId").is(performancesId)).getQueryObject(),
object
);
redisUtil.hdel(KylinRedisConst.PERFORMANCES,performancesId);
redisUtil.hdel(KylinRedisConst.PERFORMANCES, performancesId);
return true;
} catch (Exception e) {
return false;
......@@ -381,6 +382,11 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
@Override
public PerformanceMemberAuditDao performanceMemberAuditInfo(String performanceId, int status) {
PerformanceMemberAuditParam memberAuditVo = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performanceId).and("status").is(status)), PerformanceMemberAuditParam.class, PerformanceMemberAuditParam.class.getSimpleName());
if (memberAuditVo == null) {
return null;
}
PerformanceMemberAuditDao performanceMemberAuditDao = new PerformanceMemberAuditDao();
PerformanceTitleDao data = performancesMapper.misPerformanceMemberInfo(performanceId);
List<TicketMemberAuditDao> ticketData = performancesMapper.misTicketMemberInfo(performanceId);
......@@ -389,20 +395,21 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
performanceMemberAuditDao.setIsExclusive(0);
performanceMemberAuditDao.setIsMember(0);
for (TicketMemberAuditDao item : ticketData) {
if (item.getIsMember() == 1) {
if (memberAuditVo.getIsMember() == 1) {
performanceMemberAuditDao.setIsMember(1);
}
if (item.getIsExclusive() == 1) {
if (memberAuditVo.getIsExclusive() == 1) {
performanceMemberAuditDao.setIsExclusive(1);
}
}
PerformanceMemberAuditParam memberAuditVo = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performanceId).and("status").is(status)), PerformanceMemberAuditParam.class, PerformanceMemberAuditParam.class.getSimpleName());
for (TicketMemberAuditParam item : memberAuditVo.getTicketMemberAudit()) {
for (TicketMemberAuditDao item2 : ticketData) {
if (item.getTicketsId().equals(item2.getTicketsId())) {
item2.setAdvanceMinuteMember(item.getAdvanceMinuteMember());
item2.setPriceDiscountMember(item.getPriceDiscountMember());
item2.setMemberLimitCount(item.getMemberLimitCount());
item2.setIsMember(performanceMemberAuditDao.getIsMember());
item2.setIsExclusive(performanceMemberAuditDao.getIsExclusive());
break;
}
}
......@@ -418,7 +425,17 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
LocalDateTime updatedAt = LocalDateTime.now();
if (status == 3) {
PerformanceMemberAuditParam memberAuditVo = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performanceId).and("status").is(1)), PerformanceMemberAuditParam.class, PerformanceMemberAuditParam.class.getSimpleName());
int isAdvance = 0;
int isDiscount = 0;
for (TicketMemberAuditParam item : memberAuditVo.getTicketMemberAudit()) {
if (item.getPriceDiscountMember().compareTo(new BigDecimal("0")) == 1) {
isDiscount = 1;
}
if (item.getAdvanceMinuteMember() > 0) {
isAdvance = 1;
}
//修改数据库
KylinTicketStatus ticketStatus = new KylinTicketStatus();
ticketStatus.setMemberLimitCount(item.getMemberLimitCount());
......@@ -432,11 +449,16 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
tickets.setUpdatedAt(updatedAt);
ticketsMapper.update(tickets, new UpdateWrapper<KylinTickets>().eq("tickets_id", item.getTicketsId()));
KylinTickets ticketsTime = ticketsMapper.selectOne(new UpdateWrapper<KylinTickets>().eq("tickets_id", item.getTicketsId()));
//修改mongo
HashMap<String, Object> map = new HashMap<>();
map.put("isMember", memberAuditVo.getIsMember());
map.put("isExclusive", memberAuditVo.getIsExclusive());
map.put("updatedAt", updatedAt);
map.put("memberPrice", item.getAdvanceMinuteMember());
map.put("memberTimeStart", item.getPriceDiscountMember());
map.put("memberPrice", ticketsTime.getPrice().subtract(item.getPriceDiscountMember()));
map.put("memberTimeStart", ticketsTime.getTimeStart().plusMinutes(-ticketsTime.getAdvanceMinuteMember()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
map.put("limitCountMember", item.getMemberLimitCount());
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
mongoTemplate.getCollection(TicketVo.class.getSimpleName()).updateOne(
......@@ -444,8 +466,17 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
object);
}
performanceVoTask.performanceVoStatus(performanceId);
redisUtil.hdel(KylinRedisConst.PERFORMANCES ,performanceId);
//修改 演出vo
HashMap<String, Object> mapPerformanceVo = new HashMap<>();
mapPerformanceVo.put("isMember", memberAuditVo.getIsMember());
mapPerformanceVo.put("isExclusive", memberAuditVo.getIsExclusive());
mapPerformanceVo.put("isAdvance", isAdvance);
mapPerformanceVo.put("isDiscount", isDiscount);
BasicDBObject objectPerformanceVo = new BasicDBObject("$set", mongoConverter.convertToMongoType(mapPerformanceVo));
mongoTemplate.getCollection(PerformanceVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("performancesId").is(performanceId)).getQueryObject(),
objectPerformanceVo);
HashMap<String, Object> map2 = new HashMap<>();
map2.put("status", 3);
map2.put("updatedAt", updatedAt);
......@@ -454,6 +485,9 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
mongoTemplate.getCollection(PerformanceMemberAuditParam.class.getSimpleName()).updateOne(
Query.query(Criteria.where("performancesId").is(performanceId)).getQueryObject(),
object);
performanceVoTask.performanceVoStatus(performanceId);
redisUtil.hdel(KylinRedisConst.PERFORMANCES, performanceId);
} else {
HashMap<String, Object> map2 = new HashMap<>();
map2.put("status", 2);
......@@ -520,7 +554,7 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
Query.query(Criteria.where("ticketsId").is(ticketId)).getQueryObject(),
object);
redisUtil.hdel(KylinRedisConst.TICKET , ticketId);
redisUtil.hdel(KylinRedisConst.TICKET, ticketId);
return true;
} catch (Exception e) {
return false;
......
......@@ -399,6 +399,7 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
ticketStatusMapper.update(inventory, new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", ticketItem.getTicketsId()));
}
}
performanceVoTask.performanceVoStatus(performanceId);
}
return ResponseDto.success("操作完成");
} else { //保存
......
......@@ -126,6 +126,10 @@ public class PerformanceVoTask {
int isAdvance = 0;
//优惠
int isDiscount = 0;
//价格
BigDecimal price = new BigDecimal("0.00");
LocalDateTime stopSellTime = null;
LocalDateTime sellTime = null;
//演出数据
HashMap<String, Object> mapPerformance = new HashMap<>();
......@@ -138,6 +142,10 @@ public class PerformanceVoTask {
);
ticketCount += ticketVoList.size();
for (TicketVo ticketVoItem : ticketVoList) {
KylinTickets tickets = ticketsMapper.selectOne(
new UpdateWrapper<KylinTickets>().eq("tickets_id", ticketVoItem.getTicketsId()
)
);
//时间判断
LocalDateTime timeStart = LocalDateTime.parse(ticketVoItem.getMemberTimeStart(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
LocalDateTime timeEnd = LocalDateTime.parse(ticketVoItem.getTimeEnd(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
......@@ -161,6 +169,7 @@ public class PerformanceVoTask {
status8Count += 1;
}
}
//修改票状态
HashMap<String, Object> mapTicket = new HashMap<>();
mapTicket.put("status", status);
......@@ -203,6 +212,16 @@ public class PerformanceVoTask {
isLackRegister = 1;
}
if (price.subtract(ticketVoItem.getMemberPrice()).compareTo(new BigDecimal("0.00")) < 0) {
price = ticketVoItem.getMemberPrice();
}
if (stopSellTime == null || stopSellTime.isBefore(tickets.getTimeEnd())) {
stopSellTime = tickets.getTimeEnd();
}
if (sellTime == null || sellTime.isAfter(tickets.getTimeStart().plusMinutes(-tickets.getAdvanceMinuteMember()))) {
sellTime = tickets.getTimeStart().plusMinutes(-tickets.getAdvanceMinuteMember());
}
}
}
//修改演出状态
......@@ -212,6 +231,9 @@ public class PerformanceVoTask {
mapPerformance.put("isMember", isMember);
mapPerformance.put("isAdvance", isAdvance);
mapPerformance.put("isDiscount", isDiscount);
mapPerformance.put("sellTime", sellTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
mapPerformance.put("stopSellTime", stopSellTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
mapPerformance.put("price", price+"起");
BasicDBObject objectPerformance = new BasicDBObject("$set", mongoConverter.convertToMongoType(mapPerformance));
mongoTemplate.getCollection(PerformanceVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("performancesId").is(performancesId)).getQueryObject(),
......
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