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

Commit 2d9d4972 authored by GaoHu's avatar GaoHu

exit

parent 4d7797ec
...@@ -224,6 +224,12 @@ public class GoblinRedisConst { ...@@ -224,6 +224,12 @@ public class GoblinRedisConst {
*/ */
public static final String ANTICIPATE_SKUID = PREFIX.concat("anticipate:skuId:"); public static final String ANTICIPATE_SKUID = PREFIX.concat("anticipate:skuId:");
/**
* skuId保存预约用户头像
* {anticipate:skuId:avatar:${skuId},List<String>}
*/
public static final String ANTICIPATE_SKUID_AVATAR = PREFIX.concat("anticipate:skuId:avatar:");
......
...@@ -45,6 +45,6 @@ public interface IGoblinGoodsAnticipateService { ...@@ -45,6 +45,6 @@ public interface IGoblinGoodsAnticipateService {
/** /**
* 用户预约 * 用户预约
*/ */
ResponseDto<Object> userAbout(String skuId, String uid, String phone, Integer state); ResponseDto<Object> userAbout(String skuId, String uid, String phone, Integer state,String url);
} }
package com.liquidnet.service.goblin.controller;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.manage.GoblinGoodsAnticipateAddParam;
import com.liquidnet.service.goblin.dto.manage.GoblinGoodsAnticipateValueParam;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinGoodsAnticipateValueVo;
import com.liquidnet.service.goblin.service.IGoblinGoodsAnticipateService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpRequest;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.math.BigInteger;
/**
* <p>
* 预约表 前端控制器
* </p>
*
* @author liquidnet
* @since 2022-04-07
*/
@Slf4j
@RestController
@Api(tags = "预约相关")
@RequestMapping("/goblin/anticipate")
public class GoblinGoodsAnticipateController {
@Autowired
IGoblinGoodsAnticipateService goblinGoodsAnticipateService;
@ApiOperation("用户预约(state预约标识:0为预约,1为取消预约)")
@PostMapping("/userAbout")
public ResponseDto<Object> userAbout(HttpServletRequest request,
@RequestParam(name = "skuId", required = true) String skuId,
@RequestParam(name = "uid", required = true) String uid,
@RequestParam(name = "phone", required = true) String phone) {
String url = "url";
return goblinGoodsAnticipateService.userAbout(skuId, uid, phone, 0,url);
}
}
...@@ -30,7 +30,7 @@ import java.util.List; ...@@ -30,7 +30,7 @@ import java.util.List;
@RestController @RestController
@Api(tags = "预约相关") @Api(tags = "预约相关")
@RequestMapping("/goblin/anticipate") @RequestMapping("/goblin/anticipate")
public class GoblinGoodsAnticipateController { public class GoblinGoodsAnticipateMgController {
@Autowired @Autowired
IGoblinGoodsAnticipateService goblinGoodsAnticipateService; IGoblinGoodsAnticipateService goblinGoodsAnticipateService;
...@@ -59,13 +59,4 @@ public class GoblinGoodsAnticipateController { ...@@ -59,13 +59,4 @@ public class GoblinGoodsAnticipateController {
return goblinGoodsAnticipateService.delete(skuId); return goblinGoodsAnticipateService.delete(skuId);
} }
@ApiOperation("用户预约(state预约标识:0为预约,1为取消预约)")
@PostMapping("/userAbout")
public ResponseDto<Object> userAbout(@RequestParam(name = "skuId", required = true) String skuId,
@RequestParam(name = "uid", required = true) String uid,
@RequestParam(name = "phone", required = true) String phone,
@RequestParam(name = "state", required = true) Integer state) {
return goblinGoodsAnticipateService.userAbout(skuId, uid, phone, state);
}
} }
...@@ -146,16 +146,16 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS ...@@ -146,16 +146,16 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS
LocalDateTime aboutEndDate = anticipateValueVo.getAboutEndDate(); LocalDateTime aboutEndDate = anticipateValueVo.getAboutEndDate();
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
if (aboutStartDate.isBefore(now)) { if (aboutStartDate.isAfter(now)) {
//未开始 0 //未开始 0
anticipateValueVo.setState(0); anticipateValueVo.setState(0);
} }
if (!aboutStartDate.isBefore(now) && aboutEndDate.isAfter(now)) { if (aboutStartDate.isBefore(now) && aboutEndDate.isAfter(now)) {
//预约中 //预约中 1
anticipateValueVo.setState(1); anticipateValueVo.setState(1);
} }
if (aboutEndDate.isBefore(now)) { if (aboutEndDate.isBefore(now)) {
//已结束 //已结束 2
anticipateValueVo.setState(2); anticipateValueVo.setState(2);
} }
} }
...@@ -180,6 +180,15 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS ...@@ -180,6 +180,15 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS
@Override @Override
public ResponseDto<Object> delete(String skuId) { public ResponseDto<Object> delete(String skuId) {
//更具skuId查询
GoblinGoodsAnticipateValueVo goodsAnticipateValueVo = goblinMongoUtils.getAnticipateValueVo(skuId);
//没有开启则可以删除预约
LocalDateTime aboutStartDate = goodsAnticipateValueVo.getAboutStartDate();
LocalDateTime now = LocalDateTime.now();
if (aboutStartDate.isAfter(now)){
return ResponseDto.failure("预约开启,不可以删除");
}
//mysql删除 //mysql删除
LinkedList<Object[]> sqlValue = CollectionUtil.linkedListObjectArr(); LinkedList<Object[]> sqlValue = CollectionUtil.linkedListObjectArr();
sqlValue.add(new Object[]{ sqlValue.add(new Object[]{
...@@ -189,8 +198,6 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS ...@@ -189,8 +198,6 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS
sendRedis("goblin_goods_anticipate_value_delete", sqlValue); sendRedis("goblin_goods_anticipate_value_delete", sqlValue);
//删除mongodb //删除mongodb
goblinMongoUtils.delGoodsAnticipateValueVo(skuId); goblinMongoUtils.delGoodsAnticipateValueVo(skuId);
//删除用户预约sku相关的数据
delUserBySkuId(skuId);
return ResponseDto.success(); return ResponseDto.success();
} }
...@@ -206,12 +213,16 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS ...@@ -206,12 +213,16 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS
} }
@Override @Override
public ResponseDto<Object> userAbout(String skuId, String uid, String phone, Integer state) { public ResponseDto<Object> userAbout(String skuId, String uid, String phone, Integer state,String url) {
//查询该用户是否预 //查询该用户是否预
GoblinGoodAnticipateUserVo userVo = goblinRedisUtils.getUserAboutAut(skuId, uid); GoblinGoodAnticipateUserVo userVo = goblinRedisUtils.getUserAboutAut(skuId, uid);
LinkedList<Object[]> sqlValue = CollectionUtil.linkedListObjectArr(); LinkedList<Object[]> sqlValue = CollectionUtil.linkedListObjectArr();
if (state.equals(GoblinGoodAnticipateUserVo.STATE_VALID) && userVo == null) { if (state.equals(GoblinGoodAnticipateUserVo.STATE_VALID) && userVo == null) {
GoblinGoodAnticipateUserVo user = new GoblinGoodAnticipateUserVo(uid, skuId, phone, state); GoblinGoodAnticipateUserVo user = new GoblinGoodAnticipateUserVo();
user.setUid(uid);
user.setSkuId(skuId);
user.setPhone(phone);
user.setState(state);
//mongodb记录 //mongodb记录
goblinRedisUtils.setUserAboutSku(user); goblinRedisUtils.setUserAboutSku(user);
//用户没有预约过 //用户没有预约过
...@@ -224,8 +235,10 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS ...@@ -224,8 +235,10 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS
}); });
sendRedis("goblin_goods_anticipate_user", sqlValue); sendRedis("goblin_goods_anticipate_user", sqlValue);
goblinRedisUtils.setSkuIdPeople(skuId, state); goblinRedisUtils.setSkuIdPeople(skuId, state);
//储存用户头像
userAvatar(skuId,url);
} }
if (state.equals(GoblinGoodAnticipateUserVo.STATE_INVALID)&&userVo != null) { /* if (state.equals(GoblinGoodAnticipateUserVo.STATE_INVALID)&&userVo != null) {
//mysql删除用户记录 //mysql删除用户记录
sqlValue.add(new Object[]{ sqlValue.add(new Object[]{
uid, uid,
...@@ -235,10 +248,15 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS ...@@ -235,10 +248,15 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS
//删除缓存 redis和mongodb //删除缓存 redis和mongodb
goblinRedisUtils.delUserAboutSku(skuId, uid); goblinRedisUtils.delUserAboutSku(skuId, uid);
goblinRedisUtils.setSkuIdPeople(skuId, state); goblinRedisUtils.setSkuIdPeople(skuId, state);
} }*/
return ResponseDto.success(); return ResponseDto.success();
} }
private void userAvatar(String skuId,String url) {
//获取
goblinRedisUtils.setUserAvatar(skuId,url);
}
public void sendRedis(String sqlKey, LinkedList<Object[]> sqlData) { public void sendRedis(String sqlKey, LinkedList<Object[]> sqlData) {
LinkedList<String> sql = CollectionUtil.linkedListString(); LinkedList<String> sql = CollectionUtil.linkedListString();
sql.add(SqlMapping.get(sqlKey)); sql.add(SqlMapping.get(sqlKey));
......
...@@ -122,13 +122,9 @@ public class GoblinMongoUtils { ...@@ -122,13 +122,9 @@ public class GoblinMongoUtils {
mongoTemplate.remove(query, GoblinGoodsAnticipateValueVo.class.getSimpleName()).getDeletedCount(); mongoTemplate.remove(query, GoblinGoodsAnticipateValueVo.class.getSimpleName()).getDeletedCount();
} }
/** public GoblinGoodsAnticipateValueVo getAnticipateValueVo(String skuId) {
* 根据antId修改 预约人数 Query query = Query.query(Criteria.where("skuId").is(skuId));
*/ return mongoTemplate.findOne(query,GoblinGoodsAnticipateValueVo.class,GoblinGoodsAnticipateValueVo.class.getSimpleName());
public void updateGoblinGoodsAnticipateVo(GoblinGoodsAnticipateUpdateParam goodsAnticipateUpdateParam) {
Query query = Query.query(Criteria.where("antId").is(goodsAnticipateUpdateParam.getAntId()));
Update update = new Update().set("name", goodsAnticipateUpdateParam.getName()).set("rule", goodsAnticipateUpdateParam.getRule()).set("updateDate", LocalDateTime.now());
mongoTemplate.updateFirst(query, update, GoblinGoodsAnticipateVo.class.getSimpleName());
} }
/** /**
......
...@@ -59,8 +59,6 @@ public class GoblinRedisUtils { ...@@ -59,8 +59,6 @@ public class GoblinRedisUtils {
redisUtil.del(GoblinRedisConst.ANTICIPATE_SKUID.concat(skuId)); redisUtil.del(GoblinRedisConst.ANTICIPATE_SKUID.concat(skuId));
} }
/** /**
* 获取关联 * 获取关联
*/ */
...@@ -118,6 +116,18 @@ public class GoblinRedisUtils { ...@@ -118,6 +116,18 @@ public class GoblinRedisUtils {
redisUtil.del(GoblinRedisConst.ANTICIPATE_SKUID.concat(skuId)); redisUtil.del(GoblinRedisConst.ANTICIPATE_SKUID.concat(skuId));
} }
/**
* 保存用户头像
*/
public void setUserAvatar(String skuId, String url) {
List<String> list = (List) redisUtil.get(GoblinRedisConst.ANTICIPATE_SKUID_AVATAR.concat(skuId));
List<String> urlList = list != null ? list : new ArrayList<String>();
if (urlList.size()<=5){
urlList.add(url);
redisUtil.set(GoblinRedisConst.ANTICIPATE_SKUID_AVATAR.concat(skuId),urlList);
}
}
/* ---------------------------------------- sku库存相关 ---------------------------------------- */ /* ---------------------------------------- sku库存相关 ---------------------------------------- */
public void setSkuStock(String marketPre, String skuId, Integer stock) { public void setSkuStock(String marketPre, String skuId, Integer stock) {
String rk = GoblinRedisConst.REAL_STOCK_SKU; String rk = GoblinRedisConst.REAL_STOCK_SKU;
......
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