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

Commit bade934e authored by GaoHu's avatar GaoHu

exit

parent 81f331bf
package com.liquidnet.service.goblin.dto.manage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;
/**
*
* @author liquidnet
* @since 2022-04-07
*/
@ApiModel(value = "GoblinGoodsAnticipateParam", description = "预约")
@Data
public class GoblinGoodsAnticipateAddParam {
/**
* 预约名称
*/
@ApiModelProperty(value = "预约名称")
@NotBlank(message = "预约名称")
private String name;
/**
* 预约人数
*/
@ApiModelProperty(value = "预约人数")
@NotBlank(message = "预约人数")
private Long aboutPeople;
/**
* 预约开始时间
*/
@ApiModelProperty(value = "预约开始时间")
@NotBlank(message = "预约开始时间")
private LocalDateTime aboutStartDate;
/**
* 预约结束时间
*/
@ApiModelProperty(value = "预约结束时间")
@NotBlank(message = "预约结束时间")
private LocalDateTime aboutEndDate;
}
package com.liquidnet.service.goblin.dto.manage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
* <p>
* 预约表
* </p>
*
* @author liquidnet
* @since 2022-04-07
*/
@ApiModel(value = "GoblinGoodsAnticipateParam", description = "预约")
@Data
public class GoblinGoodsAnticipateParam{
@ApiModelProperty(position = 11, required = true, value = "当前记录起始索引", example = "1")
@Min(value = 1, message = "起始索引无效")
@NotNull(message = "起始索引无效")
private Integer pageNum;
@ApiModelProperty(position = 12, required = true, value = "每页显示记录数", example = "20")
@Max(value = 100, message = "显示记录数无效")
@NotNull(message = "显示记录数无效")
private Integer pageSize;
/**
* 预约名称
*/
private String name;
}
package com.liquidnet.service.goblin.dto.vo; package com.liquidnet.service.goblin.dto.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
...@@ -21,44 +22,46 @@ public class GoblinGoodsAnticipateVo implements Serializable { ...@@ -21,44 +22,46 @@ public class GoblinGoodsAnticipateVo implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**
* 自增主键id * ant_id
*/ */
private Long id; private String id;
/** /**
* 预约名称 * 预约名称
*/ */
@ApiModelProperty(value = "预约名称")
private String name; private String name;
/** /**
* 预约人数 * 预约人数
*/ */
@ApiModelProperty(value = "预约人数")
private Long aboutPeople; private Long aboutPeople;
/**
* 实际预约人数
*/
private Long actualPeople;
/** /**
* 预约开始时间 * 预约开始时间
*/ */
@ApiModelProperty(value = "预约开始时间")
private LocalDateTime aboutStartDate; private LocalDateTime aboutStartDate;
/** /**
* 预约结束时间 * 预约结束时间
*/ */
@ApiModelProperty(value = "预约结束时间")
private LocalDateTime aboutEndDate; private LocalDateTime aboutEndDate;
/** /**
* 创建时间 * 创建时间
*/ */
@ApiModelProperty(value = "创建时间")
private LocalDateTime createdDate; private LocalDateTime createdDate;
/** /**
* 删除(0:未删除1:已删除) * 删除(0:未删除1:已删除)
*/ */
@ApiModelProperty(value = "删除(0:未删除1:已删除)")
private Integer delTag; private Integer delTag;
} }
package com.liquidnet.service.goblin.service; package com.liquidnet.service.goblin.service;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.manage.GoblinGoodsAnticipateAddParam;
import com.liquidnet.service.goblin.dto.manage.GoblinGoodsAnticipateParam;
import com.liquidnet.service.goblin.dto.vo.GoblinGoodsAnticipateVo; import com.liquidnet.service.goblin.dto.vo.GoblinGoodsAnticipateVo;
import java.util.List;
/** /**
* <p> * <p>
* 预约表 服务类 * 预约表 服务类
...@@ -17,11 +17,10 @@ public interface IGoblinGoodsAnticipateService{ ...@@ -17,11 +17,10 @@ public interface IGoblinGoodsAnticipateService{
/** /**
* 分页获取预约商品列表 * 分页获取预约商品列表
* @param page:页数 * @param goodsAnticipateParam :
* @param size:条数
* @param name:预约名称(完整)
* @return :List<GoblinGoodsAnticipateVo> * @return :List<GoblinGoodsAnticipateVo>
*/ */
ResponseDto<List<GoblinGoodsAnticipateVo>> list(int page, int size, String name); ResponseDto<GoblinGoodsAnticipateVo> list(GoblinGoodsAnticipateParam goodsAnticipateParam);
ResponseDto<Object> add(GoblinGoodsAnticipateAddParam goodsAnticipateAddParam);
} }
...@@ -2,19 +2,18 @@ package com.liquidnet.service.goblin.controller; ...@@ -2,19 +2,18 @@ package com.liquidnet.service.goblin.controller;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.manage.GoblinGoodsAnticipateAddParam;
import com.liquidnet.service.goblin.dto.manage.GoblinGoodsAnticipateParam;
import com.liquidnet.service.goblin.dto.vo.GoblinGoodsAnticipateVo; import com.liquidnet.service.goblin.dto.vo.GoblinGoodsAnticipateVo;
import com.liquidnet.service.goblin.service.IGoblinGoodsAnticipateService; import com.liquidnet.service.goblin.service.IGoblinGoodsAnticipateService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
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.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
import java.util.List;
/** /**
* <p> * <p>
* 预约表 前端控制器 * 预约表 前端控制器
...@@ -33,9 +32,16 @@ public class GoblinGoodsAnticipateController { ...@@ -33,9 +32,16 @@ public class GoblinGoodsAnticipateController {
IGoblinGoodsAnticipateService goblinGoodsAnticipateService; IGoblinGoodsAnticipateService goblinGoodsAnticipateService;
@PostMapping("/list") @PostMapping("/list")
public ResponseDto<List<GoblinGoodsAnticipateVo>> list(@RequestParam("page") @Valid int page, @ApiOperation("获取预约列表")
@RequestParam("size") @Valid int size,
@RequestParam(value = "name", required = false) String name) { public ResponseDto<GoblinGoodsAnticipateVo> list(GoblinGoodsAnticipateParam goodsAnticipateParam) {
return goblinGoodsAnticipateService.list(page, size,name); return goblinGoodsAnticipateService.list(goodsAnticipateParam);
} }
@ApiOperation("创建预约信息")
@PostMapping("/add")
public ResponseDto<Object> add(GoblinGoodsAnticipateAddParam goodsAnticipateAddParam){
return goblinGoodsAnticipateService.add(goodsAnticipateAddParam);
}
} }
package com.liquidnet.service.goblin.service.impl; package com.liquidnet.service.goblin.service.impl;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.service.base.PagedResult;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.goblin.dto.manage.GoblinGoodsAnticipateAddParam;
import com.liquidnet.service.goblin.dto.manage.GoblinGoodsAnticipateParam;
import com.liquidnet.service.goblin.dto.vo.GoblinGoodsAnticipateVo; import com.liquidnet.service.goblin.dto.vo.GoblinGoodsAnticipateVo;
import com.liquidnet.service.goblin.service.IGoblinGoodsAnticipateService; 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 org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.LinkedList;
/** /**
* <p> * <p>
...@@ -27,12 +35,44 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS ...@@ -27,12 +35,44 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS
@Autowired @Autowired
GoblinRedisUtils goblinRedisUtils; GoblinRedisUtils goblinRedisUtils;
@Autowired
QueueUtils queueUtils;
@Override @Override
public ResponseDto<List<GoblinGoodsAnticipateVo>> list(int page, int size, String name) { public ResponseDto<GoblinGoodsAnticipateVo> list(GoblinGoodsAnticipateParam goodsAnticipateParam) {
// goblinMongoUtils.getGoblinGoodsAnticipateVos() PagedResult<GoblinGoodsAnticipateVo> goodsAnticipateVoPagedResult = goblinMongoUtils.getGoblinGoodsAnticipateVos(goodsAnticipateParam);
return null; return null;
} }
@Override
public ResponseDto<Object> add(GoblinGoodsAnticipateAddParam goodsAnticipateAddParam) {
//生成的antId
GoblinGoodsAnticipateVo goodsAnticipateVo = new GoblinGoodsAnticipateVo();
BeanUtils.copyProperties(goodsAnticipateAddParam,goodsAnticipateVo);
//更新mongodb
goblinMongoUtils.setGoblinGoodsAnticipateVo(goodsAnticipateVo);
LinkedList<String> sql = CollectionUtil.linkedListString();
sql.add(SqlMapping.get("goblin_goods_anticipate"));
LinkedList<Object[]> sqlData = CollectionUtil.linkedListObjectArr();
sqlData.add(new Object[]{
goodsAnticipateVo.getId(),
goodsAnticipateAddParam.getName(),
goodsAnticipateAddParam.getAboutPeople(),
goodsAnticipateAddParam.getAboutStartDate(),
goodsAnticipateAddParam.getAboutEndDate()
});
String sqlStr = SqlMapping.gets(sql,sqlData);
//redis消息mysql新增
queueUtils.sendMsgByRedis(
//店铺相关
MQConst.GoblinQueue.GOBLIN_STORE_MARKET.getKey(),
sqlStr);
return ResponseDto.success();
}
} }
...@@ -4,6 +4,7 @@ import com.liquidnet.commons.lang.util.CollectionUtil; ...@@ -4,6 +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.GoblinStoreMgtCouponFilterParam; import com.liquidnet.service.goblin.dto.manage.GoblinStoreMgtCouponFilterParam;
import com.liquidnet.service.goblin.dto.manage.GoblinStoreMgtGoodsFilterParam; import com.liquidnet.service.goblin.dto.manage.GoblinStoreMgtGoodsFilterParam;
import com.liquidnet.service.goblin.dto.manage.GoblinStoreMgtNoticeFilterParam; import com.liquidnet.service.goblin.dto.manage.GoblinStoreMgtNoticeFilterParam;
...@@ -56,6 +57,19 @@ public class GoblinMongoUtils { ...@@ -56,6 +57,19 @@ public class GoblinMongoUtils {
/* ---------------------------------------- 预约数据源 ---------------------------------------- */ /* ---------------------------------------- 预约数据源 ---------------------------------------- */
public PagedResult<GoblinGoodsAnticipateVo> getGoblinGoodsAnticipateVos(GoblinGoodsAnticipateParam goodsAnticipateParam) {
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())){
criteria.and("name").is(goodsAnticipateParam.getName());
}
Query query = Query.query(criteria).with(pageable);
return (PagedResult<GoblinGoodsAnticipateVo>) mongoTemplate.find(query,GoblinGoodsAnticipateVo.class);
}
public void setGoblinGoodsAnticipateVo(GoblinGoodsAnticipateVo vo){
mongoTemplate.insert(vo,GoblinGoodsAnticipateVo.class.getSimpleName());
}
/* ---------------------------------------- 平台分类数据源 ---------------------------------------- */ /* ---------------------------------------- 平台分类数据源 ---------------------------------------- */
......
...@@ -42,6 +42,9 @@ public class GoblinRedisUtils { ...@@ -42,6 +42,9 @@ public class GoblinRedisUtils {
redisUtil.del(keys); redisUtil.del(keys);
} }
/* ---------------------------------------- 预约相关 ---------------------------------------- */
/* ---------------------------------------- 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