记得上下班打卡 | 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 {
@ApiModelProperty(value = "场次id")
private String timesId;
@ApiModelProperty(value = "是否开启缺票登记")
private int isLackRegister;
@ApiModelProperty(value = "剩余库存", example = "100")
private int surplusGeneral;
......
......@@ -7,6 +7,7 @@ import com.liquidnet.service.kylin.dao.PerformanceMemberAuditDao;
import com.liquidnet.service.kylin.dao.PerformanceRecommendAdminDao;
import com.liquidnet.service.kylin.dao.PerformanceTitleDao;
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.vo.partner.PerformanceMisVo;
import com.liquidnet.service.kylin.entity.KylinPerformances;
......@@ -83,17 +84,46 @@ public interface IKylinPerformancesAdminService extends IService<KylinPerformanc
/**
* 获取 演出会员信息(包含场次票)
* @param performanceId 演出id
* @return sql 数据
*/
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 {
private int isMember;
@ApiModelProperty(value = "是否专属")
private int isExclusive;
@ApiModelProperty(value = "是否已提交")
private int isSubmit;
@ApiModelProperty(value = "票种列表")
private List<TicketMemberAuditDao> ticketMemberAudit;
......
......@@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@ApiModel
@Data
public class TicketMemberAuditDao {
......@@ -18,15 +20,15 @@ public class TicketMemberAuditDao {
@ApiModelProperty(value = "状态")
private int status;
@ApiModelProperty(value = "开售时间")
private int timeStart;
private String timeStart;
@ApiModelProperty(value = "原价")
private int price;
private BigDecimal price;
@ApiModelProperty(value = "会员优惠价格")
private int priceMember;
private BigDecimal priceDiscountMember;
@ApiModelProperty(value = "会员优惠时间段限购数量")
private int memberLimitCount;
@ApiModelProperty(value = "会员提前开售分钟")
private int timeStartMember;
private int advanceMinuteMember;
@ApiModelProperty(value = "是否会员")
private int isMember;
@ApiModelProperty(value = "是否专属")
......
......@@ -40,7 +40,8 @@
<result column="title" property="title"/>
</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="title" property="title"/>
<result column="time_start" property="timeStart"/>
......@@ -50,16 +51,16 @@
<resultMap id="ticketMemberAuditDaoResult" type="com.liquidnet.service.kylin.dao.TicketMemberAuditDao">
<result column="tickets_id" property="ticketsId"/>
<result column="t.title" property="title"/>
<result column="tt.use_start" property="useStart"/>
<result column="t.status" property="status"/>
<result column="t.time_start" property="timeStart"/>
<result column="t.price" property="price"/>
<result column="t.price_discount_member" property="priceMember"/>
<result column="advance_minute_member" property="timeStartMember"/>
<result column="t.limit_count_member" property="memberLimitCount"/>
<result column="t.is_member" property="isMember"/>
<result column="t.is_exclusive" property="isExclusive"/>
<result column="title" property="title"/>
<result column="use_start" property="useStart"/>
<result column="status" property="status"/>
<result column="time_start" property="timeStart"/>
<result column="price" property="price"/>
<result column="price_discount_member" property="priceDiscountMember"/>
<result column="advance_minute_member" property="advanceMinuteMember"/>
<result column="member_limit_count" property="memberLimitCount"/>
<result column="is_member" property="isMember"/>
<result column="is_exclusive" property="isExclusive"/>
</resultMap>
......@@ -240,39 +241,45 @@
</select>
<!-- Mis根据演出id查询演出名称 -->
<select id="misPerformanceMemberInfo" resultMap="performanceTitleDaoResult">
SELECT
performances_id ,title
FROM
kylin_performances AS p
SELECT performances_id,
title
FROM kylin_performances AS p
LEFT JOIN kylin_performance_relations AS pr ON pr.performance_id = p.performances_id
WHERE performances_id = ${performancesId};
</select>
<!-- Mis根据演出id查询票种信息 -->
<select id="misTicketMemberInfo" resultMap="ticketMemberAuditDaoResult">
SELECT
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
FROM
kylin_ticket_time_relation AS ttr
SELECT tickets_id,
t.title,
use_start,
t.status,
time_start,
price,
price_discount_member,
advance_minute_member,
member_limit_count,
is_member,
is_exclusive
FROM kylin_ticket_time_relation AS ttr
LEFT JOIN kylin_ticket_times AS tt ON tt.ticket_times_id = ttr.times_id
LEFT JOIN(
SELECT
tickets_id ,
SELECT tickets_id,
tr.times_id as 'times_id',
title ,
status ,
time_start ,
price ,
advance_minute_member ,
price_discount_member ,
limit_count_member ,
is_member ,
title,
status,
t.time_start,
price,
advance_minute_member,
price_discount_member,
member_limit_count,
is_member,
is_exclusive
FROM
kylin_tickets AS t
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};
) as t on t.times_id = ttr.times_id
where ttr.performance_id = ${performancesId};
</select>
</mapper>
......@@ -8,6 +8,7 @@ import com.liquidnet.service.kylin.dao.PerformanceMemberAuditDao;
import com.liquidnet.service.kylin.dao.PerformanceRecommendAdminDao;
import com.liquidnet.service.kylin.dao.PerformanceTitleDao;
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.vo.partner.PerformanceMisVo;
import com.liquidnet.service.kylin.service.impl.admin.KylinPerformancesAdminServiceImpl;
......@@ -18,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
......@@ -134,10 +136,10 @@ public class KylinPerformancesAdminController {
}
}
@GetMapping(value = "performance/member")
@GetMapping(value = "performance/member/details")
@ApiOperation(value = "演出会员信息")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<PerformanceMemberAuditDao> performanceMemberInfo(String performanceId) {
public ResponseDto<PerformanceMemberAuditDao> performanceMemberInfo(@RequestParam("performanceId") @NotNull String performanceId) {
PerformanceMemberAuditDao result = performancesAdminService.performanceMemberInfo(performanceId);
if (result != null) {
return ResponseDto.success(result);
......@@ -145,4 +147,69 @@ public class KylinPerformancesAdminController {
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,6 +583,7 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
redisUtil.hset(KylinRedisConst.PERFORMANCES_INVENTORY + ticketVo.getTicketsId(), KylinRedisConst.SURPLUS_EXCHANGE, ticketInventoryDto.getSurplusExchange());
}
if (ticketVo.getIsMember() == 1) {
if (ticketVo.getMemberPrice().compareTo(ticketVo.getPrice()) != 0) {
isDiscount = 1;
}
......@@ -594,12 +595,16 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
if (ticketVo.getIsMember() == 1) {
isMember = 1;
}
if (ticketVo.getIsLackRegister() == 1) {
isLackRegister = 1;
}
if (ticketVo.getIsExclusive() == 1) {
isExclusive = 1;
}
}
if (ticketVo.getIsLackRegister() == 1) {
isLackRegister = 1;
}
if (price.subtract(ticketVo.getPrice()).compareTo(new BigDecimal("0.00")) < 0) {
price = ticketVo.getPrice();
}
......
......@@ -112,6 +112,17 @@ public class PerformanceVoTask {
int status8Count = 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<>();
int appStatus = 6;
......@@ -164,10 +175,39 @@ public class PerformanceVoTask {
} else if (ticketCount == status10Count) {//全票结束 为结束
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("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));
mongoTemplate.getCollection(PerformanceVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("performancesId").is(performancesId)).getQueryObject(),
......@@ -176,6 +216,13 @@ public class PerformanceVoTask {
}
}
/**
* 根据票 判断 演出会员相关状态
* @param performanceId
*/
public void performanceVoMember(String performanceId){}
/**
* 生成 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