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

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

exit

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