From 903d74d64f8d97f4b176d5454736c35b0268ada0 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Tue, 31 Dec 2024 16:10:45 +0800
Subject: [PATCH] feat(mall): 为资金流列表添加来源电话字段
---
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java | 167 ++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 134 insertions(+), 33 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java
index b489cc7..00ba3cf 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java
@@ -2,7 +2,6 @@
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.enumerates.*;
-import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.common.properties.XcxProperties;
import cc.mrbird.febs.common.utils.LoginUserUtil;
import cc.mrbird.febs.common.utils.SpringContextHolder;
@@ -37,7 +36,10 @@
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
@Slf4j
@Service
@@ -71,6 +73,7 @@
public FebsResponse applyLeader(ApiApplayLeaderDto apiApplayLeaderDto) {
MallMember member = LoginUserUtil.getLoginUser();
Long memberId = member.getId();
+ MallTeamLeader mallTeamLeaderAdd = new MallTeamLeader();
List<MallTeamLeader> mallTeamLeaders = this.baseMapper.selectListByMemberIdAndState(memberId, MallTeamLeader.STATE_ING);
if(CollUtil.isNotEmpty(mallTeamLeaders)){
return new FebsResponse().fail().message("正在申请中");
@@ -79,14 +82,33 @@
if(CollUtil.isNotEmpty(mallTeamLeaderCancel)){
return new FebsResponse().fail().message("当前用户无法申请");
}
- MallTeamLeader mallTeamLeader = MallTeamLeaderConversion.INSTANCE.dtoToEntity(apiApplayLeaderDto);
- mallTeamLeader.setMemberId(memberId);
- mallTeamLeader.setState(MallTeamLeader.STATE_ING);
- mallTeamLeader.setUniqueCode(member.getInviteId());
- //申请团长默认关闭返利,返利比例为0
- mallTeamLeader.setProfitSwitch(2);
- mallTeamLeader.setBonusPercent("0");
- this.baseMapper.insert(mallTeamLeader);
+ List<MallTeamLeader> mallTeamLeaderNo = this.baseMapper.selectListByMemberIdAndState(memberId, MallTeamLeader.STATE_NO);
+ if(CollUtil.isNotEmpty(mallTeamLeaderNo)){
+ mallTeamLeaderAdd = mallTeamLeaderNo.get(0);
+ if(ObjectUtil.isNotEmpty(mallTeamLeaderAdd)){
+ mallTeamLeaderAdd.setName(apiApplayLeaderDto.getName());
+ mallTeamLeaderAdd.setPhone(apiApplayLeaderDto.getPhone());
+ mallTeamLeaderAdd.setAddressPic(apiApplayLeaderDto.getAddressPic());
+ mallTeamLeaderAdd.setAddressArea(apiApplayLeaderDto.getAddressArea());
+ mallTeamLeaderAdd.setDetailAddress(apiApplayLeaderDto.getDetailAddress());
+ mallTeamLeaderAdd.setLongitude(apiApplayLeaderDto.getLongitude());
+ mallTeamLeaderAdd.setLatitude(apiApplayLeaderDto.getLatitude());
+ mallTeamLeaderAdd.setState(MallTeamLeader.STATE_ING);
+ //申请团长默认关闭返利,返利比例为0
+ mallTeamLeaderAdd.setProfitSwitch(2);
+ mallTeamLeaderAdd.setBonusPercent("0");
+ this.baseMapper.updateById(mallTeamLeaderAdd);
+ }
+ }else{
+ MallTeamLeader mallTeamLeader = MallTeamLeaderConversion.INSTANCE.dtoToEntity(apiApplayLeaderDto);
+ mallTeamLeader.setMemberId(memberId);
+ mallTeamLeader.setState(MallTeamLeader.STATE_ING);
+ mallTeamLeader.setUniqueCode(member.getInviteId());
+ //申请团长默认关闭返利,返利比例为0
+ mallTeamLeader.setProfitSwitch(2);
+ mallTeamLeader.setBonusPercent("0");
+ this.baseMapper.insert(mallTeamLeader);
+ }
return new FebsResponse().success().message("申请成功");
}
@@ -232,7 +254,7 @@
orderStateDto.setGoodsName(StrUtil.sub(productNames,0,20)+"...");
String takeUniqueCode = mallOrderInfo.getTakeUniqueCode();
MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(takeUniqueCode);
- orderStateDto.setAddressArea(StrUtil.sub(mallTeamLeader.getAddressArea(),0,20)+"...");
+ orderStateDto.setAddressArea(mallTeamLeader.getAddressArea());
orderStateDto.setDetailAddress(StrUtil.sub(mallTeamLeader.getDetailAddress(),0,20)+"...");
orderStateDto.setLeaderPhone(mallTeamLeader.getPhone());
orderStateDto.setOpenId(mallMemberMapper.selectById(mallOrderInfo.getMemberId()).getOpenId());
@@ -290,26 +312,26 @@
ApiLeaderInfoVo apiLeaderInfoVo = new ApiLeaderInfoVo();
MallTeamLeader mallTeamLeader = new MallTeamLeader();
MallMember member = LoginUserUtil.getLoginUser();
- if(ObjectUtil.isNotEmpty(member)){
- MallLeaderDefault mallLeaderDefault = mallLeaderDefaultMapper.selectByMemberId(member.getId());
- if(ObjectUtil.isNotEmpty(mallLeaderDefault)){
- mallTeamLeader = this.baseMapper.selectLeaderByUniqueCode(mallLeaderDefault.getUniqueCode());
- }
- }
- //特征码扫码
- if(StrUtil.isNotEmpty(uniqueCode)){
- mallTeamLeader = this.baseMapper.selectLeaderByUniqueCode(uniqueCode);
-
- //经纬度定位
- }else if(longitude != 0 && latitude != 0){
- mallTeamLeader = this.baseMapper.selectLeaderByLonAndLat(longitude,latitude);
- //直接进入,默认选择列表第一个
+ MallLeaderDefault mallLeaderDefault = mallLeaderDefaultMapper.selectByMemberId(member.getId());
+ if(ObjectUtil.isNotEmpty(mallLeaderDefault)){
+ mallTeamLeader = this.baseMapper.selectLeaderByUniqueCode(mallLeaderDefault.getUniqueCode());
}else{
- List<MallTeamLeader> mallTeamLeaderList = this.baseMapper.getMallTeamLeaderList();
- if(CollUtil.isNotEmpty(mallTeamLeaderList)){
- mallTeamLeader = mallTeamLeaderList.get(0);
+ //特征码扫码
+ if(StrUtil.isNotEmpty(uniqueCode)){
+ mallTeamLeader = this.baseMapper.selectLeaderByUniqueCode(uniqueCode);
+
+ //经纬度定位
+ }else if(longitude != 0 && latitude != 0){
+ mallTeamLeader = this.baseMapper.selectLeaderByLonAndLat(longitude,latitude);
+ //直接进入,默认选择列表第一个
+ }else{
+ List<MallTeamLeader> mallTeamLeaderList = this.baseMapper.getMallTeamLeaderList();
+ if(CollUtil.isNotEmpty(mallTeamLeaderList)){
+ mallTeamLeader = mallTeamLeaderList.get(0);
+ }
}
}
+
if(ObjectUtil.isNotEmpty(mallTeamLeader)){
apiLeaderInfoVo.setId(mallTeamLeader.getId());
apiLeaderInfoVo.setName(mallTeamLeader.getName());
@@ -366,9 +388,17 @@
//获取退款订单信息
Long orderId = apiLeaderRefundOrderDto.getOrderId();
Long itemId = apiLeaderRefundOrderDto.getItemId();
+ Integer agreeType = apiLeaderRefundOrderDto.getAgreeType();
+ if(!(1 == agreeType || 2 == agreeType)){
+ return new FebsResponse().fail().message("退款失败,请联系客服人员");
+ }
MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(orderId);
MallOrderItem mallOrderItem = mallOrderItemMapper.selectById(itemId);
+ MallGoodsSku mallGoodsSku = mallGoodsSkuMapper.selectById(mallOrderItem.getSkuId());
+ if(ObjectUtil.isEmpty(mallGoodsSku)){
+ return new FebsResponse().fail().message("退款失败,请联系客服人员");
+ }
List<MallRefundEntity> mallRefundEntities = mallRefundMapper.selectByItemIdAndOrderIdAndState(itemId, orderId, 3);
if(CollUtil.isEmpty(mallRefundEntities)){
return new FebsResponse().fail().message("退款失败,请联系客服人员");
@@ -395,7 +425,34 @@
int orderMoney = orderAmount.multiply(aa).intValue();
//退款退款金额
+// BigDecimal refundAmount = mallRefundEntity.getAmount();
+// List<MallOrderItem> mallOrderItemListOnly = mallOrderItemMapper.selectListByStateAndOrderId(1,orderId);
+// if(CollUtil.isNotEmpty(mallOrderItemListOnly)){
+// if(1==mallOrderItemListOnly.size()){
+// refundAmount = refundAmount.add(mallOrderInfo.getCarriage());
+// log.info("退款订单编号为{},订单金额:{},待退款订单:{},退款金额:{}", refundNo,orderAmount,mallOrderItemListOnly.size(),refundAmount);
+// }
+// }
BigDecimal refundAmount = mallRefundEntity.getAmount();
+ if(agreeType == 1){
+ List<MallOrderItem> mallOrderItemListOnly = mallOrderItemMapper.selectListByStateAndOrderId(1,orderId);
+ if(CollUtil.isNotEmpty(mallOrderItemListOnly)){
+ if(1==mallOrderItemListOnly.size()){
+ refundAmount = refundAmount.add(mallOrderInfo.getCarriage());
+ log.info("退款订单编号为{},订单金额:{},待退款订单:{},退款金额:{}", refundNo,orderAmount,mallOrderItemListOnly.size(),refundAmount);
+ }
+ }
+ }else if(agreeType == 2){
+ List<MallOrderItem> mallOrderItemListOnly = mallOrderItemMapper.selectListByStateAndOrderId(1,orderId);
+ List<MallOrderItem> mallOrderItemListIng = mallOrderItemMapper.selectListByStateAndOrderId(2,orderId);
+ if(CollUtil.isEmpty(mallOrderItemListOnly) && CollUtil.isNotEmpty(mallOrderItemListIng) ){
+ if(1 == mallOrderItemListIng.size() ){
+ refundAmount = refundAmount.add(mallOrderInfo.getCarriage());
+ log.info("退款订单编号为{},订单金额:{},待退款订单:{},退款金额:{}", refundNo,orderAmount,mallOrderItemListOnly.size(),refundAmount);
+ }
+ }
+ }
+// refundAmount = refundAmount.add(mallOrderInfo.getCarriage());
BigDecimal bb = new BigDecimal(100);
int refundMoney = refundAmount.multiply(bb).intValue();
@@ -409,8 +466,6 @@
mallGoods.setStock(mallGoods.getStock() + mallOrderItem.getCnt());
mallGoods.setVolume(mallGoods.getVolume() - mallOrderItem.getCnt());
mallGoodsMapper.updateById(mallGoods);
-
- MallGoodsSku mallGoodsSku = mallGoodsSkuMapper.selectById(mallOrderItem.getSkuId());
mallGoodsSku.setStock(mallGoodsSku.getStock() + mallOrderItem.getCnt());
mallGoodsSku.setSkuVolume(mallGoodsSku.getSkuVolume() - mallOrderItem.getCnt());
mallGoodsSkuMapper.updateById(mallGoodsSku);
@@ -418,7 +473,7 @@
mallRefundEntity.setState(1);
mallRefundEntity.setUpdatedTime(DateUtil.date());
mallRefundMapper.updateById(mallRefundEntity);
- mallMoneyFlowService.addMoneyFlow(mallOrderInfo.getMemberId(), refundAmount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
+ mallMoneyFlowService.addMoneyFlow(mallOrderInfo.getMemberId(), refundAmount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue(),"余额退款",2);
List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByNotInStateAndOrderId(3,orderId);
if(CollUtil.isEmpty(mallOrderItemList)){
@@ -451,7 +506,7 @@
mallGoods.setVolume(mallGoods.getVolume() - mallOrderItem.getCnt());
mallGoodsMapper.updateById(mallGoods);
- MallGoodsSku mallGoodsSku = mallGoodsSkuMapper.selectById(mallOrderItem.getSkuId());
+// MallGoodsSku mallGoodsSku = mallGoodsSkuMapper.selectById(mallOrderItem.getSkuId());
mallGoodsSku.setStock(mallGoodsSku.getStock() + mallOrderItem.getCnt());
mallGoodsSku.setSkuVolume(mallGoodsSku.getSkuVolume() - mallOrderItem.getCnt());
mallGoodsSkuMapper.updateById(mallGoodsSku);
@@ -460,7 +515,7 @@
mallRefundEntity.setState(1);
mallRefundEntity.setUpdatedTime(DateUtil.date());
mallRefundMapper.updateById(mallRefundEntity);
- mallMoneyFlowService.addMoneyFlow(mallOrderInfo.getMemberId(), refundAmount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
+ mallMoneyFlowService.addMoneyFlow(mallOrderInfo.getMemberId(), refundAmount, MoneyFlowTypeEnum.WECHAT_REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.WECHAT.getValue(),"微信退款",2);
List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByNotInStateAndOrderId(3,orderId);
if(CollUtil.isEmpty(mallOrderItemList)){
@@ -560,4 +615,50 @@
return new FebsResponse().success().data(apiLeaderListVos);
}
+ @Override
+ public FebsResponse noLoginLeaderTitle(ApiLeaderTitleDto apiLeaderTitleDto) {
+ String uniqueCode = apiLeaderTitleDto.getUniqueCode();
+ Double longitude = apiLeaderTitleDto.getLongitude() == null ? 0 : apiLeaderTitleDto.getLongitude();
+ Double latitude = apiLeaderTitleDto.getLatitude() == null ? 0 : apiLeaderTitleDto.getLatitude();
+ ApiLeaderInfoVo apiLeaderInfoVo = new ApiLeaderInfoVo();
+ MallTeamLeader mallTeamLeader = new MallTeamLeader();
+ //特征码扫码
+ if(StrUtil.isNotEmpty(uniqueCode)){
+ mallTeamLeader = this.baseMapper.selectLeaderByUniqueCode(uniqueCode);
+
+ //经纬度定位
+ }else if(longitude != 0 && latitude != 0){
+ mallTeamLeader = this.baseMapper.selectLeaderByLonAndLat(longitude,latitude);
+ //直接进入,默认选择列表第一个
+ }else{
+ List<MallTeamLeader> mallTeamLeaderList = this.baseMapper.getMallTeamLeaderList();
+ if(CollUtil.isNotEmpty(mallTeamLeaderList)){
+ mallTeamLeader = mallTeamLeaderList.get(0);
+ }
+ }
+
+ if(ObjectUtil.isNotEmpty(mallTeamLeader)){
+ apiLeaderInfoVo.setId(mallTeamLeader.getId());
+ apiLeaderInfoVo.setName(mallTeamLeader.getName());
+ apiLeaderInfoVo.setPhone(mallTeamLeader.getPhone());
+ apiLeaderInfoVo.setAddressPic(mallTeamLeader.getAddressPic());
+ apiLeaderInfoVo.setUniqueCode(mallTeamLeader.getUniqueCode());
+ apiLeaderInfoVo.setProvince(mallTeamLeader.getProvince());
+ apiLeaderInfoVo.setCity(mallTeamLeader.getCity());
+ apiLeaderInfoVo.setTownship(mallTeamLeader.getTownship());
+ apiLeaderInfoVo.setDetailAddress(mallTeamLeader.getDetailAddress());
+ apiLeaderInfoVo.setAddressArea(mallTeamLeader.getAddressArea());
+ MallElectronicFence mallElectronicFence = mallElectronicFenceMapper.selectByTeamLeaderCode(mallTeamLeader.getUniqueCode());
+ if(ObjectUtil.isNotEmpty(mallElectronicFence)){
+ apiLeaderInfoVo.setLonglatiarr(mallElectronicFence.getLonglatiarr());
+ }
+ apiLeaderInfoVo.setLongitude(mallTeamLeader.getLongitude());
+ apiLeaderInfoVo.setLatitude(mallTeamLeader.getLatitude());
+ }
+ if(ObjectUtil.isEmpty(apiLeaderInfoVo)){
+ return new FebsResponse().success();
+ }
+ return new FebsResponse().success().data(apiLeaderInfoVo);
+ }
+
}
--
Gitblit v1.9.1