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

Commit 5c1335d1 authored by GaoHu's avatar GaoHu

exit

parent a861ee81
......@@ -45,6 +45,6 @@ public interface IGoblinGoodsAnticipateService {
/**
* 用户预约
*/
ResponseDto<Object> userAbout(String skuId, String uid, String phone, Integer state,String url);
ResponseDto<Object> userAbout(String skuId, String uid, String phone,String url);
}
......@@ -34,7 +34,7 @@ public class GoblinGoodsAnticipateController {
@Autowired
IGoblinGoodsAnticipateService goblinGoodsAnticipateService;
@ApiOperation("用户预约(state预约标识:0为预约,1为取消预约)")
@ApiOperation("用户预约 (只能预约不能取消)")
@PostMapping("/userAbout")
public ResponseDto<Object> userAbout(HttpServletRequest request,
@RequestParam(name = "skuId", required = true) String skuId,
......@@ -42,7 +42,7 @@ public class GoblinGoodsAnticipateController {
@RequestParam(name = "phone", required = true) String phone) {
String url = "url";
return goblinGoodsAnticipateService.userAbout(skuId, uid, phone, 0,url);
return goblinGoodsAnticipateService.userAbout(skuId, uid, phone,url);
}
}
......@@ -140,6 +140,14 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS
//实际预约人数
anticipateValueVo.setActualPeople(autIdPeople);
//设置预约状态
setState(anticipateValueVo);
}
pageInfo.setList(data);
pageInfo.setTotal((Long) map.get("total"));
return ResponseDto.success(pageInfo);
}
private void setState(GoblinGoodsAnticipateValueVo anticipateValueVo) {
//预约开始时间
LocalDateTime aboutStartDate = anticipateValueVo.getAboutStartDate();
//预约结束时间
......@@ -159,10 +167,6 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS
anticipateValueVo.setState(2);
}
}
pageInfo.setList(data);
pageInfo.setTotal((Long) map.get("total"));
return ResponseDto.success(pageInfo);
}
@Override
public ResponseDto<Object> updatePeople(String skuId, BigInteger people) {
......@@ -182,12 +186,11 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS
public ResponseDto<Object> delete(String skuId) {
//更具skuId查询
GoblinGoodsAnticipateValueVo goodsAnticipateValueVo = goblinMongoUtils.getAnticipateValueVo(skuId);
if (goodsAnticipateValueVo!=null){
setState(goodsAnticipateValueVo);
//没有开启则可以删除预约
LocalDateTime aboutStartDate = goodsAnticipateValueVo.getAboutStartDate();
LocalDateTime now = LocalDateTime.now();
if (aboutStartDate.isAfter(now)){
return ResponseDto.failure("预约开启,不可以删除");
if (!goodsAnticipateValueVo.getState().equals(0)){
return ResponseDto.failure("预约状态为已开启或已结束,不可删除!");
}
//mysql删除
LinkedList<Object[]> sqlValue = CollectionUtil.linkedListObjectArr();
......@@ -200,6 +203,8 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS
goblinMongoUtils.delGoodsAnticipateValueVo(skuId);
return ResponseDto.success();
}
return ResponseDto.failure("该预约不存在");
}
private void delUserBySkuId(String skuId) {
//删除redis 和mongodb
......@@ -213,16 +218,23 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS
}
@Override
public ResponseDto<Object> userAbout(String skuId, String uid, String phone, Integer state,String url) {
public ResponseDto<Object> userAbout(String skuId, String uid, String phone,String url) {
//查询该skuId是否能被预约
GoblinGoodsAnticipateValueVo anticipateValueVo = goblinMongoUtils.getAnticipateValueVo(skuId);
if (anticipateValueVo!=null) {
setState(anticipateValueVo);
if (!anticipateValueVo.getState().equals(1)) {
return ResponseDto.failure("预约尚未开始或已结束!");
}
//查询该用户是否预
GoblinGoodAnticipateUserVo userVo = goblinRedisUtils.getUserAboutAut(skuId, uid);
LinkedList<Object[]> sqlValue = CollectionUtil.linkedListObjectArr();
if (state.equals(GoblinGoodAnticipateUserVo.STATE_VALID) && userVo == null) {
if (userVo == null) {
GoblinGoodAnticipateUserVo user = new GoblinGoodAnticipateUserVo();
user.setUid(uid);
user.setSkuId(skuId);
user.setPhone(phone);
user.setState(state);
user.setState(0);
//mongodb记录
goblinRedisUtils.setUserAboutSku(user);
//用户没有预约过
......@@ -231,26 +243,17 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS
uid,
skuId,
phone,
state
0
});
sendRedis("goblin_goods_anticipate_user", sqlValue);
goblinRedisUtils.setSkuIdPeople(skuId, state);
goblinRedisUtils.setSkuIdPeople(skuId, 0);
//储存用户头像
userAvatar(skuId,url);
userAvatar(skuId, url);
}
/* if (state.equals(GoblinGoodAnticipateUserVo.STATE_INVALID)&&userVo != null) {
//mysql删除用户记录
sqlValue.add(new Object[]{
uid,
skuId
});
sendRedis("goblin_goods_anticipate_user_update", sqlValue);
//删除缓存 redis和mongodb
goblinRedisUtils.delUserAboutSku(skuId, uid);
goblinRedisUtils.setSkuIdPeople(skuId, state);
}*/
return ResponseDto.success();
}
return ResponseDto.failure("该预约不存在!");
}
private void userAvatar(String skuId,String url) {
//获取
......
......@@ -92,14 +92,9 @@ public class GoblinRedisUtils {
public void setSkuIdPeople(String skuId,Integer state) {
BigInteger num = (BigInteger) redisUtil.get(GoblinRedisConst.ANTICIPATE_PEOPLE.concat(skuId));
num = num!=null?num: BigInteger.valueOf(0);
if (GoblinGoodAnticipateUserVo.STATE_VALID.equals(state)){
//新预约 +1
redisUtil.set(GoblinRedisConst.ANTICIPATE_PEOPLE.concat(skuId),num.add(BigInteger.valueOf(1)));
}
if (state.equals(GoblinGoodAnticipateUserVo.STATE_INVALID)){
//取消预约 -1
redisUtil.set(GoblinRedisConst.ANTICIPATE_PEOPLE.concat(skuId),num.subtract(BigInteger.valueOf(1)));
}
}
/**
......
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