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

Commit 87c35544 authored by jiangxiulong's avatar jiangxiulong

list

parent 47633cd1
...@@ -81,4 +81,5 @@ public class SweetConstant { ...@@ -81,4 +81,5 @@ public class SweetConstant {
public final static String REDIS_KEY_SWEET_MDSK_ARTISTS_RELATION = "sweet:mdsk:artists:relation:uid:"; public final static String REDIS_KEY_SWEET_MDSK_ARTISTS_RELATION = "sweet:mdsk:artists:relation:uid:";
public final static String REDIS_KEY_SWEET_MDSK_ARTISTS_DETAILS = "sweet:mdsk:artists:details:"; public final static String REDIS_KEY_SWEET_MDSK_ARTISTS_DETAILS = "sweet:mdsk:artists:details:";
public final static String REDIS_KEY_SWEET_MDSK_SHOP = "sweet:mdsk:artists:shop:manual:"; public final static String REDIS_KEY_SWEET_MDSK_SHOP = "sweet:mdsk:artists:shop:manual:";
public static final String REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_LIST = "sweet:integralActivity:list";
} }
...@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty; ...@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDateTime;
@Data @Data
public class IntegralActivityVo implements Serializable, Cloneable { public class IntegralActivityVo implements Serializable, Cloneable {
...@@ -20,6 +21,33 @@ public class IntegralActivityVo implements Serializable, Cloneable { ...@@ -20,6 +21,33 @@ public class IntegralActivityVo implements Serializable, Cloneable {
@ApiModelProperty(value = "活动图片") @ApiModelProperty(value = "活动图片")
private String activityImg; private String activityImg;
@ApiModelProperty(value = "活动类型 1转盘")
private Integer activityType;
@ApiModelProperty(value = "活动时间类型 1长期 2开始结束时间")
private Integer timeType;
@ApiModelProperty(value = "如果活动有时间限制 开始时间")
private LocalDateTime startTime;
@ApiModelProperty(value = "如果活动有时间限制 结束时间")
private LocalDateTime endTime;
@ApiModelProperty(value = "快递费用类型 1包邮 2到付")
private Integer expressFeeType;
@ApiModelProperty(value = "活动规则")
private String activityRules;
@ApiModelProperty(value = "是否上线 1未上线 2已上线")
private Integer isOnline;
@ApiModelProperty(value = "创建时间")
private LocalDateTime createdAt;
@ApiModelProperty(value = "更新时间")
private LocalDateTime updatedAt;
private static final IntegralActivityVo obj = new IntegralActivityVo(); private static final IntegralActivityVo obj = new IntegralActivityVo();
public static IntegralActivityVo getNew() { public static IntegralActivityVo getNew() {
try { try {
...@@ -34,6 +62,15 @@ public class IntegralActivityVo implements Serializable, Cloneable { ...@@ -34,6 +62,15 @@ public class IntegralActivityVo implements Serializable, Cloneable {
this.setIntegralActivityId(source.getIntegralActivityId()); this.setIntegralActivityId(source.getIntegralActivityId());
this.setActivityTitle(source.getActivityTitle()); this.setActivityTitle(source.getActivityTitle());
this.setActivityImg(source.getActivityImg()); this.setActivityImg(source.getActivityImg());
this.setActivityType(source.getActivityType());
this.setTimeType(source.getTimeType());
this.setStartTime(source.getStartTime());
this.setEndTime(source.getEndTime());
this.setExpressFeeType(source.getExpressFeeType());
this.setActivityRules(source.getActivityRules());
this.setIsOnline(source.getIsOnline());
this.setCreatedAt(source.getCreatedAt());
this.setUpdatedAt(source.getUpdatedAt());
return this; return this;
} }
......
package com.liquidnet.service.sweet.service; package com.liquidnet.service.sweet.service;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.dto.vo.IntegralActivityVo;
import com.liquidnet.service.sweet.entity.SweetIntegralActivity; import com.liquidnet.service.sweet.entity.SweetIntegralActivity;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/** /**
* <p> * <p>
* 积分活动表 服务类 * 积分活动表 服务类
...@@ -13,4 +17,5 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -13,4 +17,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/ */
public interface ISweetIntegralActivityService extends IService<SweetIntegralActivity> { public interface ISweetIntegralActivityService extends IService<SweetIntegralActivity> {
ResponseDto<List<IntegralActivityVo>> getList();
} }
package com.liquidnet.client.admin.zhengzai.sweet.service.impl; package com.liquidnet.client.admin.zhengzai.sweet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.zhengzai.adam.dto.AdamMemberCodeExcelDto;
import com.liquidnet.client.admin.zhengzai.sweet.service.ISweetIntegralActivityService; import com.liquidnet.client.admin.zhengzai.sweet.service.ISweetIntegralActivityService;
import com.liquidnet.client.admin.zhengzai.sweet.utils.SweetObjectAdminUtil;
import com.liquidnet.client.admin.zhengzai.sweet.utils.SweetRedisAdminUtils;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.stone.entity.StoneScoreItems;
import com.liquidnet.service.sweet.dto.SweetIntegralActivityDto; import com.liquidnet.service.sweet.dto.SweetIntegralActivityDto;
import com.liquidnet.service.sweet.dto.param.admin.SweetIntegralActivityFromParam; import com.liquidnet.service.sweet.dto.param.admin.SweetIntegralActivityFromParam;
import com.liquidnet.service.sweet.dto.param.admin.SweetIntegralActivityListSearchParam; import com.liquidnet.service.sweet.dto.param.admin.SweetIntegralActivityListSearchParam;
import com.liquidnet.service.sweet.dto.param.admin.SweetIntegralActivityPrizeFormParam; import com.liquidnet.service.sweet.dto.param.admin.SweetIntegralActivityPrizeFormParam;
import com.liquidnet.service.sweet.dto.vo.IntegralActivityVo;
import com.liquidnet.service.sweet.dto.vo.admin.SweetIntegralActivityPrizeVo; import com.liquidnet.service.sweet.dto.vo.admin.SweetIntegralActivityPrizeVo;
import com.liquidnet.service.sweet.dto.vo.admin.SweetIntegralActivityVo; import com.liquidnet.service.sweet.dto.vo.admin.SweetIntegralActivityVo;
import com.liquidnet.service.sweet.entity.SweetIntegralActivity; import com.liquidnet.service.sweet.entity.SweetIntegralActivity;
...@@ -24,6 +30,7 @@ import org.springframework.stereotype.Service; ...@@ -24,6 +30,7 @@ import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
...@@ -44,6 +51,9 @@ public class SweetIntegralActivityServiceImpl extends ServiceImpl<SweetIntegralA ...@@ -44,6 +51,9 @@ public class SweetIntegralActivityServiceImpl extends ServiceImpl<SweetIntegralA
@Autowired @Autowired
SweetIntegralActivityDrawMapper sweetIntegralActivityDrawMapper; SweetIntegralActivityDrawMapper sweetIntegralActivityDrawMapper;
@Autowired
private SweetRedisAdminUtils sweetRedisAdminUtils;
@Override @Override
public Integer createForm(SweetIntegralActivityFromParam param) { public Integer createForm(SweetIntegralActivityFromParam param) {
try { try {
...@@ -61,6 +71,7 @@ public class SweetIntegralActivityServiceImpl extends ServiceImpl<SweetIntegralA ...@@ -61,6 +71,7 @@ public class SweetIntegralActivityServiceImpl extends ServiceImpl<SweetIntegralA
} }
} }
// TODO: 2021/10/20 增加redis处理 // TODO: 2021/10/20 增加redis处理
this.integralActivityList();
return insert; return insert;
} catch (Exception e) { } catch (Exception e) {
log.error("创建活动失败 [e:{}]", e); log.error("创建活动失败 [e:{}]", e);
...@@ -91,6 +102,7 @@ public class SweetIntegralActivityServiceImpl extends ServiceImpl<SweetIntegralA ...@@ -91,6 +102,7 @@ public class SweetIntegralActivityServiceImpl extends ServiceImpl<SweetIntegralA
} }
} }
// TODO: 2021/10/20 增加redis处理 // TODO: 2021/10/20 增加redis处理
this.integralActivityList();
return update; return update;
} catch (Exception e) { } catch (Exception e) {
log.error("编辑活动失败 [e:{}]", e); log.error("编辑活动失败 [e:{}]", e);
...@@ -108,6 +120,7 @@ public class SweetIntegralActivityServiceImpl extends ServiceImpl<SweetIntegralA ...@@ -108,6 +120,7 @@ public class SweetIntegralActivityServiceImpl extends ServiceImpl<SweetIntegralA
Wrappers.lambdaUpdate(SweetIntegralActivity.class).eq(SweetIntegralActivity::getIntegralActivityId, integralActivityId) Wrappers.lambdaUpdate(SweetIntegralActivity.class).eq(SweetIntegralActivity::getIntegralActivityId, integralActivityId)
); );
// TODO: 2021/10/20 更新缓存 // TODO: 2021/10/20 更新缓存
this.integralActivityList();
return update; return update;
} }
...@@ -143,4 +156,17 @@ public class SweetIntegralActivityServiceImpl extends ServiceImpl<SweetIntegralA ...@@ -143,4 +156,17 @@ public class SweetIntegralActivityServiceImpl extends ServiceImpl<SweetIntegralA
return new PageInfo(voList); return new PageInfo(voList);
} }
private void integralActivityList() {
LambdaQueryWrapper<SweetIntegralActivity> queryWrapper = Wrappers.lambdaQuery(SweetIntegralActivity.class).eq(SweetIntegralActivity::getIsOnline, 2);
LocalDateTime now = LocalDateTime.now();
queryWrapper.eq(SweetIntegralActivity::getTimeType, 1).or().eq(SweetIntegralActivity::getTimeType, 2).lt(SweetIntegralActivity::getEndTime, now).gt(SweetIntegralActivity::getStartTime, now);
List<SweetIntegralActivity> sweetIntegralActivities = sweetIntegralActivityMapper.selectList(queryWrapper);
List<IntegralActivityVo> voList = SweetObjectAdminUtil.getSweetIntegralActivityVoList();
sweetIntegralActivities.forEach(r -> {
IntegralActivityVo copy = IntegralActivityVo.getNew().copy(r);
voList.add(copy);
});
sweetRedisAdminUtils.setIntegralActivityList(voList);
}
} }
package com.liquidnet.client.admin.zhengzai.sweet.utils;
import com.liquidnet.service.sweet.dto.vo.IntegralActivityVo;
import java.util.ArrayList;
public class SweetObjectAdminUtil {
private static final ArrayList<IntegralActivityVo> sweetIntegralActivityVoList = new ArrayList<>();
public static ArrayList<IntegralActivityVo> getSweetIntegralActivityVoList() {
return (ArrayList<IntegralActivityVo>)sweetIntegralActivityVoList.clone();
}
}
package com.liquidnet.client.admin.zhengzai.sweet.utils;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.service.sweet.constant.SweetConstant;
import com.liquidnet.service.sweet.dto.vo.IntegralActivityVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Component;
import java.util.List;
@Component
public class SweetRedisAdminUtils {
@Autowired
private MongoTemplate mongoTemplate;
@Autowired
private RedisUtil redisUtil;
public void setIntegralActivityList(List<IntegralActivityVo> voList) {
String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_LIST;
boolean set = redisUtil.set(redisKey, voList, 15);
}
}
...@@ -90,4 +90,5 @@ public class SweetConstant { ...@@ -90,4 +90,5 @@ public class SweetConstant {
public final static String REDIS_KEY_SWEET_MDSK_ARTISTS_RELATION = "sweet:mdsk:artists:relation:uid:"; public final static String REDIS_KEY_SWEET_MDSK_ARTISTS_RELATION = "sweet:mdsk:artists:relation:uid:";
public final static String REDIS_KEY_SWEET_MDSK_ARTISTS_DETAILS = "sweet:mdsk:artists:details:"; public final static String REDIS_KEY_SWEET_MDSK_ARTISTS_DETAILS = "sweet:mdsk:artists:details:";
public final static String REDIS_KEY_SWEET_MDSK_SHOP = "sweet:mdsk:artists:shop:manual:"; public final static String REDIS_KEY_SWEET_MDSK_SHOP = "sweet:mdsk:artists:shop:manual:";
public static final String REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_LIST = "sweet:integralActivity:list";
} }
...@@ -2,8 +2,8 @@ package com.liquidnet.service.sweet.controller; ...@@ -2,8 +2,8 @@ package com.liquidnet.service.sweet.controller;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.dto.vo.IntegralActivityVo;
import com.liquidnet.service.sweet.service.ISweetIntegralActivityService; import com.liquidnet.service.sweet.service.ISweetIntegralActivityService;
import com.liquidnet.service.sweet.vo.SweetCItyVoteStatVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -29,9 +29,9 @@ public class SweetIntegralActivityController { ...@@ -29,9 +29,9 @@ public class SweetIntegralActivityController {
@Autowired @Autowired
private ISweetIntegralActivityService activityService; private ISweetIntegralActivityService activityService;
// @GetMapping("list") @GetMapping("list")
// @ApiOperation("积分抽奖活动列表") @ApiOperation("积分抽奖活动列表")
// public ResponseDto<List<SweetCItyVoteStatVo>> getList() { public ResponseDto<List<IntegralActivityVo>> getList() {
// return activityService.getList(); return activityService.getList();
// } }
} }
package com.liquidnet.service.sweet.service.impl; package com.liquidnet.service.sweet.service.impl;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.dto.vo.IntegralActivityVo;
import com.liquidnet.service.sweet.entity.SweetIntegralActivity; import com.liquidnet.service.sweet.entity.SweetIntegralActivity;
import com.liquidnet.service.sweet.mapper.SweetIntegralActivityMapper; import com.liquidnet.service.sweet.mapper.SweetIntegralActivityMapper;
import com.liquidnet.service.sweet.service.ISweetIntegralActivityService; import com.liquidnet.service.sweet.service.ISweetIntegralActivityService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.service.sweet.utils.ObjectUtil;
import com.liquidnet.service.sweet.utils.RedisDataUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
/** /**
* <p> * <p>
* 积分活动表 服务实现类 * 积分活动表 服务实现类
...@@ -17,4 +26,31 @@ import org.springframework.stereotype.Service; ...@@ -17,4 +26,31 @@ import org.springframework.stereotype.Service;
@Service @Service
public class SweetIntegralActivityServiceImpl extends ServiceImpl<SweetIntegralActivityMapper, SweetIntegralActivity> implements ISweetIntegralActivityService { public class SweetIntegralActivityServiceImpl extends ServiceImpl<SweetIntegralActivityMapper, SweetIntegralActivity> implements ISweetIntegralActivityService {
@Autowired
private RedisDataUtils redisDataUtils;
@Override
public ResponseDto<List<IntegralActivityVo>> getList() {
List<IntegralActivityVo> integralActivityList = redisDataUtils.getIntegralActivityList();
ArrayList<IntegralActivityVo> sweetIntegralActivityVoList = ObjectUtil.getSweetIntegralActivityVoList();
for (IntegralActivityVo info : integralActivityList) {
if (info.getIsOnline() == 1) {
continue;
}
if (info.getTimeType() == 2) {
LocalDateTime startTime = info.getStartTime();
LocalDateTime endTime = info.getEndTime();
LocalDateTime nowTime = LocalDateTime.now();
if (nowTime.isAfter(endTime)) { // 已结束
continue;
}
if (startTime.isAfter(nowTime)) { // 未开始
continue;
}
}
sweetIntegralActivityVoList.add(info);
}
return ResponseDto.success(sweetIntegralActivityVoList);
}
} }
package com.liquidnet.service.sweet.utils; package com.liquidnet.service.sweet.utils;
import com.liquidnet.service.base.PagedResult;
import com.liquidnet.service.sweet.dto.SweetManualAppletDto; import com.liquidnet.service.sweet.dto.SweetManualAppletDto;
import com.liquidnet.service.sweet.dto.SweetManualAppletMDSKDto; import com.liquidnet.service.sweet.dto.SweetManualAppletMDSKDto;
import com.liquidnet.service.sweet.dto.SweetManualArtistListDto; import com.liquidnet.service.sweet.dto.SweetManualArtistListDto;
import com.liquidnet.service.sweet.dto.SweetManualArtistListMDSKDto; import com.liquidnet.service.sweet.dto.SweetManualArtistListMDSKDto;
import com.liquidnet.service.sweet.dto.vo.IntegralActivityVo;
import com.liquidnet.service.sweet.entity.SweetManualShop; import com.liquidnet.service.sweet.entity.SweetManualShop;
import com.liquidnet.service.sweet.entity.SweetManualShopMdsk; import com.liquidnet.service.sweet.entity.SweetManualShopMdsk;
import com.liquidnet.service.sweet.vo.SweetCItyVoteStatVo; import com.liquidnet.service.sweet.vo.SweetCItyVoteStatVo;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List;
public class ObjectUtil { public class ObjectUtil {
private static final ArrayList<SweetManualAppletDto> sweetManualAppletDtoList = new ArrayList<>(); private static final ArrayList<SweetManualAppletDto> sweetManualAppletDtoList = new ArrayList<>();
...@@ -21,6 +20,7 @@ public class ObjectUtil { ...@@ -21,6 +20,7 @@ public class ObjectUtil {
private static final ArrayList<SweetManualArtistListMDSKDto> sweetManualArtistListMDSKDtoList = new ArrayList<>(); private static final ArrayList<SweetManualArtistListMDSKDto> sweetManualArtistListMDSKDtoList = new ArrayList<>();
private static final ArrayList<SweetManualShopMdsk> sweetManualShopMDSKList = new ArrayList<>(); private static final ArrayList<SweetManualShopMdsk> sweetManualShopMDSKList = new ArrayList<>();
private static final ArrayList<SweetCItyVoteStatVo> sweetCItyVoteStatVoList = new ArrayList<>(); private static final ArrayList<SweetCItyVoteStatVo> sweetCItyVoteStatVoList = new ArrayList<>();
private static final ArrayList<IntegralActivityVo> sweetIntegralActivityVoList = new ArrayList<>();
public static ArrayList<SweetManualAppletDto> getSweetManualAppletDtoList() { public static ArrayList<SweetManualAppletDto> getSweetManualAppletDtoList() {
return (ArrayList<SweetManualAppletDto>)sweetManualAppletDtoList.clone(); return (ArrayList<SweetManualAppletDto>)sweetManualAppletDtoList.clone();
...@@ -50,4 +50,8 @@ public class ObjectUtil { ...@@ -50,4 +50,8 @@ public class ObjectUtil {
public static ArrayList<SweetCItyVoteStatVo> getSweetCItyVoteStatVoList() { public static ArrayList<SweetCItyVoteStatVo> getSweetCItyVoteStatVoList() {
return (ArrayList<SweetCItyVoteStatVo>)sweetCItyVoteStatVoList.clone(); return (ArrayList<SweetCItyVoteStatVo>)sweetCItyVoteStatVoList.clone();
} }
public static ArrayList<IntegralActivityVo> getSweetIntegralActivityVoList() {
return (ArrayList<IntegralActivityVo>)sweetIntegralActivityVoList.clone();
}
} }
...@@ -11,6 +11,7 @@ import com.liquidnet.service.sweet.dto.SweetManualAppletDto; ...@@ -11,6 +11,7 @@ import com.liquidnet.service.sweet.dto.SweetManualAppletDto;
import com.liquidnet.service.sweet.dto.SweetManualArtistList2Dto; import com.liquidnet.service.sweet.dto.SweetManualArtistList2Dto;
import com.liquidnet.service.sweet.dto.SweetManualArtistListDto; import com.liquidnet.service.sweet.dto.SweetManualArtistListDto;
import com.liquidnet.service.sweet.dto.SweetManualArtistStageListDto; import com.liquidnet.service.sweet.dto.SweetManualArtistStageListDto;
import com.liquidnet.service.sweet.dto.vo.IntegralActivityVo;
import com.liquidnet.service.sweet.entity.*; import com.liquidnet.service.sweet.entity.*;
import com.liquidnet.service.sweet.mapper.*; import com.liquidnet.service.sweet.mapper.*;
import com.liquidnet.service.sweet.param.SweetCityVoteParam; import com.liquidnet.service.sweet.param.SweetCityVoteParam;
...@@ -598,5 +599,14 @@ public class RedisDataUtils { ...@@ -598,5 +599,14 @@ public class RedisDataUtils {
redisUtil.del(redisKeyUnid); redisUtil.del(redisKeyUnid);
} }
} }
// wechat user 摩登
public List<IntegralActivityVo> getIntegralActivityList() {
String redisKey = SweetConstant.REDIS_KEY_SWEET_INTEGRAL_ACTIVITY_LIST;
Object obj = redisUtil.get(redisKey);
if (null == obj) {
return ObjectUtil.getSweetIntegralActivityVoList();
} else {
return (List<IntegralActivityVo>) obj;
}
}
} }
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