From f7c7a1d550444e88c8f7033a8a586211ab8c3ce7 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 17 Jan 2023 21:04:02 +0800
Subject: [PATCH] 1
---
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 153 +++++++++++++++++++++++++++++++++++---------------
1 files changed, 106 insertions(+), 47 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
index 9a2c5a5..a80c406 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -14,10 +14,7 @@
import cc.mrbird.febs.mall.entity.*;
import cc.mrbird.febs.mall.mapper.*;
import cc.mrbird.febs.mall.service.*;
-import cc.mrbird.febs.mall.vo.ApiShopApplyVo;
-import cc.mrbird.febs.mall.vo.OrderDetailVo;
-import cc.mrbird.febs.mall.vo.OrderListVo;
-import cc.mrbird.febs.mall.vo.OrderRefundVo;
+import cc.mrbird.febs.mall.vo.*;
import cc.mrbird.febs.pay.model.AgreementPayDto;
import cc.mrbird.febs.pay.model.AgreementSignDto;
import cc.mrbird.febs.pay.model.UnipayDto;
@@ -103,6 +100,14 @@
throw new FebsException(goods.getGoodsName() + "已下架");
}
/**
+ * 存在未支付的订单无法下单
+ */
+ Integer orderIng = this.baseMapper.selectOrderInfoByStatusAndMemberId(OrderStatusEnum.FINISH.getValue(), mallMember.getId());
+ if(1 <= orderIng){
+ throw new FebsException("请先完成未完成的订单");
+ }
+
+ /**
* 会员一天最多下单次数
*/
DataDictionaryCustom buyTimesDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
@@ -114,7 +119,16 @@
String yyyyMMdd = sdf.format(date);
Integer times = this.baseMapper.selectCountByCreateTimeAndMemberId(yyyyMMdd,member.getId());
if(buyTimes <= times){
- throw new FebsException("会员今日已无法购买");
+ throw new FebsException("今日任务完成,明天再来");
+ }
+
+ DataDictionaryCustom allBuyTimesDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.ALL_BUY_TIMES.getType(), DataDictionaryEnum.ALL_BUY_TIMES.getCode());
+ Integer allBuyTimes = Integer.parseInt(allBuyTimesDic.getValue());
+
+ Integer allBuyTimesNow = this.baseMapper.selectCountByCreateTime(yyyyMMdd);
+ if(allBuyTimes <= allBuyTimesNow){
+ throw new FebsException("今日任务完成,明天再来");
}
String orderNo = MallUtils.getOrderNum();
@@ -127,6 +141,7 @@
orderInfo.setOrderType(addOrderDto.getOrderType());
//补贴金额
orderInfo.setSubsidyAmount(goods.getSubsidyAmount());
+ orderInfo.setCommentState(MallOrderInfo.COMMENT_STATE_NO);
this.baseMapper.insert(orderInfo);
List<MallGoodsSku> mallGoodsSkus = mallGoodsSkuMapper.selectSkuByGoodsId(goods.getId());
@@ -449,18 +464,18 @@
OrderDetailVo orderDetailVo = MallOrderInfoConversion.INSTANCE.entityToDetailVo(orderInfo);
- Integer deliverType = (ObjectUtil.isEmpty(orderInfo.getDeliverType()) ? new Integer(0):orderInfo.getDeliverType());
- if (orderInfo.getStatus() == OrderStatusEnum.WAIT_FINISH.getValue() && 2 != deliverType) {
- MallExpressInfo expressInfo = expressInfoMapper.selectByOrderId(orderInfo.getId());
- orderDetailVo.setExpressNo(expressInfo.getExpressNo());
- orderDetailVo.setExpressCom(expressInfo.getExpressCom());
- }
+// Integer deliverType = (ObjectUtil.isEmpty(orderInfo.getDeliverType()) ? new Integer(0):orderInfo.getDeliverType());
+// if (orderInfo.getStatus() == OrderStatusEnum.WAIT_FINISH.getValue() && 2 != deliverType) {
+// MallExpressInfo expressInfo = expressInfoMapper.selectByOrderId(orderInfo.getId());
+// orderDetailVo.setExpressNo(expressInfo.getExpressNo());
+// orderDetailVo.setExpressCom(expressInfo.getExpressCom());
+// }
- if (orderInfo.getStatus() == OrderStatusEnum.REFUNDING.getValue() || orderInfo.getStatus() == OrderStatusEnum.REFUNDED.getValue()) {
- MallOrderRefund orderRefund = mallOrderRefundMapper.selectOrderRefundByOrderId(orderInfo.getId());
- OrderRefundVo orderRefundVo = MallOrderRefundConversion.INSTANCE.entityToVo(orderRefund);
- orderDetailVo.setOrderRefund(orderRefundVo);
- }
+// if (orderInfo.getStatus() == OrderStatusEnum.REFUNDING.getValue() || orderInfo.getStatus() == OrderStatusEnum.REFUNDED.getValue()) {
+// MallOrderRefund orderRefund = mallOrderRefundMapper.selectOrderRefundByOrderId(orderInfo.getId());
+// OrderRefundVo orderRefundVo = MallOrderRefundConversion.INSTANCE.entityToVo(orderRefund);
+// orderDetailVo.setOrderRefund(orderRefundVo);
+// }
if (OrderStatusEnum.WAIT_PAY.getValue() == orderInfo.getStatus()) {
Date endTime = DateUtil.offsetMinute(orderInfo.getOrderTime(), 15);
@@ -468,20 +483,20 @@
long remainTime = DateUtil.between(new Date(), endTime, DateUnit.SECOND, false);
orderDetailVo.setRemainTime(remainTime);
}
- if(2 == deliverType){
- MallShopApply mallShopApply = mallShopApplyMapper.selectById(orderInfo.getShopId());
- if(ObjectUtil.isNotEmpty(mallShopApply)){
- ApiShopApplyVo apiShopApplyVo = new ApiShopApplyVo();
- apiShopApplyVo.setName(mallShopApply.getName());
- apiShopApplyVo.setPhone(mallShopApply.getPhone());
- apiShopApplyVo.setSaleArea(mallShopApply.getSaleArea());
- apiShopApplyVo.setLatitude(mallShopApply.getLatitude());
- apiShopApplyVo.setLongitude(mallShopApply.getLongitude());
- apiShopApplyVo.setShopName(mallShopApply.getShopName());
- apiShopApplyVo.setAddress(mallShopApply.getAddress());
- orderDetailVo.setApiShopApplyVo(apiShopApplyVo);
- }
- }
+// if(2 == deliverType){
+// MallShopApply mallShopApply = mallShopApplyMapper.selectById(orderInfo.getShopId());
+// if(ObjectUtil.isNotEmpty(mallShopApply)){
+// ApiShopApplyVo apiShopApplyVo = new ApiShopApplyVo();
+// apiShopApplyVo.setName(mallShopApply.getName());
+// apiShopApplyVo.setPhone(mallShopApply.getPhone());
+// apiShopApplyVo.setSaleArea(mallShopApply.getSaleArea());
+// apiShopApplyVo.setLatitude(mallShopApply.getLatitude());
+// apiShopApplyVo.setLongitude(mallShopApply.getLongitude());
+// apiShopApplyVo.setShopName(mallShopApply.getShopName());
+// apiShopApplyVo.setAddress(mallShopApply.getAddress());
+// orderDetailVo.setApiShopApplyVo(apiShopApplyVo);
+// }
+// }
return orderDetailVo;
}
@@ -501,22 +516,22 @@
orderInfo.setStatus(OrderStatusEnum.FINISH.getValue());
orderInfo.setReceivingTime(new Date());
this.baseMapper.updateById(orderInfo);
- /**
- * 通过支付流水记录,返回下单金额
- */
- MallMoneyFlow payFlow = mallMoneyFlowMapper.selectOneByMemberIdAndOrderNoAndTypeAndStatusAndIsReturn(
- member.getId(),
- orderInfo.getOrderNo(),
- MallMoneyFlowTypeEnum.PAY.getCode(),
- MallMoneyFlow.STATUS_SUCCESS,
- MallMoneyFlow.IS_RETURN_N);
- if(ObjectUtil.isNotEmpty(payFlow)){
- memberWalletService.addBalance(payFlow.getAmount().negate(),payFlow.getRtMemberId());
- payFlow.setIsReturn(MallMoneyFlow.IS_RETURN_Y);
- mallMoneyFlowMapper.updateById(payFlow);
- }
- //产生补贴流水记录
- agentProducer.sendDirectRewardMsg(orderInfo.getId());
+// /**
+// * 通过支付流水记录,返回下单金额
+// */
+// MallMoneyFlow payFlow = mallMoneyFlowMapper.selectOneByMemberIdAndOrderNoAndTypeAndStatusAndIsReturn(
+// member.getId(),
+// orderInfo.getOrderNo(),
+// MallMoneyFlowTypeEnum.PAY.getCode(),
+// MallMoneyFlow.STATUS_SUCCESS,
+// MallMoneyFlow.IS_RETURN_N);
+// if(ObjectUtil.isNotEmpty(payFlow)){
+// memberWalletService.addBalance(payFlow.getAmount().negate(),payFlow.getRtMemberId());
+// payFlow.setIsReturn(MallMoneyFlow.IS_RETURN_Y);
+// mallMoneyFlowMapper.updateById(payFlow);
+// }
+// //产生补贴流水记录
+// agentProducer.sendDirectRewardMsg(orderInfo.getId());
}
@@ -650,13 +665,30 @@
orderInfo.setCommentState(MallOrderInfo.COMMENT_STATE_YES);
this.baseMapper.updateById(orderInfo);
+ /**
+ * 通过支付流水记录,返回下单金额
+ */
+ MallMoneyFlow payFlow = mallMoneyFlowMapper.selectOneByMemberIdAndOrderNoAndTypeAndStatusAndIsReturn(
+ member.getId(),
+ orderInfo.getOrderNo(),
+ MallMoneyFlowTypeEnum.PAY.getCode(),
+ MallMoneyFlow.STATUS_SUCCESS,
+ MallMoneyFlow.IS_RETURN_N);
+ if(ObjectUtil.isNotEmpty(payFlow)){
+ memberWalletService.addBalance(payFlow.getAmount().negate(),payFlow.getRtMemberId());
+ payFlow.setIsReturn(MallMoneyFlow.IS_RETURN_Y);
+ mallMoneyFlowMapper.updateById(payFlow);
+ }
+ //产生补贴流水记录
+ agentProducer.sendDirectRewardMsg(orderInfo.getId());
List<ApiAddCommentDto> apiAddCommentDtos = addCommentDtos.getApiAddCommentDtos();
if(CollUtil.isNotEmpty(apiAddCommentDtos)){
for(ApiAddCommentDto apiAddCommentDto : apiAddCommentDtos){
Long skuId = apiAddCommentDto.getSkuId();
- MallGoodsSku mallGoodsSku = mallGoodsSkuMapper.selectById(skuId);
Long goodsId = apiAddCommentDto.getGoodsId();
+ List<MallGoodsSku> mallGoodsSkus = mallGoodsSkuMapper.selectSkuByGoodsId(goodsId);
+ MallGoodsSku mallGoodsSku = mallGoodsSkus.get(0);
MallGoods mallGoods = mallGoodsMapper.selectById(goodsId);
MallGoodsComment mallGoodsComment = MallGoodsCommentConversion.INSTANCE.dtoToEntity(apiAddCommentDto);
mallGoodsComment.setMemberId(member.getId());
@@ -684,4 +716,31 @@
}
}
+ @Override
+ public FebsResponse subsidyAmountInfo() {
+ MallMember member = LoginUserUtil.getLoginUser();
+ ApiMallSubsidyAmountInfoVo apiMallSubsidyAmountInfoVo = new ApiMallSubsidyAmountInfoVo();
+ DateTime today = DateUtil.date();
+ DateTime yesterday = DateUtil.yesterday();
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ String yyyyMMddToday = sdf.format(today);
+ String yyyyMMddYesterday = sdf.format(yesterday);
+ //今日补贴
+ BigDecimal todayAmount = this.baseMapper.selectTodayAmountByCreateTimeAndMemberId(yyyyMMddToday,member.getId());
+ apiMallSubsidyAmountInfoVo.setTodayAmount(todayAmount);
+ //累计接单
+ Integer todayTotalCnt = this.baseMapper.selectCountByCreateTimeAndMemberId(null,member.getId());
+ apiMallSubsidyAmountInfoVo.setTodayTotalCnt(todayTotalCnt);
+ //昨日补贴
+ BigDecimal yesterdayAmount = this.baseMapper.selectTodayAmountByCreateTimeAndMemberId(yyyyMMddYesterday,member.getId());
+ apiMallSubsidyAmountInfoVo.setYesterdayAmount(yesterdayAmount);
+ //昨日累计接单
+ Integer totalYesterdayCnt = this.baseMapper.selectCountByCreateTimeAndMemberId(yyyyMMddYesterday,member.getId());
+ apiMallSubsidyAmountInfoVo.setTotalYesterdayCnt(totalYesterdayCnt);
+ //获得总额
+ BigDecimal totalAmount = this.baseMapper.selectTodayAmountByCreateTimeAndMemberId(null,member.getId());
+ apiMallSubsidyAmountInfoVo.setTotalAmount(totalAmount);
+ return new FebsResponse().success().data(apiMallSubsidyAmountInfoVo);
+ }
+
}
--
Gitblit v1.9.1