更新9.30

This commit is contained in:
许允枞 2024-09-30 15:05:34 +08:00
parent 888a6709e2
commit 976ca57b71
4 changed files with 110 additions and 23 deletions

View File

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fuint.business.fleet.entity.FleetInfo;
import com.fuint.business.fleet.vo.FleetInfoUniVo;
import com.fuint.business.fleet.vo.FleetInfoVo;
import com.fuint.framework.web.ResponseObject;
import java.util.List;
@ -98,4 +99,10 @@ public interface FleetInfoService {
* @return
*/
int ifFleetAdmin(Integer fleetId);
/**
* 车队卡支付
* @param orderId
*/
int payFleet(String orderId, Double money);
}

View File

@ -2,6 +2,7 @@ package com.fuint.business.fleet.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@ -9,8 +10,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fuint.business.fleet.entity.FleetConsumeRecord;
import com.fuint.business.fleet.entity.FleetInfo;
import com.fuint.business.fleet.entity.FleetMember;
import com.fuint.business.fleet.mapper.FleetConsumeRecordMapper;
import com.fuint.business.fleet.mapper.FleetInfoMapper;
import com.fuint.business.fleet.mapper.FleetMemberMapper;
import com.fuint.business.fleet.service.FleetInfoService;
@ -18,6 +21,8 @@ import com.fuint.business.fleet.vo.FleetInfoUniVo;
import com.fuint.business.fleet.vo.FleetInfoVo;
import com.fuint.business.member.entity.LJStaff;
import com.fuint.business.member.service.ILJStaffService;
import com.fuint.business.order.entity.AllOrderInfo;
import com.fuint.business.order.mapper.AllOrderInfoMapper;
import com.fuint.business.store.mapper.MtStoreMapper;
import com.fuint.business.storeInformation.entity.LJStore;
import com.fuint.business.storeInformation.service.ILJStoreService;
@ -76,6 +81,12 @@ public class FleetInfoServiceImpl extends ServiceImpl<FleetInfoMapper, FleetInfo
@Resource
private ILJStoreService iljStoreService;
@Autowired
private AllOrderInfoMapper allOrderInfoMapper;
@Autowired
private FleetConsumeRecordMapper fleetConsumeRecordMapper;
@Override
public IPage<FleetInfoVo> queryPage(Page page, FleetInfoVo fleetInfo) {
@ -395,6 +406,64 @@ public class FleetInfoServiceImpl extends ServiceImpl<FleetInfoMapper, FleetInfo
return 0;
}
/**
* 车队卡支付
*
* @param orderId
*/
@Override
public int payFleet(String orderId, Double money) {
AllOrderInfo allOrderInfo = allOrderInfoMapper.selectOne(new LambdaQueryWrapper<AllOrderInfo>()
.eq(AllOrderInfo::getId, orderId));
if (ObjectUtil.isEmpty(allOrderInfo)) {
throw new RuntimeException("订单不存在");
}
//获取车队订单表的订单信息
FleetConsumeRecord fleetConsumeRecord = fleetConsumeRecordMapper.selectOne(new LambdaQueryWrapper<FleetConsumeRecord>()
.eq(FleetConsumeRecord::getOrderNo, allOrderInfo.getOrderNo()));
if (ObjectUtil.isEmpty(fleetConsumeRecord)) {
throw new RuntimeException("车队订单不存在");
}
// 获取当前车队卡
FleetInfo fleetInfo = baseMapper.selectOne(new LambdaQueryWrapper<FleetInfo>()
.eq(FleetInfo::getId, fleetConsumeRecord.getFleetId()));
//判断支付金额是否超过当前余额
if (money > fleetInfo.getTotalBalance()){
throw new RuntimeException("支付金额超过当前余额");
}
//更新时间
DateTime now = DateUtil.date();
//计算车队的赠送金额与充值金额比例
double recharge = fleetInfo.getRechargeAmount() / fleetInfo.getTotalBalance();
double give = fleetInfo.getGiveAmount() / fleetInfo.getTotalBalance();
//更新当前余额
fleetInfo.setTotalBalance(fleetInfo.getTotalBalance() - money);
//更新赠送金额与充值金额
fleetInfo.setRechargeAmount(fleetInfo.getRechargeAmount() - (money * recharge));
fleetInfo.setGiveAmount(fleetInfo.getGiveAmount() - (money * give));
fleetInfo.setUpdateTime(now);
//更新车队卡余额
baseMapper.updateById(fleetInfo);
//更新订单状态
allOrderInfo.setStatus("paid");
allOrderInfo.setPayTime(now);
allOrderInfo.setUpdateTime(now);
allOrderInfoMapper.updateById(allOrderInfo);
//更新车队订单表
fleetConsumeRecord.setOrderStatus("paid");
fleetConsumeRecord.setPaymentTime(now);
fleetConsumeRecord.setUpdateTime(now);
//计算扣完款后的余额
fleetConsumeRecord.setAfterTheChange(fleetInfo.getTotalBalance());
return fleetConsumeRecordMapper.updateById(fleetConsumeRecord);
}
/**
* 创建用户的基础信息

View File

@ -27,7 +27,8 @@
</view>
</view>
<view class="but-sub" @click="show=!show">兑换</view>
<!-- <view class="but-sub" @click="show=!show">兑换</view> -->
<view class="but-sub" @click="goExchange">兑换</view>
<u-modal :show="show" :title="title" :content='content' :showCancelButton='true' @confirm="confirm"
@cancel="cancel" confirmColor="#FA6400"></u-modal>
@ -87,7 +88,12 @@
}).then(res => {
console.log(res, 89)
if (res.code == 200) {
this.content = '礼品卡已兑换成功,请在礼品卡兑换记录中查看!'
if(res.data.id){
this.content = '礼品卡已兑换成功,请在礼品卡兑换记录中查看!'
}else {
this.content = '礼品卡兑换失败。'
}
} else {
this.content = '礼品卡兑换失败。'
}

View File

@ -25,7 +25,11 @@
<view style="width: 85%;">
<view class="right-box">
<view class="l-text">{{item.fromType}}</view>
<view class="r-text">{{item.cardPaymentAmount}}</view>
<view class="r-text">
<span v-if="item.change_type == 1">+</span>
<span v-else>-</span>
{{item.cardPaymentAmount}}
</view>
</view>
<view class="right-box">
<view class="">{{item.cardType}}</view>
@ -39,7 +43,8 @@
</view>
<u-datetime-picker :show="show" v-model="value1" mode="year-month" @cancel="cancel1"
@confirm="confirm1"></u-datetime-picker>
<u-picker :show="show1" :columns="columnsBalance" keyName="label" @cancel="cancel" @confirm="confirmBalance"></u-picker>
<u-picker :show="show1" :columns="columnsBalance" keyName="label" @cancel="cancel"
@confirm="confirmBalance"></u-picker>
</view>
<view v-if="type==1">
<view class="tab-bs">
@ -105,7 +110,7 @@
show: false,
show1: false,
value1: Number(new Date()),
fleetBalance:0,
fleetBalance: 0,
columns: [
[{
label: '全部类型',
@ -120,17 +125,17 @@
],
columnsBalance: [
[{
label:'全部类型',
type:null
label: '全部类型',
type: null
}, {
label:'油品',
type:'油品'
label: '油品',
type: '油品'
}, {
label:'积分兑换',
type:"积分兑换"
label: '积分兑换',
type: "积分兑换"
}, {
label:"会员充值",
type:'会员充值'
label: "会员充值",
type: '会员充值'
}]
],
queryParams: {
@ -152,7 +157,7 @@
this.queryParams.fleetId = e.fleetId
// console.log('this.fleetId', this.fleetId);
this.storeId = uni.getStorageSync("storeId"),
this.getFleetBalance()
this.getFleetBalance()
},
onShow() {
this.query.chainStoreId = uni.getStorageSync('chainStoreId');
@ -169,7 +174,7 @@
storeId: uni.getStorageSync("storeId"),
changeReason: "",
startTime: "",
fromType:null
fromType: null
}
this.getList()
},
@ -183,7 +188,7 @@
methods: {
getindex(index) {
this.type = index
this.queryParams.startTime= null
this.queryParams.startTime = null
this.value1 = Number(new Date())
if (index == 1) {
this.getFleetLinesChange()
@ -204,7 +209,7 @@
})
},
//
getFleetBalance(){
getFleetBalance() {
request({
url: '/fleetInfo/' + this.queryParams.fleetId,
@ -262,7 +267,7 @@
} else {
this.queryParams.fromType = e.value[0].type
}
console.log('this.queryParams:',this.queryParams);
console.log('this.queryParams:', this.queryParams);
this.getList()
this.show1 = false
},
@ -281,9 +286,9 @@
confirm1(e) {
this.queryParams.startTime = this.timestampToString(e.value)
this.queryParams.pageNo = 1
if(this.type == 1) {
if (this.type == 1) {
this.getFleetLinesChange()
}else{
} else {
this.getList()
}