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

Commit af1b8e1e authored by 胡佳晨's avatar 胡佳晨

Merge branch 'hjc_goblin_pos' into dev_nft_411

parents 1839b993 d940c4db
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.math.BigDecimal;
import java.util.List;
@ApiModel(value = "GoblinStorePurchaseItemParam")
@Data
public class GoblinStoreZhengzaiCommonSingleParam implements Cloneable {
@ApiModelProperty(required = true, value = "spuId", example = "1")
@NotBlank(message = "spuId不能空")
private String spuId;
@ApiModelProperty(required = true, value = "skuId", example = "1")
@NotBlank(message = "skuId不能为空")
private String skuId;
private static final GoblinStoreZhengzaiCommonSingleParam obj = new GoblinStoreZhengzaiCommonSingleParam();
public static GoblinStoreZhengzaiCommonSingleParam getNew() {
try {
return (GoblinStoreZhengzaiCommonSingleParam) obj.clone();
} catch (CloneNotSupportedException e) {
return new GoblinStoreZhengzaiCommonSingleParam();
}
}
}
...@@ -4,6 +4,7 @@ import com.github.pagehelper.PageInfo; ...@@ -4,6 +4,7 @@ import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.manage.GoblinStorePurchaseCommonParam; import com.liquidnet.service.goblin.dto.manage.GoblinStorePurchaseCommonParam;
import com.liquidnet.service.goblin.dto.manage.GoblinStoreZhengzaiCommonParam; import com.liquidnet.service.goblin.dto.manage.GoblinStoreZhengzaiCommonParam;
import com.liquidnet.service.goblin.dto.manage.GoblinStoreZhengzaiCommonSingleParam;
import com.liquidnet.service.goblin.dto.vo.GoblinMarketSpuListVo; import com.liquidnet.service.goblin.dto.vo.GoblinMarketSpuListVo;
import com.liquidnet.service.goblin.dto.vo.GoblinSelfMarketingVo; import com.liquidnet.service.goblin.dto.vo.GoblinSelfMarketingVo;
import com.liquidnet.service.goblin.dto.vo.GoblinSelfZhengzaiSkuVo; import com.liquidnet.service.goblin.dto.vo.GoblinSelfZhengzaiSkuVo;
...@@ -42,6 +43,14 @@ public interface IGoblinZhengzaiService { ...@@ -42,6 +43,14 @@ public interface IGoblinZhengzaiService {
*/ */
ResponseDto<Boolean> zhengzaiSkuInsert(GoblinStoreZhengzaiCommonParam params); ResponseDto<Boolean> zhengzaiSkuInsert(GoblinStoreZhengzaiCommonParam params);
/**
* 添加活动相关sku
*
* @param params
* @return
*/
ResponseDto<Boolean> zhengzaiSkuInsertSingle(GoblinStoreZhengzaiCommonSingleParam params);
/** /**
* 编辑活动相关sku * 编辑活动相关sku
* *
......
...@@ -146,7 +146,7 @@ public class GoblinSelfZhengzaiController extends BaseController { ...@@ -146,7 +146,7 @@ public class GoblinSelfZhengzaiController extends BaseController {
public ResponseDto<List<GoblinMarketSpuListVo>> purchasingSpuList(@RequestParam("marketId") @Valid String marketId, public ResponseDto<List<GoblinMarketSpuListVo>> purchasingSpuList(@RequestParam("marketId") @Valid String marketId,
@RequestParam("storeId") @Valid String storeId, @RequestParam("storeId") @Valid String storeId,
@RequestParam("pageNum") @Valid int page) { @RequestParam("pageNum") @Valid int page) {
return goblinZhengzaiMarketService.zhengzaiSpuList(marketId, storeId, page); return ResponseDto.success(goblinZhengzaiMarketService.zhengzaiSpuList(marketId, storeId, page));
} }
@GetMapping("zhengzai/sku") @GetMapping("zhengzai/sku")
...@@ -160,7 +160,7 @@ public class GoblinSelfZhengzaiController extends BaseController { ...@@ -160,7 +160,7 @@ public class GoblinSelfZhengzaiController extends BaseController {
public ResponseDto<List<GoblinSelfZhengzaiSkuVo>> purchasingSkuList(@RequestParam("marketId") @Valid String marketId, public ResponseDto<List<GoblinSelfZhengzaiSkuVo>> purchasingSkuList(@RequestParam("marketId") @Valid String marketId,
@RequestParam("storeId") @Valid String storeId, @RequestParam("storeId") @Valid String storeId,
@RequestParam("spuId") @Valid String spuId) { @RequestParam("spuId") @Valid String spuId) {
return goblinZhengzaiMarketService.zhengzaiSkuList(marketId, storeId, spuId); return ResponseDto.success(goblinZhengzaiMarketService.zhengzaiSkuList(marketId, storeId, spuId));
} }
@PostMapping("zhengzai/sku/del") @PostMapping("zhengzai/sku/del")
......
...@@ -73,7 +73,7 @@ public interface IGoblinZhengzaiMarketService { ...@@ -73,7 +73,7 @@ public interface IGoblinZhengzaiMarketService {
* @param storeId 页数 * @param storeId 页数
* @return * @return
*/ */
ResponseDto<List<GoblinMarketSpuListVo>> zhengzaiSpuList(String marketId, String storeId, int page); List<GoblinMarketSpuListVo> zhengzaiSpuList(String marketId, String storeId, int page);
/** /**
* 获取活动内sku列表 * 获取活动内sku列表
...@@ -82,7 +82,7 @@ public interface IGoblinZhengzaiMarketService { ...@@ -82,7 +82,7 @@ public interface IGoblinZhengzaiMarketService {
* @param storeId 页数 * @param storeId 页数
* @return * @return
*/ */
ResponseDto<List<GoblinSelfZhengzaiSkuVo>> zhengzaiSkuList(String marketId, String storeId, String spuId); List<GoblinSelfZhengzaiSkuVo> zhengzaiSkuList(String marketId, String storeId, String spuId);
/** /**
* 删除活动内sku * 删除活动内sku
......
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.zhengzai.goblin.service.IGoblinZhengzaiMarketService; import com.liquidnet.client.admin.zhengzai.goblin.service.IGoblinZhengzaiMarketService;
import com.liquidnet.client.admin.zhengzai.goblin.utils.GoblinMongoUtils; import com.liquidnet.client.admin.zhengzai.goblin.utils.GoblinMongoUtils;
import com.liquidnet.client.admin.zhengzai.goblin.utils.GoblinRedisUtils; import com.liquidnet.client.admin.zhengzai.goblin.utils.GoblinRedisUtils;
...@@ -301,7 +302,7 @@ public class GoblinZhengzaiMarketServiceImpl implements IGoblinZhengzaiMarketSer ...@@ -301,7 +302,7 @@ public class GoblinZhengzaiMarketServiceImpl implements IGoblinZhengzaiMarketSer
} }
@Override @Override
public ResponseDto<List<GoblinMarketSpuListVo>> zhengzaiSpuList(String marketId, String storeId, int page) { public List<GoblinMarketSpuListVo> zhengzaiSpuList(String marketId, String storeId, int page) {
MultiValueMap<String, String> params = new LinkedMultiValueMap(); MultiValueMap<String, String> params = new LinkedMultiValueMap();
params.add("selfMarketId", marketId); params.add("selfMarketId", marketId);
params.add("storeId", storeId); params.add("storeId", storeId);
...@@ -309,13 +310,13 @@ public class GoblinZhengzaiMarketServiceImpl implements IGoblinZhengzaiMarketSer ...@@ -309,13 +310,13 @@ public class GoblinZhengzaiMarketServiceImpl implements IGoblinZhengzaiMarketSer
MultiValueMap<String, String> headers = CollectionUtil.linkedMultiValueMapStringString(); MultiValueMap<String, String> headers = CollectionUtil.linkedMultiValueMapStringString();
headers.add("Accept", "application/json;charset=UTF-8"); headers.add("Accept", "application/json;charset=UTF-8");
String returnData = HttpUtil.get(goblinUrl + "/goblin/inner/config/spu?page=" + page + "&selfMarketId=" + marketId + "&storeId=" + storeId, params, headers); String returnData = HttpUtil.get(goblinUrl + "/goblin/inner/config/spu?page=" + page + "&selfMarketId=" + marketId + "&storeId=" + storeId, params, headers);
ResponseDto<List<GoblinMarketSpuListVo>> rsp = JsonUtils.fromJson(returnData, new TypeReference<ResponseDto<List<GoblinMarketSpuListVo>>>() { ResponseDto<PageInfo<GoblinMarketSpuListVo>> rsp = JsonUtils.fromJson(returnData, new TypeReference<ResponseDto<PageInfo<GoblinMarketSpuListVo>>>() {
}); });
return rsp; return rsp.getData().getList();
} }
@Override @Override
public ResponseDto<List<GoblinSelfZhengzaiSkuVo>> zhengzaiSkuList(String marketId, String storeId, String spuId) { public List<GoblinSelfZhengzaiSkuVo> zhengzaiSkuList(String marketId, String storeId, String spuId) {
MultiValueMap<String, String> params = new LinkedMultiValueMap(); MultiValueMap<String, String> params = new LinkedMultiValueMap();
params.add("selfMarketId", marketId); params.add("selfMarketId", marketId);
params.add("storeId", storeId); params.add("storeId", storeId);
...@@ -325,7 +326,7 @@ public class GoblinZhengzaiMarketServiceImpl implements IGoblinZhengzaiMarketSer ...@@ -325,7 +326,7 @@ public class GoblinZhengzaiMarketServiceImpl implements IGoblinZhengzaiMarketSer
String returnData = HttpUtil.get(goblinUrl + "/goblin/inner/config/sku?selfMarketId=" + marketId + "&storeId=" + storeId + "&spuId=" + spuId, params, headers); String returnData = HttpUtil.get(goblinUrl + "/goblin/inner/config/sku?selfMarketId=" + marketId + "&storeId=" + storeId + "&spuId=" + spuId, params, headers);
ResponseDto<List<GoblinSelfZhengzaiSkuVo>> rsp = JsonUtils.fromJson(returnData, new TypeReference<ResponseDto<List<GoblinSelfZhengzaiSkuVo>>>() { ResponseDto<List<GoblinSelfZhengzaiSkuVo>> rsp = JsonUtils.fromJson(returnData, new TypeReference<ResponseDto<List<GoblinSelfZhengzaiSkuVo>>>() {
}); });
return rsp; return rsp.getData();
} }
@Override @Override
......
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
<select id="getZhengzaiStoreList" resultMap="goblinZhengzaiStoreListDtoResult"> <select id="getZhengzaiStoreList" resultMap="goblinZhengzaiStoreListDtoResult">
select b.store_id, select d.store_id,
c.store_name, c.store_name,
b.show_time, b.show_time,
IFNull(count(distinct d.spu_id), 0) as 'spu_count', IFNull(count(distinct d.spu_id), 0) as 'spu_count',
...@@ -49,9 +49,9 @@ select b.store_id, ...@@ -49,9 +49,9 @@ select b.store_id,
from goblin_self_marketing as a from goblin_self_marketing as a
inner join goblin_marketing_zhengzai_relation as b on a.self_market_id = b.self_market_id inner join goblin_marketing_zhengzai_relation as b on a.self_market_id = b.self_market_id
inner join goblin_store_info as c on c.store_id = b.store_id inner join goblin_store_info as c on c.store_id = b.store_id
left join goblin_marketing_zhengzai as d on d.self_market_id = b.self_market_id left join goblin_marketing_zhengzai as d on d.store_id = b.store_id and d.self_market_id = b.self_market_id
where a.self_market_id = #{marketId} where a.self_market_id = #{marketId}
GROUP BY b.store_id GROUP BY d.store_id
</select> </select>
<select id="getZhengzaiStoreDetails" resultMap="goblinZhengzaiStoreDetailsDtoResult"> <select id="getZhengzaiStoreDetails" resultMap="goblinZhengzaiStoreDetailsDtoResult">
......
...@@ -85,11 +85,12 @@ public class GoblinPosController { ...@@ -85,11 +85,12 @@ public class GoblinPosController {
return ResponseDto.failure(ErrorCode.HTTP_PARAM_ERROR.getCode(), "店铺不存在"); return ResponseDto.failure(ErrorCode.HTTP_PARAM_ERROR.getCode(), "店铺不存在");
} }
String storeId = storeInfoVo.getStoreId(); String storeId = storeInfoVo.getStoreId();
skuids = skuids.replaceAll("\"", "");
String[] skuIdArr = skuids.split(","); String[] skuIdArr = skuids.split(",");
List<GoblinPosGoodsVo> posGoodsVoList = ObjectUtil.getGoblinPosGoodsVoArrayList(); List<GoblinPosGoodsVo> posGoodsVoList = ObjectUtil.getGoblinPosGoodsVoArrayList();
for (String skuId : skuIdArr) { for (String skuId : skuIdArr) {
GoblinGoodsSkuInfoVo goodsSkuInfoVo = goblinRedisUtils.getGoodsSkuInfoVo(skuId); GoblinGoodsSkuInfoVo goodsSkuInfoVo = goblinRedisUtils.getGoodsSkuInfoVo(skuId);
if (null != goodsSkuInfoVo && goodsSkuInfoVo.getDelFlg().equals("0") && storeId.equals(goodsSkuInfoVo.getStoreId())) { if (null != goodsSkuInfoVo && goodsSkuInfoVo.getDelFlg().equals("0") && storeId.equals(goodsSkuInfoVo.getStoreId()) && goodsSkuInfoVo.getShelvesStatus().equals("3")) {
String spuId = goodsSkuInfoVo.getSpuId(); String spuId = goodsSkuInfoVo.getSpuId();
GoblinGoodsInfoVo goodsInfoVo = goblinRedisUtils.getGoodsInfoVo(spuId); GoblinGoodsInfoVo goodsInfoVo = goblinRedisUtils.getGoodsInfoVo(spuId);
if (null != goodsInfoVo && goodsInfoVo.getDelFlg().equals("0")) { if (null != goodsInfoVo && goodsInfoVo.getDelFlg().equals("0")) {
......
...@@ -21,6 +21,7 @@ import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtGoodsListVo; ...@@ -21,6 +21,7 @@ import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtGoodsListVo;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtGoodsSkuListVo; import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtGoodsSkuListVo;
import com.liquidnet.service.goblin.dto.vo.*; import com.liquidnet.service.goblin.dto.vo.*;
import com.liquidnet.service.goblin.service.manage.IGoblinStoreMgtExtraService; import com.liquidnet.service.goblin.service.manage.IGoblinStoreMgtExtraService;
import com.liquidnet.service.goblin.service.manage.IGoblinZhengzaiService;
import com.liquidnet.service.goblin.service.manage.IGoblinstoreMgtGoodsService; import com.liquidnet.service.goblin.service.manage.IGoblinstoreMgtGoodsService;
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;
......
...@@ -15,6 +15,7 @@ import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtGoodsSkuListVo; ...@@ -15,6 +15,7 @@ import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtGoodsSkuListVo;
import com.liquidnet.service.goblin.dto.vo.*; import com.liquidnet.service.goblin.dto.vo.*;
import com.liquidnet.service.goblin.enums.GoblinStoreConf; import com.liquidnet.service.goblin.enums.GoblinStoreConf;
import com.liquidnet.service.goblin.service.manage.IGoblinStoreMgtExtraService; import com.liquidnet.service.goblin.service.manage.IGoblinStoreMgtExtraService;
import com.liquidnet.service.goblin.service.manage.IGoblinZhengzaiService;
import com.liquidnet.service.goblin.service.manage.IGoblinstoreMgtGoodsService; import com.liquidnet.service.goblin.service.manage.IGoblinstoreMgtGoodsService;
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;
...@@ -42,6 +43,8 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi ...@@ -42,6 +43,8 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
GoblinMongoUtils goblinMongoUtils; GoblinMongoUtils goblinMongoUtils;
@Autowired @Autowired
IGoblinStoreMgtExtraService goblinStoreMgtExtraService; IGoblinStoreMgtExtraService goblinStoreMgtExtraService;
@Autowired
IGoblinZhengzaiService goblinZhengzaiService;
@Override @Override
public PagedResult<GoblinStoreMgtGoodsListVo> goodsList(GoblinStoreMgtGoodsFilterParam mgtGoodsFilterParam) { public PagedResult<GoblinStoreMgtGoodsListVo> goodsList(GoblinStoreMgtGoodsFilterParam mgtGoodsFilterParam) {
...@@ -951,6 +954,12 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi ...@@ -951,6 +954,12 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
}); });
} }
//同步正在下单商品
GoblinStoreZhengzaiCommonSingleParam param = GoblinStoreZhengzaiCommonSingleParam.getNew();
param.setSkuId(skuId);
param.setSpuId(spuId);
goblinZhengzaiService.zhengzaiSkuInsertSingle(param);
queueUtils.sendMsgByRedis(MQConst.GoblinQueue.SQL_GOODS.getKey(), queueUtils.sendMsgByRedis(MQConst.GoblinQueue.SQL_GOODS.getKey(),
SqlMapping.gets(toMqSqls, initGoodsSkuObjs, initGoodsSpecObjs, SqlMapping.gets(toMqSqls, initGoodsSkuObjs, initGoodsSpecObjs,
initGoodsSpecValueObjs, initGoodsSpuSpecValueObjs, initGoodsSkuSpecValueObjs, updateGoodsObjs) initGoodsSpecValueObjs, initGoodsSpuSpecValueObjs, initGoodsSkuSpecValueObjs, updateGoodsObjs)
......
...@@ -138,7 +138,7 @@ public class GoblinStoreOrderServiceImpl implements IGoblinStoreOrderService { ...@@ -138,7 +138,7 @@ public class GoblinStoreOrderServiceImpl implements IGoblinStoreOrderService {
vo.setPayTime(orderVo.getPayTime()); vo.setPayTime(orderVo.getPayTime());
vo.setPriceExpress(orderVo.getPriceExpress()); vo.setPriceExpress(orderVo.getPriceExpress());
if (!(orderVo.getUcouponId() == null || orderVo.getUcouponId().equals(""))) { if (!(orderVo.getUcouponId() == null || orderVo.getUcouponId().equals(""))) {
CandyCouponVo candyCouponVo = orderUtils.getCouponDetails(orderVo.getUcouponId(),orderVo.getUserId()); CandyCouponVo candyCouponVo = orderUtils.getCouponDetails(orderVo.getUcouponId(), orderVo.getUserId());
vo.setPlatformUcouponId(candyCouponVo.getUcouponId()); vo.setPlatformUcouponId(candyCouponVo.getUcouponId());
vo.setPlatformUcouponName(candyCouponVo.getTitle()); vo.setPlatformUcouponName(candyCouponVo.getTitle());
vo.setPlatformUcouponPrice(orderVo.getPriceCoupon()); vo.setPlatformUcouponPrice(orderVo.getPriceCoupon());
...@@ -340,7 +340,7 @@ public class GoblinStoreOrderServiceImpl implements IGoblinStoreOrderService { ...@@ -340,7 +340,7 @@ public class GoblinStoreOrderServiceImpl implements IGoblinStoreOrderService {
queueUtils.sendMsgByRedis( queueUtils.sendMsgByRedis(
MQConst.GoblinQueue.GOBLIN_STORE_ORDER_OPERA.getKey(), MQConst.GoblinQueue.GOBLIN_STORE_ORDER_OPERA.getKey(),
SqlMapping.get("goblin_order.store.address", SqlMapping.get("goblin_order.store.address",
expressContacts, expressPhone, expressAddressDetail, now, orderId, now, now expressContacts, expressAddressDetail, expressPhone, now, orderId, now, now
) )
); );
//添加日志 //添加日志
......
...@@ -10,6 +10,7 @@ import com.liquidnet.service.base.SqlMapping; ...@@ -10,6 +10,7 @@ import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst; import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.goblin.constant.GoblinStatusConst; import com.liquidnet.service.goblin.constant.GoblinStatusConst;
import com.liquidnet.service.goblin.dto.manage.GoblinStoreZhengzaiCommonParam; import com.liquidnet.service.goblin.dto.manage.GoblinStoreZhengzaiCommonParam;
import com.liquidnet.service.goblin.dto.manage.GoblinStoreZhengzaiCommonSingleParam;
import com.liquidnet.service.goblin.dto.manage.GoblinStoreZhengzaiItemParam; import com.liquidnet.service.goblin.dto.manage.GoblinStoreZhengzaiItemParam;
import com.liquidnet.service.goblin.dto.vo.*; import com.liquidnet.service.goblin.dto.vo.*;
import com.liquidnet.service.goblin.entity.GoblinMarketingZhengzai; import com.liquidnet.service.goblin.entity.GoblinMarketingZhengzai;
...@@ -116,7 +117,7 @@ public class GoblinZhengzaiServiceImpl implements IGoblinZhengzaiService { ...@@ -116,7 +117,7 @@ public class GoblinZhengzaiServiceImpl implements IGoblinZhengzaiService {
vo.setMarketSkuId(marketSkuId); vo.setMarketSkuId(marketSkuId);
vo.setSkuId(marketSkuId.split(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue())[0]); vo.setSkuId(marketSkuId.split(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue())[0]);
vo.setSkuSpecList(skuVo.getSkuSpecList()); vo.setSkuSpecList(skuVo.getSkuSpecList());
Integer restStock = redisUtils.getSkuStock("ZZ",marketSkuVo.getSkuId()); Integer restStock = redisUtils.getSkuStock("ZZ", marketSkuVo.getSkuId());
vo.setRestStock(restStock); vo.setRestStock(restStock);
vo.setPrice(skuVo.getPrice()); vo.setPrice(skuVo.getPrice());
vo.setStock(skuVo.getStock()); vo.setStock(skuVo.getStock());
...@@ -164,7 +165,7 @@ public class GoblinZhengzaiServiceImpl implements IGoblinZhengzaiService { ...@@ -164,7 +165,7 @@ public class GoblinZhengzaiServiceImpl implements IGoblinZhengzaiService {
if (item.getStockMarketing() > 0) { if (item.getStockMarketing() > 0) {
int restStock = redisUtils.decrSkuStock(null, item.getSkuId(), item.getStockMarketing()); int restStock = redisUtils.decrSkuStock(null, item.getSkuId(), item.getStockMarketing());
if (restStock < 0) { if (restStock < 0) {
errorNameList.add(skuVo.getName()+"库存不足"); errorNameList.add(skuVo.getName() + "库存不足");
redisUtils.incrSkuStock(null, item.getSkuId(), item.getStockMarketing()); redisUtils.incrSkuStock(null, item.getSkuId(), item.getStockMarketing());
item.setStockMarketing(0); item.setStockMarketing(0);
// continue; // continue;
...@@ -244,6 +245,31 @@ public class GoblinZhengzaiServiceImpl implements IGoblinZhengzaiService { ...@@ -244,6 +245,31 @@ public class GoblinZhengzaiServiceImpl implements IGoblinZhengzaiService {
return ResponseDto.success(); return ResponseDto.success();
} }
@Override
public ResponseDto<Boolean> zhengzaiSkuInsertSingle(GoblinStoreZhengzaiCommonSingleParam params) {
List<String> marketIdList = mongoUtils.getMarketIdListBySpuId(params.getSpuId());
for (String marketId : marketIdList) {
String marketSpuId = params.getSpuId().concat(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue()).concat(IDGenerator.marketGoodId(marketId));
//mongo
GoblinGoodsSkuInfoVo skuVo = redisUtils.getGoodsSkuInfoVo(params.getSkuId());
String marketSkuId = params.getSkuId().concat(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue()).concat(IDGenerator.marketGoodId(marketId));
skuVo.setSpuId(marketSpuId);
skuVo.setSkuId(marketSkuId);
skuVo.setSkuStock(0);
skuVo.setBuyRoster("");
skuVo.setBuyFactor("0");
skuVo.setDelFlg("0");
skuVo.setMarketId(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue().concat(marketId));
skuVo.setCreatedAt(LocalDateTime.now());
mongoUtils.upsertGoodsSkuInfoVo(skuVo);
//redis
redisUtils.setGoodsSkuInfoVo(skuVo);
redisUtils.setSkuStock(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue(), marketSkuId, 0);
redisUtils.addSkuRe(params.getSkuId(), marketSkuId);
}
return ResponseDto.success();
}
@Override @Override
public ResponseDto<Boolean> zhengzaiSkuUpdate(GoblinStoreZhengzaiCommonParam params) { public ResponseDto<Boolean> zhengzaiSkuUpdate(GoblinStoreZhengzaiCommonParam params) {
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
...@@ -282,13 +308,13 @@ public class GoblinZhengzaiServiceImpl implements IGoblinZhengzaiService { ...@@ -282,13 +308,13 @@ public class GoblinZhengzaiServiceImpl implements IGoblinZhengzaiService {
sStock = redisUtils.incrSkuStock(null, item.getSkuId(), -changeStock); sStock = redisUtils.incrSkuStock(null, item.getSkuId(), -changeStock);
} }
if (mStock < 0) { if (mStock < 0) {
errorNameList.add(skuVo.getName()+"库存不足"); errorNameList.add(skuVo.getName() + "库存不足");
redisUtils.incrSkuStock(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue(), skuVo.getSkuId(), -changeStock); redisUtils.incrSkuStock(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue(), skuVo.getSkuId(), -changeStock);
redisUtils.decrSkuStock(null, item.getSkuId(), -changeStock); redisUtils.decrSkuStock(null, item.getSkuId(), -changeStock);
continue; continue;
} }
if (sStock < 0) { if (sStock < 0) {
errorNameList.add(skuVo.getName()+"库存不足"); errorNameList.add(skuVo.getName() + "库存不足");
redisUtils.incrSkuStock(null, item.getSkuId(), changeStock); redisUtils.incrSkuStock(null, item.getSkuId(), changeStock);
redisUtils.decrSkuStock(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue(), skuVo.getSkuId(), changeStock); redisUtils.decrSkuStock(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue(), skuVo.getSkuId(), changeStock);
continue; continue;
......
...@@ -605,9 +605,7 @@ public class GoblinMongoUtils { ...@@ -605,9 +605,7 @@ public class GoblinMongoUtils {
List<GoblinGoodsInfoVo> marketGoodsInfoVos = mongoTemplate.find(query, GoblinGoodsInfoVo.class, GoblinGoodsInfoVo.class.getSimpleName()); List<GoblinGoodsInfoVo> marketGoodsInfoVos = mongoTemplate.find(query, GoblinGoodsInfoVo.class, GoblinGoodsInfoVo.class.getSimpleName());
if (!CollectionUtils.isEmpty(marketGoodsInfoVos)) { if (!CollectionUtils.isEmpty(marketGoodsInfoVos)) {
List<String> marketSpuIds = marketGoodsInfoVos.stream().map(GoblinGoodsInfoVo::getSpuId).collect(Collectors.toList()); List<String> marketSpuIds = marketGoodsInfoVos.stream().map(GoblinGoodsInfoVo::getSpuId).collect(Collectors.toList());
mongoTemplate.getCollection(GoblinGoodsInfoVo.class.getSimpleName()).updateMany( Update update = Update.update("spuNo", vo.getSpuNo())
Query.query(Criteria.where("spuId").in(marketSpuIds).and("delFlg").is("0")).getQueryObject(),
Update.update("spuNo", vo.getSpuNo())
.set("name", vo.getName()) .set("name", vo.getName())
.set("subtitle", vo.getSubtitle()) .set("subtitle", vo.getSubtitle())
.set("sellPrice", vo.getSellPrice()) .set("sellPrice", vo.getSellPrice())
...@@ -625,13 +623,22 @@ public class GoblinMongoUtils { ...@@ -625,13 +623,22 @@ public class GoblinMongoUtils {
.set("virtualFlg", vo.getVirtualFlg()) .set("virtualFlg", vo.getVirtualFlg())
.set("imageList", mongoConverter.convertToMongoType(vo.getImageList())) .set("imageList", mongoConverter.convertToMongoType(vo.getImageList()))
.set("logisticsTemplate", vo.getLogisticsTemplate()) .set("logisticsTemplate", vo.getLogisticsTemplate())
.set("tagVoList", mongoConverter.convertToMongoType(vo.getTagVoList()))
.set("extagVoList", mongoConverter.convertToMongoType(vo.getExtagVoList()))
.set("artagVoList", mongoConverter.convertToMongoType(vo.getArtagVoList()))
.set("serviceSupportVoList", mongoConverter.convertToMongoType(vo.getServiceSupportVoList())) .set("serviceSupportVoList", mongoConverter.convertToMongoType(vo.getServiceSupportVoList()))
.set("updatedBy", vo.getUpdatedBy()) .set("updatedBy", vo.getUpdatedBy())
.set("updatedAt", vo.getUpdatedAt()) .set("updatedAt", vo.getUpdatedAt());
.getUpdateObject() if (vo.getTagVoList() != null) {
update.set("tagVoList", mongoConverter.convertToMongoType(vo.getTagVoList()));
}
if (vo.getExtagVoList() != null) {
update.set("extagVoList", mongoConverter.convertToMongoType(vo.getExtagVoList()));
}
if (vo.getArtagVoList() != null) {
update.set("artagVoList", mongoConverter.convertToMongoType(vo.getArtagVoList()));
}
mongoTemplate.getCollection(GoblinGoodsInfoVo.class.getSimpleName()).updateMany(
Query.query(Criteria.where("spuId").in(marketSpuIds).and("delFlg").is("0")).getQueryObject(),
update.getUpdateObject()
); );
return marketSpuIds; return marketSpuIds;
} }
...@@ -1381,6 +1388,13 @@ public class GoblinMongoUtils { ...@@ -1381,6 +1388,13 @@ public class GoblinMongoUtils {
return refundPrice; return refundPrice;
} }
//根据spuId查询活动id
public List<String> getMarketIdListBySpuId(String spuId) {
Query query = Query.query(Criteria.where("marketId").ne(null).and("spuId").regex(spuId.concat(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue()).concat(".*")));
query.fields().include("marketId");
return mongoTemplate.find(query, GoblinGoodsInfoVo.class, GoblinGoodsInfoVo.class.getSimpleName()).stream().map(GoblinGoodsInfoVo::getMarketId).collect(Collectors.toList());
}
; ;
/* ---------------------------------------- 商城:用户优惠券 ---------------------------------------- */ /* ---------------------------------------- 商城:用户优惠券 ---------------------------------------- */
......
...@@ -580,6 +580,7 @@ public class GoblinRedisUtils { ...@@ -580,6 +580,7 @@ public class GoblinRedisUtils {
vo.setPriceGe(marketVo.getPriceGe()); vo.setPriceGe(marketVo.getPriceGe());
vo.setPriceLe(marketVo.getPriceLe()); vo.setPriceLe(marketVo.getPriceLe());
vo.setMarketId(marketVo.getMarketId()); vo.setMarketId(marketVo.getMarketId());
vo.setDelFlg(marketVo.getDelFlg().equals("1") ? marketVo.getDelFlg() : vo.getDelFlg());
return vo; return vo;
} else { } else {
String rk = GoblinRedisConst.BASIC_GOODS.concat(spuId); String rk = GoblinRedisConst.BASIC_GOODS.concat(spuId);
...@@ -678,7 +679,8 @@ public class GoblinRedisUtils { ...@@ -678,7 +679,8 @@ public class GoblinRedisUtils {
vo.setBuyLimit(marketVo.getBuyLimit()); vo.setBuyLimit(marketVo.getBuyLimit());
vo.setBuyRoster(marketVo.getBuyRoster()); vo.setBuyRoster(marketVo.getBuyRoster());
vo.setBuyFactor(marketVo.getBuyFactor()); vo.setBuyFactor(marketVo.getBuyFactor());
vo.setDelFlg("0"); // vo.setDelFlg("0");
vo.setDelFlg(marketVo.getDelFlg().equals("1") ? marketVo.getDelFlg() : vo.getDelFlg());
vo.setMarketId(marketVo.getMarketId()); vo.setMarketId(marketVo.getMarketId());
vo.setCreatedAt(LocalDateTime.now()); vo.setCreatedAt(LocalDateTime.now());
return vo; return vo;
......
...@@ -513,21 +513,21 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService { ...@@ -513,21 +513,21 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
restVoucherPrice = BigDecimal.ZERO; restVoucherPrice = BigDecimal.ZERO;
} }
if (restVoucherPrice.compareTo(BigDecimal.ZERO) > 0) { if (restVoucherPrice.compareTo(BigDecimal.ZERO) > 0) {
restVoucherPrice = restVoucherPrice.subtract(orderSku.getSkuPrice()); restVoucherPrice = restVoucherPrice.subtract(orderSku.getSkuPriceActual());
if (restVoucherPrice.compareTo(BigDecimal.ZERO) >= 0) { if (restVoucherPrice.compareTo(BigDecimal.ZERO) >= 0) {
orderSku.setPriceVoucher(orderSku.getSkuPrice()); orderSku.setPriceVoucher(orderSku.getSkuPriceActual());
} else { } else {
orderSku.setPriceVoucher(restVoucherPrice.add(orderSku.getSkuPrice())); orderSku.setPriceVoucher(restVoucherPrice.add(orderSku.getSkuPriceActual()));
} }
BigDecimal skuPriceActual = orderSku.getSkuPrice().subtract(orderSku.getPriceVoucher()); BigDecimal skuPriceActual = orderSku.getSkuPriceActual().subtract(orderSku.getPriceVoucher());
orderSku.setSkuPriceActual(skuPriceActual.compareTo(BigDecimal.ZERO) > 0 ? skuPriceActual : BigDecimal.ZERO); orderSku.setSkuPriceActual(skuPriceActual.compareTo(BigDecimal.ZERO) > 0 ? skuPriceActual : BigDecimal.ZERO);
} else if (restVoucherPrice.compareTo(BigDecimal.ZERO) == 0) { } else if (restVoucherPrice.compareTo(BigDecimal.ZERO) == 0) {
orderSku.setPriceVoucher(BigDecimal.ZERO); orderSku.setPriceVoucher(BigDecimal.ZERO);
BigDecimal skuPriceActual = orderSku.getSkuPrice().subtract(orderSku.getPriceVoucher()); BigDecimal skuPriceActual = orderSku.getSkuPriceActual().subtract(orderSku.getPriceVoucher());
orderSku.setSkuPriceActual(skuPriceActual.compareTo(BigDecimal.ZERO) > 0 ? skuPriceActual : BigDecimal.ZERO); orderSku.setSkuPriceActual(skuPriceActual.compareTo(BigDecimal.ZERO) > 0 ? skuPriceActual : BigDecimal.ZERO);
} else { } else {
orderSku.setPriceVoucher(restVoucherPrice.add(orderSku.getSkuPrice())); orderSku.setPriceVoucher(restVoucherPrice.add(orderSku.getSkuPriceActual()));
BigDecimal skuPriceActual = orderSku.getSkuPrice().subtract(orderSku.getPriceVoucher()); BigDecimal skuPriceActual = orderSku.getSkuPriceActual().subtract(orderSku.getPriceVoucher());
orderSku.setSkuPriceActual(skuPriceActual.compareTo(BigDecimal.ZERO) > 0 ? skuPriceActual : BigDecimal.ZERO); orderSku.setSkuPriceActual(skuPriceActual.compareTo(BigDecimal.ZERO) > 0 ? skuPriceActual : BigDecimal.ZERO);
} }
} }
...@@ -536,21 +536,21 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService { ...@@ -536,21 +536,21 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
restVoucherPrice = BigDecimal.ZERO; restVoucherPrice = BigDecimal.ZERO;
} }
if (restVoucherPrice.compareTo(BigDecimal.ZERO) > 0) { if (restVoucherPrice.compareTo(BigDecimal.ZERO) > 0) {
restVoucherPrice = restVoucherPrice.subtract(orderSku.getSkuPrice()); restVoucherPrice = restVoucherPrice.subtract(orderSku.getSkuPriceActual());
if (restVoucherPrice.compareTo(BigDecimal.ZERO) >= 0) { if (restVoucherPrice.compareTo(BigDecimal.ZERO) >= 0) {
orderSku.setPriceVoucher(orderSku.getSkuPrice()); orderSku.setPriceVoucher(orderSku.getSkuPriceActual());
} else { } else {
orderSku.setPriceVoucher(restVoucherPrice.add(orderSku.getSkuPrice())); orderSku.setPriceVoucher(restVoucherPrice.add(orderSku.getSkuPriceActual()));
} }
BigDecimal skuPriceActual = orderSku.getSkuPrice().subtract(orderSku.getPriceVoucher()); BigDecimal skuPriceActual = orderSku.getSkuPriceActual().subtract(orderSku.getPriceVoucher());
orderSku.setSkuPriceActual(skuPriceActual.compareTo(BigDecimal.ZERO) > 0 ? skuPriceActual : BigDecimal.ZERO); orderSku.setSkuPriceActual(skuPriceActual.compareTo(BigDecimal.ZERO) > 0 ? skuPriceActual : BigDecimal.ZERO);
} else if (restVoucherPrice.compareTo(BigDecimal.ZERO) == 0) { } else if (restVoucherPrice.compareTo(BigDecimal.ZERO) == 0) {
orderSku.setPriceVoucher(BigDecimal.ZERO); orderSku.setPriceVoucher(BigDecimal.ZERO);
BigDecimal skuPriceActual = orderSku.getSkuPrice().subtract(orderSku.getPriceVoucher()); BigDecimal skuPriceActual = orderSku.getSkuPriceActual().subtract(orderSku.getPriceVoucher());
orderSku.setSkuPriceActual(skuPriceActual.compareTo(BigDecimal.ZERO) > 0 ? skuPriceActual : BigDecimal.ZERO); orderSku.setSkuPriceActual(skuPriceActual.compareTo(BigDecimal.ZERO) > 0 ? skuPriceActual : BigDecimal.ZERO);
} else { } else {
orderSku.setPriceVoucher(restVoucherPrice.add(orderSku.getSkuPrice())); orderSku.setPriceVoucher(restVoucherPrice.add(orderSku.getSkuPriceActual()));
BigDecimal skuPriceActual = orderSku.getSkuPrice().subtract(orderSku.getPriceVoucher()); BigDecimal skuPriceActual = orderSku.getSkuPriceActual().subtract(orderSku.getPriceVoucher());
orderSku.setSkuPriceActual(skuPriceActual.compareTo(BigDecimal.ZERO) > 0 ? skuPriceActual : BigDecimal.ZERO); orderSku.setSkuPriceActual(skuPriceActual.compareTo(BigDecimal.ZERO) > 0 ? skuPriceActual : BigDecimal.ZERO);
} }
} }
......
...@@ -100,6 +100,7 @@ public class GoblinRedisUtils { ...@@ -100,6 +100,7 @@ public class GoblinRedisUtils {
vo.setPriceGe(marketVo.getPriceGe()); vo.setPriceGe(marketVo.getPriceGe());
vo.setPriceLe(marketVo.getPriceLe()); vo.setPriceLe(marketVo.getPriceLe());
vo.setMarketId(marketVo.getMarketId()); vo.setMarketId(marketVo.getMarketId());
vo.setDelFlg(marketVo.getDelFlg().equals("1") ? marketVo.getDelFlg() : vo.getDelFlg());
return vo; return vo;
} else { } else {
String rk = GoblinRedisConst.BASIC_GOODS.concat(spuId); String rk = GoblinRedisConst.BASIC_GOODS.concat(spuId);
...@@ -145,7 +146,8 @@ public class GoblinRedisUtils { ...@@ -145,7 +146,8 @@ public class GoblinRedisUtils {
vo.setBuyLimit(marketVo.getBuyLimit()); vo.setBuyLimit(marketVo.getBuyLimit());
vo.setBuyRoster(marketVo.getBuyRoster()); vo.setBuyRoster(marketVo.getBuyRoster());
vo.setBuyFactor(marketVo.getBuyFactor()); vo.setBuyFactor(marketVo.getBuyFactor());
vo.setDelFlg("0"); // vo.setDelFlg("0");
vo.setDelFlg(marketVo.getDelFlg().equals("1") ? marketVo.getDelFlg() : vo.getDelFlg());
vo.setMarketId(marketVo.getMarketId()); vo.setMarketId(marketVo.getMarketId());
vo.setCreatedAt(LocalDateTime.now()); vo.setCreatedAt(LocalDateTime.now());
return vo; return vo;
......
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