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

Commit 2f25b577 authored by GaoHu's avatar GaoHu

exit

parent 2bb95754
package com.liquidnet.service.goblin.dto.manage;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinGoodsAnticipateValueVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;
import java.util.List;
/**
*
......@@ -31,26 +33,25 @@ public class GoblinGoodsAnticipateAddParam {
@NotBlank(message = "预约规则")
private String rule;
/**
* 预约人数
*/
@ApiModelProperty(value = "预约人数")
@NotBlank(message = "预约人数")
private Long aboutPeople;
/**
* 预约开始时间
*/
@ApiModelProperty(value = "预约开始时间")
@NotBlank(message = "预约开始时间")
private LocalDateTime aboutStartDate;
private String aboutStartDate;
/**
* 预约结束时间
*/
@ApiModelProperty(value = "预约结束时间")
@NotBlank(message = "预约结束时间")
private LocalDateTime aboutEndDate;
private String aboutEndDate;
/**
* 库存
*/
@ApiModelProperty(value = "sku关联")
private List<GoblinGoodsAnticipateValueVo> goodsAnticipateValues;
}
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 GoblinGoodsAnticipateUpdateParam {
@ApiModelProperty(value ="预约id")
@NotBlank(message = "预约id")
private String autId;
/**
* 预约名称
*/
@ApiModelProperty(value = "预约名称")
@NotBlank(message = "预约名称")
private String name;
/**
* 预约规则
*/
@ApiModelProperty(value = "预约规则")
@NotBlank(message = "预约规则")
private String rule;
}
package com.liquidnet.service.goblin.dto.manage.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.List;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 预约关联sku和spu表
* </p>
*
* @author liquidnet
* @since 2022-04-08
*/
@Data
public class GoblinGoodsAnticipateValueVo {
private static final long serialVersionUID = 1L;
/**
* sku名称
*/
private String skuName;
/**
* sku_id 对应 goblin_goods_sku.sku_id
*/
private String skuId;
/**
* spu_id对应 goblin_goods_spu_id
*/
private String spuId;
/**
* 预约开始时间
*/
private String aboutStartDate;
/**
* 预约结束时间
*/
private String aboutEndDate;
private List<GoblinGoodsAnticipateValueVo> goodsAnticipateValues;
}
......@@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.time.LocalDateTime;
......@@ -22,16 +23,27 @@ public class GoblinGoodsAnticipateVo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ant_id
* id
*/
private String id;
/**
* ant_id
*/
private String antId;
/**
* 预约名称
*/
@ApiModelProperty(value = "预约名称")
private String name;
/**
* 预约规则
*/
@ApiModelProperty(value = "预约规则")
private String rule;
/**
* 预约人数
*/
......
......@@ -3,8 +3,11 @@ package com.liquidnet.service.goblin.service;
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.manage.GoblinGoodsAnticipateUpdateParam;
import com.liquidnet.service.goblin.dto.vo.GoblinGoodsAnticipateVo;
import java.util.List;
/**
* <p>
* 预约表 服务类
......@@ -20,7 +23,11 @@ public interface IGoblinGoodsAnticipateService{
* @param goodsAnticipateParam :
* @return :List<GoblinGoodsAnticipateVo>
*/
ResponseDto<GoblinGoodsAnticipateVo> list(GoblinGoodsAnticipateParam goodsAnticipateParam);
ResponseDto<List<GoblinGoodsAnticipateVo>> list(GoblinGoodsAnticipateParam goodsAnticipateParam);
ResponseDto<Object> add(GoblinGoodsAnticipateAddParam goodsAnticipateAddParam);
ResponseDto<Object> updatePeople(Long people);
ResponseDto<Object> update(GoblinGoodsAnticipateUpdateParam goodsAnticipateUpdateParam);
}
......@@ -6,7 +6,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
@Configuration
//@Configuration
public class GoblinWebMvcConfig extends WebMvcConfig {
@Autowired
public GlobalAuthorityInterceptor globalAuthorityInterceptor;
......
......@@ -4,6 +4,7 @@ package com.liquidnet.service.goblin.controller;
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.manage.GoblinGoodsAnticipateUpdateParam;
import com.liquidnet.service.goblin.dto.vo.GoblinGoodsAnticipateVo;
import com.liquidnet.service.goblin.service.IGoblinGoodsAnticipateService;
import io.swagger.annotations.Api;
......@@ -11,9 +12,12 @@ 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 java.util.List;
/**
* <p>
* 预约表 前端控制器
......@@ -33,15 +37,25 @@ public class GoblinGoodsAnticipateController {
@PostMapping("/list")
@ApiOperation("获取预约列表")
public ResponseDto<GoblinGoodsAnticipateVo> list(GoblinGoodsAnticipateParam goodsAnticipateParam) {
public ResponseDto<List<GoblinGoodsAnticipateVo>> list(GoblinGoodsAnticipateParam goodsAnticipateParam) {
return goblinGoodsAnticipateService.list(goodsAnticipateParam);
}
@ApiOperation("创建预约信息")
@PostMapping("/add")
public ResponseDto<Object> add(GoblinGoodsAnticipateAddParam goodsAnticipateAddParam){
public ResponseDto<Object> add(@RequestBody GoblinGoodsAnticipateAddParam goodsAnticipateAddParam){
return goblinGoodsAnticipateService.add(goodsAnticipateAddParam);
}
@ApiOperation("修改预约人数")
@PostMapping("updatePeople")
public ResponseDto<Object> updatePeople(@RequestBody Long people){
return goblinGoodsAnticipateService.updatePeople(people);
}
@ApiOperation("修改预约")
@PostMapping("update")
public ResponseDto<Object> update(GoblinGoodsAnticipateUpdateParam goodsAnticipateUpdateParam){
return goblinGoodsAnticipateService.update(goodsAnticipateUpdateParam);
}
}
package com.liquidnet.service.goblin.service.impl;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.base.PagedResult;
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.manage.GoblinGoodsAnticipateUpdateParam;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinGoodsAnticipateValueVo;
import com.liquidnet.service.goblin.dto.vo.GoblinGoodsAnticipateVo;
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 org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.LinkedList;
import java.util.List;
/**
* <p>
......@@ -39,39 +45,77 @@ public class GoblinGoodsAnticipateServiceImpl implements IGoblinGoodsAnticipateS
QueueUtils queueUtils;
@Override
public ResponseDto<GoblinGoodsAnticipateVo> list(GoblinGoodsAnticipateParam goodsAnticipateParam) {
public ResponseDto<List<GoblinGoodsAnticipateVo>> list(GoblinGoodsAnticipateParam goodsAnticipateParam) {
List<GoblinGoodsAnticipateVo> goblinGoodsAnticipateVos = goblinMongoUtils.getGoblinGoodsAnticipateVos(goodsAnticipateParam);
PagedResult<GoblinGoodsAnticipateVo> goodsAnticipateVoPagedResult = goblinMongoUtils.getGoblinGoodsAnticipateVos(goodsAnticipateParam);
return null;
return ResponseDto.success(goblinGoodsAnticipateVos);
}
@Override
public ResponseDto<Object> add(GoblinGoodsAnticipateAddParam goodsAnticipateAddParam) {
if (StringUtils.isNotBlank(goodsAnticipateAddParam.getName()) && StringUtils.isNotBlank(goodsAnticipateAddParam.getRule()) && StringUtils.isNotBlank(goodsAnticipateAddParam.getAboutStartDate().toString()) && StringUtils.isNotBlank(goodsAnticipateAddParam.getAboutEndDate().toString()) && goodsAnticipateAddParam.getGoodsAnticipateValues() == null) {
List<GoblinGoodsAnticipateValueVo> goodsAnticipateValues = goodsAnticipateAddParam.getGoodsAnticipateValues();
//生成的antId
String antId = IDGenerator.nextTimeId2();
GoblinGoodsAnticipateVo goodsAnticipateVo = new GoblinGoodsAnticipateVo();
BeanUtils.copyProperties(goodsAnticipateAddParam,goodsAnticipateVo);
BeanUtils.copyProperties(goodsAnticipateAddParam, goodsAnticipateVo);
goodsAnticipateVo.setAntId(antId);
//redis消息预约消息表
LinkedList<Object[]> sqlAnt = CollectionUtil.linkedListObjectArr();
sqlAnt.add(new Object[]{
antId,
goodsAnticipateVo.getName(),
goodsAnticipateVo.getRule(),
goodsAnticipateVo.getAboutStartDate(),
goodsAnticipateVo.getAboutEndDate()
});
sendRedis(MQConst.GoblinQueue.GOBLIN_STORE_MARKET.getKey(), "goblin_goods_anticipate", sqlAnt);
//redis消息
goodsAnticipateValues.forEach(goodsAnticipateValueVo -> {
LinkedList<Object[]> sqlValue = CollectionUtil.linkedListObjectArr();
sqlValue.add(new Object[]{
antId,
goodsAnticipateValueVo.getSkuName(),
goodsAnticipateValueVo.getSkuId(),
goodsAnticipateValueVo.getSpuId(),
goodsAnticipateValueVo.getAboutStartDate(),
goodsAnticipateValueVo.getAboutEndDate(),
});
sendRedis(MQConst.GoblinQueue.GOBLIN_STORE_MARKET.getKey(), "goblin_goods_anticipate_value", sqlValue);
});
//更新mongodb
goblinMongoUtils.setGoblinGoodsAnticipateVo(goodsAnticipateVo);
return ResponseDto.success();
}
return ResponseDto.failure("参数有误");
}
public void sendRedis(String rediskey, String sqlKey, LinkedList<Object[]> sqlData) {
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新增
sql.add(SqlMapping.get(sqlKey));
String sqlStr = SqlMapping.gets(sql, sqlData);
queueUtils.sendMsgByRedis(
//店铺相关
MQConst.GoblinQueue.GOBLIN_STORE_MARKET.getKey(),
rediskey,
sqlStr);
return ResponseDto.success();
}
@Override
public ResponseDto<Object> updatePeople(Long people) {
//修改Mongodb
//修改mysql
return null;
}
@Override
public ResponseDto<Object> update(GoblinGoodsAnticipateUpdateParam goodsAnticipateUpdateParam) {
return null;
}
......
......@@ -57,14 +57,14 @@ public class GoblinMongoUtils {
/* ---------------------------------------- 预约数据源 ---------------------------------------- */
public PagedResult<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")));
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);
return (List<GoblinGoodsAnticipateVo>) mongoTemplate.find(query,GoblinGoodsAnticipateVo.class);
}
public void setGoblinGoodsAnticipateVo(GoblinGoodsAnticipateVo vo){
......
......@@ -2,10 +2,7 @@ package com.liquidnet.service.goblin.util;
import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.core.type.TypeReference;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.HttpUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.adam.dto.vo.AdamRscPolymer01Vo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.candy.param.BackCouponParam;
......
......@@ -134,4 +134,8 @@ goblin_user_digital_artwork.update_for_chain=UPDATE goblin_user_digital_artwork
goblin_user_digital_artwork.update_for_unboxing=UPDATE goblin_user_digital_artwork SET state=1,del_flg='1',opening_at=?,updated_at=?,deleted_at=? WHERE artwork_id=? AND state<>1
#----
#---- \u9884\u7EA6
goblin_goods_anticipate=INSERT INTO goblin_goods_anticipate(ant_id,`name`,about_people,actual_people,about_start_date,about_end_date,created_date,del_tag) VALUES(?,?,?,"0",?,?,NOW(),0)
\ No newline at end of file
goblin_goods_anticipate=INSERT INTO goblin_goods_anticipate(ant_id,`name`,`rule`,actual_people,about_start_date,about_end_date,created_date,del_tag) VALUES(?,?,?,0,?,?,NOW(),0)
goblin_goods_anticipate_value=INSERT INTO goblin_goods_anticipate_value (ant_id,sku_name,sku_id,spu_id,about_start_date,about_end_date,created_date,del_tag) VALUES(?,?,?,?,?,?,NOW(),0)
goblin_goods_anticipate_update=UPDATE goblin_goods_anticipate SET `name` = ?,`rule`= ? WHERE ant_id = ?
goblin_goods_anticipate_update_proper=UPDATE goblin_goods_anticipate SET about_people = ? WHERE ant_id = ?
\ No newline at end of file
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