|
|
@@ -177,12 +177,12 @@ public class C2cOrderServiceImpl extends BaseServiceImpl<C2cOrderDao, C2cOrderEn
|
|
|
order.setUserName(Convert.toStr(odMap.get("userName")));
|
|
|
order.setDirection(Convert.toInt(odMap.get("direction")));
|
|
|
order.setLegalCoin(Convert.toStr(odMap.get("legalCoin")));
|
|
|
- order.setCoin(Convert.toStr(odMap.get("coin")));
|
|
|
+ order.setSymbol(Convert.toStr(odMap.get("symbol")));
|
|
|
order.setC2cAdId(Convert.toLong(odMap.get("c2cAdId")));
|
|
|
order.setTranUserId(Convert.toLong(odMap.get("tranUserId")));
|
|
|
order.setTranUserName(Convert.toStr(odMap.get("tranUserName")));
|
|
|
order.setTranPrice(Convert.toBigDecimal(odMap.get("tranPrice")));
|
|
|
- order.setCoinNum(Convert.toBigDecimal(odMap.get("coinNum")));
|
|
|
+ order.setSymbolNum(Convert.toBigDecimal(odMap.get("symbolNum")));
|
|
|
order.setTranAmount(Convert.toBigDecimal(odMap.get("tranAmount")));
|
|
|
order.setPayType(Convert.toInt(odMap.get("payType")));
|
|
|
order.setFlow(Convert.toInt(odMap.get("flow")));
|
|
|
@@ -203,12 +203,12 @@ public class C2cOrderServiceImpl extends BaseServiceImpl<C2cOrderDao, C2cOrderEn
|
|
|
odMap.put("userName", c2cOrder.getUserName());
|
|
|
odMap.put("direction", c2cOrder.getDirection());
|
|
|
odMap.put("legalCoin", c2cOrder.getLegalCoin());
|
|
|
- odMap.put("coin", c2cOrder.getCoin());
|
|
|
+ odMap.put("symbol", c2cOrder.getSymbol());
|
|
|
odMap.put("c2cAdId", c2cOrder.getC2cAdId());
|
|
|
odMap.put("tranUserId", c2cOrder.getTranUserId());
|
|
|
odMap.put("tranUserName", c2cOrder.getTranUserName());
|
|
|
odMap.put("tranPrice", c2cOrder.getTranPrice());
|
|
|
- odMap.put("coinNum", c2cOrder.getCoinNum());
|
|
|
+ odMap.put("symbolNum", c2cOrder.getSymbolNum());
|
|
|
odMap.put("tranAmount", c2cOrder.getTranAmount());
|
|
|
odMap.put("payType", c2cOrder.getPayType());
|
|
|
odMap.put("flow", c2cOrder.getFlow());
|
|
|
@@ -254,12 +254,12 @@ public class C2cOrderServiceImpl extends BaseServiceImpl<C2cOrderDao, C2cOrderEn
|
|
|
*/
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public Result createC2cOrder(C2cOrderCreateDTO c2cOrderDTO, C2cAdEntity c2cAd, BigDecimal legalCoinAmount, BigDecimal coinNum,
|
|
|
+ public Result createC2cOrder(C2cOrderCreateDTO c2cOrderDTO, C2cAdEntity c2cAd, BigDecimal legalCoinAmount, BigDecimal symbolNum,
|
|
|
Long loginUserId, String realName) throws Exception {
|
|
|
/** 1买入 2 卖出 */
|
|
|
Integer direction = c2cOrderDTO.getDirection();
|
|
|
/** 交易币 */
|
|
|
- String coin = c2cOrderDTO.getCoin().toLowerCase();
|
|
|
+ String symbol = c2cOrderDTO.getSymbol().toLowerCase();
|
|
|
/** 法定货币 */
|
|
|
String legalCoin = c2cOrderDTO.getLegalCoin().toLowerCase();
|
|
|
/** 广告编号 */
|
|
|
@@ -276,12 +276,12 @@ public class C2cOrderServiceImpl extends BaseServiceImpl<C2cOrderDao, C2cOrderEn
|
|
|
c2cOrder.setUserName(realName);
|
|
|
c2cOrder.setDirection(direction);
|
|
|
c2cOrder.setLegalCoin(legalCoin);
|
|
|
- c2cOrder.setCoin(coin);
|
|
|
+ c2cOrder.setSymbol(symbol);
|
|
|
c2cOrder.setC2cAdId(c2cAdId);
|
|
|
c2cOrder.setTranUserId(tranUserId);
|
|
|
c2cOrder.setTranUserName(adUserName);
|
|
|
c2cOrder.setTranPrice(price);
|
|
|
- c2cOrder.setCoinNum(coinNum);
|
|
|
+ c2cOrder.setSymbolNum(symbolNum);
|
|
|
c2cOrder.setTranAmount(legalCoinAmount);
|
|
|
c2cOrder.setPayType(payType);
|
|
|
c2cOrder.setFlow(C2cOrderFlowEnum.PROGRESS.getCode());
|
|
|
@@ -297,23 +297,23 @@ public class C2cOrderServiceImpl extends BaseServiceImpl<C2cOrderDao, C2cOrderEn
|
|
|
//用户卖出冻结资金
|
|
|
if(c2cOrder.getDirection().intValue() == DirectionEnum.SELL.getCode().intValue()) {
|
|
|
AppAssetEntity userPlatformAsset = appAssetService.getAppAssetEntity(c2cOrder.getUserId(),
|
|
|
- c2cOrder.getCoin(),AssetEnum.PLATFORM_ASSETS.getCode());
|
|
|
- if(userPlatformAsset.getAvailable().compareTo(c2cOrder.getCoinNum())==-1) {
|
|
|
+ c2cOrder.getSymbol(),AssetEnum.PLATFORM_ASSETS.getCode());
|
|
|
+ if(userPlatformAsset.getAvailable().compareTo(c2cOrder.getSymbolNum())==-1) {
|
|
|
throw new Exception(MessageUtils.message("c2c.order.availableAmount.insufficient"));//您的可用资产必须大于卖出数量
|
|
|
}
|
|
|
- if (appAssetService.frozeAssetByUserId(loginUserId, c2cOrder.getCoin(), c2cOrder.getCoinNum()) == 0) {
|
|
|
+ if (appAssetService.freezeBalance(userPlatformAsset, c2cOrder.getSymbolNum()) == 0) {
|
|
|
throw new Exception(MessageUtils.message("c2c.order.update.asset.fail"));//更新卖家资产失败
|
|
|
}
|
|
|
- appAssetLogService.insertAssetLog(c2cOrder.getId(),c2cOrder.getUserId(),c2cOrder.getCoin(),AssetEnum.PLATFORM_ASSETS.getCode(),
|
|
|
+ appAssetLogService.insertAssetLog(c2cOrder.getId(),c2cOrder.getUserId(),c2cOrder.getSymbol(),AssetEnum.PLATFORM_ASSETS.getCode(),
|
|
|
userPlatformAsset.getTotal(),userPlatformAsset.getTotal(),
|
|
|
- userPlatformAsset.getAvailable(),userPlatformAsset.getAvailable().subtract(c2cOrder.getCoinNum()),
|
|
|
- userPlatformAsset.getFrozen(),userPlatformAsset.getFrozen().add(c2cOrder.getCoinNum()),"c2c卖出冻结资产");
|
|
|
+ userPlatformAsset.getAvailable(),userPlatformAsset.getAvailable().subtract(c2cOrder.getSymbolNum()),
|
|
|
+ userPlatformAsset.getFrozen(),userPlatformAsset.getFrozen().add(c2cOrder.getSymbolNum()),"c2c卖出冻结资产");
|
|
|
}
|
|
|
|
|
|
// 更新广告的可用数量
|
|
|
BigDecimal newMaxAmount = null;
|
|
|
Integer newStatus = null;
|
|
|
- BigDecimal maxAvail = c2cAd.getAvailableNum().subtract(coinNum).multiply(price);
|
|
|
+ BigDecimal maxAvail = c2cAd.getAvailableNum().subtract(symbolNum).multiply(price);
|
|
|
if(c2cAd.getMaxAmount().compareTo(maxAvail)==1) {
|
|
|
newMaxAmount = maxAvail;
|
|
|
}
|
|
|
@@ -321,11 +321,11 @@ public class C2cOrderServiceImpl extends BaseServiceImpl<C2cOrderDao, C2cOrderEn
|
|
|
newStatus = AdStatusEnum.NOPASS.getCode();
|
|
|
c2cAdService.deleteC2cAdCache(c2cAd);
|
|
|
}
|
|
|
- if (c2cAdService.updateC2cAdAvailableNumById(c2cAdId, c2cOrder.getCoinNum(), newMaxAmount, newStatus,c2cAd.getVersion()) == 0) {
|
|
|
+ if (c2cAdService.updateC2cAdAvailableNumById(c2cAdId, c2cOrder.getSymbolNum(), newMaxAmount, newStatus,c2cAd.getVersion()) == 0) {
|
|
|
throw new Exception(MessageUtils.message("operation.fail.please.refresh"));//操作失败,请刷新后重试
|
|
|
}
|
|
|
- c2cAdLogService.insertC2cAdLog(c2cAdId,c2cOrder.getId(),c2cOrder.getCoinNum(),
|
|
|
- c2cAd.getAvailableNum(),c2cAd.getAvailableNum().subtract(c2cOrder.getCoinNum()),
|
|
|
+ c2cAdLogService.insertC2cAdLog(c2cAdId,c2cOrder.getId(),c2cOrder.getSymbolNum(),
|
|
|
+ c2cAd.getAvailableNum(),c2cAd.getAvailableNum().subtract(c2cOrder.getSymbolNum()),
|
|
|
c2cAd.getMaxAmount(),
|
|
|
newMaxAmount!=null?newMaxAmount:c2cAd.getMaxAmount(),"创建C2C订单");
|
|
|
|
|
|
@@ -368,7 +368,7 @@ public class C2cOrderServiceImpl extends BaseServiceImpl<C2cOrderDao, C2cOrderEn
|
|
|
public int cancelC2cOrderRedis(int oldStatus,C2cOrderEntity order) {
|
|
|
//redis广告可用数量恢复
|
|
|
C2cAdEntity c2cAd = c2cAdService.selectById(order.getC2cAdId());
|
|
|
- c2cAdService.deleteAdCache(c2cAd.getId(),c2cAd.getPayway().replaceAll("^,|,$", ""),c2cAd.getLegalCoin(),c2cAd.getCoin(),c2cAd.getDirection());
|
|
|
+ c2cAdService.deleteAdCache(c2cAd.getId(),c2cAd.getPayway().replaceAll("^,|,$", ""),c2cAd.getLegalCoin(),c2cAd.getSymbol(),c2cAd.getDirection());
|
|
|
c2cAdService.setAdCache(c2cAd);
|
|
|
deleteOrderCache(order);
|
|
|
|
|
|
@@ -442,14 +442,14 @@ public class C2cOrderServiceImpl extends BaseServiceImpl<C2cOrderDao, C2cOrderEn
|
|
|
}
|
|
|
|
|
|
if(order.getDirection().intValue() == DirectionEnum.SELL.getCode().intValue()) {
|
|
|
- AppAssetEntity info = appAssetService.getAppAssetEntity(order.getUserId(),order.getCoin(),AssetEnum.PLATFORM_ASSETS.getCode());
|
|
|
- if (appAssetService.unblockAssetByUserId(sellUserId, order.getCoin(), order.getCoinNum()) <= 0) {
|
|
|
+ AppAssetEntity info = appAssetService.getAppAssetEntity(order.getUserId(),order.getSymbol(),AssetEnum.PLATFORM_ASSETS.getCode());
|
|
|
+ if (appAssetService.unfreezeBalance(info, order.getSymbolNum()) <= 0) {
|
|
|
throw new Exception(MessageUtils.message("c2c.user.occupied.asset.fail"));//用户资产解冻失败
|
|
|
}
|
|
|
- appAssetLogService.insertAssetLog(order.getId(),order.getUserId(),order.getCoin(),AssetEnum.PLATFORM_ASSETS.getCode(),
|
|
|
+ appAssetLogService.insertAssetLog(order.getId(),order.getUserId(),order.getSymbol(),AssetEnum.PLATFORM_ASSETS.getCode(),
|
|
|
info.getTotal(),info.getTotal(),
|
|
|
- info.getAvailable(),info.getAvailable().add(order.getCoinNum()),
|
|
|
- info.getFrozen(),info.getFrozen().subtract(order.getCoinNum()),"c2c订单取消解冻资产");
|
|
|
+ info.getAvailable(),info.getAvailable().add(order.getSymbolNum()),
|
|
|
+ info.getFrozen(),info.getFrozen().subtract(order.getSymbolNum()),"c2c订单取消解冻资产");
|
|
|
}
|
|
|
//广告可用数量恢复
|
|
|
C2cAdEntity c2cAd = c2cAdService.selectById(order.getC2cAdId());
|
|
|
@@ -457,11 +457,11 @@ public class C2cOrderServiceImpl extends BaseServiceImpl<C2cOrderDao, C2cOrderEn
|
|
|
if(order.getTranAmount().compareTo(c2cAd.getMaxAmount())==1) {
|
|
|
maxAmount = order.getTranAmount();
|
|
|
}
|
|
|
- if(c2cAdService.addC2cAdAvailableNumById(order.getC2cAdId(),order.getCoinNum(),maxAmount,c2cAd.getVersion())<=0) {
|
|
|
+ if(c2cAdService.addC2cAdAvailableNumById(order.getC2cAdId(),order.getSymbolNum(),maxAmount,c2cAd.getVersion())<=0) {
|
|
|
throw new Exception(MessageUtils.message("c2c.ad.availAmount.update.fail"));//更新广告可用数量失败
|
|
|
}
|
|
|
- c2cAdLogService.insertC2cAdLog(order.getC2cAdId(),order.getId(),order.getCoinNum(),
|
|
|
- c2cAd.getAvailableNum(),c2cAd.getAvailableNum().add(order.getCoinNum()),
|
|
|
+ c2cAdLogService.insertC2cAdLog(order.getC2cAdId(),order.getId(),order.getSymbolNum(),
|
|
|
+ c2cAd.getAvailableNum(),c2cAd.getAvailableNum().add(order.getSymbolNum()),
|
|
|
c2cAd.getMaxAmount(),c2cAd.getMaxAmount(),"c2c订单取消,恢复广告可用数量");
|
|
|
//消息通知
|
|
|
c2cMsgContentService.sendOrderCancelMsg(getBuyUserId(order),sellUserId,order.getId(),order.getOrderNo());
|
|
|
@@ -606,12 +606,12 @@ public class C2cOrderServiceImpl extends BaseServiceImpl<C2cOrderDao, C2cOrderEn
|
|
|
throw new Exception(MessageUtils.message("c2c.order.update.fail"));//更新订单失败
|
|
|
}
|
|
|
//2 更新买家账户
|
|
|
- AppAssetEntity buyerAsset = appAssetService.getAppAssetEntity(buyUserId, order.getCoin(), AssetEnum.PLATFORM_ASSETS.getCode());
|
|
|
+ AppAssetEntity buyerAsset = appAssetService.getAppAssetEntity(buyUserId, order.getSymbol(), AssetEnum.PLATFORM_ASSETS.getCode());
|
|
|
|
|
|
//判断是否需要创建买家资产账户
|
|
|
if (Objects.isNull(buyerAsset)) {
|
|
|
AppUserEntity buyUser = appUserService.getById(buyUserId);
|
|
|
- appAssetService.createAsset(buyUser, order.getCoin(), AssetEnum.PLATFORM_ASSETS.getCode());
|
|
|
+ appAssetService.createAsset(buyUser, order.getSymbol(), AssetEnum.PLATFORM_ASSETS.getCode());
|
|
|
|
|
|
buyerAsset = new AppAssetEntity();
|
|
|
buyerAsset.setTotal(BigDecimal.ZERO);
|
|
|
@@ -619,27 +619,27 @@ public class C2cOrderServiceImpl extends BaseServiceImpl<C2cOrderDao, C2cOrderEn
|
|
|
buyerAsset.setAvailable(BigDecimal.ZERO);
|
|
|
}
|
|
|
//卖家资产
|
|
|
- AppAssetEntity sellerAsset = appAssetService.getAppAssetEntity(sellUserId, order.getCoin(), AssetEnum.PLATFORM_ASSETS.getCode());
|
|
|
+ AppAssetEntity sellerAsset = appAssetService.getAppAssetEntity(sellUserId, order.getSymbol(), AssetEnum.PLATFORM_ASSETS.getCode());
|
|
|
|
|
|
- if (appAssetService.addAssetByUserId(buyUserId, order.getCoin(), order.getCoinNum()) <= 0) {
|
|
|
+ if (appAssetService.addAsset(buyerAsset, order.getSymbolNum()) <= 0) {
|
|
|
throw new Exception(MessageUtils.message("c2c.buyer.asset.update.fail"));//更新买家资产失败
|
|
|
}
|
|
|
|
|
|
- if(appAssetService.releaseAssetByUserId(sellUserId, order.getCoin(), order.getCoinNum()) <= 0) {
|
|
|
+ if(appAssetService.releaseAsset(sellerAsset, order.getSymbolNum()) <= 0) {
|
|
|
throw new Exception(MessageUtils.message("c2c.seller.asset.update.fail"));//更新卖家资产失败
|
|
|
}
|
|
|
|
|
|
//买家资产变更记录
|
|
|
- appWalletRecordService.generateRecord(buyUserId, order.getCoinNum(),
|
|
|
+ appWalletRecordService.generateRecord(buyUserId, order.getSymbolNum(),
|
|
|
RecordEnum.C2C_TRAN_BUY.getCode(), "system", order.getOrderNo(),
|
|
|
- RecordEnum.C2C_TRAN_BUY.getInfo(), buyerAsset.getTotal(), buyerAsset.getTotal().add(order.getCoinNum()),
|
|
|
- order.getCoin(), "");
|
|
|
+ RecordEnum.C2C_TRAN_BUY.getInfo(), buyerAsset.getTotal(), buyerAsset.getTotal().add(order.getSymbolNum()),
|
|
|
+ order.getSymbol(), "");
|
|
|
|
|
|
//卖家资产变更记录
|
|
|
- appWalletRecordService.generateRecord(sellUserId, order.getCoinNum(),
|
|
|
+ appWalletRecordService.generateRecord(sellUserId, order.getSymbolNum(),
|
|
|
RecordEnum.C2C_TRAN_SELL.getCode(), "system", order.getOrderNo(),
|
|
|
- RecordEnum.C2C_TRAN_SELL.getInfo(), buyerAsset.getTotal(), buyerAsset.getTotal().subtract(order.getCoinNum()),
|
|
|
- order.getCoin(), "");
|
|
|
+ RecordEnum.C2C_TRAN_SELL.getInfo(), buyerAsset.getTotal(), buyerAsset.getTotal().subtract(order.getSymbolNum()),
|
|
|
+ order.getSymbol(), "");
|
|
|
|
|
|
deleteOrderCache(order);
|
|
|
|