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

Commit 4129781d authored by 高虎's avatar 高虎 Committed by GaoHu

exit

parent bd9a79ca
......@@ -6,6 +6,7 @@ import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.List;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
......@@ -22,33 +23,34 @@ public class GoblinGoodsAnticipateValueVo {
private static final long serialVersionUID = 1L;
/**
* sku名称
*/
@ApiModelProperty(value = "sku名称")
private String skuName;
/**
* sku_id 对应 goblin_goods_sku.sku_id
*/
@ApiModelProperty(value = "sku_id 对应 goblin_goods_sku.sku_id")
private String skuId;
/**
* spu_id对应 goblin_goods_spu_id
*/
@ApiModelProperty(value = "spu_id对应 goblin_goods_spu_id")
private String spuId;
/**
* 预约开始时间
*/
@ApiModelProperty(value = "预约开始时间")
private String aboutStartDate;
/**
* 预约结束时间
*/
@ApiModelProperty(value = "预约结束时间")
private String aboutEndDate;
private List<GoblinGoodsAnticipateValueVo> goodsAnticipateValues;
}
package com.liquidnet.service.goblin.dto.vo;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinGoodsAnticipateValueVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
......@@ -7,6 +8,7 @@ import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
/**
* <p>
......@@ -68,12 +70,24 @@ public class GoblinGoodsAnticipateVo implements Serializable {
@ApiModelProperty(value = "创建时间")
private LocalDateTime createdDate;
/**
* 修改时间
*/
@ApiModelProperty(value = "修改时间")
private LocalDateTime updateDate;
/**
* 删除(0:未删除1:已删除)
*/
@ApiModelProperty(value = "删除(0:未删除1:已删除)")
private Integer delTag;
/**
* 库存
*/
@ApiModelProperty(value = "sku关联")
private List<GoblinGoodsAnticipateValueVo> goodsAnticipateValues;
}
......@@ -27,7 +27,11 @@ public interface IGoblinGoodsAnticipateService{
ResponseDto<Object> add(GoblinGoodsAnticipateAddParam goodsAnticipateAddParam);
ResponseDto<Object> updatePeople(Long people);
ResponseDto<Object> updatePeople(String antId,Long people);
ResponseDto<Object> update(GoblinGoodsAnticipateUpdateParam goodsAnticipateUpdateParam);
ResponseDto<Object> delete(String antId);
ResponseDto<Object> getSkus(String spuId);
}
......@@ -11,10 +11,7 @@ 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.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
......@@ -48,14 +45,32 @@ public class GoblinGoodsAnticipateController {
}
@ApiOperation("修改预约人数")
@PostMapping("updatePeople")
public ResponseDto<Object> updatePeople(@RequestBody Long people){
return goblinGoodsAnticipateService.updatePeople(people);
@PostMapping("/updatePeople")
public ResponseDto<Object> updatePeople(@RequestParam(name = "antId", required = true) String antId,@RequestParam(name = "people", required = true) Long people){
return goblinGoodsAnticipateService.updatePeople(antId,people);
}
@ApiOperation("修改预约")
@PostMapping("update")
@PostMapping("/update")
public ResponseDto<Object> update(GoblinGoodsAnticipateUpdateParam goodsAnticipateUpdateParam){
return goblinGoodsAnticipateService.update(goodsAnticipateUpdateParam);
}
@ApiOperation("删除预约")
@DeleteMapping("/delete")
public ResponseDto<Object> delete(@RequestParam(name = "antId")String antId){
return goblinGoodsAnticipateService.delete(antId);
}
@ApiOperation("用户预约")
@PostMapping("/about")
public ResponseDto<Object> about(@RequestParam(name = "antId", required = true) String antId,@RequestParam(name = "antId", required = true) String uid,@RequestParam(name = "antId", required = true) String phone){
return ResponseDto.success();
}
@ApiOperation("根据spuid查询出所有的sku")
@PostMapping("")
public ResponseDto<Object> getSkus(@RequestParam(name = "apuId")String SpuId){
return goblinGoodsAnticipateService.getSkus(SpuId);
}
}
......@@ -15,6 +15,7 @@ import com.liquidnet.service.goblin.service.IGoblinGoodsAnticipateService;
import com.liquidnet.service.goblin.util.GoblinMongoUtils;
import com.liquidnet.service.goblin.util.GoblinRedisUtils;
import com.liquidnet.service.goblin.util.QueueUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -33,6 +34,7 @@ import java.util.List;
* @since 2022-04-07
*/
@Service
@Slf4j
public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateService {
@Autowired
......@@ -47,7 +49,6 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS
@Override
public ResponseDto<List<GoblinGoodsAnticipateVo>> list(GoblinGoodsAnticipateParam goodsAnticipateParam) {
List<GoblinGoodsAnticipateVo> goblinGoodsAnticipateVos = goblinMongoUtils.getGoblinGoodsAnticipateVos(goodsAnticipateParam);
return ResponseDto.success(goblinGoodsAnticipateVos);
}
......@@ -61,6 +62,9 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS
GoblinGoodsAnticipateVo goodsAnticipateVo = new GoblinGoodsAnticipateVo();
BeanUtils.copyProperties(goodsAnticipateAddParam, goodsAnticipateVo);
goodsAnticipateVo.setAntId(antId);
goodsAnticipateVo.setDelTag(0);
goodsAnticipateVo.setCreatedDate(LocalDateTime.now());
//redis消息预约消息表
LinkedList<Object[]> sqlAnt = CollectionUtil.linkedListObjectArr();
......@@ -75,6 +79,13 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS
//redis消息
goodsAnticipateValues.forEach(goodsAnticipateValueVo -> {
//redis标识存入该sku处于预约列表
goblinRedisUtils.setAnticipate(goodsAnticipateValueVo.getSkuId());
//锁定库存
//TODO:修改mongodb,修改数据库,修改redis
//保存mysql中间表
LinkedList<Object[]> sqlValue = CollectionUtil.linkedListObjectArr();
sqlValue.add(new Object[]{
antId,
......@@ -87,7 +98,7 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS
sendRedis("goblin_goods_anticipate_value", sqlValue);
});
//更新mongodb
//mongodb新增
goblinMongoUtils.setGoblinGoodsAnticipateVo(goodsAnticipateVo);
return ResponseDto.success();
}
......@@ -95,17 +106,47 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS
}
@Override
public ResponseDto<Object> updatePeople(Long people) {
public ResponseDto<Object> updatePeople(String antId, Long people) {
//修改Mongodb
goblinMongoUtils.updateGoblinGoodsAnticipateVoPeople(antId, people);
//修改mysql
return null;
LinkedList<Object[]> sqlValue = CollectionUtil.linkedListObjectArr();
sqlValue.add(new Object[]{
people,
antId
});
sendRedis("goblin_goods_anticipate_update_proper", sqlValue);
return ResponseDto.success();
}
@Override
public ResponseDto<Object> update(GoblinGoodsAnticipateUpdateParam goodsAnticipateUpdateParam) {
//跟新mongodb
goblinMongoUtils.updateGoblinGoodsAnticipateVo(goodsAnticipateUpdateParam);
//修改mysql
LinkedList<Object[]> sqlValue = CollectionUtil.linkedListObjectArr();
sqlValue.add(new Object[]{
goodsAnticipateUpdateParam.getName(),
goodsAnticipateUpdateParam.getRule(),
goodsAnticipateUpdateParam.getAutId()
});
sendRedis("goblin_goods_anticipate_update",sqlValue);
return ResponseDto.success();
}
@Override
public ResponseDto<Object> delete(String antId) {
//删除mongodb
if (goblinMongoUtils.delGoodsAnticipteVo(antId)){
return ResponseDto.success();
}
log.error("delete() antId:{}",antId);
return ResponseDto.failure("请重试");
}
@Override
public ResponseDto<Object> getSkus(String spuId) {
return null;
}
......
......@@ -4,10 +4,7 @@ import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.base.PagedResult;
import com.liquidnet.service.goblin.constant.GoblinStatusConst;
import com.liquidnet.service.goblin.dto.manage.GoblinGoodsAnticipateParam;
import com.liquidnet.service.goblin.dto.manage.GoblinStoreMgtCouponFilterParam;
import com.liquidnet.service.goblin.dto.manage.GoblinStoreMgtGoodsFilterParam;
import com.liquidnet.service.goblin.dto.manage.GoblinStoreMgtNoticeFilterParam;
import com.liquidnet.service.goblin.dto.manage.*;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinMgtCategorySpecVo;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtCouponListVo;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtGoodsListVo;
......@@ -57,18 +54,50 @@ public class GoblinMongoUtils {
/* ---------------------------------------- 预约数据源 ---------------------------------------- */
/**
* 分页查询
*/
public List<GoblinGoodsAnticipateVo> getGoblinGoodsAnticipateVos(GoblinGoodsAnticipateParam goodsAnticipateParam) {
Pageable pageable = PageRequest.of(goodsAnticipateParam.getPageNum()-1, goodsAnticipateParam.getPageSize(),Sort.by(Sort.Order.desc("date")));
Pageable pageable = PageRequest.of(goodsAnticipateParam.getPageNum() - 1, goodsAnticipateParam.getPageSize(), Sort.by(Sort.Order.desc("date")));
Criteria criteria = Criteria.where("delFlg").is("0");
if (StringUtils.isNotBlank(goodsAnticipateParam.getName())){
if (StringUtils.isNotBlank(goodsAnticipateParam.getName())) {
criteria.and("name").is(goodsAnticipateParam.getName());
}
Query query = Query.query(criteria).with(pageable);
return (List<GoblinGoodsAnticipateVo>) mongoTemplate.find(query,GoblinGoodsAnticipateVo.class);
return mongoTemplate.find(query, GoblinGoodsAnticipateVo.class);
}
/**
* 新增
*/
public void setGoblinGoodsAnticipateVo(GoblinGoodsAnticipateVo vo) {
mongoTemplate.insert(vo, GoblinGoodsAnticipateVo.class.getSimpleName());
}
/**
* 根据antId修改 预约人数
*/
public void updateGoblinGoodsAnticipateVoPeople(String antId, Long people) {
Query query = Query.query(Criteria.where("antId").is(antId));
Update update = new Update().set("aboutPeople", people).set("updateDate", LocalDateTime.now());
mongoTemplate.updateFirst(query, update, GoblinGoodsAnticipateVo.class.getSimpleName());
}
/**
* 根据antId修改 预约人数
*/
public void updateGoblinGoodsAnticipateVo(GoblinGoodsAnticipateUpdateParam goodsAnticipateUpdateParam) {
Query query = Query.query(Criteria.where("antId").is(goodsAnticipateUpdateParam.getAutId()));
Update update = new Update().set("name", goodsAnticipateUpdateParam.getName()).set("rule", goodsAnticipateUpdateParam.getRule()).set("updateDate", LocalDateTime.now());
mongoTemplate.updateFirst(query, update, GoblinGoodsAnticipateVo.class.getSimpleName());
}
public void setGoblinGoodsAnticipateVo(GoblinGoodsAnticipateVo vo){
mongoTemplate.insert(vo,GoblinGoodsAnticipateVo.class.getSimpleName());
/**
* 根据amtId删除VO
*/
public boolean delGoodsAnticipteVo(String antId) {
Query query = Query.query(Criteria.where("antId").is(antId));
return mongoTemplate.remove(query, GoblinGoodsAnticipateVo.class.getSimpleName()).getDeletedCount() > 0;
}
......
......@@ -44,6 +44,10 @@ public class GoblinRedisUtils {
/* ---------------------------------------- 预约相关 ---------------------------------------- */
public void setAnticipate(String skuId){
}
/* ---------------------------------------- sku库存相关 ---------------------------------------- */
public void setSkuStock(String marketPre, String skuId, Integer stock) {
......
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