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

Commit 76527861 authored by 张国柄's avatar 张国柄

想去API补充实现;

kylin pom引包调整;
parent ee705038
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
<packaging>pom</packaging> <packaging>pom</packaging>
<modules> <modules>
<module>liquidnet-api-feign-adam</module> <module>liquidnet-api-feign-adam</module>
<module>liquidnet-api-feign-kylin</module>
<!-- <module>liquidnet-api-feign-sequence</module>--> <!-- <module>liquidnet-api-feign-sequence</module>-->
<!-- <module>liquidnet-api-feign-example</module>--> <!-- <module>liquidnet-api-feign-example</module>-->
<!-- <module>liquidnet-api-feign-account</module>--> <!-- <module>liquidnet-api-feign-account</module>-->
......
...@@ -11,25 +11,25 @@ import java.io.Serializable; ...@@ -11,25 +11,25 @@ import java.io.Serializable;
@Data @Data
public class AdamCollectBaseVo implements Serializable, Cloneable { public class AdamCollectBaseVo implements Serializable, Cloneable {
private static final long serialVersionUID = -5478569736722226136L; private static final long serialVersionUID = -5478569736722226136L;
@ApiModelProperty(position = 10, required = true, value = "用户ID[64]") @ApiModelProperty(position = 10, value = "用户ID[64]")
private String uid; private String uid;
@ApiModelProperty(position = 11, required = true, value = "用户头像[255]") @ApiModelProperty(position = 11, value = "用户头像[255]")
private String avatar; private String avatar;
@ApiModelProperty(position = 12, required = true, value = "用户昵称[32]") @ApiModelProperty(position = 12, value = "用户昵称[32]")
private String nickname; private String nickname;
@ApiModelProperty(position = 13, required = true, value = "用户性别[32]") @ApiModelProperty(position = 13, value = "用户性别[32]")
private AdamTagVo sex; private AdamTagVo sex;
@ApiModelProperty(position = 14, required = true, value = "内容ID[64]") @ApiModelProperty(position = 14, value = "内容ID[64]")
private String contentId; private String contentId;
@ApiModelProperty(position = 15, required = true, value = "内容类型") @ApiModelProperty(position = 15, value = "内容类型")
private String type; private String type;
@ApiModelProperty(position = 16, required = true, value = "内容类型") @ApiModelProperty(position = 16, value = "内容类型")
private Integer state; private Integer state;
@ApiModelProperty(position = 17, required = true, value = "收藏时间") @ApiModelProperty(position = 17, value = "收藏时间")
private String createdAt; private String createdAt;
@ApiModelProperty(position = 18, required = true, value = "更新时间") @ApiModelProperty(position = 18, value = "更新时间")
private String updatedAt; private String updatedAt;
@ApiModelProperty(position = 19, required = true, value = "展示信息") @ApiModelProperty(position = 19, value = "展示信息")
private PerformanceVo contentInfo; private PerformanceVo contentInfo;
private static final AdamCollectBaseVo obj = new AdamCollectBaseVo(); private static final AdamCollectBaseVo obj = new AdamCollectBaseVo();
......
package com.liquidnet.service.adam.dto.vo;
import com.liquidnet.service.kylin.dto.vo.PerformanceVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@ApiModel(value = "AdamDisposedBaseVo", description = "想去基础数据")
@Data
public class AdamDisposedBaseVo implements Serializable, Cloneable {
private static final long serialVersionUID = -5478569736722226136L;
@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;
@ApiModelProperty(position = 16, value = "内容类型")
private Integer state;
@ApiModelProperty(position = 17, value = "收藏时间")
private String createdAt;
@ApiModelProperty(position = 18, value = "更新时间")
private String updatedAt;
@ApiModelProperty(position = 19, value = "展示信息")
private PerformanceVo contentInfo;
private static final AdamDisposedBaseVo obj = new AdamDisposedBaseVo();
public static AdamDisposedBaseVo getNew() {
try {
return (AdamDisposedBaseVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new AdamDisposedBaseVo();
}
}
}
package com.liquidnet.service.adam.dto.vo;
import com.liquidnet.service.kylin.dto.vo.PerformanceVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@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]")
private String contentId;
@ApiModelProperty(position = 12, required = true, value = "内容类型")
private String type;
@ApiModelProperty(position = 13, required = true, value = "标记时间")
private String createdAt;
@ApiModelProperty(position = 14, required = true, value = "展示信息")
private PerformanceVo contentInfo;
private static final AdamDisposedVo obj = new AdamDisposedVo();
public static AdamDisposedVo getNew() {
try {
return (AdamDisposedVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new AdamDisposedVo();
}
}
}
package com.liquidnet.service.adam.service; package com.liquidnet.service.adam.service;
import com.liquidnet.service.adam.entity.AdamDisposed;
import com.baomidou.mybatisplus.extension.service.IService; 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.AdamDisposedVo;
import com.liquidnet.service.adam.entity.AdamDisposed;
/** /**
* <p> * <p>
...@@ -13,4 +16,13 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -13,4 +16,13 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/ */
public interface IAdamDisposedService extends IService<AdamDisposed> { public interface IAdamDisposedService extends IService<AdamDisposed> {
void add(AdamDisposedBaseVo disposedBaseVo);
AdamDisposedBaseVo query(String uid, String type, String contentId);
void del(String uid, String type, String contentId);
boolean queryState(String uid, String type, String contentId);
PageInfo<AdamDisposedVo> queryPage(String uid, String type, int pageNo, int pageSize);
} }
...@@ -71,13 +71,18 @@ public class AdamCollectionController { ...@@ -71,13 +71,18 @@ public class AdamCollectionController {
@ApiOperation(value = "收藏列表") @ApiOperation(value = "收藏列表")
@ApiImplicitParams({ @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 = "VIDEO,TICKET,SITE,ARTIST,BAND,BRAND,STYLE,GOODS,MUSIC,SONG"),
@ApiImplicitParam(type = "form", required = true, dataType = "Integer", name = "pageNo", value = "页码"), @ApiImplicitParam(type = "form", required = false, dataType = "Integer", name = "pageNo", value = "页码", example = "1"),
@ApiImplicitParam(type = "form", required = true, dataType = "Integer", name = "pageSize", value = "页展示条数"), @ApiImplicitParam(type = "form", required = false, dataType = "Integer", name = "pageSize", value = "页展示条数", example = "5"),
}) })
@PostMapping("list") @PostMapping("list")
public ResponseDto<PageInfo<AdamCollectVo>> list(@RequestParam String type, @RequestParam(defaultValue = "1") int pageNo, @RequestParam(defaultValue = "10") int pageSize) { public ResponseDto<PageInfo<AdamCollectVo>> list(@RequestParam String type,
@RequestParam(defaultValue = "1", required = false) int pageNo,
@RequestParam(defaultValue = "5", required = false) int pageSize) {
// TODO: 2021/4/28 数据校验 // TODO: 2021/4/28 数据校验
pageNo = pageNo > 0 ? pageNo : 1;
pageSize = pageSize <= 0 || pageSize > 10 ? 5 : pageSize;
return ResponseDto.success(adamCollectionService.queryPage(CurrentUtil.getCurrentUid(), type, pageNo, pageSize)); return ResponseDto.success(adamCollectionService.queryPage(CurrentUtil.getCurrentUid(), type, pageNo, pageSize));
} }
......
...@@ -4,6 +4,8 @@ import com.github.pagehelper.PageInfo; ...@@ -4,6 +4,8 @@ import com.github.pagehelper.PageInfo;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport; import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.commons.lang.util.CurrentUtil; 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.adam.service.IAdamDisposedService;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -38,7 +40,15 @@ public class AdamDisposedController { ...@@ -38,7 +40,15 @@ public class AdamDisposedController {
// TODO: 2021/4/28 数据校验 // TODO: 2021/4/28 数据校验
String currentUid = CurrentUtil.getCurrentUid(); String currentUid = CurrentUtil.getCurrentUid();
AdamDisposedBaseVo existVo = adamDisposedService.query(currentUid, type, contentId);
if (null != existVo) return ResponseDto.success();
AdamDisposedBaseVo disposedBaseVo = AdamDisposedBaseVo.getNew();
disposedBaseVo.setType(type);
disposedBaseVo.setContentId(contentId);
disposedBaseVo.setUid(currentUid);
adamDisposedService.add(disposedBaseVo);
return ResponseDto.success(); return ResponseDto.success();
} }
...@@ -51,11 +61,9 @@ public class AdamDisposedController { ...@@ -51,11 +61,9 @@ public class AdamDisposedController {
}) })
@PostMapping("del") @PostMapping("del")
public ResponseDto<Object> del(@RequestParam String type, @RequestParam String contentId) { public ResponseDto<Object> del(@RequestParam String type, @RequestParam String contentId) {
// TODO: 2021/4/28 数据校验、身份认证、获取登录UID // TODO: 2021/4/28 数据校验
String uid = "1";
// TODO: 2021/5/10
adamDisposedService.del(CurrentUtil.getCurrentUid(), type, contentId);
return ResponseDto.success(); return ResponseDto.success();
} }
...@@ -64,18 +72,19 @@ public class AdamDisposedController { ...@@ -64,18 +72,19 @@ public class AdamDisposedController {
@ApiOperation(value = "想去列表") @ApiOperation(value = "想去列表")
@ApiImplicitParams({ @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 = "VIDEO,TICKET,SITE,ARTIST,BAND,BRAND,STYLE,GOODS,MUSIC,SONG"),
@ApiImplicitParam(type = "form", required = true, dataType = "Integer", name = "pageNum", value = "页展示条数"), @ApiImplicitParam(type = "form", required = false, dataType = "Integer", name = "pageNo", value = "页码", example = "1"),
@ApiImplicitParam(type = "form", required = true, dataType = "Integer", name = "pageSize", value = "页码"), @ApiImplicitParam(type = "form", required = false, dataType = "Integer", name = "pageSize", value = "页展示条数", example = "5"),
}) })
@PostMapping("list") @PostMapping("list")
public ResponseDto<PageInfo> list(@RequestParam String type, @RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "10") int pageSize) { public ResponseDto<PageInfo> list(@RequestParam String type,
// TODO: 2021/4/28 数据校验、身份认证、获取登录UID @RequestParam(defaultValue = "1", required = false) int pageNo,
String uid = "1"; @RequestParam(defaultValue = "5", required = false) int pageSize) {
// TODO: 2021/4/28 数据校验
// TODO: 2021/5/10
pageNo = pageNo > 0 ? pageNo : 1;
pageSize = pageSize <= 0 || pageSize > 10 ? 5 : pageSize;
return ResponseDto.success(); return ResponseDto.success(adamDisposedService.queryPage(CurrentUtil.getCurrentUid(), type, pageNo, pageSize));
} }
@ApiOperationSupport(order = 4) @ApiOperationSupport(order = 4)
......
...@@ -6,9 +6,11 @@ import com.liquidnet.common.cache.redis.util.RedisUtil; ...@@ -6,9 +6,11 @@ import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.adam.dto.vo.AdamCollectBaseVo; import com.liquidnet.service.adam.dto.vo.AdamCollectBaseVo;
import com.liquidnet.service.adam.dto.vo.AdamCollectVo; import com.liquidnet.service.adam.dto.vo.AdamCollectVo;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.adam.entity.AdamCollection; import com.liquidnet.service.adam.entity.AdamCollection;
import com.liquidnet.service.adam.mapper.AdamCollectionMapper; import com.liquidnet.service.adam.mapper.AdamCollectionMapper;
import com.liquidnet.service.adam.service.IAdamCollectionService; import com.liquidnet.service.adam.service.IAdamCollectionService;
import com.liquidnet.service.adam.service.IAdamUserService;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.feign.kylin.api.FeignKylinPerformanceClient; import com.liquidnet.service.feign.kylin.api.FeignKylinPerformanceClient;
import com.liquidnet.service.kylin.dto.vo.PerformanceVo; import com.liquidnet.service.kylin.dto.vo.PerformanceVo;
...@@ -16,7 +18,6 @@ import com.mongodb.BasicDBObject; ...@@ -16,7 +18,6 @@ import com.mongodb.BasicDBObject;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort; import org.springframework.data.domain.Sort;
...@@ -49,6 +50,11 @@ public class AdamCollectionServiceImpl extends ServiceImpl<AdamCollectionMapper, ...@@ -49,6 +50,11 @@ public class AdamCollectionServiceImpl extends ServiceImpl<AdamCollectionMapper,
@Autowired @Autowired
RedisUtil redisUtil; RedisUtil redisUtil;
@Autowired @Autowired
IAdamUserService adamUserService;
/* ---------------- 外部服务API ---------------- */
@Autowired
FeignKylinPerformanceClient kylinPerformanceClient; FeignKylinPerformanceClient kylinPerformanceClient;
@Override @Override
...@@ -59,6 +65,11 @@ public class AdamCollectionServiceImpl extends ServiceImpl<AdamCollectionMapper, ...@@ -59,6 +65,11 @@ public class AdamCollectionServiceImpl extends ServiceImpl<AdamCollectionMapper,
collectionVo.setState(1); collectionVo.setState(1);
collectionVo.setCreatedAt(nowStr); collectionVo.setCreatedAt(nowStr);
AdamUserInfoVo userInfoVo = adamUserService.queryByUid(collectionVo.getUid());
collectionVo.setAvatar(userInfoVo.getAvatar());
collectionVo.setNickname(userInfoVo.getNickname());
collectionVo.setSex(userInfoVo.getSex());
mongoTemplate.insert(collectionVo, AdamCollectBaseVo.class.getSimpleName()); mongoTemplate.insert(collectionVo, AdamCollectBaseVo.class.getSimpleName());
// TODO: 2021/5/19 sql to mq // TODO: 2021/5/19 sql to mq
...@@ -80,12 +91,12 @@ public class AdamCollectionServiceImpl extends ServiceImpl<AdamCollectionMapper, ...@@ -80,12 +91,12 @@ public class AdamCollectionServiceImpl extends ServiceImpl<AdamCollectionMapper,
} }
@Override @Override
public void del(String currentUid, String type, String contentId) { public void del(String uid, String type, String contentId) {
AdamCollectBaseVo delVo = AdamCollectBaseVo.getNew(); AdamCollectBaseVo delVo = AdamCollectBaseVo.getNew();
delVo.setState(2); delVo.setState(2);
delVo.setUpdatedAt(DateUtil.getNowTime()); delVo.setUpdatedAt(DateUtil.getNowTime());
mongoTemplate.getCollection(AdamCollectVo.class.getSimpleName()).updateOne( mongoTemplate.getCollection(AdamCollectBaseVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("uid").is(currentUid).and("type").is(type) Query.query(Criteria.where("uid").is(uid).and("type").is(type)
.and("contentId").is(contentId).and("state").is(1)).getQueryObject(), .and("contentId").is(contentId).and("state").is(1)).getQueryObject(),
new BasicDBObject("$set", mongoConverter.convertToMongoType(delVo))); new BasicDBObject("$set", mongoConverter.convertToMongoType(delVo)));
} }
...@@ -93,7 +104,7 @@ public class AdamCollectionServiceImpl extends ServiceImpl<AdamCollectionMapper, ...@@ -93,7 +104,7 @@ public class AdamCollectionServiceImpl extends ServiceImpl<AdamCollectionMapper,
@Override @Override
public boolean queryState(String uid, String type, String contentId) { public boolean queryState(String uid, String type, String contentId) {
long count = mongoTemplate.count(Query.query(Criteria.where("uid").is(uid).and("type").is(type) long count = mongoTemplate.count(Query.query(Criteria.where("uid").is(uid).and("type").is(type)
.and("contentId").is(contentId).and("state").is(1)), AdamCollectVo.class.getSimpleName()); .and("contentId").is(contentId).and("state").is(1)), AdamCollectBaseVo.class.getSimpleName());
return count > 0; return count > 0;
} }
...@@ -103,11 +114,9 @@ public class AdamCollectionServiceImpl extends ServiceImpl<AdamCollectionMapper, ...@@ -103,11 +114,9 @@ public class AdamCollectionServiceImpl extends ServiceImpl<AdamCollectionMapper,
long count = mongoTemplate.count(query, AdamCollectBaseVo.class.getSimpleName()); long count = mongoTemplate.count(query, AdamCollectBaseVo.class.getSimpleName());
PageInfo<AdamCollectVo> collectVoPageInfo = null; PageInfo<AdamCollectVo> voPageInfo = null;
PageImpl<AdamCollectVo> collectVoPageimpl = null;
if (count > 0) { if (count > 0) {
Pageable pageable = PageRequest.of(pageNo, pageSize, Sort.by(Sort.Direction.DESC, "createdAt")); Pageable pageable = PageRequest.of(pageNo - 1, pageSize, Sort.by(Sort.Direction.DESC, "createdAt"));
query.with(pageable); query.with(pageable);
...@@ -134,10 +143,12 @@ public class AdamCollectionServiceImpl extends ServiceImpl<AdamCollectionMapper, ...@@ -134,10 +143,12 @@ public class AdamCollectionServiceImpl extends ServiceImpl<AdamCollectionMapper,
} catch (Exception e) { } catch (Exception e) {
log.error("Exception:{}.API.performanceList(...) for AdamCollection", kylinPerformanceClient.getClass().getSimpleName(), e); log.error("Exception:{}.API.performanceList(...) for AdamCollection", kylinPerformanceClient.getClass().getSimpleName(), e);
} }
collectVoPageInfo = PageInfo.of(collectVoList); voPageInfo = PageInfo.of(collectVoList);
collectVoPageInfo.setTotal(count); voPageInfo.setTotal(count);
} else {
voPageInfo = new PageInfo<>();
} }
return collectVoPageInfo; return voPageInfo;
} }
} }
package com.liquidnet.service.adam.service.impl; 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;
import com.liquidnet.service.adam.dto.vo.*;
import com.liquidnet.service.adam.entity.AdamDisposed; import com.liquidnet.service.adam.entity.AdamDisposed;
import com.liquidnet.service.adam.mapper.AdamDisposedMapper; import com.liquidnet.service.adam.mapper.AdamDisposedMapper;
import com.liquidnet.service.adam.service.IAdamDisposedService; import com.liquidnet.service.adam.service.IAdamDisposedService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.service.adam.service.IAdamUserService;
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;
import org.springframework.data.mongodb.core.MongoTemplate;
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.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
/** /**
* <p> * <p>
* 想去 服务实现类 * 想去 服务实现类
...@@ -14,7 +39,113 @@ import org.springframework.stereotype.Service; ...@@ -14,7 +39,113 @@ import org.springframework.stereotype.Service;
* @author liquidnet * @author liquidnet
* @since 2021-05-18 * @since 2021-05-18
*/ */
@Slf4j
@Service @Service
public class AdamDisposedServiceImpl extends ServiceImpl<AdamDisposedMapper, AdamDisposed> implements IAdamDisposedService { public class AdamDisposedServiceImpl extends ServiceImpl<AdamDisposedMapper, AdamDisposed> implements IAdamDisposedService {
@Autowired
MongoConverter mongoConverter;
@Autowired
MongoTemplate mongoTemplate;
@Autowired
RabbitTemplate rabbitTemplate;
@Autowired
RedisUtil redisUtil;
@Autowired
IAdamUserService adamUserService;
/* ---------------- 外部服务API ---------------- */
@Autowired
FeignKylinPerformanceClient kylinPerformanceClient;
@Override
public void add(AdamDisposedBaseVo disposedBaseVo) {
LocalDateTime now = LocalDateTime.now();
String nowStr = DateUtil.format(now, DateUtil.Formatter.yyyyMMddHHmmss);
disposedBaseVo.setState(1);
disposedBaseVo.setCreatedAt(nowStr);
AdamUserInfoVo userInfoVo = adamUserService.queryByUid(disposedBaseVo.getUid());
disposedBaseVo.setAvatar(userInfoVo.getAvatar());
disposedBaseVo.setNickname(userInfoVo.getNickname());
disposedBaseVo.setSex(userInfoVo.getSex());
mongoTemplate.insert(disposedBaseVo, AdamDisposedBaseVo.class.getSimpleName());
// TODO: 2021/5/19 sql to mq
}
@Override
public AdamDisposedBaseVo query(String uid, String type, String contentId) {
return mongoTemplate.findOne(Query.query(Criteria.where("uid").is(uid).and("type").is(type)
.and("contentId").is(contentId).and("state").is(1)),
AdamDisposedBaseVo.class, AdamDisposedBaseVo.class.getSimpleName());
}
@Override
public void del(String uid, String type, String contentId) {
AdamDisposedBaseVo delVo = AdamDisposedBaseVo.getNew();
delVo.setState(2);
delVo.setUpdatedAt(DateUtil.getNowTime());
mongoTemplate.getCollection(AdamDisposedBaseVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("uid").is(uid).and("type").is(type)
.and("contentId").is(contentId).and("state").is(1)).getQueryObject(),
new BasicDBObject("$set", mongoConverter.convertToMongoType(delVo)));
}
@Override
public boolean queryState(String uid, String type, String contentId) {
long count = mongoTemplate.count(Query.query(Criteria.where("uid").is(uid).and("type").is(type)
.and("contentId").is(contentId).and("state").is(1)), AdamDisposedBaseVo.class.getSimpleName());
return count > 0;
}
@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));
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);
List<AdamDisposedVo> disposedVoList = mongoTemplate.find(query, AdamDisposedVo.class, AdamDisposedBaseVo.class.getSimpleName());
if (!Collections.isEmpty(disposedVoList)) {
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);
}
});
});
} 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);
}
}
voPageInfo = PageInfo.of(disposedVoList);
voPageInfo.setTotal(count);
} else {
voPageInfo = new PageInfo<>();
}
return voPageInfo;
}
} }
...@@ -37,11 +37,9 @@ ...@@ -37,11 +37,9 @@
<artifactId>spring-boot-starter-data-mongodb</artifactId> <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency> </dependency>
<!-- 计算经纬度距离 -->
<dependency> <dependency>
<groupId>org.gavaghan</groupId> <groupId>org.gavaghan</groupId>
<artifactId>geodesy</artifactId> <artifactId>geodesy</artifactId>
<version>1.1.3</version>
</dependency> </dependency>
</dependencies> </dependencies>
......
...@@ -32,8 +32,7 @@ ...@@ -32,8 +32,7 @@
<module>liquidnet-service-adam</module> <module>liquidnet-service-adam</module>
<module>liquidnet-service-kylin</module> <module>liquidnet-service-kylin</module>
<module>liquidnet-service-consumer</module> <module>liquidnet-service-consumer</module>
<module>liquidnet-api-feign-kylin</module> <!-- <module>liquidnet-service-example</module>-->
<!-- <module>liquidnet-service-example</module>-->
<!-- <module>liquidnet-service-sequence</module>--> <!-- <module>liquidnet-service-sequence</module>-->
<!-- <module>liquidnet-service-account</module>--> <!-- <module>liquidnet-service-account</module>-->
<!-- <module>liquidnet-service-bank</module>--> <!-- <module>liquidnet-service-bank</module>-->
...@@ -245,6 +244,12 @@ ...@@ -245,6 +244,12 @@
<artifactId>aliyun-java-sdk-dypnsapi</artifactId> <artifactId>aliyun-java-sdk-dypnsapi</artifactId>
<version>1.1.3</version> <version>1.1.3</version>
</dependency> </dependency>
<!-- 计算经纬度距离 -->
<dependency>
<groupId>org.gavaghan</groupId>
<artifactId>geodesy</artifactId>
<version>1.1.3</version>
</dependency>
</dependencies> </dependencies>
</dependencyManagement> </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