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

Commit f225e912 authored by 胡佳晨's avatar 胡佳晨

修改 sweet

parent 3544edd8
......@@ -11,8 +11,7 @@ public class SweetConstant {
public final static String REDIS_KEY_SWEET_MANUAL_RICH_TEXT = "sweet:manual:richText:manual:";
public final static String REDIS_KEY_SWEET_MANUAL_SORT = "sweet:manual:sort:manual:";
public final static String REDIS_KEY_SWEET_ARTISTS_WATCH = "sweet:artists:watch:uid:";
public final static String REDIS_KEY_SWEET_ARTISTS_SIGN = "sweet:artists:sign:uid:";
public final static String REDIS_KEY_SWEET_ARTISTS_RELATION = "sweet:artists:relation:uid:";
public enum ManualPosition {
POSITION_1("艺人"),
......
package com.liquidnet.service.sweet.controller;
import com.github.pagehelper.PageInfo;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.dto.SweetManualAppletDto;
import com.liquidnet.service.sweet.dto.SweetManualArtistList2Dto;
......@@ -9,16 +10,15 @@ import com.liquidnet.service.sweet.entity.SweetManualNotify;
import com.liquidnet.service.sweet.entity.SweetRichtext;
import com.liquidnet.service.sweet.entity.SweetStage;
import com.liquidnet.service.sweet.utils.RedisDataUtils;
import com.liquidnet.service.sweet.vo.SweetArtistsRelationVo;
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.GetMapping;
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.util.ArrayList;
import java.util.List;
@Api(tags = "小程序")
......@@ -69,18 +69,26 @@ public class SweetAppletController {
@ApiImplicitParam(type = "query", dataType = "String", name = "dateTime", value = "时间 全部传 \"\"", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "stage", value = "舞台 全部传 \"\"", required = true),
@ApiImplicitParam(type = "query", dataType = "Integer", name = "isSign", value = "是否签名(1是0否)", required = true),
@ApiImplicitParam(type = "query", dataType = "Integer", name = "page", value = "页数", required = true),
@ApiImplicitParam(type = "query", dataType = "Integer", name = "size", value = "数量", required = true),
})
public ResponseDto<SweetManualArtistList2Dto> timeList(@RequestParam(defaultValue = "1") String manualId,
@RequestParam(defaultValue = "2021-12-01") String dateTime,
@RequestParam(defaultValue = "测试舞台") String stage,
@RequestParam(defaultValue = "isSign") Integer isSign) {
@RequestParam(defaultValue = "isSign") Integer isSign,
@RequestParam(defaultValue = "page") Integer page,
@RequestParam(defaultValue = "size") Integer size) {
String uid = CurrentUtil.getCurrentUid();
int startPosition = (page - 1) * size;
int endPosition = (page) * size;
SweetManualArtistList2Dto data = redisDataUtils.getTimeList(manualId);
SweetArtistsRelationVo relationData = redisDataUtils.getArtistsRelationRedisVo(uid);
List<SweetManualArtistListDto> artistData = data.getData();
List<SweetManualArtistListDto> returnArtist = data.getData();
List<SweetManualArtistListDto> allReturnArtist = new ArrayList();
List<SweetManualArtistListDto> returnArtist = new ArrayList();
for (SweetManualArtistListDto item : artistData) {
boolean isSave = false;
if (isSign == 1) {
if (item.getSignatureStart() != null) {
//保留
......@@ -103,11 +111,37 @@ public class SweetAppletController {
}
if (isSave) {
returnArtist.add(item);
allReturnArtist.add(item);
}
}
for (int i = 0; i < allReturnArtist.size(); i++) {
SweetManualArtistListDto item = allReturnArtist.get(i);
if (i >= startPosition && i < endPosition) {
item.setIsWatch(0);
item.setIsSign(0);
for (String artistsId: relationData.getWatchList()) {
if(artistsId.equalsIgnoreCase(item.getArtistId())){
item.setIsWatch(1);
break;
}
}
for (String artistsId: relationData.getSignList()) {
if(artistsId.equalsIgnoreCase(item.getArtistId())){
item.setIsSign(1);
break;
}
}
returnArtist.add(item);
}
}
data.setData(returnArtist);
data.setTotal(allReturnArtist.size());
return ResponseDto.success(data);
}
......@@ -122,15 +156,27 @@ public class SweetAppletController {
return ResponseDto.success(redisDataUtils.getRichTextRedisData(manualId, type));
}
@GetMapping("artistDetails")
@ApiOperation("艺人详情")
@DeleteMapping("artistsWatch")
@ApiOperation("艺人-想看")
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "manualId", value = "电子手册id", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "type", value = "类型 (1签售时间 2现场地图 3官方大巴 4公共交通 5自驾导航坐标 6官方支持 7观众须知 8防疫指南 9观演攻略)", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "uid", value = "用户id", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "artistsId", value = "艺人id", required = true)
})
public ResponseDto<SweetRichtext> artistDetails(@RequestParam(defaultValue = "1") String manualId,
@RequestParam(defaultValue = "1") String type) {
return ResponseDto.success(redisDataUtils.getRichTextRedisData(manualId, type));
public ResponseDto<Boolean> watch(@RequestParam(defaultValue = "1") String uid,
@RequestParam(defaultValue = "1") String artistsId) {
redisDataUtils.setArtistsRelationRedisVo(uid, artistsId, "sign");
return ResponseDto.success();
}
@DeleteMapping("artistsSign")
@ApiOperation("艺人-签售")
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "uid", value = "用户id", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "artistsId", value = "艺人id", required = true)
})
public ResponseDto<Boolean> sign(@RequestParam(defaultValue = "1") String uid,
@RequestParam(defaultValue = "1") String artistsId) {
redisDataUtils.setArtistsRelationRedisVo(uid, artistsId, "watch");
return ResponseDto.success();
}
}
......@@ -10,6 +10,7 @@ public class SweetManualArtistList2Dto implements Serializable ,Cloneable {
private List<SweetManualArtistListDto> data;
private List<String> date;
private List<SweetManualArtistStageListDto> stage;
private Integer total;
private static final SweetManualArtistList2Dto obj = new SweetManualArtistList2Dto();
public static SweetManualArtistList2Dto getNew() {
......
......@@ -18,7 +18,8 @@ public class SweetManualArtistListDto implements Serializable,Cloneable {
private String signatureStart;
private String signatureEnd;
private ArrayList<String> date;
private Integer isWatch;
private Integer isSign;
private static final SweetManualArtistListDto obj = new SweetManualArtistListDto();
public static SweetManualArtistListDto getNew() {
......
......@@ -13,8 +13,7 @@ import com.liquidnet.service.sweet.entity.SweetManualNotify;
import com.liquidnet.service.sweet.entity.SweetManualSort;
import com.liquidnet.service.sweet.entity.SweetRichtext;
import com.liquidnet.service.sweet.mapper.*;
import com.liquidnet.service.sweet.vo.SweetArtistsSignVo;
import com.liquidnet.service.sweet.vo.SweetArtistsWatchVo;
import com.liquidnet.service.sweet.vo.SweetArtistsRelationVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
......@@ -196,41 +195,35 @@ public class RedisDataUtils {
redisUtil.del(SweetConstant.REDIS_KEY_SWEET_MANUAL_SORT.concat(manualId));//列表
}
public void setArtistsWatchRedisVo(String uid, String artistsId) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_ARTISTS_WATCH.concat(uid);
SweetArtistsWatchVo vo = getArtistsWatchRedisVo(uid);
public void setArtistsRelationRedisVo(String uid, String artistsId ,String type) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_ARTISTS_RELATION.concat(uid);
SweetArtistsRelationVo vo = getArtistsRelationRedisVo(uid);
vo.setUid(uid);
vo.getArtistsIdList().add(artistsId);
redisUtil.set(redisKey, vo);
}
//获取想看
public SweetArtistsWatchVo getArtistsWatchRedisVo(String uid) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_ARTISTS_WATCH.concat(uid);
Object obj = redisUtil.get(redisKey);
if (obj == null) {
return SweetArtistsWatchVo.getNew();
} else {
return (SweetArtistsWatchVo) obj;
if(type.equalsIgnoreCase("sign")){
if(vo.getSignList().contains(artistsId)){
vo.getSignList().remove(artistsId);
}else{
vo.getSignList().add(artistsId);
}
}else if(type.equalsIgnoreCase("watch")){
if(vo.getWatchList().contains(artistsId)){
vo.getWatchList().remove(artistsId);
}else{
vo.getWatchList().add(artistsId);
}
}
}
public void setArtistsSignRedisVo(String uid, String artistsId) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_ARTISTS_SIGN.concat(uid);
SweetArtistsSignVo vo = getArtistsSignRedisVo(uid);
vo.setUid(uid);
vo.getArtistsIdList().add(artistsId);
redisUtil.set(redisKey, vo);
}
//获取 签售
public SweetArtistsSignVo getArtistsSignRedisVo(String uid) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_ARTISTS_SIGN.concat(uid);
//获取 想看
public SweetArtistsRelationVo getArtistsRelationRedisVo(String uid) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_ARTISTS_RELATION.concat(uid);
Object obj = redisUtil.get(redisKey);
if (obj == null) {
return SweetArtistsSignVo.getNew();
return SweetArtistsRelationVo.getNew();
} else {
return (SweetArtistsSignVo) obj;
return (SweetArtistsRelationVo) obj;
}
}
}
package com.liquidnet.service.sweet.vo;
import com.liquidnet.service.sweet.dto.SweetManualArtistList2Dto;
import lombok.Data;
import java.util.ArrayList;
@Data
public class SweetArtistsSignVo implements Cloneable{
public class SweetArtistsRelationVo implements Cloneable{
private String uid;
private ArrayList<String> artistsIdList;
private ArrayList<String> signList;
private ArrayList<String> watchList;
private static final SweetArtistsSignVo obj = new SweetArtistsSignVo();
public static SweetArtistsSignVo getNew() {
private static final SweetArtistsRelationVo obj = new SweetArtistsRelationVo();
public static SweetArtistsRelationVo getNew() {
try {
return (SweetArtistsSignVo) obj.clone();
return (SweetArtistsRelationVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new SweetArtistsSignVo();
return new SweetArtistsRelationVo();
}
}
}
package com.liquidnet.service.sweet.vo;
import com.liquidnet.service.sweet.dto.SweetManualArtistList2Dto;
import lombok.Data;
import java.util.ArrayList;
@Data
public class SweetArtistsWatchVo implements Cloneable {
private String uid;
private ArrayList<String> artistsIdList;
private static final SweetArtistsWatchVo obj = new SweetArtistsWatchVo();
public static SweetArtistsWatchVo getNew() {
try {
return (SweetArtistsWatchVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new SweetArtistsWatchVo();
}
}
}
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