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

Commit 227b3b39 authored by sunyuntian's avatar sunyuntian

ar

parent 1e7da611
......@@ -93,4 +93,6 @@ public class SweetConstant {
public final static String REDIS_KEY_QRCODE_READ_NUM = QRCODE.concat("readNum:"); //读取次数 :type:mid
public final static String REDIS_KEY_QRCODE_LIST = QRCODE.concat("list:"); //二维码实体类 :type
//AR
public final static String REDIS_KEY_SWEET_PERFORMANCE_AR = "sweet:performance:ar:mid:";
}
......@@ -17,7 +17,7 @@ public interface ISweetArtistsService extends IService<SweetArtists> {
ResponseDto<PageInfo<SweetArtists>> getList(int page, int size,String name);
ResponseDto<Boolean> add(String picUrl,String name,String pinyin,String describe,String[] picArray,String[] videoArray);
ResponseDto<Boolean> add(String name,String pinyin,String describe,String[] picArray,String[] videoArray);
ResponseDto<SweetArtists> detail(String artistsId);
......
package com.liquidnet.service.sweet.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.entity.SweetArtists;
import com.liquidnet.service.sweet.entity.SweetPerformanceShow;
import java.time.LocalDateTime;
public interface ISweetPerformanceService extends IService<SweetPerformanceShow> {
ResponseDto<Boolean> add(String picOne, String picTwo, String arUrl, LocalDateTime timeStart, LocalDateTime timeEnd);
ResponseDto<Boolean> add(String performanceId,String performanceName,String picOne, String picTwo, String arUrl, String timeStart, String timeEnd);
ResponseDto<Boolean> change(SweetPerformanceShow show);
ResponseDto<Boolean> del(String performanceId);
ResponseDto<PageInfo<SweetArtists>> getList(Integer page, Integer size, String name);
}
......@@ -15,6 +15,10 @@ public class SweetPerformanceShow implements Serializable,Cloneable{
private Long mid;
private String performanceId;
/**
* 演出名
*/
private String performanceName;
/**
* 图片地址1
*/
......@@ -31,14 +35,19 @@ public class SweetPerformanceShow implements Serializable,Cloneable{
* 离线地址
*/
private String offlineUrl;
/**
* 状态 1可用 0不可用
*/
private Integer status;
/**
* 开始时间
*/
private LocalDateTime timeStart;
private String timeStart;
/**
* 结束时间
*/
private LocalDateTime timeEnd;
private String timeEnd;
private static final SweetPerformanceShow obj = new SweetPerformanceShow();
public static SweetPerformanceShow getNew() {
......
package com.liquidnet.service.sweet.mapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.sweet.entity.SweetPerformanceShow;
public interface SweetPerformanceMapper extends BaseMapper<SweetPerformanceShow> {
}
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>liquidnet-bus-feign</artifactId>
<groupId>com.liquidnet</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>liquidnet-api-feign-goblin</artifactId>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
</project>
\ No newline at end of file
package com.liquidnet.service.feign.goblin.api;
import com.liquidnet.service.base.ResponseDto;
import feign.hystrix.FallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Component
/*@FeignClient(name = "liquidnet-service-goblin",
contextId = "FeignGoblinArClient",
url = "${liquidnet.service.goblin.url}",
fallback = FallbackFactory.Default.class)*/
public interface FeignGoblinArClient {
@PostMapping("goblin/inner/ar/data")
ResponseDto<Boolean> getArData(@RequestParam("tag") String tag,
@RequestParam("performanceId") String performanceId);
}
......@@ -111,6 +111,12 @@
<artifactId>liquidnet-api-feign-candy</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-api-feign-goblin</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
......
......@@ -46,20 +46,19 @@ public class SweetArtistsController {
@PostMapping("add")
@ApiOperation("添加艺人")
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "picUrl", value = "图片", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "name", value = "艺人姓名", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "pinyin", value = "姓名拼音", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "describe", value = "艺人简介", required = true),
@ApiImplicitParam(type = "query", dataType = "String[]", name = "picArray", value = "图片数组", required = true),
@ApiImplicitParam(type = "query", dataType = "String[]", name = "videoArray", value = "视频数组", required = true)
})
public ResponseDto<Boolean> add(@RequestParam() String picUrl,
public ResponseDto<Boolean> add(
@RequestParam() String name,
@RequestParam() String pinyin,
@RequestParam() String describe,
@RequestParam() String[] picArray,
@RequestParam() String[] videoArray) {
return sweetArtistsService.add(picUrl, name, pinyin, describe,picArray,videoArray);
return sweetArtistsService.add( name, pinyin, describe,picArray,videoArray);
}
@GetMapping("detail")
......
package com.liquidnet.service.sweet.controller;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.entity.SweetArtists;
import com.liquidnet.service.sweet.entity.SweetPerformanceShow;
import com.liquidnet.service.sweet.service.ISweetPerformanceService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime;
......@@ -21,20 +21,63 @@ public class SweetPerformanceController {
@Autowired
private ISweetPerformanceService sweetPerformanceService;
@GetMapping("list")
@ApiOperation("ar列表")
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "Integer", name = "page", value = "页数", required = true),
@ApiImplicitParam(type = "query", dataType = "Integer", name = "size", value = "数量", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "name", value = "艺人姓名 不查询从传递null", required = false),
})
public ResponseDto<PageInfo<SweetArtists>> getList(@RequestParam() Integer page,
@RequestParam() Integer size,
@RequestParam(required = false) String name) {
return sweetPerformanceService.getList(page, size, name);
}
@PostMapping("add")
@ApiOperation("添加")
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "performanceId", value = "演出id", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "performanceName", value = "演出名", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "picOne", value = "图片1", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "picTwo", value = "图片2", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "arUrl", value = "AR地址", required = true),
@ApiImplicitParam(type = "query", dataType = "LocalDateTime", name = "timeStart", value = "开始时间", required = true),
@ApiImplicitParam(type = "query", dataType = "LocalDateTime", name = "timeEnd", value = "结束时间", required = true)
})
public ResponseDto<Boolean> add(@RequestParam() String picOne,
public ResponseDto<Boolean> add(@RequestParam() String performanceId,
@RequestParam() String performanceName,
@RequestParam() String picOne,
@RequestParam() String picTwo,
@RequestParam() String arUrl,
@RequestParam() LocalDateTime timeStart,
@RequestParam() LocalDateTime timeEnd) {
return sweetPerformanceService.add(picOne, picTwo, arUrl, timeStart,timeEnd);
@RequestParam() String timeStart,
@RequestParam() String timeEnd) {
return sweetPerformanceService.add(performanceId,performanceName,picOne, picTwo, arUrl, timeStart,timeEnd);
}
@PostMapping("change")
@ApiOperation("修改")
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "performanceId", value = "演出id", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "picOne", value = "图片1", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "picTwo", value = "图片2", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "arUrl", value = "AR地址", required = true),
@ApiImplicitParam(type = "query", dataType = "LocalDateTime", name = "timeStart", value = "开始时间", required = true),
@ApiImplicitParam(type = "query", dataType = "LocalDateTime", name = "timeEnd", value = "结束时间", required = true)
})
public ResponseDto<Boolean> change(SweetPerformanceShow show) {
return sweetPerformanceService.change(show);
}
@PostMapping("del")
@ApiOperation("删除")
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "performanceId", value = "演出id", required = true)
})
public ResponseDto<Boolean> del( @RequestParam() String performanceId) {
return sweetPerformanceService.del(performanceId);
}
}
......@@ -76,14 +76,13 @@ public class SweetArtistsServiceImpl extends ServiceImpl<SweetArtistsMapper, Swe
}
@Override
public ResponseDto<Boolean> add(String picUrl, String name, String pinyin, String describe,String[] picArray,String[] videoArray) {
public ResponseDto<Boolean> add( String name, String pinyin, String describe,String[] picArray,String[] videoArray) {
try {
String mid = IDGenerator.nextSnowId();
LocalDateTime time = LocalDateTime.now();
SweetArtists sweetArtists = SweetArtists.getNew();
SweetArtistsUrl sweetArtistsUrl = SweetArtistsUrl.getNew();
sweetArtists.setArtistsId(mid);
sweetArtists.setPicUrl(picUrl);
sweetArtists.setName(name);
sweetArtists.setPinyin(pinyin);
sweetArtists.setDescribes(describe);
......
package com.liquidnet.service.sweet.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageInfo;
import com.liquidnet.commons.lang.constant.LnsEnum;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.HttpUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.feign.goblin.api.FeignGoblinArClient;
import com.liquidnet.service.sweet.entity.SweetArtists;
import com.liquidnet.service.sweet.entity.SweetPerformanceShow;
import com.liquidnet.service.sweet.mapper.SweetPerformanceMapper;
import com.liquidnet.service.sweet.service.ISweetPerformanceService;
import com.liquidnet.service.sweet.utils.RedisDataUtils;
import org.bson.Document;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
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.data.mongodb.core.query.Update;
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;
@Service
public class SweetPerformanceServiceImpl extends ServiceImpl<SweetPerformanceMapper, SweetPerformanceShow> implements ISweetPerformanceService {
/* @Value("${liquidnet.service.goblin.url}")
private String goblinUrl;*/
@Autowired
private SweetPerformanceMapper sweetPerformanceMapper;
@Autowired
private RedisDataUtils redisDataUtils;
private RedisDataUtils redisUtils;
@Autowired
private MongoTemplate mongoTemplate;
/* @Autowired
private FeignGoblinArClient feignGoblinArClient;*/
@Autowired
Environment environment;
@Override
public ResponseDto<Boolean> add(String performanceId,String performanceName,String picOne, String picTwo, String arUrl, String timeStart, String timeEnd) {
try {
String offlineUrl=""; //离线地址
// ResponseDto<Boolean> arData = feignGoblinArClient.getArData(performanceId, "");
// LocalDateTime time = LocalDateTime.now();
/*MultiValueMap<String, String> params = new LinkedMultiValueMap();
params.add("performanceId",mid);
params.add("tag",null);
String returnData = HttpUtil.post(goblinUrl.concat("/goblin/inner/ar/data"), params);*/
String property = environment.getProperty(CurrentUtil.CK_ENV_ACTIVE);
if (LnsEnum.ENV.dev.name().contains(environment.getProperty(CurrentUtil.CK_ENV_ACTIVE))){
offlineUrl="devgoblin.zhengzai.tv/goblin/inner/ar/data";
}else if (LnsEnum.ENV.test.name().contains(environment.getProperty(CurrentUtil.CK_ENV_ACTIVE))){
offlineUrl="testgoblin.zhengzai.tv/goblin/inner/ar/data";
}else {
offlineUrl="prodgoblin.zhengzai.tv/goblin/inner/ar/data";
}
SweetPerformanceShow show = SweetPerformanceShow.getNew();
show.setPerformanceId(performanceId);
show.setPicOne(picOne);
show.setPicTwo(picTwo);
show.setArUrl(arUrl);
show.setOfflineUrl(offlineUrl);
show.setTimeStart(timeStart);
show.setTimeEnd(timeEnd);
//redis
redisUtils.setPerformanceAR(performanceId,show);
//新增 mongo数据
mongoTemplate.insert(show, SweetPerformanceShow.class.getSimpleName());
//mysql
sweetPerformanceMapper.insert(show);
return ResponseDto.success();
}catch (Exception e) {
return ResponseDto.failure();
}
}
@Override
public ResponseDto<Boolean> add(String picOne, String picTwo, String arUrl, LocalDateTime timeStart, LocalDateTime timeEnd) {
String offlineUrl=null;
public ResponseDto<Boolean> change(SweetPerformanceShow show) {
try {
String performanceId = show.getPerformanceId();
SweetPerformanceShow show = SweetPerformanceShow.getNew();
String mid = IDGenerator.nextSnowId();
// LocalDateTime time = LocalDateTime.now();
show.setPerformanceId(mid);
show.setPicOne(picOne);
show.setPicTwo(picTwo);
show.setArUrl(arUrl);
show.setOfflineUrl(offlineUrl);
show.setTimeStart(timeStart);
show.setTimeEnd(timeEnd);
sweetPerformanceMapper.insert(show);
//修改redis
redisUtils.setPerformanceAR(performanceId,show);
//修改 mongo数据
Query query = Query.query(Criteria.where("performanceId").is(performanceId));
Update update = Update.fromDocument(Document.parse(JsonUtils.toJson(show)));
mongoTemplate.updateFirst(query, update,SweetPerformanceShow.class,SweetPerformanceShow.class.getSimpleName());
//修改mysql
sweetPerformanceMapper.update(show,Wrappers.lambdaUpdate(SweetPerformanceShow.class).eq(SweetPerformanceShow::getPerformanceId, performanceId));
return ResponseDto.success();
}catch (Exception e) {
return ResponseDto.failure();
}
}
@Override
public ResponseDto<Boolean> del(String performanceId) {
//删除
redisUtils.delPerformanceARById(performanceId);
mongoTemplate.remove(Query.query(Criteria.where("performanceId").is(performanceId)),SweetPerformanceShow.class.getSimpleName());
sweetPerformanceMapper.delete(Wrappers.lambdaQuery(SweetPerformanceShow.class).eq(SweetPerformanceShow::getPerformanceId, performanceId));
return ResponseDto.success();
}
@Override
public ResponseDto<PageInfo<SweetArtists>> getList(Integer page, Integer size, String name) {
return null;
}
}
......@@ -839,4 +839,15 @@ public class RedisDataUtils {
return (int) obj;
}
}
public void setPerformanceAR(String performanceId, SweetPerformanceShow data) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_PERFORMANCE_AR.concat(performanceId + "");
redisUtil.set(redisKey, data);
}
public void delPerformanceARById(String performanceId){
String redisKey = SweetConstant.REDIS_KEY_SWEET_PERFORMANCE_AR.concat(performanceId + "");
redisUtil.del(redisKey);
}
}
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