From 86f2368f146af23c9e16507f790752e79858a29f Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Thu, 22 Feb 2024 22:34:31 +0800
Subject: [PATCH] fix
---
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java | 160 +++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 131 insertions(+), 29 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 159eb29..a979b39 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
@@ -64,12 +64,14 @@
private final MallGoodsSkuMapper mallGoodsSkuMapper;
private final MallElectronicFenceMapper mallElectronicFenceMapper;
private final IMallElectronicFenceServiceImpl iMallElectronicFenceService;
+ private final MallLeaderDefaultMapper mallLeaderDefaultMapper;
@Override
@Transactional
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("正在申请中");
@@ -78,14 +80,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("申请成功");
}
@@ -154,6 +175,7 @@
@Override
public FebsResponse getApiLeaderInfoVoById(Long id) {
+ MallMember member = LoginUserUtil.getLoginUser();
MallTeamLeader mallTeamLeader = this.baseMapper.selectById(id);
ApiLeaderInfoVo apiLeaderInfoVo = new ApiLeaderInfoVo();
apiLeaderInfoVo.setId(mallTeamLeader.getId());
@@ -167,8 +189,18 @@
apiLeaderInfoVo.setDetailAddress(mallTeamLeader.getDetailAddress());
apiLeaderInfoVo.setAddressArea(mallTeamLeader.getAddressArea());
MallElectronicFence mallElectronicFence = mallElectronicFenceMapper.selectByTeamLeaderCode(mallTeamLeader.getUniqueCode());
- String longLatStr = mallElectronicFence.getLonglatiarr();
- apiLeaderInfoVo.setLonglatiarr(longLatStr);
+ if(ObjectUtil.isNotEmpty(mallElectronicFence)){
+ String longLatStr = mallElectronicFence.getLonglatiarr();
+ apiLeaderInfoVo.setLonglatiarr(longLatStr);
+ }
+ MallLeaderDefault mallLeaderDefault1 = mallLeaderDefaultMapper.selectByMemberId(member.getId());
+ if(ObjectUtil.isNotEmpty(mallLeaderDefault1)){
+ mallLeaderDefaultMapper.deleteById(mallLeaderDefaultMapper.selectByMemberId(member.getId()).getId());
+ }
+ MallLeaderDefault mallLeaderDefault = new MallLeaderDefault();
+ mallLeaderDefault.setMemberId(member.getId());
+ mallLeaderDefault.setUniqueCode(mallTeamLeader.getUniqueCode());
+ mallLeaderDefaultMapper.insert(mallLeaderDefault);
return new FebsResponse().success().data(apiLeaderInfoVo);
}
@@ -177,7 +209,17 @@
MallMember member = LoginUserUtil.getLoginUser();
IPage<MallOrderInfo> page = new Page<>(apiLeaderOrderListDto.getPageNum(), apiLeaderOrderListDto.getPageSize());
apiLeaderOrderListDto.setMemberId(member.getId());
- IPage<MallOrderInfo> mallOrderInfos = this.baseMapper.selectApiLeaderOrderListInPage(page, apiLeaderOrderListDto);
+// IPage<MallOrderInfo> mallOrderInfos = this.baseMapper.selectApiLeaderOrderListInPage(page, apiLeaderOrderListDto);
+ IPage<MallOrderInfo> mallOrderInfos = this.baseMapper.selectNewApiLeaderOrderListInPage(page, apiLeaderOrderListDto);
+ if(CollUtil.isNotEmpty(mallOrderInfos.getRecords())){
+ for(MallOrderInfo mallOrderInfo : mallOrderInfos.getRecords()){
+ Long orderInfoId = mallOrderInfo.getId();
+ List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByOrderId(orderInfoId);
+ if(CollUtil.isNotEmpty(mallOrderItemList)){
+ mallOrderInfo.setItems(mallOrderItemList);
+ }
+ }
+ }
return MallOrderInfoConversion.INSTANCE.entitysToVos(mallOrderInfos.getRecords());
}
@@ -210,7 +252,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());
@@ -267,20 +309,27 @@
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);
- //直接进入,默认选择列表第一个
+ MallMember member = LoginUserUtil.getLoginUser();
+ 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());
@@ -293,7 +342,11 @@
apiLeaderInfoVo.setDetailAddress(mallTeamLeader.getDetailAddress());
apiLeaderInfoVo.setAddressArea(mallTeamLeader.getAddressArea());
MallElectronicFence mallElectronicFence = mallElectronicFenceMapper.selectByTeamLeaderCode(mallTeamLeader.getUniqueCode());
- apiLeaderInfoVo.setLonglatiarr(mallElectronicFence.getLonglatiarr());
+ if(ObjectUtil.isNotEmpty(mallElectronicFence)){
+ apiLeaderInfoVo.setLonglatiarr(mallElectronicFence.getLonglatiarr());
+ }
+ apiLeaderInfoVo.setLongitude(mallTeamLeader.getLongitude());
+ apiLeaderInfoVo.setLatitude(mallTeamLeader.getLatitude());
}
if(ObjectUtil.isEmpty(apiLeaderInfoVo)){
return new FebsResponse().success();
@@ -336,6 +389,10 @@
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("退款失败,请联系客服人员");
@@ -363,6 +420,7 @@
//退款退款金额
BigDecimal refundAmount = mallRefundEntity.getAmount();
+ refundAmount = refundAmount.add(mallOrderInfo.getCarriage());
BigDecimal bb = new BigDecimal(100);
int refundMoney = refundAmount.multiply(bb).intValue();
@@ -376,8 +434,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);
@@ -385,7 +441,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)){
@@ -418,7 +474,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);
@@ -427,7 +483,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)){
@@ -527,4 +583,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