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

Commit d4cbec6a authored by 洪全海's avatar 洪全海
parents c93d8ddb b30e657f
......@@ -43,7 +43,14 @@
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
</dependency>
<dependency>
<groupId>org.gavaghan</groupId>
<artifactId>geodesy</artifactId>
</dependency>
<dependency>
<groupId>org.gavaghan</groupId>
<artifactId>geodesy</artifactId>
</dependency>
</dependencies>
</project>
package com.liquidnet.commons.lang.util;
import org.gavaghan.geodesy.Ellipsoid;
import org.gavaghan.geodesy.GeodeticCalculator;
import org.gavaghan.geodesy.GlobalCoordinates;
/**
* <p>
* 根据经纬度计算距离
* </p>
*
* @author jiangxiulong
* @since 2021-05-19 4:39 下午
*/
public class DistanceUtil {
public static String getDistance(double longitudeFrom, double latitudeFrom, double longitudeTo, double latitudeTo) {
GlobalCoordinates source = new GlobalCoordinates(latitudeFrom, longitudeFrom);
GlobalCoordinates target = new GlobalCoordinates(latitudeTo, longitudeTo);
double diffDistanceDouble = new GeodeticCalculator().calculateGeodeticCurve(Ellipsoid.Sphere, source, target).getEllipsoidalDistance();
int diffDistanceInt = (int) diffDistanceDouble;
String diffDistance;
if (diffDistanceInt > 1000) {
diffDistanceInt = diffDistanceInt / 1000;
diffDistance = diffDistanceInt + "km";
} else {
diffDistance = diffDistanceInt + "m";
}
return diffDistance;
}
}
......@@ -149,8 +149,13 @@
<artifactId>jjwt</artifactId>
<version>0.9.1</version>
</dependency>
<!-- 计算经纬度距离 -->
<dependency>
<groupId>org.gavaghan</groupId>
<artifactId>geodesy</artifactId>
<version>1.1.3</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
\ No newline at end of file
package com.liquidnet.service.adam.dto.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@ApiModel(value = "AdamDisposedUserVo", description = "想去的用户信息")
@Data
public class AdamDisposedUserVo implements Serializable, Cloneable {
private static final long serialVersionUID = 3222644230886542725L;
@ApiModelProperty(position = 10, value = "用户ID[64]")
private String uid;
@ApiModelProperty(position = 11, value = "用户头像[255]")
private String avatar;
@ApiModelProperty(position = 12, value = "用户昵称[32]")
private String nickname;
@ApiModelProperty(position = 13, value = "用户性别[32]")
private AdamTagVo sex;
@ApiModelProperty(position = 14, value = "内容ID[64]")
private String contentId;
@ApiModelProperty(position = 15, value = "内容类型")
private String type;
private static final AdamDisposedUserVo obj = new AdamDisposedUserVo();
public static AdamDisposedUserVo getNew() {
try {
return (AdamDisposedUserVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new AdamDisposedUserVo();
}
}
}
......@@ -6,19 +6,22 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@ApiModel(value = "AdamDisposedVo", description = "想去信息")
@Data
public class AdamDisposedVo implements Serializable, Cloneable {
private static final long serialVersionUID = 3222644230886542725L;
@ApiModelProperty(position = 11, required = true, value = "内容ID[64]")
@ApiModelProperty(position = 11, value = "内容ID[64]")
private String contentId;
@ApiModelProperty(position = 12, required = true, value = "内容类型")
@ApiModelProperty(position = 12, value = "内容类型")
private String type;
@ApiModelProperty(position = 13, required = true, value = "标记时间")
@ApiModelProperty(position = 13, value = "标记时间")
private String createdAt;
@ApiModelProperty(position = 14, required = true, value = "展示信息")
@ApiModelProperty(position = 14, value = "展示信息")
private PerformanceVo contentInfo;
@ApiModelProperty(position = 15, value = "想去的用户信息列表,默认三个")
private List<AdamDisposedUserVo> userVos;
private static final AdamDisposedVo obj = new AdamDisposedVo();
......
......@@ -3,6 +3,7 @@ package com.liquidnet.service.adam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.adam.dto.vo.AdamDisposedBaseVo;
import com.liquidnet.service.adam.dto.vo.AdamDisposedUserVo;
import com.liquidnet.service.adam.dto.vo.AdamDisposedVo;
import com.liquidnet.service.adam.entity.AdamDisposed;
......@@ -25,4 +26,6 @@ public interface IAdamDisposedService extends IService<AdamDisposed> {
boolean queryState(String uid, String type, String contentId);
PageInfo<AdamDisposedVo> queryPage(String uid, String type, int pageNo, int pageSize);
PageInfo<AdamDisposedUserVo> queryDisposedUsers(String type, String contentId, int pageNo, int pageSize);
}
......@@ -4,7 +4,6 @@ import com.github.pagehelper.PageInfo;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.service.adam.dto.vo.AdamCollectBaseVo;
import com.liquidnet.service.adam.dto.vo.AdamDisposedBaseVo;
import com.liquidnet.service.adam.service.IAdamDisposedService;
import com.liquidnet.service.base.ResponseDto;
......@@ -82,26 +81,29 @@ public class AdamDisposedController {
// TODO: 2021/4/28 数据校验
pageNo = pageNo > 0 ? pageNo : 1;
pageSize = pageSize <= 0 || pageSize > 10 ? 5 : pageSize;
pageSize = pageSize <= 0 || pageSize > 10 ? 10 : pageSize;
return ResponseDto.success(adamDisposedService.queryPage(CurrentUtil.getCurrentUid(), type, pageNo, pageSize));
}
@ApiOperationSupport(order = 4)
@ApiOperation(value = "获取特定内容的想去用户列表 -> 返回结构待定")
@ApiOperation(value = "用户列表")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "type", value = "收藏类型", allowableValues = "VIDEO,TICKET,SITE,ARTIST,BAND,BRAND,STYLE,GOODS,MUSIC,SONG"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "type", value = "收藏类型", allowableValues = "TICKET"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "contentId", value = "内容ID[64]"),
@ApiImplicitParam(type = "form", required = false, dataType = "Integer", name = "pageNo", value = "页码", example = "1"),
@ApiImplicitParam(type = "form", required = false, dataType = "Integer", name = "pageSize", value = "页展示条数", example = "10"),
})
@PostMapping("list/user")
public ResponseDto<Object> listUser(@RequestParam String type, @RequestParam String contentId) {
// TODO: 2021/4/28 数据校验、身份认证、获取登录UID
String uid = "1";
// TODO: 2021/5/10
public ResponseDto<Object> listUser(@RequestParam String type, @RequestParam String contentId,
@RequestParam(defaultValue = "1", required = false) int pageNo,
@RequestParam(defaultValue = "10", required = false) int pageSize) {
// TODO: 2021/4/28 数据校验
pageNo = pageNo > 0 ? pageNo : 1;
pageSize = pageSize <= 0 || pageSize > 20 ? 20 : pageSize;
return ResponseDto.success();
return ResponseDto.success(adamDisposedService.queryDisposedUsers(type, contentId, pageNo, pageSize));
}
@ApiOperationSupport(order = 5)
......@@ -112,12 +114,7 @@ public class AdamDisposedController {
})
@GetMapping("state")
public ResponseDto<Object> state(@RequestParam String type, @RequestParam String contentId) {
// TODO: 2021/4/28 数据校验、身份认证、获取登录UID
String uid = "1";
// TODO: 2021/5/10
return ResponseDto.success();
// TODO: 2021/4/28 数据校验
return ResponseDto.success(adamDisposedService.queryState(CurrentUtil.getCurrentUid(), type, contentId));
}
}
......@@ -110,7 +110,7 @@ public class AdamCollectionServiceImpl extends ServiceImpl<AdamCollectionMapper,
@Override
public PageInfo<AdamCollectVo> queryPage(String uid, String type, int pageNo, int pageSize) {
Query query = Query.query(Criteria.where("uid").is(uid).and("type").is(type));
Query query = Query.query(Criteria.where("uid").is(uid).and("type").is(type).and("state").is(1));
long count = mongoTemplate.count(query, AdamCollectBaseVo.class.getSimpleName());
......
package com.liquidnet.service.adam.service.impl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.DateUtil;
......@@ -14,11 +13,9 @@ import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.feign.kylin.api.FeignKylinPerformanceClient;
import com.liquidnet.service.kylin.dto.vo.PerformanceVo;
import com.mongodb.BasicDBObject;
import io.jsonwebtoken.lang.Collections;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
......@@ -27,8 +24,10 @@ 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.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime;
import java.util.Collections;
import java.util.List;
/**
......@@ -104,39 +103,48 @@ public class AdamDisposedServiceImpl extends ServiceImpl<AdamDisposedMapper, Ada
@Override
public PageInfo<AdamDisposedVo> queryPage(String uid, String type, int pageNo, int pageSize) {
Query query = Query.query(Criteria.where("uid").is(uid).and("type").is(type));
Query query = Query.query(Criteria.where("uid").is(uid).and("type").is(type).and("state").is(1));
long count = mongoTemplate.count(query, AdamDisposedBaseVo.class.getSimpleName());
PageInfo<AdamDisposedVo> voPageInfo = null;
if (count > 0) {
Pageable pageable = PageRequest.of(pageNo - 1, pageSize, Sort.by(Sort.Direction.DESC, "createdAt"));
query.with(pageable);
query.with(PageRequest.of(pageNo - 1, pageSize, Sort.by(Sort.Direction.DESC, "createdAt")));
List<AdamDisposedVo> disposedVoList = mongoTemplate.find(query, AdamDisposedVo.class, AdamDisposedBaseVo.class.getSimpleName());
if (!Collections.isEmpty(disposedVoList)) {
if (!CollectionUtils.isEmpty(disposedVoList)) {
List<PerformanceVo> performanceVoList = null;
try {
String[] contentIds = disposedVoList.stream().map(AdamDisposedVo::getContentId).toArray(a -> new String[disposedVoList.size()]);
ResponseDto<List<PerformanceVo>> performanceVoListDto = kylinPerformanceClient.performanceList(contentIds);
if (performanceVoListDto.isSuccess()) {
List<PerformanceVo> performanceVoList = performanceVoListDto.getData();
disposedVoList.forEach(v -> {
performanceVoList.forEach(vl -> {
if (vl.getPerformancesId().equals(v.getContentId())) {
v.setContentInfo(vl);
}
});
});
performanceVoList = performanceVoListDto.getData();
} else {
log.info("Failed:{}.API.performanceList(...) for AdamDisposedVo:{}", kylinPerformanceClient.getClass().getSimpleName(), performanceVoListDto.toJson());
}
} catch (Exception e) {
log.error("Exception:{}.API.performanceList(...) for AdamDisposedVo", kylinPerformanceClient.getClass().getSimpleName(), e);
log.error("Exception:{}.API.performanceList(...) for AdamDisposedVo >> {}", kylinPerformanceClient.getClass().getSimpleName(), e.getLocalizedMessage());
}
if (!CollectionUtils.isEmpty(performanceVoList)) {
performanceVoList.forEach(pv -> {
disposedVoList.forEach(v -> {
if (pv.getPerformancesId().equals(v.getContentId())) v.setContentInfo(pv);
PageInfo<AdamDisposedUserVo> disposedUserVoPageInfo = this.queryDisposedUsers(type, v.getContentId(), 1, 3);
if (disposedUserVoPageInfo.getTotal() > 0) v.setUserVos(disposedUserVoPageInfo.getList());
});
});
} else {
disposedVoList.forEach(v -> {
PageInfo<AdamDisposedUserVo> disposedUserVoPageInfo = this.queryDisposedUsers(type, v.getContentId(), 1, 3);
if (disposedUserVoPageInfo.getTotal() > 0) v.setUserVos(disposedUserVoPageInfo.getList());
});
}
}
......@@ -148,4 +156,24 @@ public class AdamDisposedServiceImpl extends ServiceImpl<AdamDisposedMapper, Ada
return voPageInfo;
}
@Override
public PageInfo<AdamDisposedUserVo> queryDisposedUsers(String type, String contentId, int pageNo, int pageSize) {
Query query = Query.query(Criteria.where("type").is(type).and("contentId").is(contentId).and("state").is(1));
long count = mongoTemplate.count(query, AdamDisposedBaseVo.class.getSimpleName());
PageInfo<AdamDisposedUserVo> voPageInfo = null;
if (count > 0) {
query.with(PageRequest.of(pageNo - 1, pageSize, Sort.by(Sort.Direction.DESC, "createdAt")));
List<AdamDisposedUserVo> disposedUserVoList = mongoTemplate.find(query, AdamDisposedUserVo.class, AdamDisposedBaseVo.class.getSimpleName());
voPageInfo = PageInfo.of(disposedUserVoList);
voPageInfo.setTotal(count);
} else {
voPageInfo = new PageInfo<>();
}
return voPageInfo;
}
}
......@@ -7,7 +7,7 @@ public class KylinRedisConst {
public static final String PERFORMANCES_INVENTORY = "kylin:performances_inventory:ticket:";
public static final String SURPLUS_GENERAL = "surplusGeneral";
public static final String SURPLUS_EXCHANGE = "surplusExchange";
public static final String TICKET = "kylin:ticket:id";
public static final String TICKET = "kylin:ticket:info";
public static final String TIMES = "kylin:times:id";
public static final String BANNERS = "kylin:banners";
}
......@@ -28,6 +28,9 @@ public class PerformanceStep2Param implements Serializable {
@NotNull(message = "不能为空")
private Integer isSubmit;
@ApiModelProperty(hidden = true)
private Integer auditStatus;
@ApiModelProperty(value = "场次数据",hidden = true)
private List<TicketTimesTicketCreatePartnerVo> ticketTimes;
}
......@@ -76,6 +76,8 @@ public class TicketVo {
private Integer isExclusive;
@ApiModelProperty(value = "是否会员")
private Integer isMember;
@ApiModelProperty(value = "是否分销")
private Integer isAgent;
public void setTicket(KylinTickets ticket) {
this.ticketsId = ticket.getTicketsId();
......@@ -91,7 +93,11 @@ public class TicketVo {
this.timeStart = ticket.getTimeStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.timeEnd = ticket.getTimeEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.memberTimeStart = ticket.getTimeStart().plusMinutes(-ticket.getAdvanceMinuteMember()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.timeEndExpress = ticket.getTimeEndExpress().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
if(ticket.getTimeEndExpress()!=null) {
this.timeEndExpress = ticket.getTimeEndExpress().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
}else{
this.timeEndExpress=null;
}
this.useStart = ticket.getUseStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.useEnd = ticket.getUseEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.saleRemindMinute = ticket.getSaleRemindMinute();
......@@ -99,6 +105,7 @@ public class TicketVo {
public void setTicketStatus(KylinTicketStatus ticketStatus) {
this.isMember = ticketStatus.getIsMember();
this.isAgent = ticketStatus.getIsAgent();
this.isExclusive = ticketStatus.getIsExclusive();
this.isTrueName = ticketStatus.getIsTrueName();
this.expressType = ticketStatus.getExpressType();
......
......@@ -26,6 +26,7 @@ public interface IKylinPerformancesAdminService extends IService<KylinPerformanc
/**
* 获取演出详情
*
* @param performancesId 演出id
* @return PerformanceMisVo
*/
......@@ -33,15 +34,17 @@ public interface IKylinPerformancesAdminService extends IService<KylinPerformanc
/**
* 演出审核
*
* @param performancesId 演出id
* @param status 审核状态 3通过 4拒绝
* @param rejectTxt 拒绝理由 如果 status == 4 必填
* @param status 审核状态 3通过 4拒绝
* @param rejectTxt 拒绝理由 如果 status == 4 必填
* @return boolean
*/
boolean performanceAudit(String performancesId,int status ,String rejectTxt);
boolean performanceAudit(String performancesId, int status, String rejectTxt);
/**
* 获取 演出列表 (全量)
*
* @param performanceAdminListParam 列表搜索参数
* @return 分页 sql 数据
*/
......@@ -49,6 +52,7 @@ public interface IKylinPerformancesAdminService extends IService<KylinPerformanc
/**
* 根据巡演id 查询演出列表 简易
*
* @param roadShowId 巡演id
* @return 20个 sql 数据
*/
......@@ -56,6 +60,7 @@ public interface IKylinPerformancesAdminService extends IService<KylinPerformanc
/**
* 根据演出状态 查询演出列表 简易
*
* @param status 演出状态
* @return 20个 sql 数据
*/
......@@ -63,14 +68,16 @@ public interface IKylinPerformancesAdminService extends IService<KylinPerformanc
/**
* 修改演出的巡演关联
*
* @param performancesId 演出id
* @param roadShowId 巡演id
* @param roadShowId 巡演id
* @return boolean
*/
boolean changeRoadShowId(String performancesId,String roadShowId);
boolean changeRoadShowId(String performancesId, String roadShowId);
/**
* 设置 演出推荐 关联
*
* @param performancesId 相关参数
* @return boolean
*/
......@@ -78,12 +85,14 @@ public interface IKylinPerformancesAdminService extends IService<KylinPerformanc
/**
* 查询 推荐演出列表
*
* @return 分页 sql 数据
*/
PageInfo<PerformanceRecommendAdminDao> listRecommend();
/**
* 获取 演出会员信息(包含场次票)
*
* @param performanceId 演出id
* @return sql 数据
*/
......@@ -91,6 +100,7 @@ public interface IKylinPerformancesAdminService extends IService<KylinPerformanc
/**
* 修改 演出会员信息(包含场次票)
*
* @param performanceMemberAuditParam 相关参数
* @return boolean
*/
......@@ -98,32 +108,44 @@ public interface IKylinPerformancesAdminService extends IService<KylinPerformanc
/**
* 列表 待审核 演出会员信息
*
* @param title 标题
* @return 演出名称 id
*/
PageInfo<PerformanceTitleDao> performanceMemberList(String title,int page,int size);
PageInfo<PerformanceTitleDao> performanceMemberList(String title, int page, int size);
/**
* 详情 待审核 演出会员信息
*
* @param performanceId 演出id
* @param status 状态
* @param status 状态
* @return sql 数据
*/
PerformanceMemberAuditDao performanceMemberAuditInfo(String performanceId,int status);
PerformanceMemberAuditDao performanceMemberAuditInfo(String performanceId, int status);
//审核 会员信息
/**
* 审核演出会员相关信息
*
* @param performanceId 演出id
* @return boolean
*/
boolean performanceMemberAudit(String performanceId,int status,String rejectTxt);
boolean performanceMemberAudit(String performanceId, int status, String rejectTxt);
/**
* 列表 演出会员审核记录
*
* @param performanceId 演出id
* @return 分页 vo 数据
*/
PageInfo<PerformanceMemberAuditParam> performanceAuditHistory(String performanceId);
/**
* 修改 当前票种是否关联分销
* @param ticketId 票务id
* @param status 0 否 1 是
* @return
*/
boolean changeTicketAgent(String ticketId, Integer status);
}
......@@ -134,6 +134,11 @@ public class KylinTicketStatus implements Serializable {
*/
private Integer isMember;
/**
* 是否关联代理 0不是 1是
*/
private Integer isAgent;
/**
* 创建时间
*/
......
......@@ -298,6 +298,7 @@ CREATE TABLE `kylin_ticket_status`
`is_transfer` tinyint NOT NULL DEFAULT 0 COMMENT '是否开启转赠 0关闭 1开启',
`is_exclusive` tinyint NOT NULL DEFAULT 0 COMMENT '是否会员专属 0不是 1是',
`is_member` tinyint NOT NULL DEFAULT 0 COMMENT '是否关联会员 0不是 1是',
`is_agent` tinyint NOT NULL DEFAULT 0 COMMENT '是否关联代理 0不是 1是',
`created_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT NULL COMMENT '修改时间',
KEY `kylin_ticket_status_uid_index` (`ticket_status_id`),
......
......@@ -37,11 +37,6 @@
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>org.gavaghan</groupId>
<artifactId>geodesy</artifactId>
</dependency>
</dependencies>
</project>
\ No newline at end of file
......@@ -79,14 +79,6 @@ public class KylinPerformancesController {
return ResponseDto.success(result);
}
@GetMapping(value = "list")
@ApiOperation("根据多个演出id获取演出列表-Adam")
public ResponseDto<List<PerformanceVo>> performanceList(@RequestParam String... performancesIds) {
List<PerformanceVo> result = kylinPerformancesService.performanceList(performancesIds);
return ResponseDto.success(result);
}
@GetMapping("noticeList")
@ApiOperation("演出预告列表")
public ResponseDto<HashMap<String, Object>> noticeList() {
......@@ -101,6 +93,13 @@ public class KylinPerformancesController {
return ResponseDto.success(result);
}
@GetMapping(value = "list")
@ApiOperation("根据多个演出id获取演出列表-Adam")
public ResponseDto<List<PerformanceVo>> performanceList(@RequestParam String... performancesIds) {
List<PerformanceVo> result = kylinPerformancesService.performanceList(performancesIds);
return ResponseDto.success(result);
}
@GetMapping("{performancesId}")
@ApiOperation("演出详情")
public ResponseDto<HashMap<String, Object>> detail(
......@@ -118,8 +117,11 @@ public class KylinPerformancesController {
@GetMapping("partner/{performancesId}")
@ApiOperation("场次票种")
public ResponseDto<List<TicketTimesVo>> ticketTimesPartner(@PathVariable("performancesId") String performancesId) {
List<TicketTimesVo> result = kylinPerformancesService.ticketTimesPartner(performancesId);
public ResponseDto<List<TicketTimesVo>> ticketTimesPartner(
@PathVariable("performancesId") String performancesId,
@RequestParam(value = "isAgent", defaultValue = "0") Integer isAgent
) {
List<TicketTimesVo> result = kylinPerformancesService.ticketTimesPartner(performancesId, isAgent);
if (result.size() > 0) {
return ResponseDto.success(result);
} else {
......
......@@ -30,7 +30,7 @@ import java.util.List;
* @author liquidnet
* @since 2021-05-05
*/
@Api(tags = "后端-演出",position = 2001)
@Api(tags = "后端-演出", position = 2001)
@RestController
@RequestMapping("admin/performance")
public class KylinPerformancesAdminController {
......@@ -39,7 +39,7 @@ public class KylinPerformancesAdminController {
private KylinPerformancesAdminServiceImpl performancesAdminService;
@PostMapping(value = "list")
@ApiOperation(value = "获取列表",position = 1)
@ApiOperation(value = "获取列表", position = 1)
@ApiResponse(response = PerformanceAdminListDao.class, code = 200, message = "接口返回对象参数")
public ResponseDto<PageInfo<PerformanceAdminListDao>> getList(@RequestBody @Valid PerformanceAdminListParam performanceAdminListParam) {
PageInfo<PerformanceAdminListDao> result = null;
......@@ -52,7 +52,7 @@ public class KylinPerformancesAdminController {
}
@GetMapping(value = "details")
@ApiOperation(value = "获取演出详情",position = 2)
@ApiOperation(value = "获取演出详情", position = 2)
@ApiResponse(response = PerformanceMisVo.class, code = 200, message = "接口返回对象参数")
public ResponseDto<PerformanceMisVo> performanceDetails(@RequestParam("performancesId") String performancesId) {
PerformanceMisVo result = null;
......@@ -65,7 +65,7 @@ public class KylinPerformancesAdminController {
}
@PostMapping(value = "audit")
@ApiOperation(value = "演出审核",position = 3)
@ApiOperation(value = "演出审核", position = 3)
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<String> performanceAudit(@RequestParam("performancesId") String performancesId, @RequestParam("status") int status, @RequestParam(value = "rejectTxt", required = false) String rejectTxt) {
boolean result = performancesAdminService.performanceAudit(performancesId, status, rejectTxt);
......@@ -77,7 +77,7 @@ public class KylinPerformancesAdminController {
}
@GetMapping(value = "list/roadshow")
@ApiOperation(value = "列表根据巡演id",position = 4)
@ApiOperation(value = "列表根据巡演id", position = 4)
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<List<PerformanceTitleDao>> getListByRoadShowId(@RequestParam("roadShowId") String roadShowId) {
List<PerformanceTitleDao> result = performancesAdminService.getListByRoadShowId(roadShowId);
......@@ -89,7 +89,7 @@ public class KylinPerformancesAdminController {
}
@GetMapping(value = "list/status")
@ApiOperation(value = "列表根据演出状态",position = 5)
@ApiOperation(value = "列表根据演出状态", position = 5)
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<List<PerformanceTitleDao>> getListByStatus(@RequestParam("status") String status) {
List<PerformanceTitleDao> result = performancesAdminService.getListByStatus(status);
......@@ -101,7 +101,7 @@ public class KylinPerformancesAdminController {
}
@GetMapping(value = "roadShow/relation")
@ApiOperation(value = "修改演出巡演关联",position = 6)
@ApiOperation(value = "修改演出巡演关联", position = 6)
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<String> changeRoadShowId(@RequestParam("performanceId") String performanceId, @RequestParam("roadShowId") String roadShowId) {
boolean result = performancesAdminService.changeRoadShowId(performanceId, roadShowId);
......@@ -112,8 +112,8 @@ public class KylinPerformancesAdminController {
}
}
@PutMapping(value = "performance/recommend")
@ApiOperation(value = "演出推荐编辑",position = 7)
@PutMapping(value = "recommend")
@ApiOperation(value = "演出推荐编辑", position = 7)
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<String> setRecommend(@RequestBody @Valid List<PerformanceRecommendAdminParam> performanceRecommendAdminParam) {
boolean result = performancesAdminService.setRecommend(performanceRecommendAdminParam);
......@@ -124,8 +124,8 @@ public class KylinPerformancesAdminController {
}
}
@GetMapping(value = "performance/recommend/list")
@ApiOperation(value = "演出推荐列表",position = 8)
@GetMapping(value = "recommend/list")
@ApiOperation(value = "演出推荐列表", position = 8)
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<PageInfo<PerformanceRecommendAdminDao>> listRecommend() {
PageInfo<PerformanceRecommendAdminDao> result = performancesAdminService.listRecommend();
......@@ -136,8 +136,8 @@ public class KylinPerformancesAdminController {
}
}
@GetMapping(value = "performance/member/details")
@ApiOperation(value = "演出会员信息",position = 9)
@GetMapping(value = "member/details")
@ApiOperation(value = "演出会员信息", position = 9)
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<PerformanceMemberAuditDao> performanceMemberInfo(@RequestParam("performanceId") @NotNull String performanceId) {
PerformanceMemberAuditDao result = performancesAdminService.performanceMemberInfo(performanceId);
......@@ -148,8 +148,8 @@ public class KylinPerformancesAdminController {
}
}
@PutMapping(value = "performance/member/change")
@ApiOperation(value = "修改演出会员数据",position = 10)
@PutMapping(value = "member/change")
@ApiOperation(value = "修改演出会员数据", position = 10)
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<String> performanceMemberChange(@RequestBody PerformanceMemberAuditParam performanceMemberAuditParam) {
boolean result = performancesAdminService.performanceMemberChange(performanceMemberAuditParam);
......@@ -160,8 +160,8 @@ public class KylinPerformancesAdminController {
}
}
@GetMapping(value = "performance/member/list")
@ApiOperation(value = "待审核会员演出列表",position = 11)
@GetMapping(value = "member/list")
@ApiOperation(value = "待审核会员演出列表", position = 11)
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<PageInfo<PerformanceTitleDao>> performanceMemberList(@RequestParam("title") @NotNull String title,
@RequestParam("page") @NotNull int page,
......@@ -174,8 +174,8 @@ public class KylinPerformancesAdminController {
}
}
@GetMapping(value = "performance/member/details/audit")
@ApiOperation(value = "演出会员信息(根据status 1待审核 2已拒绝 3已通过)",position = 12)
@GetMapping(value = "member/details/audit")
@ApiOperation(value = "演出会员信息(根据status 1待审核 2已拒绝 3已通过)", position = 12)
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<PerformanceMemberAuditDao> performanceMemberAuditInfo(@RequestParam("performanceId") @NotNull String performanceId,
@RequestParam(value = "status") @NotNull int status) {
......@@ -187,8 +187,8 @@ public class KylinPerformancesAdminController {
}
}
@PostMapping(value = "performance/member/audit")
@ApiOperation(value = "审核演出会员信息",position = 13)
@PostMapping(value = "member/audit")
@ApiOperation(value = "审核演出会员信息", position = 13)
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<String> performanceMemberAudit(@RequestParam("performanceId") @NotNull String performanceId,
@RequestParam("status") @NotNull int status,
......@@ -201,7 +201,7 @@ public class KylinPerformancesAdminController {
}
}
@PostMapping(value = "performance/member/history")
@PostMapping(value = "member/history")
@ApiOperation(value = "会员审核记录")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<PageInfo<PerformanceMemberAuditParam>> performanceAuditHistory(@RequestParam("performanceId") @NotNull String performanceId) {
......@@ -212,4 +212,16 @@ public class KylinPerformancesAdminController {
return ResponseDto.failure("操作失败");
}
}
@PostMapping(value = "ticket/agent")
@ApiOperation(value = "修改票分销状态")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<String> changeTicketAgent(@RequestParam("ticketId") @NotNull String ticketId, @RequestParam("status") @NotNull Integer status) {
boolean result = performancesAdminService.changeTicketAgent(ticketId, status);
if (result) {
return ResponseDto.success("修改完成");
} else {
return ResponseDto.failure("操作失败");
}
}
}
package com.liquidnet.service.kylin.service.impl;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.DistanceUtil;
import com.liquidnet.service.kylin.constant.KylinPerformanceStatusEnum;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.vo.PerformanceVo;
......@@ -11,9 +12,6 @@ import com.liquidnet.service.kylin.mapper.KylinPerformancesMapper;
import com.liquidnet.service.kylin.service.IKylinPerformancesService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.bson.Document;
import org.gavaghan.geodesy.Ellipsoid;
import org.gavaghan.geodesy.GeodeticCalculator;
import org.gavaghan.geodesy.GlobalCoordinates;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
......@@ -230,29 +228,10 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
performancesInfo.setMessage(KylinPerformanceStatusEnum.getName(performancesInfo.getAppStatus()));
// 处理距离
GlobalCoordinates source = new GlobalCoordinates(latitudeFrom, longitudeFrom);
GlobalCoordinates target = new GlobalCoordinates(Double.valueOf(performancesInfo.getLatitude()), Double.valueOf(performancesInfo.getLongitude()));
double diffDistanceDouble = new GeodeticCalculator().calculateGeodeticCurve(Ellipsoid.Sphere, source, target).getEllipsoidalDistance();
int diffDistanceInt = (int) diffDistanceDouble;
String diffDistance;
if (diffDistanceInt > 1000) {
diffDistanceInt = diffDistanceInt / 1000;
diffDistance = String.valueOf(diffDistanceInt) + "km";
} else {
diffDistance = String.valueOf(diffDistanceInt) + "m";
}
String diffDistance = DistanceUtil.getDistance(longitudeFrom, latitudeFrom, Double.parseDouble(performancesInfo.getLongitude()), Double.parseDouble(performancesInfo.getLatitude()));
performancesInfo.setDiffDistance(diffDistance);
for (PerformanceVo road : roadList) {
GlobalCoordinates targetRoad = new GlobalCoordinates(Double.valueOf(road.getLatitude()), Double.valueOf(road.getLongitude()));
double diffDistanceDoubleRoad = new GeodeticCalculator().calculateGeodeticCurve(Ellipsoid.Sphere, source, targetRoad).getEllipsoidalDistance();
int diffDistanceIntRoad = (int) diffDistanceDoubleRoad;
String diffDistanceRoad;
if (diffDistanceIntRoad > 1000) {
diffDistanceIntRoad = diffDistanceIntRoad / 1000;
diffDistanceRoad = String.valueOf(diffDistanceIntRoad) + "km";
} else {
diffDistanceRoad = String.valueOf(diffDistanceIntRoad) + "m";
}
String diffDistanceRoad = DistanceUtil.getDistance(longitudeFrom, latitudeFrom, Double.parseDouble(performancesInfo.getLongitude()), Double.parseDouble(performancesInfo.getLatitude()));
road.setDiffDistance(diffDistanceRoad);
}
......@@ -262,7 +241,7 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
return info;
}
public List<TicketTimesVo> ticketTimesPartner(String performancesId) {
public List<TicketTimesVo> ticketTimesPartner(String performancesId, Integer isAgent) {
HashMap<String, Object> info = new HashMap<>();
List<TicketTimesVo> ticketTimesList = mongoTemplate.find(
......@@ -271,10 +250,14 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
TicketTimesVo.class.getSimpleName()
);
for (TicketTimesVo partner : ticketTimesList) {
Query query = Query.query(Criteria.where("timeId").is(partner.getTimeId()));
if (isAgent > 0) {
query.addCriteria(Criteria.where("isAgent").is(isAgent));
}
List<TicketVo> ticketList = mongoTemplate.find(
Query.query(Criteria.where("timeId").is(partner.getTimeId())),
TicketVo.class,
TicketVo.class.getSimpleName()
query,
TicketVo.class,
TicketVo.class.getSimpleName()
);
for (TicketVo ticket : ticketList) {
......
......@@ -23,6 +23,7 @@ import com.mongodb.BasicDBObject;
import com.mongodb.client.model.FindOneAndUpdateOptions;
import com.mongodb.client.model.ReturnDocument;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.pool2.BaseObject;
import org.bson.Document;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
......@@ -163,7 +164,7 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
performanceVoTask.performanceVoStatus(performancesId);
}
}
redisUtil.hdel(KylinRedisConst.PERFORMANCES,performancesId);
} else if (status == 4) {
log.info(" PERFORMANCE 演出审核 拒绝");
auditStatus = 2;
......@@ -251,6 +252,7 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
Query.query(Criteria.where("performancesId").is(performancesId)).getQueryObject(),
object
);
redisUtil.hdel(KylinRedisConst.PERFORMANCES,performancesId);
return true;
} catch (Exception e) {
return false;
......@@ -443,7 +445,7 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
}
performanceVoTask.performanceVoStatus(performanceId);
redisUtil.hdel(KylinRedisConst.PERFORMANCES ,performanceId);
HashMap<String, Object> map2 = new HashMap<>();
map2.put("status", 3);
map2.put("updatedAt", updatedAt);
......@@ -495,4 +497,33 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
return pageInfoTmp;
}
@Override
public boolean changeTicketAgent(String ticketId, Integer status) {
try {
LocalDateTime updatedAt = LocalDateTime.now();
if (status != 0 && status != 1) {
return false;
}
//修改 mysql
KylinTicketStatus ticketStatus = new KylinTicketStatus();
ticketStatus.setUpdatedAt(updatedAt);
ticketStatus.setIsAgent(status);
ticketStatusMapper.update(ticketStatus, new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", ticketId));
//修改 mongo
HashMap<String, Object> map = new HashMap<>();
map.put("updatedAt", updatedAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
map.put("isAgent", status);
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
mongoTemplate.getCollection(TicketVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("ticketsId").is(ticketId)).getQueryObject(),
object);
redisUtil.hdel(KylinRedisConst.TICKET , ticketId);
return true;
} catch (Exception e) {
return false;
}
}
}
......@@ -418,7 +418,6 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
@Override
public ResponseDto<PerformanceStep2Param> getStep2(String performancesId) {
PerformanceStep2Param performanceCreatePartnerVo = null;
PerformancePartnerVo data = mongoTemplate.findOne(
Query.query(Criteria.where("performancesId").is(performancesId)), PerformancePartnerVo.class, PerformancePartnerVo.class.getSimpleName()
);
......@@ -439,9 +438,9 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
PerformanceStep2Param performanceStep2Param = new PerformanceStep2Param();
BeanUtils.copyProperties(data, performanceStep2Param);
performanceStep2Param.setTicketTimes(ticketTimesTicketCreatePartnerVoList);
performanceCreatePartnerVo = performanceStep2Param;
// performanceStep2Param.setAuditStatus();
log.info(" PERFORMANCE 演出第二步 获取");
return ResponseDto.success(performanceCreatePartnerVo);
return ResponseDto.success(performanceStep2Param);
}
@Override
......
......@@ -326,17 +326,24 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
ticketStatusMapper.update(changeStatus, new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", ticketsId));
// mongo 操作
KylinTicketStatus ticketStatusMongo = ticketStatusMapper.selectOne(new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", ticketsId).between("status", 1, 10).ne("status", 7));
KylinTicketStatus ticketStatusMySql = ticketStatusMapper.selectOne(new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", ticketsId).between("status", 1, 10).ne("status", 7));
KylinTicketRelations ticketRelation = ticketRelationsMapper.selectOne(new UpdateWrapper<KylinTicketRelations>().eq("ticket_id", ticketsId));
KylinTickets tickets = ticketsMapper.selectOne(
new UpdateWrapper<KylinTickets>().eq("tickets_id", ticketsId
)
new UpdateWrapper<KylinTickets>().eq("tickets_id", ticketsId)
);
HashMap<String,Object> map = new HashMap<>();
map.put("status",6);
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
mongoTemplate.getCollection(TicketPartnerVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("ticketsId").is(ticketsId)).getQueryObject(),
object
);
TicketVo ticketVo = new TicketVo();
ticketVo.setTimeId(ticketRelation.getTimesId());
ticketVo.setTicket(tickets);
ticketVo.setTicketStatus(ticketStatusMongo);
ticketVo.setTicketStatus(ticketStatusMySql);
boolean ticketExists =
mongoTemplate.exists(Query.query(Criteria.where("ticketsId").is(ticketVo.getTicketsId())), TicketVo.class, TicketVo.class.getSimpleName());
......@@ -366,6 +373,15 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
changeStatus.setStatus(7);
ticketStatusMapper.update(changeStatus, new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", ticketsId));
// mongo 操作
HashMap<String,Object> map = new HashMap<>();
map.put("status",7);
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
mongoTemplate.getCollection(TicketPartnerVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("ticketsId").is(ticketsId)).getQueryObject(),
object
);
TicketVo ticketVoItem = mongoTemplate.findOne(Query.query(Criteria.where("ticketsId").is(ticketsId)), TicketVo.class, TicketVo.class.getSimpleName());
TicketIgnoreVo ticketIgnoreVo = new TicketIgnoreVo();
BeanUtils.copyProperties(ticketVoItem, ticketIgnoreVo);
......
......@@ -257,9 +257,9 @@ public class PerformanceVoTask {
// performanceMisVo.setStatusSell(null);
// performanceMisVo.setRejectTxt("");
// performanceMisVo.setIsShow(1);
performanceMisVo.setIsDistribution(0);
performanceMisVo.setSyncAgent(0);
performanceMisVo.setAuditStatus(0);
performanceMisVo.setIsDistribution(0);
performanceMisVo.setSyncAgent(0);
performanceMisVo.setAuditStatus(0);
// }
// boolean exists = mongoTemplate.exists(Query.query(Criteria.where("performancesId").is(performancesId)), PerformanceMisVo.class, PerformanceMisVo.class.getSimpleName());
......@@ -312,11 +312,11 @@ public class PerformanceVoTask {
performanceRelations.setCreatedAt(performances.getCreatedAt());
performanceRelations.setUpdatedAt(updatedAt);
performancesMapper.delete(new UpdateWrapper<KylinPerformances>().eq("performances_id",performances.getPerformancesId()));
performancesMapper.delete(new UpdateWrapper<KylinPerformances>().eq("performances_id", performances.getPerformancesId()));
performancesMapper.insert(performances);
performanceStatusMapper.delete(new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id",performanceStatus.getPerformanceId()));
performanceStatusMapper.delete(new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performanceStatus.getPerformanceId()));
performanceStatusMapper.insert(performanceStatus);
performanceRelationsMapper.delete(new UpdateWrapper<KylinPerformanceRelations>().eq("performance_id",performanceRelations.getPerformanceId()));
performanceRelationsMapper.delete(new UpdateWrapper<KylinPerformanceRelations>().eq("performance_id", performanceRelations.getPerformanceId()));
performanceRelationsMapper.insert(performanceRelations);
......@@ -340,9 +340,9 @@ public class PerformanceVoTask {
ticketTimeRelation.setCreatedAt(ticketTimes.getCreatedAt());
ticketTimeRelation.setUpdatedAt(updatedAt);
ticketTimesMapper.delete(new UpdateWrapper<KylinTicketTimes>().eq("ticket_times_id",ticketTimes.getTicketTimesId()));
ticketTimesMapper.delete(new UpdateWrapper<KylinTicketTimes>().eq("ticket_times_id", ticketTimes.getTicketTimesId()));
ticketTimesMapper.insert(ticketTimes);
ticketTimeRelationMapper.delete(new UpdateWrapper<KylinTicketTimeRelation>().eq("ticket_time_relation_id",ticketTimeRelation.getTimesId()));
ticketTimeRelationMapper.delete(new UpdateWrapper<KylinTicketTimeRelation>().eq("ticket_time_relation_id", ticketTimeRelation.getTimesId()));
ticketTimeRelationMapper.insert(ticketTimeRelation);
//修改票
......@@ -397,11 +397,11 @@ public class PerformanceVoTask {
ticketRelations.setCreatedAt(tickets.getCreatedAt());
ticketRelations.setUpdatedAt(updatedAt);
ticketsMapper.delete(new UpdateWrapper<KylinTickets>().eq("tickets_id",tickets.getTicketsId()));
ticketsMapper.delete(new UpdateWrapper<KylinTickets>().eq("tickets_id", tickets.getTicketsId()));
ticketsMapper.insert(tickets);
ticketStatusMapper.delete(new UpdateWrapper<KylinTicketStatus>().eq("ticket_id",ticketStatus.getTicketId()));
ticketStatusMapper.delete(new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", ticketStatus.getTicketId()));
ticketStatusMapper.insert(ticketStatus);
ticketRelationsMapper.delete(new UpdateWrapper<KylinTicketRelations>().eq("ticket_id",ticketRelations.getTicketId()));
ticketRelationsMapper.delete(new UpdateWrapper<KylinTicketRelations>().eq("ticket_id", ticketRelations.getTicketId()));
ticketRelationsMapper.insert(ticketRelations);
}
}
......@@ -418,7 +418,7 @@ public class PerformanceVoTask {
* @param performanceUpdateMisVo
* @param updatedAt
*/
public void updatePerformanceMySql(String performancesId, HashMap<String, Object> map, PerformanceMisVo performanceUpdateMisVo, LocalDateTime updatedAt,Integer auditStatus) {
public void updatePerformanceMySql(String performancesId, HashMap<String, Object> map, PerformanceMisVo performanceUpdateMisVo, LocalDateTime updatedAt, Integer auditStatus) {
try {
//创建演出
KylinPerformances performances = new KylinPerformances();
......@@ -471,27 +471,45 @@ public class PerformanceVoTask {
ticketTimeRelation.setCreatedAt(null);
ticketTimeRelation.setUpdatedAt(updatedAt);
ticketTimesMapper.update(ticketTimes, new UpdateWrapper<KylinTicketTimes>().eq("ticket_times_id", ticketTimes.getTicketTimesId()));
ticketTimeRelationMapper.update(ticketTimeRelation, new UpdateWrapper<KylinTicketTimeRelation>().eq("ticket_time_id", ticketTimes.getTicketTimesId()));
if (ticketTimeItem.getStatus() == -1) {
ticketTimes.setStatus(1);
ticketTimesMapper.insert(ticketTimes);
ticketTimeRelationMapper.insert(ticketTimeRelation);
TicketTimesVo ticketTimesVo = new TicketTimesVo();
ticketTimesVo.setTicketTimes(ticketTimes);
ticketTimesVo.setPerformanceId(ticketTimeRelation.getPerformanceId());
ticketTimesVo.setTimeId(ticketTimeRelation.getTimesId());
// HashMap<String ,Object> map2 = new HashMap<>();
// map2.put("status",1);
// BasicDBObject obj = new BasicDBObject("$set", mongoConverter.convertToMongoType(map2));
// mongoTemplate.getCollection(TicketTimesPartnerVo.class.getSimpleName()).updateOne(
// Query.query(Criteria.where("ticketTimesId").is(ticketTimes.getTicketTimesId())).getQueryObject(),
// obj
// );
boolean ticketTimesExists =
mongoTemplate.exists(Query.query(Criteria.where("ticketTimesId").is(ticketTimesVo.getTicketTimesId())), TicketTimesVo.class, TicketTimesVo.class.getSimpleName());
if (!ticketTimesExists) {
mongoTemplate.insert(
ticketTimesVo, TicketTimesVo.class.getSimpleName()
);
}
} else {
ticketTimesMapper.update(ticketTimes, new UpdateWrapper<KylinTicketTimes>().eq("ticket_times_id", ticketTimes.getTicketTimesId()));
ticketTimeRelationMapper.update(ticketTimeRelation, new UpdateWrapper<KylinTicketTimeRelation>().eq("times_id", ticketTimes.getTicketTimesId()));
}
//修改票
for (TicketPartnerVo ticketItem : ticketsPartnerService.getTicketMongoList(ticketTimeItem.getTicketTimesId())) {
TicketPartnerVo ticketPartnerVo;
if (ticketItem.getStatus() != 7) {
BasicDBObject objectTicketVo = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
Document docTicket = mongoTemplate.getCollection(TicketPartnerVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("ticketsId").is(ticketItem.getTicketsId())).getQueryObject(),
objectTicketVo,
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
);
ticketPartnerVo = JsonUtils.fromJson(docTicket.toJson(), TicketPartnerVo.class);
} else {
ticketPartnerVo = mongoTemplate.findOne(
Query.query(Criteria.where("ticketsId").is(ticketItem.getTicketsId())),
TicketPartnerVo.class,
TicketPartnerVo.class.getSimpleName()
);
}
ticketPartnerVo = mongoTemplate.findOne(
Query.query(Criteria.where("ticketsId").is(ticketItem.getTicketsId())),
TicketPartnerVo.class,
TicketPartnerVo.class.getSimpleName()
);
//创建演出
KylinTickets tickets = new KylinTickets();
......@@ -506,41 +524,87 @@ public class PerformanceVoTask {
tickets.setPriceDiscount(new BigDecimal("0.00"));
tickets.setTimeStart(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketItem.getTimeStart())));
tickets.setTimeEnd(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketItem.getTimeEnd())));
tickets.setTimeEndExpress(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketItem.getTimeEndExpress())));
if (ticketItem.getIsExpress() == 1) {
tickets.setTimeEndExpress(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketItem.getTimeEndExpress())));
}
tickets.setUseStart(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketTimeItem.getUseStart())));
tickets.setUseEnd(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketTimeItem.getUseEnd())));
tickets.setSaleRemindMinute(60);
tickets.setCreatedAt(null);
tickets.setUpdatedAt(updatedAt);
ticketStatus.setTicketStatusId(IDGenerator.nextSnowId().toString());
ticketStatus.setTicketId(tickets.getTicketsId());
ticketStatus.setCounts(null);
ticketStatus.setIsMember(null);
ticketStatus.setStatusExchange(7);
ticketStatus.setQrCodeShowTime(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketItem.getQrCodeShowTime())));
//不改动数据 价格 限购 购票时间
ticketStatus.setLimitCount(null);
ticketStatus.setTotalGeneral(null);
ticketStatus.setTotalExchange(null);
tickets.setTimeStart(null);
tickets.setTimeEnd(null);
ticketRelations.setCreatedAt(null);
if (ticketItem.getIsShowCode() == 1) {
ticketStatus.setQrCodeShowTime(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketItem.getQrCodeShowTime())));
}
ticketRelations.setUpdatedAt(updatedAt);
ticketRelations.setTicketRelationsId(IDGenerator.nextSnowId().toString());
ticketRelations.setTicketId(tickets.getTicketsId());
ticketRelations.setCreatedAt(null);
ticketRelations.setUpdatedAt(updatedAt);
ticketsMapper.update(tickets, new UpdateWrapper<KylinTickets>().eq("tickets_id", tickets.getTicketsId()));
ticketStatusMapper.update(ticketStatus, new UpdateWrapper<KylinTicketStatus>().eq("tickets_id", tickets.getTicketsId()));
ticketRelationsMapper.update(ticketRelations, new UpdateWrapper<KylinTicketRelations>().eq("tickets_id", tickets.getTicketsId()));
if (ticketItem.getStatus() == -2) {
// ticketStatus.setLimitCount(null);
// ticketStatus.setTotalGeneral(null);
// ticketStatus.setTotalExchange(null);
// tickets.setTimeStart(null);
// tickets.setTimeEnd(null);
tickets.setAdvanceMinuteMember(5);
ticketStatus.setIsMember(1);
ticketRelations.setCreatedAt(LocalDateTime.now());
tickets.setCreatedAt(LocalDateTime.now());
ticketsMapper.insert(tickets);
ticketStatus.setStatus(9);
ticketStatusMapper.insert(ticketStatus);
ticketRelationsMapper.insert(ticketRelations);
TicketVo ticketVo = new TicketVo();
ticketVo.setTimeId(ticketRelations.getTimesId());
ticketVo.setTicket(tickets);
ticketVo.setTicketStatus(ticketStatus);
redisUtil.hset(KylinRedisConst.PERFORMANCES_INVENTORY + ticketVo.getTicketsId(), KylinRedisConst.SURPLUS_GENERAL, ticketStatus.getSurplusGeneral());
redisUtil.hset(KylinRedisConst.PERFORMANCES_INVENTORY + ticketVo.getTicketsId(), KylinRedisConst.SURPLUS_EXCHANGE, ticketStatus.getSurplusExchange());
BasicDBObject objectTicketVo = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
mongoTemplate.getCollection(TicketPartnerVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("ticketsId").is(ticketItem.getTicketsId())).getQueryObject(),
objectTicketVo
);
boolean ticketExists =
mongoTemplate.exists(Query.query(Criteria.where("ticketsId").is(ticketVo.getTicketsId())), TicketVo.class, TicketVo.class.getSimpleName());
if (!ticketExists) {
mongoTemplate.insert(
ticketVo, TicketVo.class.getSimpleName()
);
}
} else {
//不改动数据 价格 限购 购票时间
ticketStatus.setLimitCount(null);
ticketStatus.setTotalGeneral(null);
ticketStatus.setTotalExchange(null);
tickets.setTimeStart(null);
tickets.setTimeEnd(null);
ticketStatus.setCounts(null);
ticketStatus.setIsMember(null);
ticketRelations.setCreatedAt(null);
tickets.setCreatedAt(null);
ticketsMapper.update(tickets, new UpdateWrapper<KylinTickets>().eq("tickets_id", tickets.getTicketsId()));
ticketStatusMapper.update(ticketStatus, new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", tickets.getTicketsId()));
ticketRelationsMapper.update(ticketRelations, new UpdateWrapper<KylinTicketRelations>().eq("ticket_id", tickets.getTicketsId()));
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
......
......@@ -244,12 +244,6 @@
<artifactId>aliyun-java-sdk-dypnsapi</artifactId>
<version>1.1.3</version>
</dependency>
<!-- 计算经纬度距离 -->
<dependency>
<groupId>org.gavaghan</groupId>
<artifactId>geodesy</artifactId>
<version>1.1.3</version>
</dependency>
</dependencies>
</dependencyManagement>
......
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