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

Commit 109261ff authored by anjiabin's avatar anjiabin

提交chime社交相关

parent 4a9caa95
package com.liquidnet.service.chime.constant;
import com.liquidnet.commons.lang.util.IDGenerator;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: TODO
* @class: ChimeConstant
* @Package com.liquidnet.service.chime.constant
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2021/9/9 10:59
*/
public class ChimeConstant {
public static String USER_ID_PREFIX = "CHE";
public static String getNewUserId(){
return USER_ID_PREFIX + IDGenerator.nextTimeId();
}
}
...@@ -33,4 +33,13 @@ public class ChimeUserInfoDto { ...@@ -33,4 +33,13 @@ public class ChimeUserInfoDto {
private String joinPerformanceId; private String joinPerformanceId;
@ApiModelProperty(position = 5, value = "用户标签") @ApiModelProperty(position = 5, value = "用户标签")
private List<ChimeTagVo> userTags; private List<ChimeTagVo> userTags;
private static final ChimeUserInfoDto obj = new ChimeUserInfoDto();
public static ChimeUserInfoDto getNew() {
try {
return (ChimeUserInfoDto) obj.clone();
} catch (CloneNotSupportedException e) {
return new ChimeUserInfoDto();
}
}
} }
package com.liquidnet.service.chime.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: TODO
* @class: ChimeUserListQueryReqDto
* @Package com.liquidnet.service.chime.dto
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2021/9/9 12:05
*/
@Data
public class ChimeUserListQueryReqDto {
@ApiModelProperty(value = "演出ID", example = "")
private String performanceId;
@ApiModelProperty(value = "每页记录数", example = "20")
@NotNull(message = "每页记录数不能为空")
private Integer pageSize;
@ApiModelProperty(value = "当前页", example = "0")
@NotNull(message = "当前页不能为空")
private Integer pageNum;
@ApiModelProperty(value = "排序字段", hidden = true)
private String orderItem;
@ApiModelProperty(value = "排序方式", hidden = true)
private String orderSc;
private static final ChimeUserListQueryReqDto obj = new ChimeUserListQueryReqDto();
public static ChimeUserListQueryReqDto getNew() {
try {
return (ChimeUserListQueryReqDto) obj.clone();
} catch (CloneNotSupportedException e) {
return new ChimeUserListQueryReqDto();
}
}
}
package com.liquidnet.service.chime.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: TODO
* @class: ChimeUserListQueryReqDto
* @Package com.liquidnet.service.chime.dto
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2021/9/9 12:05
*/
@Data
public class PerformanceQueryReqDto {
@ApiModelProperty(value = "演出ID", example = "")
private String performanceId;
@ApiModelProperty(value = "排序类型 1创建时间倒序 2创建时间正序 3演出时间倒序 4演出时间正序", example = "0")
@NotNull(message = "排序类型不能为空")
private Integer orderType;
@ApiModelProperty(value = "每页记录数", example = "20")
@NotNull(message = "每页记录数不能为空")
private Integer pageSize;
@ApiModelProperty(value = "当前页", example = "0")
@NotNull(message = "当前页不能为空")
private Integer pageNum;
@ApiModelProperty(value = "排序字段", hidden = true)
private String orderItem;
@ApiModelProperty(value = "排序方式", hidden = true)
private String orderSc;
public void setOrderType(Integer orderType) {
this.orderType = orderType;
switch (orderType) {
case 1: {
orderItem = "created_at";
orderSc = "desc";
break;
}
case 2: {
orderItem = "created_at";
orderSc = "asc";
break;
}
case 3: {
orderItem = "time_start";
orderSc = "desc";
break;
}
case 4: {
orderItem = "time_start";
orderSc = "asc";
break;
}
}
}
private static final PerformanceQueryReqDto obj = new PerformanceQueryReqDto();
public static PerformanceQueryReqDto getNew() {
try {
return (PerformanceQueryReqDto) obj.clone();
} catch (CloneNotSupportedException e) {
return new PerformanceQueryReqDto();
}
}
}
package com.liquidnet.service.chime.service;
import com.liquidnet.service.base.PagedResult;
import com.liquidnet.service.chime.dto.ChimeUserInfoDto;
import com.liquidnet.service.chime.dto.ChimeUserListQueryReqDto;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: TODO
* @class: IChimePerformanceService
* @Package com.liquidnet.service.chime.service
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2021/9/9 12:03
*/
public interface IChimePerformanceService {
// PageInfo<ChimeUserInfoDto> getUserListByCon(ChimeUserListQueryReqDto reqDto);
PagedResult<ChimeUserInfoDto> getUserListByCon(ChimeUserListQueryReqDto reqDto);
}
package com.liquidnet.service.chime.service; package com.liquidnet.service.chime.service;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.liquidnet.service.chime.dto.ChimeUserInfoDto;
import com.liquidnet.service.chime.dto.ChimeUserRegisterReqDto; import com.liquidnet.service.chime.dto.ChimeUserRegisterReqDto;
/** /**
...@@ -19,4 +20,6 @@ public interface IChimeUserService { ...@@ -19,4 +20,6 @@ public interface IChimeUserService {
* @return * @return
*/ */
JSONObject register(ChimeUserRegisterReqDto reqDto); JSONObject register(ChimeUserRegisterReqDto reqDto);
ChimeUserInfoDto createChimeUserInfo(ChimeUserRegisterReqDto reqDto);
} }
...@@ -16,7 +16,7 @@ import lombok.Data; ...@@ -16,7 +16,7 @@ import lombok.Data;
@ApiModel(value = "ChimeUserInfoVo", description = "社交用户信息") @ApiModel(value = "ChimeUserInfoVo", description = "社交用户信息")
@Data @Data
public class ChimeUserInfoVo { public class ChimeUserInfoVo {
private Integer mid; private String mid;
private static final long serialVersionUID = 5325511589667456213L; private static final long serialVersionUID = 5325511589667456213L;
@ApiModelProperty(position = 0, value = "用户ID[64]") @ApiModelProperty(position = 0, value = "用户ID[64]")
private String userId; private String userId;
......
...@@ -5,7 +5,16 @@ import java.util.List; ...@@ -5,7 +5,16 @@ import java.util.List;
public class PagedResult<T> implements Serializable, Cloneable { public class PagedResult<T> implements Serializable, Cloneable {
private static final long serialVersionUID = 8141034447809038759L; private static final long serialVersionUID = 8141034447809038759L;
/** /**
* 当前页数
*/
private int currentPage = 1;
/**
* 每页记录数
*/
private int pageSize = 10;
/**
* 总页数 * 总页数
*/ */
private int pages; private int pages;
...@@ -65,4 +74,58 @@ public class PagedResult<T> implements Serializable, Cloneable { ...@@ -65,4 +74,58 @@ public class PagedResult<T> implements Serializable, Cloneable {
return new PagedResult<>(); return new PagedResult<>();
} }
} }
public static long getSerialVersionUID() {
return serialVersionUID;
}
public int getCurrentPage() {
return currentPage;
}
public PagedResult<T> setCurrentPage(int currentPage) {
this.currentPage = currentPage;
return this;
}
public int getPageSize() {
return pageSize;
}
public PagedResult<T> setPageSize(int pageSize) {
this.pageSize = pageSize;
return this;
}
public boolean isFirst()
{
return (this.currentPage == 1) || (this.total == 0);
}
public boolean isLast() {
return (this.total == 0) || (this.currentPage >= this.pages);
}
public boolean isHasNext()
{
return this.currentPage < this.pages;
}
public boolean isHasPrev() {
return this.currentPage > 1;
}
public Integer getNextPage()
{
if (this.currentPage >= this.pages) {
return Integer.valueOf(this.pages);
}
return Integer.valueOf(this.currentPage + 1);
}
public Integer getPrevPage() {
if (this.currentPage <= 1) {
return Integer.valueOf(1);
}
return Integer.valueOf(this.currentPage - 1);
}
} }
package com.liquidnet.service.chime.controller; package com.liquidnet.service.chime.controller;
import com.liquidnet.service.base.PagedResult;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.chime.dto.ChimeUserInfoDto; import com.liquidnet.service.chime.dto.ChimeUserInfoDto;
import com.liquidnet.service.chime.dto.ChimeUserListQueryReqDto;
import com.liquidnet.service.chime.dto.PerformanceDto; import com.liquidnet.service.chime.dto.PerformanceDto;
import com.liquidnet.service.chime.service.IChimePerformanceService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
...@@ -27,6 +31,9 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -27,6 +31,9 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping("performance") @RequestMapping("performance")
@Validated @Validated
public class ChimePerformanceController { public class ChimePerformanceController {
@Autowired
private IChimePerformanceService chimePerformanceService;
@GetMapping("myPerformanceList") @GetMapping("myPerformanceList")
@ApiOperation("已购票的演出") @ApiOperation("已购票的演出")
@ApiImplicitParams({ @ApiImplicitParams({
...@@ -81,28 +88,32 @@ public class ChimePerformanceController { ...@@ -81,28 +88,32 @@ public class ChimePerformanceController {
@GetMapping("getUserListByCon") @GetMapping("getUserListByCon")
@ApiOperation("查询用户列表") @ApiOperation("查询用户列表")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "cityName", value = "城市名称", required = true), @ApiImplicitParam(type = "query", dataType = "String", name = "performanceId", value = "演出id", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "sex", value = "性别", required = true), @ApiImplicitParam(type = "query", dataType = "String", name = "sex", value = "性别", required = true),
@ApiImplicitParam(type = "query", dataType = "int", name = "page", value = "页码",required = true), @ApiImplicitParam(type = "query", dataType = "int", name = "pageNum", value = "页码",required = true),
@ApiImplicitParam(type = "query", dataType = "int", name = "size", value = "每页数量"), @ApiImplicitParam(type = "query", dataType = "int", name = "pageSize", value = "每页数量",required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "tags", value = "兴趣标签", required = false),
@ApiImplicitParam(type = "query", dataType = "String", name = "orderBy", value = "排序字段 时间timeStart"), @ApiImplicitParam(type = "query", dataType = "String", name = "orderBy", value = "排序字段 时间timeStart"),
@ApiImplicitParam(type = "query", dataType = "String", name = "sort", value = "排序方式[DESC ASC]"), @ApiImplicitParam(type = "query", dataType = "String", name = "sort", value = "排序方式[DESC ASC]"),
}) })
public ResponseDto<ChimeUserInfoDto> getUserListByCon( public ResponseDto<PagedResult<ChimeUserInfoDto>> getUserListByCon(
@RequestParam(defaultValue = "") String cityName, @RequestParam(defaultValue = "") String performanceId,
@RequestParam(defaultValue = "") String userId, @RequestParam(defaultValue = "") String sex,
@RequestParam(defaultValue = "1") int page, @RequestParam(defaultValue = "1") int pageNum,
@RequestParam(defaultValue = "10") int size, @RequestParam(defaultValue = "10") int pageSize,
@RequestParam(defaultValue = "") String tags,
@RequestParam(defaultValue = "") String orderBy, @RequestParam(defaultValue = "") String orderBy,
@RequestParam(defaultValue = "") String sort @RequestParam(defaultValue = "") String sort
) { ) {
// HashMap<String, Object> result = kylinPerformancesService.localList( ChimeUserListQueryReqDto reqDto = ChimeUserListQueryReqDto.getNew();
// days, cityName, type, reqDto.setPerformanceId(performanceId);
// isDiscount, isAdvance, isExclusive, reqDto.setPageNum(pageNum);
// orderBy, sort reqDto.setPageSize(pageSize);
// ); reqDto.setOrderItem(orderBy);
// return ResponseDto.success(result); reqDto.setOrderSc(sort);
return null; // PageInfo<ChimeUserInfoDto> pageInfo = chimePerformanceService.getUserListByCon(reqDto);
PagedResult<ChimeUserInfoDto> pageInfo = chimePerformanceService.getUserListByCon(reqDto);
return ResponseDto.success(pageInfo);
} }
} }
...@@ -36,6 +36,7 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -36,6 +36,7 @@ import org.springframework.web.bind.annotation.RestController;
public class ChimeUserController { public class ChimeUserController {
@Autowired @Autowired
private IChimeUserService chimeUserService; private IChimeUserService chimeUserService;
@ApiOperationSupport(order = 5) @ApiOperationSupport(order = 5)
@ApiOperation(value = "社交用户注册") @ApiOperation(value = "社交用户注册")
@ApiImplicitParams({ @ApiImplicitParams({
...@@ -62,6 +63,10 @@ public class ChimeUserController { ...@@ -62,6 +63,10 @@ public class ChimeUserController {
} }
ChimeUserRegisterRespDto respDto = ChimeUserRegisterRespDto.getNew(); ChimeUserRegisterRespDto respDto = ChimeUserRegisterRespDto.getNew();
respDto = JSONObject.parseObject(jsonObject.toJSONString(),ChimeUserRegisterRespDto.class); respDto = JSONObject.parseObject(jsonObject.toJSONString(),ChimeUserRegisterRespDto.class);
if(respDto.getActivated()){
chimeUserService.createChimeUserInfo(reqDto);
}
return ResponseDto.success(respDto); return ResponseDto.success(respDto);
} }
} }
package com.liquidnet.service.chime.service.impl;
import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.service.base.PagedResult;
import com.liquidnet.service.chime.dto.ChimeUserInfoDto;
import com.liquidnet.service.chime.dto.ChimeUserListQueryReqDto;
import com.liquidnet.service.chime.service.IChimePerformanceService;
import com.liquidnet.service.chime.utils.ObjectUtil;
import com.liquidnet.service.chime.vo.mongo.ChimeUserInfoVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: TODO
* @class: ChimePerformanceServiceImpl
* @Package com.liquidnet.service.chime.service.impl
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2021/9/9 12:04
*/
@Slf4j
@Service
public class ChimePerformanceServiceImpl implements IChimePerformanceService{
@Autowired
private MongoTemplate mongoTemplate;
@Override
public PagedResult<ChimeUserInfoDto> getUserListByCon(ChimeUserListQueryReqDto reqDto) {
PagedResult<ChimeUserInfoDto> pagedResult = ObjectUtil.getChimeUserInfoDtoPagedResult();
try {
int pageNum = reqDto.getPageNum() - 1;
int pageSize = reqDto.getPageSize();
//初始化分页
pagedResult.setPageSize(pageSize).setCurrentPage(pageNum+1);
// 排序 分页
Pageable pageable = PageRequest.of(pageNum, pageSize, Sort.by(Sort.Direction.DESC, "userId"));
//条件
Criteria criteria = Criteria.where("joinPerformanceId").is(reqDto.getPerformanceId());
// if (!reqDto.getPerformanceId().isEmpty()) {
// criteria.and("title").regex(".*?\\" + reqDto.getTitle());
// }
Query query = Query.query(criteria);
// 查询总数
long count = mongoTemplate.count(query, ChimeUserInfoVo.class, ChimeUserInfoVo.class.getSimpleName());
query.with(pageable);
List<ChimeUserInfoVo> chimeUserInfoVoList = mongoTemplate.find(query, ChimeUserInfoVo.class, ChimeUserInfoVo.class.getSimpleName());
//处理Vo
List<ChimeUserInfoDto> dtoList = new ArrayList<>();
for (ChimeUserInfoVo item : chimeUserInfoVoList) {
ChimeUserInfoDto voData = ChimeUserInfoDto.getNew();
BeanUtil.copy(item,voData);
voData.setUserTags(null);
dtoList.add(voData);
}
pagedResult.setList(dtoList).setTotal(count, pageSize);
} catch (Exception e) {
e.printStackTrace();
}
return pagedResult;
}
}
package com.liquidnet.service.chime.service.impl; package com.liquidnet.service.chime.service.impl;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.common.third.easemob.util.EasemobUtil; import com.liquidnet.common.third.easemob.util.EasemobUtil;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.StringUtil;
import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.chime.constant.ChimeConstant;
import com.liquidnet.service.chime.dto.ChimeUserInfoDto;
import com.liquidnet.service.chime.dto.ChimeUserRegisterReqDto; import com.liquidnet.service.chime.dto.ChimeUserRegisterReqDto;
import com.liquidnet.service.chime.service.IChimeUserService; import com.liquidnet.service.chime.service.IChimeUserService;
import com.liquidnet.service.chime.utils.DataUtils;
import com.liquidnet.service.chime.vo.mongo.ChimeUserInfoVo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -22,6 +31,13 @@ import org.springframework.stereotype.Service; ...@@ -22,6 +31,13 @@ import org.springframework.stereotype.Service;
public class ChimeUserServiceImpl implements IChimeUserService { public class ChimeUserServiceImpl implements IChimeUserService {
@Autowired @Autowired
private EasemobUtil easemobUtil; private EasemobUtil easemobUtil;
@Autowired
private DataUtils dataUtils;
@Autowired
private RedisUtil redisUtil;
@Override @Override
public JSONObject register(ChimeUserRegisterReqDto reqDto) { public JSONObject register(ChimeUserRegisterReqDto reqDto) {
String result = easemobUtil.createUser(reqDto.getUserId(),"123456",reqDto.getNickName()); String result = easemobUtil.createUser(reqDto.getUserId(),"123456",reqDto.getNickName());
...@@ -29,4 +45,46 @@ public class ChimeUserServiceImpl implements IChimeUserService { ...@@ -29,4 +45,46 @@ public class ChimeUserServiceImpl implements IChimeUserService {
JSONObject jsonObject = JSONObject.parseObject(result); JSONObject jsonObject = JSONObject.parseObject(result);
return jsonObject; return jsonObject;
} }
@Override
public ChimeUserInfoDto createChimeUserInfo(ChimeUserRegisterReqDto reqDto) {
String rk = AdamRedisConst.INFO_USER.concat(CurrentUtil.getCurrentUid());
AdamUserInfoVo vo = (AdamUserInfoVo) redisUtil.get(rk);
ChimeUserInfoVo chimeUserInfoVo = ChimeUserInfoVo.getNew();
chimeUserInfoVo.setMid(ChimeConstant.getNewUserId());
chimeUserInfoVo.setUserId(reqDto.getUserId());
if(StringUtil.isNotNull(vo.getSex())){
chimeUserInfoVo.setSex(vo.getSex().getDesc());
}else{
chimeUserInfoVo.setSex("");
}
chimeUserInfoVo.setUserName(vo.getUid());
chimeUserInfoVo.setUserMobile(vo.getMobile());
chimeUserInfoVo.setAvatar(vo.getAvatar());
chimeUserInfoVo.setJoinPerformanceId("-1");
//
// AdamTagVo sex = vo.getSex();
// if (null == sex) {
// return ResponseDto.failure(ErrorMapping.get("10011"));
// }
// if (null != sex) {
// String sexVal = sex.getVal();
// List<AdamTagVo> allSexTagVos = this.getTagsForSex().getData();
// Optional<AdamTagVo> existSexTagVoOptional = allSexTagVos.stream().filter(r -> r.getVal().equals(sexVal)).findAny();
// if (!existSexTagVoOptional.isPresent()) {
// // 已选中的性别标签不在系统性别标签库中
// return ResponseDto.failure(ErrorMapping.get("10011"));
// }
// sex = existSexTagVoOptional.get();
// }
//插入mongo
dataUtils.createChimeUser(chimeUserInfoVo);
return null;
}
} }
package com.liquidnet.service.chime.service.impl;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: TODO
* @class: ChimeUserTagsServiceImpl
* @Package com.liquidnet.service.chime.service.impl
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2021/9/3 16:49
*/
public class ChimeUserTagsServiceImpl {
}
package com.liquidnet.service.chime.utils; package com.liquidnet.service.chime.utils;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.chime.vo.mongo.ChimeUserInfoVo;
import com.liquidnet.service.kylin.constant.KylinRedisConst; import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo; import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo; import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.*; import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo; import com.mongodb.client.result.UpdateResult;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderRefundsVo; import lombok.extern.slf4j.Slf4j;
import org.bson.Document;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.math.BigDecimal; import java.util.List;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.*;
import java.util.regex.Pattern;
@Slf4j
@Component @Component
public class DataUtils { public class DataUtils {
...@@ -32,37 +28,17 @@ public class DataUtils { ...@@ -32,37 +28,17 @@ public class DataUtils {
@Autowired @Autowired
private RedisUtil redisUtil; private RedisUtil redisUtil;
/** public void createChimeUser(ChimeUserInfoVo chimeUserInfoVo){
* 修改普通库存 并 返回修改后的数量 mongoTemplate.save(chimeUserInfoVo,ChimeUserInfoVo.class.getSimpleName());
*
* @param ticketId 票id
* @param surplusGeneral 普通库存
* @return 普通剩余库存
*/
public int changeSurplusGeneral(String ticketId, int surplusGeneral) {
if (surplusGeneral > 0) {
return (int) redisUtil.incr(KylinRedisConst.PERFORMANCES_INVENTORY + ticketId + ":" + KylinRedisConst.SURPLUS_GENERAL, surplusGeneral);
} else {
return (int) redisUtil.decr(KylinRedisConst.PERFORMANCES_INVENTORY + ticketId + ":" + KylinRedisConst.SURPLUS_GENERAL, Math.abs(surplusGeneral));
}
} }
public void updateChimeUser(ChimeUserInfoVo chimeUserInfoVo) {
public void setOrderList(String userId, List<KylinOrderListVo> vo) { UpdateResult result = mongoTemplate.updateFirst(
redisUtil.set(KylinRedisConst.ORDER_LIST + userId, vo); Query.query(Criteria.where("userId").is(chimeUserInfoVo.getUserId())),
} Update.fromDocument(Document.parse(JsonUtils.toJson(chimeUserInfoVo))),
ChimeUserInfoVo.class.getSimpleName()
public List<KylinOrderListVo> getOrderList(String userId) { );
Object obj = redisUtil.get(KylinRedisConst.ORDER_LIST + userId); log.info("updateChimeUser result:{}",result.toString());
if (obj!=null) {
return (List<KylinOrderListVo>)obj;
} else {
List<KylinOrderListVo> voList = mongoTemplate.find(Query.query(Criteria.where("userId").is(userId))
.with(Sort.by(Sort.Direction.DESC, "createdAt")).limit(40),
KylinOrderListVo.class, KylinOrderTicketVo.class.getSimpleName());
redisUtil.set(KylinRedisConst.ORDER_LIST + userId, voList);
return voList;
}
} }
/** /**
...@@ -84,108 +60,6 @@ public class DataUtils { ...@@ -84,108 +60,6 @@ public class DataUtils {
} }
} }
/**
* 删除订单redis
*
* @param orderId
*/
public void delOrderTicketRedis(String orderId) {
redisUtil.del(KylinRedisConst.ORDER + orderId);
}
/**
* @param performanceId 演出id
* @param ticketId 票种id
* @param buyCount 购买数量 大于 0 增加 小于 0 减少 对应 支付 退款表
*/
public void changeBuyInfo(String userId, String idCard, String performanceId, String ticketId, int buyCount) {
String redisKey;
int isTrueName = getPerformanceIsTrueName(performanceId);
// String useTime = "";
// HashMap<String, ArrayList<String>> allTicketId = new HashMap<>();
// for (int x = 0; x < vo.getTicketTimeList().size(); x++) {
// KylinTicketTimesVo timeItem = vo.getTicketTimeList().get(x);
// ArrayList<String> ticketList = ObjectUtil.cloneArrayListString();
// for (int y = 0; y < timeItem.getTicketList().size(); y++) {
// KylinTicketVo ticketItem = timeItem.getTicketList().get(y);
// if (ticketItem.getType() == 1) {
// ticketList.add(ticketItem.getTicketsId());
// }
// if (ticketItem.getTicketsId().equals(ticketId)) {
// useTime = ticketItem.getUseStart();
// }
// }
// allTicketId.put(timeItem.getUseStart(), ticketList);
// }
if (0 == isTrueName) {
redisKey = KylinRedisConst.USERID_BUY_INFO + userId;
} else {
redisKey = KylinRedisConst.IDCARD_BUY_INFO + idCard;
}
String performanceIdKey = redisKey + ":" + KylinRedisConst.PERFORMANCE_ID + ":" + performanceId;
String ticketIdKey = redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + ticketId;
// String ticketUseTimeKey = ticketIdKey + ":" + KylinRedisConst.USE_TIME;
// redisUtil.set(ticketUseTimeKey, useTime);
if (buyCount > 0) {
redisUtil.incr(ticketIdKey, buyCount);
redisUtil.incr(performanceIdKey, buyCount);
} else {
redisUtil.decr(ticketIdKey, Math.abs(buyCount));
redisUtil.decr(performanceIdKey, Math.abs(buyCount));
}
}
// 获取 用户维度 演出购买数量
public int getUserPBuyCount(String userId, String performanceId) {
try {
return (int) redisUtil.get(KylinRedisConst.USERID_BUY_INFO + userId + ":" + KylinRedisConst.PERFORMANCE_ID + ":" + performanceId);
} catch (Exception e) {
return 0;
}
}
// 获取 用户维度 票种购买数量
public int getUserTBuyCount(String userId, String ticketId) {
try {
return (int) redisUtil.get(KylinRedisConst.USERID_BUY_INFO + userId + ":" + KylinRedisConst.TICKET_ID + ":" + ticketId);
} catch (Exception e) {
return 0;
}
}
// 获取 证件维度 演出购买数量
public int getIdCardPBuyCount(String idCard, String performanceId) {
try {
return (int) redisUtil.get(KylinRedisConst.IDCARD_BUY_INFO + idCard + ":" + KylinRedisConst.PERFORMANCE_ID + ":" + performanceId);
} catch (Exception e) {
return 0;
}
}
// 获取 证件维度 票种购买数量
public int getIdCardTBuyCount(String idCard, String ticketId) {
try {
return (int) redisUtil.get(KylinRedisConst.IDCARD_BUY_INFO + idCard + ":" + KylinRedisConst.TICKET_ID + ":" + ticketId);
} catch (Exception e) {
return 0;
}
}
/**
* 删除订单redis
*
* @param orderEntitiesId
*/
public void delOrderTicketEntitiesRedis(String orderEntitiesId) {
redisUtil.del(KylinRedisConst.ORDER_ENTITIES + orderEntitiesId);
}
/** /**
* 根据演出id 获取 演出vo 详情 * 根据演出id 获取 演出vo 详情
* *
...@@ -202,25 +76,4 @@ public class DataUtils { ...@@ -202,25 +76,4 @@ public class DataUtils {
return performanceData; return performanceData;
} }
} }
/**
* 演出是否实名
*
* @param performanceId
*/
public int getPerformanceIsTrueName(String performanceId) {
Object obj = redisUtil.get(KylinRedisConst.PERFORMANCES_TRUE_NAME + performanceId);
if (obj!=null) {
return (int)obj;
}else{
int isTrueName = getPerformanceVo(performanceId).getIsTrueName();
redisUtil.set(KylinRedisConst.PERFORMANCES_TRUE_NAME + performanceId,isTrueName);
return isTrueName;
}
}
public void delOrderRefundVoByOrderId(String orderId) {
redisUtil.del(KylinRedisConst.ORDER_REFUND_BY_ORDER_ID + orderId);
}
} }
package com.liquidnet.service.chime.utils;
import com.liquidnet.service.base.PagedResult;
import com.liquidnet.service.chime.dto.ChimeUserInfoDto;
public class ObjectUtil {
private static final PagedResult<ChimeUserInfoDto> chimeUserInfoDtoPagedResult = new PagedResult<>();
public static PagedResult<ChimeUserInfoDto> getChimeUserInfoDtoPagedResult() {
return chimeUserInfoDtoPagedResult.clone();
}
}
#eurekaServer配置 #eurekaServer配置
eureka: eureka:
client: client:
register-with-eureka: true register-with-eureka: false
fetch-registry: true fetch-registry: true
serviceUrl: serviceUrl:
defaultZone: http://${liquidnet.security.username}:${liquidnet.security.password}@${liquidnet.eureka.host}/eureka-server/eureka defaultZone: http://${liquidnet.security.username}:${liquidnet.security.password}@${liquidnet.eureka.host}/eureka-server/eureka
......
...@@ -3,9 +3,3 @@ spring: ...@@ -3,9 +3,3 @@ spring:
name: liquidnet-service-chime name: liquidnet-service-chime
profiles: profiles:
active: dev active: dev
server:
tomcat:
max-threads: 2000
min-spare-threads: 200
max-connections: 20000
connection-timeout: 5000
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