Commit 2d6449c0 authored by wangpeng's avatar wangpeng

Merge branch 'test' into 'master'

Test See merge request !48
parents cc8c8199 c0e890fa
......@@ -127,7 +127,6 @@ public class GoodsListController {
@PutMapping("/cancelCheck/{goodsId}")
public ResponseVO cancelCheck(@PathVariable String goodsId, @ApiParam(name = "adminId", value = "管理员id")
@RequestHeader String adminId) {
adminService.adminAuthCheck(adminId, AdminTypeEnum.MERCHANT.getType());
String merchantId1 = adminService.getByAdminId(adminId).getMerchantId();
String merchantId2 = spuService.getByGoodsId(goodsId).getMerchantId();
if (!merchantId1.equals(merchantId2)) {
......
......@@ -211,7 +211,6 @@ public class SpuController {
@PutMapping("/goodsList/cancelCheck/{goodsId}")
public ResponseVO cancel(@PathVariable String goodsId, @ApiParam(name = "adminId", value = "管理员id")
@RequestHeader String adminId) {
adminService.adminAuthCheck(adminId, AdminTypeEnum.MERCHANT.getType());
String merchantId1 = adminService.getByAdminId(adminId).getMerchantId();
String merchantId2 = spuService.getByGoodsId(goodsId).getMerchantId();
if (!merchantId1.equals(merchantId2)) {
......
......@@ -22,7 +22,8 @@ public enum SpuStatusEnum {
CHECK_FAIL(6),//审核未通过
CHECK_PASS(7),//审核通过
CANCEL(8),//取消发布
DRAFT(9);//草稿
DRAFT(9),//草稿
PREHEAT(10);//预热
private Integer status;
......
......@@ -161,4 +161,6 @@ public interface ISpuService extends IService<Spu> {
*/
List<GoodsListVO> getSpuByVague(String goodsInfo, String merchantId);
List<Spu> listForPreheat();
}
......@@ -117,6 +117,7 @@ public class ExternalTokenServiceImpl extends ServiceImpl<ExternalTokenMapper, E
externalToken.setPublishTime(publishTime);
externalToken.setPublisher(publisher);
if (!url.equals("http://146.56.218.121:8081/open/nft/hash")) {
Map<String, Object> map = new HashMap<>();
map.put("tokenId", tokenId);
String httpGet = HttpUtil.httpGet(url, map);
......@@ -124,6 +125,7 @@ public class ExternalTokenServiceImpl extends ServiceImpl<ExternalTokenMapper, E
if (json.getString("code").equals("200")) {
externalToken.setHash(json.getString("data"));
}
}
//TODO 唐拓接口
save(externalToken);
}
......
......@@ -84,12 +84,16 @@ public class SkuServiceImpl extends ServiceImpl<SkuMapper, Sku> implements ISkuS
if (StringUtils.isBlank(kDTO.getImage())) {
sku.setThumb(thumb);
}
if (salesType.equals(SalesTypeEnum.ORDINARY.getType())) {
if (salesType == null) {
sku.setCirculation(kDTO.getStock());
sku.setPrice(kDTO.getOriginalPrice());
}
if (salesType != null && salesType.equals(SalesTypeEnum.ORDINARY.getType())) {
sku.setCirculation(kDTO.getStock());
sku.setOriginalPrice(price);
sku.setPrice(price);
}
if (salesType.equals(SalesTypeEnum.BLIND_BOX.getType())) {
if (salesType != null && salesType.equals(SalesTypeEnum.BLIND_BOX.getType())) {
sku.setOriginalPrice(blindBoxPrice);
sku.setPrice(blindBoxPrice);
}
......@@ -100,7 +104,7 @@ public class SkuServiceImpl extends ServiceImpl<SkuMapper, Sku> implements ISkuS
//规格属性入库
skuPropService.add(kDTO.getPropertyList(), skuId);
if (salesType.equals(SalesTypeEnum.BLIND_BOX.getType())) {
if (salesType != null && salesType.equals(SalesTypeEnum.BLIND_BOX.getType())) {
if (commodityPass.equals(CommodityPassTypeEnum.INNER.getType())) {
long tokenId = System.currentTimeMillis();
sku.setCoinName(MALLGlobalConfig.NFT_PREFIX + tokenId);
......@@ -146,7 +150,7 @@ public class SkuServiceImpl extends ServiceImpl<SkuMapper, Sku> implements ISkuS
//发行NFT
ExternalToken externalToken = externalTokenService.queryByLabelNameAndMerchantId(kDTO.getCoinName(), merchantId);
String tokenId = externalToken.getTokenId().toString();
/*String tokenId = externalToken.getTokenId().toString();
long[] nos = new long[Math.toIntExact(kDTO.getStock())];
String[] hashs = new String[Math.toIntExact(kDTO.getStock())];
for (int i = 0; i < kDTO.getStock(); i++) {
......@@ -155,15 +159,17 @@ public class SkuServiceImpl extends ServiceImpl<SkuMapper, Sku> implements ISkuS
String hash = chainUtil.evmPublishTokenSplit(addr, suffixAll, 1L);
nos[i] = suffixAll;
hashs[i] = hash;
}
}*/
Map<String, Object> map = new HashMap<>();
map.put("goodsId", goodsId);
map.put("hashs", hashs);
map.put("prefix", tokenId);
// map.put("hashs", hashs);
map.put("prefix", externalToken.getTokenId().toString());
map.put("merchantId", merchantId);
map.put("commodityPassId", externalToken.getCommodityPassId());
map.put("nos", JSONArray.toJSON(nos));
// map.put("nos", JSONArray.toJSON(nos));
map.put("stock",kDTO.getStock());
map.put("addr",addr);
producer.sendTTL(map, QueueTTLTypeEnum.NFT_USU_TTL, 10 * 1000);
}
}
......
......@@ -31,6 +31,7 @@ import com.fzm.mall.server.admin.home_page.service.IMerchantService;
import com.fzm.mall.server.admin.opration.service.IFloorGoodsService;
import com.fzm.mall.server.admin.util.UUIDUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.dozer.DozerBeanMapper;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -41,6 +42,7 @@ import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
import static com.fzm.mall.server.admin.goods_center.enums.type.GoodsTypeEnum.*;
......@@ -52,6 +54,7 @@ import static com.fzm.mall.server.admin.goods_center.enums.type.GoodsTypeEnum.*;
* @since JDK 1.8
*/
@Service
@Slf4j
@Transactional
public class SpuServiceImpl extends ServiceImpl<SpuMapper, Spu> implements ISpuService {
......@@ -110,7 +113,8 @@ public class SpuServiceImpl extends ServiceImpl<SpuMapper, Spu> implements ISpuS
goodsId = UUIDUtil.getUUID();
}
if (pDTO.getSalesType().equals(SalesTypeEnum.ORDINARY.getType())) {
log.info("salesType:" + pDTO.getSalesType());
if (pDTO.getSalesType() != null && pDTO.getSalesType().equals(SalesTypeEnum.ORDINARY.getType())) {
nftService.add(pDTO.getNftdto(), goodsId, pDTO.getName(), addr, merchantId, timestamp);
if (pDTO.getNftdto().getTzType().equals(1)) {
List<GoodsSkuDTO> objects = pDTO.getSkuList().stream().peek(v -> {
......@@ -132,13 +136,16 @@ public class SpuServiceImpl extends ServiceImpl<SpuMapper, Spu> implements ISpuS
spu = beanMapper.map(pDTO, Spu.class);
spu.setGoodsId(goodsId);
spu.setMerchantId(merchantId);
if (!Objects.equals(spu.getSalesType(), SalesTypeEnum.BLIND_BOX.getType())){
spu.setBlindBoxRule("无");
}
Integer status = SpuStatusEnum.WAIT_CHECK.getStatus();
if ((pDTO.getCommodityPass().equals(CommodityPassTypeEnum.COPY.getType()) && pDTO.getSkuList().get(0).getNftSalesType().equals(NFTSalesTypeEnum.COPY.getType())) || pDTO.getCommodityPass().equals(CommodityPassTypeEnum.INNER.getType())) {
status = SpuStatusEnum.ISSUE.getStatus();
}
spu.setStatus(status);
//设置商品最大最小值
if (pDTO.getSalesType().equals(SalesTypeEnum.BLIND_BOX.getType())) {
if (pDTO.getSalesType() != null && pDTO.getSalesType().equals(SalesTypeEnum.BLIND_BOX.getType())) {
spu.setMaxPrice(pDTO.getBlindBoxPrice());
spu.setDefaultPrice(pDTO.getBlindBoxPrice());
} else {
......@@ -541,4 +548,12 @@ public class SpuServiceImpl extends ServiceImpl<SpuMapper, Spu> implements ISpuS
externalTokenService.updateById(externalToken);
}
}
@Override
public List<Spu> listForPreheat() {
LambdaQueryWrapper<Spu> qw = new LambdaQueryWrapper<>();
qw.eq(Spu::getStatus, SpuStatusEnum.PREHEAT.getStatus());
return list(qw);
}
}
......@@ -16,6 +16,7 @@ import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Arrays;
import java.util.Map;
/**
......@@ -60,13 +61,26 @@ public class NftConsumer {
public void usuCoinsPrice(Map<String, Object> obj) {
try {
String goodsId = obj.get("goodsId") + "";
String[] hashs = (String[]) obj.get("hashs");
// String[] hashs = (String[]) obj.get("hashs");
String prefix = obj.get("prefix") + "";
String nos = obj.get("nos") + "";
// String nos = obj.get("nos") + "";
String merchantId = obj.get("merchantId") + "";
String commodityPassId = obj.get("commodityPassId") + "";
// String tokenId = obj.get("tokenId") + "";
Long stock = (Long) obj.get("stock");
String addr = obj.get("addr") + "";
System.err.println("obj:" + obj);
long[] nos = new long[Math.toIntExact(stock)];
String[] hashs = new String[Math.toIntExact(stock)];
for (int i = 0; i < stock; i++) {
String suffix = i + 1 + "";
Long suffixAll = Long.parseLong(prefix + "00000000".substring(0, 8 - suffix.length()) + suffix);
String hash = chainUtil.evmPublishTokenSplit(addr, suffixAll, 1L);
nos[i] = suffixAll;
hashs[i] = hash;
}
int length = hashs.length;
//发行token
......@@ -88,7 +102,7 @@ public class NftConsumer {
spuService.updateStatus(goodsId, SpuStatusEnum.WAIT_CHECK.getStatus(), "");
GoodsSkuUsufruct goodsSkuUsufruct = new GoodsSkuUsufruct();
goodsSkuUsufruct.setPrefix(prefix);
goodsSkuUsufruct.setSerialNo(nos.toString());
goodsSkuUsufruct.setSerialNo(Arrays.toString(nos));
goodsSkuUsufruct.setCommodityPassId(commodityPassId);
goodsSkuUsufruct.setMerchantId(merchantId);
goodsSkuUsufructService.save(goodsSkuUsufruct);
......
package com.fzm.mall.server.admin.task.goods;
import com.fzm.mall.server.admin.goods_center.enums.status.SpuStatusEnum;
import com.fzm.mall.server.admin.goods_center.model.Spu;
import com.fzm.mall.server.admin.goods_center.service.ISpuService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* @author wangp
* @date 2021/6/18 10:43
* @description 订单定时任务
* @since JDK 1.8
*/
@Component
@Slf4j
@Transactional
public class GoodsTask {
@Autowired
private ISpuService spuService;
//预热商品上架
@Scheduled(cron = "10 * * * * ?")
public void yrsj() {
List<Spu> spuList = spuService.listForPreheat();
spuList.forEach(v -> {
if (v.getPreheatEndTime() < System.currentTimeMillis()) {
//修改状态为上架
spuService.updateStatus(v.getGoodsId(), SpuStatusEnum.ON.getStatus(), "");
}
});
}
}
......@@ -37,7 +37,7 @@ public class PaymentTypeConst {
/**
* 待支付
*/
public final static int PAY_WAIT = 0;
public final static int PAY_WAIT = 7;
/**
* 待收货
......
......@@ -3,6 +3,10 @@ package com.fzm.mall.server.front.enums;
public enum OrderStateEnum {
/**
* 6->支付中
*/
ORDER_STATE_PAYING(6),
/**
* 7->待支付
*/
ORDER_STATE_TO_PAY(7),
......
......@@ -37,7 +37,7 @@ public class orderCloseCousumer {
log.error("orderPayConsumer:pid:"+message +"订单不存在");
return;
}
if(pay.getState()!=6){
if(pay.getState()!=3 && pay.getState()!=6){
log.error("orderPayConsumer:pid:"+message +"订单状态不成功");
return;
}
......
......@@ -1238,12 +1238,12 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
return;
}
/**
* 关单前的订单状态:待支付
* 关单前的订单状态:待支付,支付中
*/
order.setOrderState(2);
UpdateWrapper<Order> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("oid", order.getOid())
.eq("order_state", OrderStateEnum.ORDER_STATE_TO_PAY.getState());
.in("order_state", Arrays.asList(OrderStateEnum.ORDER_STATE_PAYING.getState(), OrderStateEnum.ORDER_STATE_TO_PAY.getState()));
int update = orderMapper.update(order, updateWrapper);
if (update == 0) {
log.error("close order fail, order:" + order.toString());
......@@ -1266,17 +1266,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
}
}
/**
* 关闭订单前校验订单是否为“待支付”
*
* @param order
*/
private void checkOrderStateBeforeClose(Order order) {
if (order.getOrderState() != OrderStateEnum.ORDER_STATE_TO_PAY.getState()) {
throw new RuntimeException("close order fail, order:" + order.toString());
}
}
@Override
@Transactional
public int applyReturn(String uid, String oid) {
......
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