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

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

演出 会员相关审核接口 提交 修改 票种没保存是否缺票登记

parent 32d2f2a3
package com.liquidnet.service.kylin.dto.param;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@ApiModel
@Data
public class PerformanceMemberAuditParam {
@ApiModelProperty(value = "演出id")
private String performancesId;
@ApiModelProperty(value = "演出名称")
private String title;
@ApiModelProperty(value = "是否会员")
private int isMember;
@ApiModelProperty(value = "是否专属")
private int isExclusive;
@ApiModelProperty(value = "0未提交 1待审核 2已拒绝 3已通过")
private int status;
@ApiModelProperty(value = "拒绝理由")
private int rejectTxt;
@ApiModelProperty("修改时间")
private String updatedAt;
@ApiModelProperty(value = "票种列表")
private List<TicketMemberAuditParam> ticketMemberAudit;
}
package com.liquidnet.service.kylin.dto.param;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@ApiModel
@Data
public class TicketMemberAuditParam {
@ApiModelProperty(value = "演出id")
private String ticketsId;
@ApiModelProperty(value = "演出名称")
private String title;
@ApiModelProperty(value = "会员优惠价格")
private BigDecimal priceDiscountMember;
@ApiModelProperty(value = "会员优惠时间段限购数量")
private int memberLimitCount;
@ApiModelProperty(value = "会员提前开售分钟")
private int advanceMinuteMember;
}
package com.liquidnet.service.kylin.dto.vo.admin;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel
@Data
public class PerformanceMemberHistoryVo {
@ApiModelProperty(value = "0未提交 1待审核 2已拒绝 3已通过")
private int status;
@ApiModelProperty(value = "审核时间")
private String auditTime;
@ApiModelProperty(value = "拒绝理由")
private int rejectTxt;
}
...@@ -76,6 +76,9 @@ public class TicketPartnerVo implements Serializable { ...@@ -76,6 +76,9 @@ public class TicketPartnerVo implements Serializable {
@ApiModelProperty(value = "场次id") @ApiModelProperty(value = "场次id")
private String timesId; private String timesId;
@ApiModelProperty(value = "是否开启缺票登记")
private int isLackRegister;
@ApiModelProperty(value = "剩余库存", example = "100") @ApiModelProperty(value = "剩余库存", example = "100")
private int surplusGeneral; private int surplusGeneral;
......
...@@ -7,6 +7,7 @@ import com.liquidnet.service.kylin.dao.PerformanceMemberAuditDao; ...@@ -7,6 +7,7 @@ import com.liquidnet.service.kylin.dao.PerformanceMemberAuditDao;
import com.liquidnet.service.kylin.dao.PerformanceRecommendAdminDao; import com.liquidnet.service.kylin.dao.PerformanceRecommendAdminDao;
import com.liquidnet.service.kylin.dao.PerformanceTitleDao; import com.liquidnet.service.kylin.dao.PerformanceTitleDao;
import com.liquidnet.service.kylin.dto.param.PerformanceAdminListParam; import com.liquidnet.service.kylin.dto.param.PerformanceAdminListParam;
import com.liquidnet.service.kylin.dto.param.PerformanceMemberAuditParam;
import com.liquidnet.service.kylin.dto.param.PerformanceRecommendAdminParam; import com.liquidnet.service.kylin.dto.param.PerformanceRecommendAdminParam;
import com.liquidnet.service.kylin.dto.vo.partner.PerformanceMisVo; import com.liquidnet.service.kylin.dto.vo.partner.PerformanceMisVo;
import com.liquidnet.service.kylin.entity.KylinPerformances; import com.liquidnet.service.kylin.entity.KylinPerformances;
...@@ -83,17 +84,46 @@ public interface IKylinPerformancesAdminService extends IService<KylinPerformanc ...@@ -83,17 +84,46 @@ public interface IKylinPerformancesAdminService extends IService<KylinPerformanc
/** /**
* 获取 演出会员信息(包含场次票) * 获取 演出会员信息(包含场次票)
* @param performanceId 演出id
* @return sql 数据 * @return sql 数据
*/ */
PerformanceMemberAuditDao performanceMemberInfo(String performanceId); PerformanceMemberAuditDao performanceMemberInfo(String performanceId);
//修改 演出会员信息(包含场次票) /**
* 修改 演出会员信息(包含场次票)
* @param performanceMemberAuditParam 相关参数
* @return boolean
*/
boolean performanceMemberChange(PerformanceMemberAuditParam performanceMemberAuditParam);
//列表 待审核 演出会员信息 /**
* 列表 待审核 演出会员信息
* @param title 标题
* @return 演出名称 id
*/
PageInfo<PerformanceTitleDao> performanceMemberList(String title,int page,int size);
//详情 待审核 演出会员信息 /**
* 详情 待审核 演出会员信息
* @param performanceId 演出id
* @param status 状态
* @return sql 数据
*/
PerformanceMemberAuditDao performanceMemberAuditInfo(String performanceId,int status);
//审核 会员信息 //审核 会员信息
//列表 演出会员审核记录 /**
* 审核演出会员相关信息
* @param performanceId 演出id
* @return boolean
*/
boolean performanceMemberAudit(String performanceId,int status,String rejectTxt);
/**
* 列表 演出会员审核记录
* @param performanceId 演出id
* @return 分页 vo 数据
*/
PageInfo<PerformanceMemberAuditParam> performanceAuditHistory(String performanceId);
} }
...@@ -17,6 +17,8 @@ public class PerformanceMemberAuditDao { ...@@ -17,6 +17,8 @@ public class PerformanceMemberAuditDao {
private int isMember; private int isMember;
@ApiModelProperty(value = "是否专属") @ApiModelProperty(value = "是否专属")
private int isExclusive; private int isExclusive;
@ApiModelProperty(value = "是否已提交")
private int isSubmit;
@ApiModelProperty(value = "票种列表") @ApiModelProperty(value = "票种列表")
private List<TicketMemberAuditDao> ticketMemberAudit; private List<TicketMemberAuditDao> ticketMemberAudit;
......
...@@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel; ...@@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
@ApiModel @ApiModel
@Data @Data
public class TicketMemberAuditDao { public class TicketMemberAuditDao {
...@@ -18,15 +20,15 @@ public class TicketMemberAuditDao { ...@@ -18,15 +20,15 @@ public class TicketMemberAuditDao {
@ApiModelProperty(value = "状态") @ApiModelProperty(value = "状态")
private int status; private int status;
@ApiModelProperty(value = "开售时间") @ApiModelProperty(value = "开售时间")
private int timeStart; private String timeStart;
@ApiModelProperty(value = "原价") @ApiModelProperty(value = "原价")
private int price; private BigDecimal price;
@ApiModelProperty(value = "会员优惠价格") @ApiModelProperty(value = "会员优惠价格")
private int priceMember; private BigDecimal priceDiscountMember;
@ApiModelProperty(value = "会员优惠时间段限购数量") @ApiModelProperty(value = "会员优惠时间段限购数量")
private int memberLimitCount; private int memberLimitCount;
@ApiModelProperty(value = "会员提前开售分钟") @ApiModelProperty(value = "会员提前开售分钟")
private int timeStartMember; private int advanceMinuteMember;
@ApiModelProperty(value = "是否会员") @ApiModelProperty(value = "是否会员")
private int isMember; private int isMember;
@ApiModelProperty(value = "是否专属") @ApiModelProperty(value = "是否专属")
......
...@@ -40,7 +40,8 @@ ...@@ -40,7 +40,8 @@
<result column="title" property="title"/> <result column="title" property="title"/>
</resultMap> </resultMap>
<resultMap id="PerformanceRecommendAdminDaoResult" type="com.liquidnet.service.kylin.dao.PerformanceRecommendAdminDao"> <resultMap id="PerformanceRecommendAdminDaoResult"
type="com.liquidnet.service.kylin.dao.PerformanceRecommendAdminDao">
<result column="performances_id" property="performancesId"/> <result column="performances_id" property="performancesId"/>
<result column="title" property="title"/> <result column="title" property="title"/>
<result column="time_start" property="timeStart"/> <result column="time_start" property="timeStart"/>
...@@ -50,16 +51,16 @@ ...@@ -50,16 +51,16 @@
<resultMap id="ticketMemberAuditDaoResult" type="com.liquidnet.service.kylin.dao.TicketMemberAuditDao"> <resultMap id="ticketMemberAuditDaoResult" type="com.liquidnet.service.kylin.dao.TicketMemberAuditDao">
<result column="tickets_id" property="ticketsId"/> <result column="tickets_id" property="ticketsId"/>
<result column="t.title" property="title"/> <result column="title" property="title"/>
<result column="tt.use_start" property="useStart"/> <result column="use_start" property="useStart"/>
<result column="t.status" property="status"/> <result column="status" property="status"/>
<result column="t.time_start" property="timeStart"/> <result column="time_start" property="timeStart"/>
<result column="t.price" property="price"/> <result column="price" property="price"/>
<result column="t.price_discount_member" property="priceMember"/> <result column="price_discount_member" property="priceDiscountMember"/>
<result column="advance_minute_member" property="timeStartMember"/> <result column="advance_minute_member" property="advanceMinuteMember"/>
<result column="t.limit_count_member" property="memberLimitCount"/> <result column="member_limit_count" property="memberLimitCount"/>
<result column="t.is_member" property="isMember"/> <result column="is_member" property="isMember"/>
<result column="t.is_exclusive" property="isExclusive"/> <result column="is_exclusive" property="isExclusive"/>
</resultMap> </resultMap>
...@@ -240,39 +241,45 @@ ...@@ -240,39 +241,45 @@
</select> </select>
<!-- Mis根据演出id查询演出名称 --> <!-- Mis根据演出id查询演出名称 -->
<select id="misPerformanceMemberInfo" resultMap="performanceTitleDaoResult"> <select id="misPerformanceMemberInfo" resultMap="performanceTitleDaoResult">
SELECT SELECT performances_id,
performances_id ,title title
FROM FROM kylin_performances AS p
kylin_performances AS p LEFT JOIN kylin_performance_relations AS pr ON pr.performance_id = p.performances_id
LEFT JOIN kylin_performance_relations AS pr ON pr.performance_id = p.performances_id
WHERE performances_id = ${performancesId}; WHERE performances_id = ${performancesId};
</select> </select>
<!-- Mis根据演出id查询票种信息 --> <!-- Mis根据演出id查询票种信息 -->
<select id="misTicketMemberInfo" resultMap="ticketMemberAuditDaoResult"> <select id="misTicketMemberInfo" resultMap="ticketMemberAuditDaoResult">
SELECT SELECT tickets_id,
tickets_id,t.title,tt.use_start,t.status,t.time_start,t.price,t.price_discount_member,advance_minute_member,t.limit_count_member,t.is_member,t.is_exclusive t.title,
FROM use_start,
kylin_ticket_time_relation AS ttr t.status,
LEFT JOIN kylin_ticket_times AS tt ON tt.ticket_times_id = ttr.times_id time_start,
LEFT JOIN( price,
SELECT price_discount_member,
tickets_id , advance_minute_member,
tr.times_id as 'times_id', member_limit_count,
title , is_member,
status , is_exclusive
time_start , FROM kylin_ticket_time_relation AS ttr
price , LEFT JOIN kylin_ticket_times AS tt ON tt.ticket_times_id = ttr.times_id
advance_minute_member , LEFT JOIN(
price_discount_member , SELECT tickets_id,
limit_count_member , tr.times_id as 'times_id',
is_member , title,
is_exclusive status,
FROM t.time_start,
kylin_tickets AS t price,
LEFT JOIN kylin_ticket_status AS ts ON ts.ticket_id = t.tickets_id advance_minute_member,
LEFT JOIN kylin_ticket_relations AS tr ON tr.ticket_id = t.tickets_id price_discount_member,
) as t on t.times_id = ttr.times_id where ttr.performance_id = ${performancesId}; member_limit_count,
is_member,
is_exclusive
FROM kylin_tickets AS t
LEFT JOIN kylin_ticket_status AS ts ON ts.ticket_id = t.tickets_id
LEFT JOIN kylin_ticket_relations AS tr ON tr.ticket_id = t.tickets_id
) as t on t.times_id = ttr.times_id
where ttr.performance_id = ${performancesId};
</select> </select>
</mapper> </mapper>
...@@ -8,6 +8,7 @@ import com.liquidnet.service.kylin.dao.PerformanceMemberAuditDao; ...@@ -8,6 +8,7 @@ import com.liquidnet.service.kylin.dao.PerformanceMemberAuditDao;
import com.liquidnet.service.kylin.dao.PerformanceRecommendAdminDao; import com.liquidnet.service.kylin.dao.PerformanceRecommendAdminDao;
import com.liquidnet.service.kylin.dao.PerformanceTitleDao; import com.liquidnet.service.kylin.dao.PerformanceTitleDao;
import com.liquidnet.service.kylin.dto.param.PerformanceAdminListParam; import com.liquidnet.service.kylin.dto.param.PerformanceAdminListParam;
import com.liquidnet.service.kylin.dto.param.PerformanceMemberAuditParam;
import com.liquidnet.service.kylin.dto.param.PerformanceRecommendAdminParam; import com.liquidnet.service.kylin.dto.param.PerformanceRecommendAdminParam;
import com.liquidnet.service.kylin.dto.vo.partner.PerformanceMisVo; import com.liquidnet.service.kylin.dto.vo.partner.PerformanceMisVo;
import com.liquidnet.service.kylin.service.impl.admin.KylinPerformancesAdminServiceImpl; import com.liquidnet.service.kylin.service.impl.admin.KylinPerformancesAdminServiceImpl;
...@@ -18,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -18,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.Valid; import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.util.List; import java.util.List;
/** /**
...@@ -134,10 +136,10 @@ public class KylinPerformancesAdminController { ...@@ -134,10 +136,10 @@ public class KylinPerformancesAdminController {
} }
} }
@GetMapping(value = "performance/member") @GetMapping(value = "performance/member/details")
@ApiOperation(value = "演出会员信息") @ApiOperation(value = "演出会员信息")
@ApiResponse(code = 200, message = "接口返回对象参数") @ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<PerformanceMemberAuditDao> performanceMemberInfo(String performanceId) { public ResponseDto<PerformanceMemberAuditDao> performanceMemberInfo(@RequestParam("performanceId") @NotNull String performanceId) {
PerformanceMemberAuditDao result = performancesAdminService.performanceMemberInfo(performanceId); PerformanceMemberAuditDao result = performancesAdminService.performanceMemberInfo(performanceId);
if (result != null) { if (result != null) {
return ResponseDto.success(result); return ResponseDto.success(result);
...@@ -145,4 +147,69 @@ public class KylinPerformancesAdminController { ...@@ -145,4 +147,69 @@ public class KylinPerformancesAdminController {
return ResponseDto.failure("获取失败"); return ResponseDto.failure("获取失败");
} }
} }
@PutMapping(value = "performance/member/change")
@ApiOperation(value = "修改演出会员数据")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<String> performanceMemberChange(@RequestBody PerformanceMemberAuditParam performanceMemberAuditParam) {
boolean result = performancesAdminService.performanceMemberChange(performanceMemberAuditParam);
if (result) {
return ResponseDto.success("操作成功");
} else {
return ResponseDto.failure("操作失败");
}
}
@GetMapping(value = "performance/member/list")
@ApiOperation(value = "待审核会员演出列表")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<PageInfo<PerformanceTitleDao>> performanceMemberList(@RequestParam("title") @NotNull String title,
@RequestParam("page") @NotNull int page,
@RequestParam("size") @NotNull int size) {
PageInfo<PerformanceTitleDao> result = performancesAdminService.performanceMemberList(title, page, size);
if (result != null) {
return ResponseDto.success(result);
} else {
return ResponseDto.failure("操作失败");
}
}
@GetMapping(value = "performance/member/details/audit")
@ApiOperation(value = "演出会员信息(根据status 1待审核 2已拒绝 3已通过)")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<PerformanceMemberAuditDao> performanceMemberAuditInfo(@RequestParam("performanceId") @NotNull String performanceId,
@RequestParam(value = "status") @NotNull int status) {
PerformanceMemberAuditDao result = performancesAdminService.performanceMemberAuditInfo(performanceId, status);
if (result != null) {
return ResponseDto.success(result);
} else {
return ResponseDto.failure("获取失败");
}
}
@PostMapping(value = "performance/member/audit")
@ApiOperation(value = "审核演出会员信息")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<String> performanceMemberAudit(@RequestParam("performanceId") @NotNull String performanceId,
@RequestParam("status") @NotNull int status,
@RequestParam(value = "rejectTxt", required = false) String rejectTxt) {
boolean result = performancesAdminService.performanceMemberAudit(performanceId, status, rejectTxt);
if (result) {
return ResponseDto.success("操作成功");
} else {
return ResponseDto.failure("操作失败");
}
}
@PostMapping(value = "performance/member/history")
@ApiOperation(value = "会员审核记录")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<PageInfo<PerformanceMemberAuditParam>> performanceAuditHistory(@RequestParam("performanceId") @NotNull String performanceId) {
PageInfo<PerformanceMemberAuditParam> result = performancesAdminService.performanceAuditHistory(performanceId);
if (result != null) {
return ResponseDto.success(result);
} else {
return ResponseDto.failure("操作失败");
}
}
} }
...@@ -583,23 +583,28 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor ...@@ -583,23 +583,28 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
redisUtil.hset(KylinRedisConst.PERFORMANCES_INVENTORY + ticketVo.getTicketsId(), KylinRedisConst.SURPLUS_EXCHANGE, ticketInventoryDto.getSurplusExchange()); redisUtil.hset(KylinRedisConst.PERFORMANCES_INVENTORY + ticketVo.getTicketsId(), KylinRedisConst.SURPLUS_EXCHANGE, ticketInventoryDto.getSurplusExchange());
} }
if (ticketVo.getMemberPrice().compareTo(ticketVo.getPrice()) != 0) { if (ticketVo.getIsMember() == 1) {
isDiscount = 1; if (ticketVo.getMemberPrice().compareTo(ticketVo.getPrice()) != 0) {
} isDiscount = 1;
}
if (!ticketVo.getTimeStart().equalsIgnoreCase(ticketVo.getMemberTimeStart())) { if (!ticketVo.getTimeStart().equalsIgnoreCase(ticketVo.getMemberTimeStart())) {
isAdvance = 1; isAdvance = 1;
} }
if (ticketVo.getIsMember() == 1) { if (ticketVo.getIsMember() == 1) {
isMember = 1; isMember = 1;
}
if (ticketVo.getIsExclusive() == 1) {
isExclusive = 1;
}
} }
if (ticketVo.getIsLackRegister() == 1) { if (ticketVo.getIsLackRegister() == 1) {
isLackRegister = 1; isLackRegister = 1;
} }
if (ticketVo.getIsExclusive() == 1) {
isExclusive = 1;
}
if (price.subtract(ticketVo.getPrice()).compareTo(new BigDecimal("0.00")) < 0) { if (price.subtract(ticketVo.getPrice()).compareTo(new BigDecimal("0.00")) < 0) {
price = ticketVo.getPrice(); price = ticketVo.getPrice();
} }
......
...@@ -112,6 +112,17 @@ public class PerformanceVoTask { ...@@ -112,6 +112,17 @@ public class PerformanceVoTask {
int status8Count = 0; int status8Count = 0;
//已结束次数 //已结束次数
int status10Count = 0; int status10Count = 0;
//缺票登记
int isLackRegister = 0;
//会员
int isMember = 0;
//专属
int isExclusive = 0;
//提前
int isAdvance = 0;
//优惠
int isDiscount = 0;
//演出数据 //演出数据
HashMap<String, Object> mapPerformance = new HashMap<>(); HashMap<String, Object> mapPerformance = new HashMap<>();
int appStatus = 6; int appStatus = 6;
...@@ -164,10 +175,39 @@ public class PerformanceVoTask { ...@@ -164,10 +175,39 @@ public class PerformanceVoTask {
} else if (ticketCount == status10Count) {//全票结束 为结束 } else if (ticketCount == status10Count) {//全票结束 为结束
appStatus = 10; appStatus = 10;
} }
if (ticketVoItem.getIsMember() == 1) {
if (ticketVoItem.getMemberPrice().compareTo(ticketVoItem.getPrice()) != 0) {
isDiscount = 1;
}
if (!ticketVoItem.getTimeStart().equalsIgnoreCase(ticketVoItem.getMemberTimeStart())) {
isAdvance = 1;
}
if (ticketVoItem.getIsMember() == 1) {
isMember = 1;
}
if (ticketVoItem.getIsExclusive() == 1) {
isExclusive = 1;
}
}
if (ticketVoItem.getIsLackRegister() == 1) {
isLackRegister = 1;
}
} }
} }
//修改演出状态 //修改演出状态
mapPerformance.put("appStatus", appStatus); mapPerformance.put("appStatus", appStatus);
mapPerformance.put("isLackRegister", isLackRegister);
mapPerformance.put("isExclusive", isExclusive);
mapPerformance.put("isMember", isMember);
mapPerformance.put("isAdvance", isAdvance);
mapPerformance.put("isDiscount", isDiscount);
BasicDBObject objectPerformance = new BasicDBObject("$set", mongoConverter.convertToMongoType(mapPerformance)); BasicDBObject objectPerformance = new BasicDBObject("$set", mongoConverter.convertToMongoType(mapPerformance));
mongoTemplate.getCollection(PerformanceVo.class.getSimpleName()).updateOne( mongoTemplate.getCollection(PerformanceVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("performancesId").is(performancesId)).getQueryObject(), Query.query(Criteria.where("performancesId").is(performancesId)).getQueryObject(),
...@@ -176,6 +216,13 @@ public class PerformanceVoTask { ...@@ -176,6 +216,13 @@ public class PerformanceVoTask {
} }
} }
/**
* 根据票 判断 演出会员相关状态
* @param performanceId
*/
public void performanceVoMember(String performanceId){}
/** /**
* 生成 PerformanceCreatePartnerVo(用于审核第一次提交数据) * 生成 PerformanceCreatePartnerVo(用于审核第一次提交数据)
* *
......
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