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

Commit 227b3b39 authored by sunyuntian's avatar sunyuntian

ar

parent 1e7da611
...@@ -93,4 +93,6 @@ public class SweetConstant { ...@@ -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_READ_NUM = QRCODE.concat("readNum:"); //读取次数 :type:mid
public final static String REDIS_KEY_QRCODE_LIST = QRCODE.concat("list:"); //二维码实体类 :type 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> { ...@@ -17,7 +17,7 @@ public interface ISweetArtistsService extends IService<SweetArtists> {
ResponseDto<PageInfo<SweetArtists>> getList(int page, int size,String name); 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); ResponseDto<SweetArtists> detail(String artistsId);
......
package com.liquidnet.service.sweet.service; package com.liquidnet.service.sweet.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto; 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.entity.SweetPerformanceShow;
import java.time.LocalDateTime; import java.time.LocalDateTime;
public interface ISweetPerformanceService extends IService<SweetPerformanceShow> { 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{ ...@@ -15,6 +15,10 @@ public class SweetPerformanceShow implements Serializable,Cloneable{
private Long mid; private Long mid;
private String performanceId; private String performanceId;
/**
* 演出名
*/
private String performanceName;
/** /**
* 图片地址1 * 图片地址1
*/ */
...@@ -31,14 +35,19 @@ public class SweetPerformanceShow implements Serializable,Cloneable{ ...@@ -31,14 +35,19 @@ public class SweetPerformanceShow implements Serializable,Cloneable{
* 离线地址 * 离线地址
*/ */
private String offlineUrl; 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(); private static final SweetPerformanceShow obj = new SweetPerformanceShow();
public static SweetPerformanceShow getNew() { public static SweetPerformanceShow getNew() {
......
package com.liquidnet.service.sweet.mapper; package com.liquidnet.service.sweet.mapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.sweet.entity.SweetPerformanceShow; import com.liquidnet.service.sweet.entity.SweetPerformanceShow;
public interface SweetPerformanceMapper extends BaseMapper<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 @@ ...@@ -111,6 +111,12 @@
<artifactId>liquidnet-api-feign-candy</artifactId> <artifactId>liquidnet-api-feign-candy</artifactId>
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
</dependency> </dependency>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-api-feign-goblin</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies> </dependencies>
<build> <build>
......
...@@ -46,20 +46,19 @@ public class SweetArtistsController { ...@@ -46,20 +46,19 @@ public class SweetArtistsController {
@PostMapping("add") @PostMapping("add")
@ApiOperation("添加艺人") @ApiOperation("添加艺人")
@ApiImplicitParams({ @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 = "name", value = "艺人姓名", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "pinyin", 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 = "describe", value = "艺人简介", required = true),
@ApiImplicitParam(type = "query", dataType = "String[]", name = "picArray", value = "图片数组", required = true), @ApiImplicitParam(type = "query", dataType = "String[]", name = "picArray", value = "图片数组", required = true),
@ApiImplicitParam(type = "query", dataType = "String[]", name = "videoArray", 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 name,
@RequestParam() String pinyin, @RequestParam() String pinyin,
@RequestParam() String describe, @RequestParam() String describe,
@RequestParam() String[] picArray, @RequestParam() String[] picArray,
@RequestParam() String[] videoArray) { @RequestParam() String[] videoArray) {
return sweetArtistsService.add(picUrl, name, pinyin, describe,picArray,videoArray); return sweetArtistsService.add( name, pinyin, describe,picArray,videoArray);
} }
@GetMapping("detail") @GetMapping("detail")
......
package com.liquidnet.service.sweet.controller; package com.liquidnet.service.sweet.controller;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto; 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 com.liquidnet.service.sweet.service.ISweetPerformanceService;
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.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.time.LocalDateTime; import java.time.LocalDateTime;
...@@ -21,20 +21,63 @@ public class SweetPerformanceController { ...@@ -21,20 +21,63 @@ public class SweetPerformanceController {
@Autowired @Autowired
private ISweetPerformanceService sweetPerformanceService; 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") @PostMapping("add")
@ApiOperation("添加") @ApiOperation("添加")
@ApiImplicitParams({ @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 = "picOne", value = "图片1", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "picTwo", value = "图片2", 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 = "String", name = "arUrl", value = "AR地址", required = true),
@ApiImplicitParam(type = "query", dataType = "LocalDateTime", name = "timeStart", value = "开始时间", required = true), @ApiImplicitParam(type = "query", dataType = "LocalDateTime", name = "timeStart", value = "开始时间", required = true),
@ApiImplicitParam(type = "query", dataType = "LocalDateTime", name = "timeEnd", 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 picTwo,
@RequestParam() String arUrl, @RequestParam() String arUrl,
@RequestParam() LocalDateTime timeStart, @RequestParam() String timeStart,
@RequestParam() LocalDateTime timeEnd) { @RequestParam() String timeEnd) {
return sweetPerformanceService.add(picOne, picTwo, arUrl, timeStart,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 ...@@ -76,14 +76,13 @@ public class SweetArtistsServiceImpl extends ServiceImpl<SweetArtistsMapper, Swe
} }
@Override @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 { try {
String mid = IDGenerator.nextSnowId(); String mid = IDGenerator.nextSnowId();
LocalDateTime time = LocalDateTime.now(); LocalDateTime time = LocalDateTime.now();
SweetArtists sweetArtists = SweetArtists.getNew(); SweetArtists sweetArtists = SweetArtists.getNew();
SweetArtistsUrl sweetArtistsUrl = SweetArtistsUrl.getNew(); SweetArtistsUrl sweetArtistsUrl = SweetArtistsUrl.getNew();
sweetArtists.setArtistsId(mid); sweetArtists.setArtistsId(mid);
sweetArtists.setPicUrl(picUrl);
sweetArtists.setName(name); sweetArtists.setName(name);
sweetArtists.setPinyin(pinyin); sweetArtists.setPinyin(pinyin);
sweetArtists.setDescribes(describe); sweetArtists.setDescribes(describe);
......
package com.liquidnet.service.sweet.service.impl; package com.liquidnet.service.sweet.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 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.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.base.ResponseDto; 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.entity.SweetPerformanceShow;
import com.liquidnet.service.sweet.mapper.SweetPerformanceMapper; import com.liquidnet.service.sweet.mapper.SweetPerformanceMapper;
import com.liquidnet.service.sweet.service.ISweetPerformanceService; import com.liquidnet.service.sweet.service.ISweetPerformanceService;
import com.liquidnet.service.sweet.utils.RedisDataUtils; import com.liquidnet.service.sweet.utils.RedisDataUtils;
import org.bson.Document;
import org.springframework.beans.factory.annotation.Autowired; 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.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.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;
@Service @Service
public class SweetPerformanceServiceImpl extends ServiceImpl<SweetPerformanceMapper, SweetPerformanceShow> implements ISweetPerformanceService { public class SweetPerformanceServiceImpl extends ServiceImpl<SweetPerformanceMapper, SweetPerformanceShow> implements ISweetPerformanceService {
/* @Value("${liquidnet.service.goblin.url}")
private String goblinUrl;*/
@Autowired @Autowired
private SweetPerformanceMapper sweetPerformanceMapper; private SweetPerformanceMapper sweetPerformanceMapper;
@Autowired @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 @Override
public ResponseDto<Boolean> add(String picOne, String picTwo, String arUrl, LocalDateTime timeStart, LocalDateTime timeEnd) { public ResponseDto<Boolean> change(SweetPerformanceShow show) {
String offlineUrl=null; try {
String performanceId = show.getPerformanceId();
SweetPerformanceShow show = SweetPerformanceShow.getNew(); //修改redis
String mid = IDGenerator.nextSnowId(); redisUtils.setPerformanceAR(performanceId,show);
// LocalDateTime time = LocalDateTime.now(); //修改 mongo数据
show.setPerformanceId(mid); Query query = Query.query(Criteria.where("performanceId").is(performanceId));
show.setPicOne(picOne); Update update = Update.fromDocument(Document.parse(JsonUtils.toJson(show)));
show.setPicTwo(picTwo); mongoTemplate.updateFirst(query, update,SweetPerformanceShow.class,SweetPerformanceShow.class.getSimpleName());
show.setArUrl(arUrl); //修改mysql
show.setOfflineUrl(offlineUrl); sweetPerformanceMapper.update(show,Wrappers.lambdaUpdate(SweetPerformanceShow.class).eq(SweetPerformanceShow::getPerformanceId, performanceId));
show.setTimeStart(timeStart); return ResponseDto.success();
show.setTimeEnd(timeEnd); }catch (Exception e) {
sweetPerformanceMapper.insert(show); 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(); return ResponseDto.success();
} }
@Override
public ResponseDto<PageInfo<SweetArtists>> getList(Integer page, Integer size, String name) {
return null;
}
} }
...@@ -839,4 +839,15 @@ public class RedisDataUtils { ...@@ -839,4 +839,15 @@ public class RedisDataUtils {
return (int) obj; 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