Merge remote-tracking branch 'origin/master'

This commit is contained in:
齐天大圣 2024-01-13 13:22:42 +08:00
commit 77df396e46
25 changed files with 417 additions and 281 deletions

View File

@ -61,3 +61,11 @@ export function oilOrderList(data) {
data: data data: data
}) })
} }
// 根据订单号模糊查询油品订单信息
export function getOilOrderAllAmount(id) {
return request({
url: '/business/oilOrder/getAllAmount/'+id,
method: 'get',
})
}

View File

@ -211,21 +211,21 @@
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="进货单价" prop="buyingPrice"> <el-form-item label="进货单价" prop="buyingPrice">
<el-input v-model="form.buyingPrice"> <el-input v-model="form.buyingPrice" oninput="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')">
<template slot="append"></template> <template slot="append"></template>
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="零售价" prop="retailPrice"> <el-form-item label="零售价" prop="retailPrice">
<el-input v-model="form.retailPrice" @input="getPrice"> <el-input v-model="form.retailPrice" @input="getPrice" oninput="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')">
<template slot="append"></template> <template slot="append"></template>
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="会员价" prop="memberPrice"> <el-form-item label="会员价" prop="memberPrice">
<el-input v-model="form.memberPrice"> <el-input v-model="form.memberPrice" oninput="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')">
<template slot="append"></template> <template slot="append"></template>
</el-input> </el-input>
</el-form-item> </el-form-item>
@ -258,7 +258,7 @@
</el-col> </el-col>
<el-col :span="16"> <el-col :span="16">
<el-form-item label="初始库存" prop="stock"> <el-form-item label="初始库存" prop="stock">
<el-input v-model="form.stock" :disabled="isAdd" placeholder="0"/> <el-input v-model="form.stock" oninput="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')" :disabled="isAdd" placeholder="0"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>

View File

@ -37,7 +37,7 @@
<dict-tag :options="dict.type.zhzt" :value="form.status"/> <dict-tag :options="dict.type.zhzt" :value="form.status"/>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="加油次数">{{ form.consumeNum }}</el-descriptions-item> <el-descriptions-item label="加油次数">{{ form.consumeNum }}</el-descriptions-item>
<el-descriptions-item label="加油总金额">{{ form.refuelMoney ? form.refuelMoney : "--" }} <el-descriptions-item label="加油总金额">{{ allAmount || 0 }}
</el-descriptions-item> </el-descriptions-item>
<!-- <el-descriptions-item label="所属油站">{{ store.name }}</el-descriptions-item>--> <!-- <el-descriptions-item label="所属油站">{{ store.name }}</el-descriptions-item>-->
<el-descriptions-item label="注册时间">{{ form.createTime }}</el-descriptions-item> <el-descriptions-item label="注册时间">{{ form.createTime }}</el-descriptions-item>
@ -105,7 +105,7 @@
<el-statistic <el-statistic
group-separator="," group-separator=","
:precision="2" :precision="2"
:value="form.refuelMoney" :value="refuelMoney"
title="囤油卡余额" title="囤油卡余额"
> >
<!-- <span></span>--> <!-- <span></span>-->
@ -797,6 +797,7 @@ import {
editCardValueChild, editCardValueChild,
listCardValueChild, listCardValueChildOrder listCardValueChild, listCardValueChildOrder
} from "@/api/staff/user/cardvaluechild"; } from "@/api/staff/user/cardvaluechild";
import {getOilOrderAllAmount} from "@/api/order/oilorder";
export default { export default {
components: { components: {
@ -925,7 +926,10 @@ export default {
id: '', id: '',
// //
form: {}, form: {},
refuelMoney:0,
form1: {}, form1: {},
//
allAmount:0,
// //
store: '', store: '',
// //
@ -975,6 +979,7 @@ export default {
this.getStore(); this.getStore();
this.getCardList() this.getCardList()
this.getOrderList() this.getOrderList()
this.getAllAmount()
}, },
methods: { methods: {
handleQuery(){ handleQuery(){
@ -1054,7 +1059,6 @@ export default {
allFixingLevel().then(res => { allFixingLevel().then(res => {
if (res.code == 200) { if (res.code == 200) {
this.fixingLevelList = res.data this.fixingLevelList = res.data
console.log(res.data)
} }
}) })
}, },
@ -1107,9 +1111,9 @@ export default {
await getCardValueListApi(quy).then(res => { await getCardValueListApi(quy).then(res => {
this.cardValueList = res.data.records; this.cardValueList = res.data.records;
this.cardValueList.sort((a, b) => a.rechargeBalance - b.rechargeBalance); this.cardValueList.sort((a, b) => a.rechargeBalance - b.rechargeBalance);
console.log("this.grade.name",this.grade) // console.log("this.grade.name",this.grade)
}) })
console.log("this.cardValueList", this.grade) // console.log("this.cardValueList", this.grade)
if (this.cardValueList.length > 0) { if (this.cardValueList.length > 0) {
// //
@ -1130,7 +1134,7 @@ export default {
// this.cardValueForm.amount = null // this.cardValueForm.amount = null
this.$set(this.cardValueForm, 'amount', data); this.$set(this.cardValueForm, 'amount', data);
console.log("data17.16", this.cardValueForm.amount) // console.log("data17.16", this.cardValueForm.amount)
if (!data) { if (!data) {
this.cardValueForm.amount = '' this.cardValueForm.amount = ''
@ -1241,7 +1245,7 @@ export default {
}, },
// //
async tabOilTypeClick(data) { async tabOilTypeClick(data) {
console.log("aaaaaaaaaaaaaa",data) // console.log("aaaaaaaaaaaaaa",data)
await this.getCardFuelDieselList() await this.getCardFuelDieselList()
this.cardFuelDieselList = this.sourceCardFuelDieselList.filter(item => { this.cardFuelDieselList = this.sourceCardFuelDieselList.filter(item => {
@ -1253,7 +1257,7 @@ export default {
}, },
selectOilType(status, oilType) { selectOilType(status, oilType) {
this.tabOilType = oilType; this.tabOilType = oilType;
console.log("453",oilType) // console.log("453",oilType)
this.tabOilTypeClick(oilType); this.tabOilTypeClick(oilType);
}, },
// //
@ -1334,10 +1338,18 @@ export default {
// //
getUser(this.id).then(response => { getUser(this.id).then(response => {
this.form = response.data; this.form = response.data;
console.log(response.data) if (response.data.refuelMoney){
let refuelMoney = JSON.parse(response.data.refuelMoney)
_this.refuelMoney = parseFloat(refuelMoney[0].refuelMoney)
}
this.getGrade(response.data.gradeId); this.getGrade(response.data.gradeId);
}); });
}, },
getAllAmount(){
getOilOrderAllAmount(this.id).then(res => {
this.allAmount = res.data
})
},
// //
getGrade(id) { getGrade(id) {
getUserGradeInfo(id).then(response => { getUserGradeInfo(id).then(response => {
@ -1352,7 +1364,7 @@ export default {
}, },
// //
rechargeCard(index, item) { rechargeCard(index, item) {
console.log("index", index) // console.log("index", index)
// this.cardValueForm.amount = null, // this.cardValueForm.amount = null,
this.cardValueForm.rechargeType = 0 this.cardValueForm.rechargeType = 0
@ -1406,7 +1418,7 @@ export default {
let file = {} let file = {}
// //
file = this.cardFuelDieselList[index] file = this.cardFuelDieselList[index]
console.log("file",file) // console.log("file",file)
this.cardFuelDieselForm.points = file.points this.cardFuelDieselForm.points = file.points
this.cardFuelDieselForm.rechargeBalance = file.rechargeBalance this.cardFuelDieselForm.rechargeBalance = file.rechargeBalance
this.cardFuelDieselForm.oilType = file.oilType this.cardFuelDieselForm.oilType = file.oilType
@ -1488,12 +1500,12 @@ export default {
this.$message.error('请先扫码'); this.$message.error('请先扫码');
return return
} }
console.log("cardFuelDieselForm",this.cardFuelDieselForm) // console.log("cardFuelDieselForm",this.cardFuelDieselForm)
this.cardFuelDieselForm.mtUserId = userForm.id this.cardFuelDieselForm.mtUserId = userForm.id
this.cardFuelDieselForm.name = userForm.name this.cardFuelDieselForm.name = userForm.name
this.cardFuelDieselForm.mobile = userForm.mobile this.cardFuelDieselForm.mobile = userForm.mobile
this.cardFuelDieselForm.authCode = this.authCode this.cardFuelDieselForm.authCode = this.authCode
console.log("this.cardFuelDieselForm",this.cardFuelDieselForm) // console.log("this.cardFuelDieselForm",this.cardFuelDieselForm)
let id; let id;

View File

@ -54,3 +54,12 @@ export function merchantInfo(id) {
method: 'get', method: 'get',
}) })
} }
// 根据id删除商户配置信息
export function deleteMerchant(id) {
return request({
url: '/api/merchantConfig/'+id,
method: 'delete',
})
}

View File

@ -38,9 +38,11 @@
<el-tag v-else effect="dark" type="success" style="float: right">当前使用中</el-tag> <el-tag v-else effect="dark" type="success" style="float: right">当前使用中</el-tag>
</div> </div>
<div>商户编号: {{ item.mchntCd }}</div> <div>商户编号: {{ item.mchntCd }}</div>
<div style="margin-top: 5px"> <div style="margin-top: 5px;display: flex;justify-content: space-between">
备注: <span style="color: #00afff;margin-left: 3px" @click="editRemark(item.id)">{{ item.remark ? item.remark : "--" }}</span> <span>
<span style="margin-left: 150px"> 备注: <span style="color: #00afff;margin-left: 3px" @click="editRemark(item.id)">{{ item.remark ? item.remark : "--" }}</span>
</span>
<span>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
@ -217,7 +219,7 @@
<script> <script>
import { import {
addMerchantApi, addMerchantApi, deleteMerchant,
editMerchant, editMerchant,
editMerchantRemark, editMerchantRemark,
listMerchant, listMerchant,
@ -292,7 +294,14 @@ export default {
}) })
}, },
handleDelete(data){ handleDelete(data){
let name = data.remark ? data.merchantName + "(" + data.remark + ")" : data.merchantName
this.$modal.confirm('是否确认删除"' + name + '"的支付配置信息?').then(function () {
return deleteMerchant(data.id);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {
});
}, },
// //
submitRemark(){ submitRemark(){
@ -316,14 +325,26 @@ export default {
console.log("hello world") console.log("hello world")
this.$refs["form1"].validate(valid => { this.$refs["form1"].validate(valid => {
if (valid) { if (valid) {
this.form1.storeId = this.id if (this.form1.id){
addMerchantApi(this.form1).then(res => { editMerchantRemark(this.form1).then(res => {
if (res.data == 1){ if (res.data===1){
this.$modal.msgSuccess("添加成功"); this.$modal.msgSuccess("修改成功")
this.getList() this.getList()
this.dialogVisible = false this.show = false
} }
}) })
}else {
this.form1.storeId = this.id
addMerchantApi(this.form1).then(res => {
if (res.data == 1){
this.$modal.msgSuccess("添加成功");
this.getList()
this.dialogVisible = false
}else {
this.$modal.msgError("添加失败,当前通道未配置")
}
})
}
} }
}) })
}, },

View File

@ -134,13 +134,11 @@ public class MerchantConfigServiceImpl extends ServiceImpl<MerchantConfigMapper,
public int insertMerch(MerchantConfig merchantConfig) { public int insertMerch(MerchantConfig merchantConfig) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
Integer storeId = nowAccountInfo.getStoreId(); Integer storeId = merchantConfig.getStoreId();
if (ObjectUtil.isEmpty(merchantConfig.getStoreId())) { if (ObjectUtil.isEmpty(merchantConfig.getStoreId())) {
storeId = nowAccountInfo.getStoreId(); storeId = nowAccountInfo.getStoreId();
// AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
// if (ObjectUtil.isEmpty(merchantConfig.getStoreId())) {
merchantConfig.setStoreId(nowAccountInfo.getStoreId());
} }
merchantConfig.setStoreId(storeId);
int row = 0; int row = 0;
if (merchantConfig.getMerchantName().equals("富友")){ if (merchantConfig.getMerchantName().equals("富友")){
merchantConfig.setInsCd(FuYouPublicMerchant.insCd); merchantConfig.setInsCd(FuYouPublicMerchant.insCd);
@ -152,7 +150,7 @@ public class MerchantConfigServiceImpl extends ServiceImpl<MerchantConfigMapper,
} }
merchantConfig.setAppid(FuYouPublicMerchant.appid); merchantConfig.setAppid(FuYouPublicMerchant.appid);
merchantConfig.setAlipayAppid(FuYouPublicMerchant.alipayAppid); merchantConfig.setAlipayAppid(FuYouPublicMerchant.alipayAppid);
MerchantConfig merchantConfig1 = this.selectMeChByIdIsUse(nowAccountInfo.getStoreId()); MerchantConfig merchantConfig1 = this.selectMeChByIdIsUse(storeId);
if (ObjectUtil.isEmpty(merchantConfig1)){ if (ObjectUtil.isEmpty(merchantConfig1)){
merchantConfig.setIsUse("1"); merchantConfig.setIsUse("1");
}else { }else {

View File

@ -41,6 +41,8 @@ import com.fuint.business.order.entity.CardBalanceChange;
import com.fuint.business.order.entity.OilBalanceChange; import com.fuint.business.order.entity.OilBalanceChange;
import com.fuint.business.order.service.OilBalanceChangeService; import com.fuint.business.order.service.OilBalanceChangeService;
import com.fuint.business.petrolStationManagement.service.OilNameService; import com.fuint.business.petrolStationManagement.service.OilNameService;
import com.fuint.business.storeInformation.entity.LJStore;
import com.fuint.business.storeInformation.service.ILJStoreService;
import com.fuint.business.userManager.entity.UserBalance; import com.fuint.business.userManager.entity.UserBalance;
import com.fuint.business.userManager.mapper.LJUserMapper; import com.fuint.business.userManager.mapper.LJUserMapper;
import com.fuint.business.userManager.service.UserBalanceService; import com.fuint.business.userManager.service.UserBalanceService;
@ -93,6 +95,8 @@ public class CardFuelRecordServiceImpl implements CardFuelRecordService {
private OilBalanceChangeService oilBalanceChangeService; private OilBalanceChangeService oilBalanceChangeService;
@Resource @Resource
private OilNameService oilNameService; private OilNameService oilNameService;
@Autowired
private ILJStoreService storeService;
/** /**
* 通过ID查询单条数据 * 通过ID查询单条数据
* *
@ -424,8 +428,10 @@ public class CardFuelRecordServiceImpl implements CardFuelRecordService {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
//订单信息 //订单信息
CardFuleOrders cardFuleOrders = new CardFuleOrders(); CardFuleOrders cardFuleOrders = new CardFuleOrders();
// 店铺信息
LJStore store = storeService.selectStoreByStoreId(cardFuelRecordDTO.getStoreId());
//会员信息 //会员信息
LJUserVo ljUserVo = ljUserMapper.selectUserById(nowAccountInfo.getId()); LJUserVo ljUserVo = ljUserMapper.queryUserByChainStoreId(nowAccountInfo.getId(),store.getChainStoreId());
//员工信息 //员工信息
LJStaff ljStaff = mtStaffService.selectStaffById(cardFuelRecordDTO.getMtStaffId()); LJStaff ljStaff = mtStaffService.selectStaffById(cardFuelRecordDTO.getMtStaffId());
//查询囤油卡信息 //查询囤油卡信息

View File

@ -10,6 +10,7 @@ import com.fuint.business.marketingActivity.cardGift.entity.CardGift;
import com.fuint.business.marketingActivity.cardGift.service.CardGiftService; import com.fuint.business.marketingActivity.cardGift.service.CardGiftService;
import com.fuint.business.oilDepotConfiguration.entity.OilDepotConfig; import com.fuint.business.oilDepotConfiguration.entity.OilDepotConfig;
import com.fuint.business.oilDepotConfiguration.service.OilDepotConfigService; import com.fuint.business.oilDepotConfiguration.service.OilDepotConfigService;
import com.fuint.business.store.entity.MtStore;
import com.fuint.business.store.service.StoreService; import com.fuint.business.store.service.StoreService;
import com.fuint.business.userManager.entity.UserBalance; import com.fuint.business.userManager.entity.UserBalance;
import com.fuint.business.userManager.mapper.LJUserMapper; import com.fuint.business.userManager.mapper.LJUserMapper;
@ -175,8 +176,10 @@ public class CardGiftServiceImpl extends ServiceImpl<CardGiftMapper, CardGift> i
//更新用户余额 //更新用户余额
Double cardAmount = one.getCardAmount(); Double cardAmount = one.getCardAmount();
//会员信息 //会员信息
LJUserVo ljUserVo = ljUserMapper.selectUserById(userId); // LJUserVo ljUserVo = ljUserMapper.selectUserById(userId);
UserBalance userBalance = userBalanceService.selectUserBalance(userId,ljUserVo.getChainStoreId()); // UserBalance userBalance = userBalanceService.selectUserBalance(userId,ljUserVo.getChainStoreId());
MtStore store = storeService.getById(cardGift.getStoreId());
UserBalance userBalance = userBalanceService.selectUserBalance(userId,store.getChainStoreId());
Double cardBalance = userBalance.getCardBalance(); Double cardBalance = userBalance.getCardBalance();
BigDecimal bigDecimal = BigDecimal.valueOf(cardAmount); BigDecimal bigDecimal = BigDecimal.valueOf(cardAmount);
BigDecimal bigDecimal1 = BigDecimal.valueOf(cardBalance); BigDecimal bigDecimal1 = BigDecimal.valueOf(cardBalance);

View File

@ -41,6 +41,8 @@ import com.fuint.business.member.service.ILJStaffService;
import com.fuint.business.order.entity.CardBalanceChange; import com.fuint.business.order.entity.CardBalanceChange;
import com.fuint.business.order.entity.CashierOrder; import com.fuint.business.order.entity.CashierOrder;
import com.fuint.business.order.service.CardBalanceChangeService; import com.fuint.business.order.service.CardBalanceChangeService;
import com.fuint.business.storeInformation.entity.LJStore;
import com.fuint.business.storeInformation.service.ILJStoreService;
import com.fuint.business.userManager.entity.UserBalance; import com.fuint.business.userManager.entity.UserBalance;
import com.fuint.business.userManager.mapper.LJUserMapper; import com.fuint.business.userManager.mapper.LJUserMapper;
import com.fuint.business.userManager.service.UserBalanceService; import com.fuint.business.userManager.service.UserBalanceService;
@ -111,6 +113,8 @@ public class CardValueRecordServiceImpl extends ServiceImpl<CardValueRecordMappe
private CardFavorableRecordService cardFavorableRecordService; private CardFavorableRecordService cardFavorableRecordService;
@Resource @Resource
private CardExchangeRecordService cardExchangeRecordService; private CardExchangeRecordService cardExchangeRecordService;
@Autowired
private ILJStoreService storeService;
/** /**
* 储值卡充值新增 * 储值卡充值新增
* @param cardValueRecordDTO * @param cardValueRecordDTO
@ -124,8 +128,10 @@ public class CardValueRecordServiceImpl extends ServiceImpl<CardValueRecordMappe
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
//订单信息 //订单信息
CardValueOrders cardValueOrders = new CardValueOrders(); CardValueOrders cardValueOrders = new CardValueOrders();
//店铺信息
LJStore store = storeService.selectStoreByStoreId(cardValueRecordDTO.getStoreId());
//会员信息 //会员信息
LJUserVo ljUserVo = ljUserMapper.selectUserById(nowAccountInfo.getId()); LJUserVo ljUserVo = ljUserMapper.queryUserByChainStoreId(nowAccountInfo.getId(),store.getChainStoreId());
//员工信息 //员工信息
LJStaff ljStaff = mtStaffService.selectStaffById(cardValueRecordDTO.getMtStaffId()); LJStaff ljStaff = mtStaffService.selectStaffById(cardValueRecordDTO.getMtStaffId());
//查询储值卡信息 //查询储值卡信息

View File

@ -99,4 +99,40 @@ public class HangBillController extends BaseController {
HangBill hangBill = hangBillService.selectHangBillByOrderNo(orderNo); HangBill hangBill = hangBillService.selectHangBillByOrderNo(orderNo);
return getSuccessResult(hangBill); return getSuccessResult(hangBill);
} }
/**
* 查询当前店铺所有的订单总额
* @return
*/
@GetMapping("allAmount")
public ResponseObject allAmount(){
return getSuccessResult(hangBillService.selectAllAmount());
}
/**
* 查询当前店铺归还的账单总额
* @return
*/
@GetMapping("allReturnAmount")
public ResponseObject allReturnAmount(){
return getSuccessResult(hangBillService.selectReturnAmount());
}
/**
* 查询当前店铺未归还的账单总额
* @return
*/
@GetMapping("allNoReturnAmount")
public ResponseObject allNoReturnAmount(){
return getSuccessResult(hangBillService.selectNoReturnAmount());
}
/**
* 查询当前店铺归还账单的数量
* @return
*/
@GetMapping("returnTotal")
public ResponseObject returnTotal(){
return getSuccessResult(hangBillService.selectCountReturn());
}
} }

View File

@ -243,4 +243,14 @@ public class OilOrderController extends BaseController {
public ResponseObject orderStatistics(OilOrder order){ public ResponseObject orderStatistics(OilOrder order){
return getSuccessResult(orderService.orderStatistics(order)); return getSuccessResult(orderService.orderStatistics(order));
} }
/**
* 根据用户id和店铺id查询当前用户在此店铺消费的所有油品总金额
* @param userId
* @return
*/
@GetMapping("/getAllAmount/{userId}")
public ResponseObject getAllAmount(@PathVariable Integer userId){
return getSuccessResult(orderService.sumOilOrderAmountByUserIdAndStoreId(userId));
}
} }

View File

@ -34,4 +34,22 @@ public interface HangBillMapper extends BaseMapper<HangBill> {
* @return * @return
*/ */
public HangBillVo selectHangBillById(@Param("id") int id); public HangBillVo selectHangBillById(@Param("id") int id);
/**
* 查询当前店铺所有的订单总额
* @return
*/
double selectAllAmount(@Param("storeId") int storeId);
/**
* 查询当前店铺归还的账单总额
* @return
*/
double selectReturnAmount(@Param("storeId") int storeId);
/**
* 查询当前店铺未归还的账单总额
* @return
*/
double selectNoReturnAmount(@Param("storeId") int storeId);
} }

View File

@ -30,6 +30,13 @@ public interface OilOrderMapper extends BaseMapper<OilOrder> {
List<OilOrderExcel> selectOilOrderListExcel(@Param("order") OilOrder order); List<OilOrderExcel> selectOilOrderListExcel(@Param("order") OilOrder order);
/**
* 根据userId和店铺id查询当前用户在此店铺加油的总金额
* @param userId
* @return
*/
Double sumOilOrderAmountByUserIdAndStoreId(@Param("userId") Integer userId,@Param("storeId") Integer StoreId);
/** /**
* 根据userid查询油品订单信息 * 根据userid查询油品订单信息
* @param page * @param page

View File

@ -51,4 +51,14 @@
hb.store_id = #{storeId} and hb.status!=1 hb.store_id = #{storeId} and hb.status!=1
</where> </where>
</select> </select>
<select id="selectAllAmount" resultType="double">
select sum(amount) from hang_bill where store_id = #{storeId}
</select>
<select id="selectReturnAmount" resultType="double">
select sum(repaid_amount) from hang_bill where store_id = #{storeId}
</select>
<select id="selectNoReturnAmount" resultType="double">
select sum(outstand_amount) from hang_bill where store_id = #{storeId}
</select>
</mapper> </mapper>

View File

@ -435,4 +435,10 @@
</where> </where>
</select> </select>
<select id="sumOilOrderAmountByUserIdAndStoreId" resultType="double">
select sum(order_amount) from oil_order
<where>
user_id = #{userId} and store_id = #{storeId} and order_status = 'paid'
</where>
</select>
</mapper> </mapper>

View File

@ -78,4 +78,28 @@ public interface HangBillService extends IService<HangBill> {
* @return * @return
*/ */
public int updateHangBills(HangBill hangBill,Double repaidAmount,String status); public int updateHangBills(HangBill hangBill,Double repaidAmount,String status);
/**
* 查询当前店铺所有的订单总额
* @return
*/
double selectAllAmount();
/**
* 查询当前店铺归还账单的数量
* @return
*/
int selectCountReturn();
/**
* 查询当前店铺归还的账单总额
* @return
*/
double selectReturnAmount();
/**
* 查询当前店铺未归还的账单总额
* @return
*/
double selectNoReturnAmount();
} }

View File

@ -28,6 +28,12 @@ public interface OilOrderService extends IService<OilOrder> {
void export(HttpServletResponse response, OilOrder order); void export(HttpServletResponse response, OilOrder order);
/**
* 根据userId和店铺id查询当前用户在此店铺加油的总金额
* @param userId
* @return
*/
Double sumOilOrderAmountByUserIdAndStoreId(Integer userId);
/** /**
* 根据条件分页查询油品订单信息 * 根据条件分页查询油品订单信息

View File

@ -253,6 +253,33 @@ public class HangBillServiceImpl extends ServiceImpl<HangBillMapper, HangBill> i
return row; return row;
} }
@Override
public double selectAllAmount() {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
return baseMapper.selectAllAmount(nowAccountInfo.getStoreId());
}
@Override
public int selectCountReturn() {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("store_id",nowAccountInfo.getStoreId());
queryWrapper.eq("status","1");
return baseMapper.selectCount(queryWrapper);
}
@Override
public double selectReturnAmount() {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
return baseMapper.selectReturnAmount(nowAccountInfo.getStoreId());
}
@Override
public double selectNoReturnAmount() {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
return baseMapper.selectNoReturnAmount(nowAccountInfo.getStoreId());
}
/** /**
* 调用支付接口 * 调用支付接口
* @param map * @param map

View File

@ -120,6 +120,12 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
} }
} }
@Override
public Double sumOilOrderAmountByUserIdAndStoreId(Integer userId) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
return baseMapper.sumOilOrderAmountByUserIdAndStoreId(userId,nowAccountInfo.getStoreId());
}
@Override @Override
public IPage<OilOrder> selectOilOrderByUserId(Page page, OilOrder order) { public IPage<OilOrder> selectOilOrderByUserId(Page page, OilOrder order) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();

View File

@ -138,10 +138,9 @@
<select id="selectUserById" resultType="com.fuint.business.userManager.vo.LJUserVo" <select id="selectUserById" resultType="com.fuint.business.userManager.vo.LJUserVo"
parameterType="java.lang.Integer"> parameterType="java.lang.Integer">
<include refid="selectUser"></include> select * from mt_user
<where> <where>
mu.id = #{id} mu.id = #{id}
limit 1
</where> </where>
</select> </select>

View File

@ -128,7 +128,9 @@ public class LJUserServiceImpl extends ServiceImpl<LJUserMapper, LJUser> impleme
*/ */
@Override @Override
public LJUserVo selectUserById(int id) { public LJUserVo selectUserById(int id) {
return baseMapper.selectUserById(id); AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
LJStore store = storeService.selectStoreByStoreId(nowAccountInfo.getStoreId());
return baseMapper.queryUserByChainStoreId(id,store.getChainStoreId());
} }
@Autowired @Autowired
@ -397,9 +399,10 @@ public class LJUserServiceImpl extends ServiceImpl<LJUserMapper, LJUser> impleme
certifiedMemberService.insertCertifiedMember(certifiedMember1); certifiedMemberService.insertCertifiedMember(certifiedMember1);
} }
} }
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
LJStore store = storeService.selectStoreByStoreId(nowAccountInfo.getStoreId());
// 修改余额会员等级信息 // 修改余额会员等级信息
UserBalance balance = balanceService.selectUserBalanceByStorId(userVo.getId(),userVo.getStoreId()); UserBalance balance = balanceService.selectUserBalance(userVo.getId(),store.getChainStoreId());
if (!ObjectUtil.isEmpty(balance)){ if (!ObjectUtil.isEmpty(balance)){
balance.setGradeId(userVo.getGradeId()); balance.setGradeId(userVo.getGradeId());
balance.setFixingLevel(userVo.getFixingLevel()); balance.setFixingLevel(userVo.getFixingLevel());

View File

@ -60,3 +60,35 @@ export function editHangBill(data) {
data: data data: data
}) })
} }
// 当前店铺归还账单的数量
export function hangBillReturnTotal() {
return request({
url: '/business/hangBill/returnTotal',
method: 'get',
})
}
// 当前店铺归还账单的数量
export function hangBillAllAmount() {
return request({
url: '/business/hangBill/allAmount',
method: 'get',
})
}
// 当前店铺归还账单的数量
export function hangBillAllReturnAmount() {
return request({
url: '/business/hangBill/allReturnAmount',
method: 'get',
})
}
// 当前店铺归还账单的数量
export function hangBillAllNoReturnAmount() {
return request({
url: '/business/hangBill/allNoReturnAmount',
method: 'get',
})
}

View File

@ -95,11 +95,26 @@
<span>统计</span> <span>统计</span>
</div> </div>
<div class="box-gang"> <div class="box-gang">
<div class="box" v-for="(item,index) in 7" :key="index"> <div class="box">
<div class="size-hui">挂账笔数</div> <div class="size-hui">挂账笔数</div>
<div class="size-bole">55</div> <div class="size-bole">{{ total }}</div>
</div>
<div class="box">
<div class="size-hui">挂账总额</div>
<div class="size-bole">{{ allAmount }}</div>
</div>
<div class="box">
<div class="size-hui">归还笔数</div>
<div class="size-bole">{{ returnTotal }}</div>
</div>
<div class="box">
<div class="size-hui">归还总额</div>
<div class="size-bole">{{ returnAllAmount }}</div>
</div>
<div class="box">
<div class="size-hui">未还金额</div>
<div class="size-bole">{{ noReturnAllAmount }}</div>
</div> </div>
</div> </div>
</el-card> </el-card>
<!-- 挂账列表--> <!-- 挂账列表-->
@ -128,13 +143,13 @@
<span>{{ props.row.remark ? props.row.remark:"--" }}</span> <span>{{ props.row.remark ? props.row.remark:"--" }}</span>
</el-form-item><br/> </el-form-item><br/>
<el-form-item label="单据金额"> <el-form-item label="单据金额">
<span>{{ props.row.amount ? props.row.amount:"--" }}</span> <span>{{ props.row.amount ? props.row.amount:"0" }}</span>
</el-form-item> </el-form-item>
<el-form-item label="已还金额"> <el-form-item label="已还金额">
<span>{{ props.row.repaidAmount ? props.row.repaidAmount:"--" }}</span> <span>{{ props.row.repaidAmount ? props.row.repaidAmount:"0" }}</span>
</el-form-item> </el-form-item>
<el-form-item label="未还金额"> <el-form-item label="未还金额">
<span>{{ props.row.outstandAmount ? props.row.outstandAmount:"--" }}</span> <span>{{ props.row.outstandAmount ? props.row.outstandAmount:"0" }}</span>
</el-form-item> </el-form-item>
</el-form> </el-form>
</template> </template>
@ -647,8 +662,8 @@
import { import {
addHangBill, addHangBill,
batchHangBill, batchHangBill,
editHangBill, editHangBill, hangBillAllAmount, hangBillAllNoReturnAmount, hangBillAllReturnAmount,
hangBillInfo, hangBillInfo, hangBillReturnTotal,
hangBills, hangBills,
listHangBill, listHangBill,
queryHangBill queryHangBill
@ -661,6 +676,14 @@ import {listReturnRecord, returnRecordByOrderNo, returnRecordInfo} from "@/api/c
name: "credit", name: "credit",
data(){ data(){
return{ return{
//
returnTotal:0,
//
allAmount:0,
//
returnAllAmount:0,
//
noReturnAllAmount:0,
// //
amount:0, amount:0,
// //
@ -754,60 +777,6 @@ import {listReturnRecord, returnRecordByOrderNo, returnRecordInfo} from "@/api/c
status: [ { required: true, message: "请选择挂账单位状态", trigger: "blur" }, ], status: [ { required: true, message: "请选择挂账单位状态", trigger: "blur" }, ],
}, },
// labelPosition: 'right',
// formLabelAlign: {
// name: '',
// },
// tableData: [{
// date: '2016-05-03',
// name: '',
// province: '',
// city: '',
// address: ' 1518 ',
// zip: 200333
// }, {
// date: '2016-05-02',
// name: '',
// province: '',
// city: '',
// address: ' 1518 ',
// zip: 200333
// }, {
// date: '2016-05-04',
// name: '',
// province: '',
// city: '',
// address: ' 1518 ',
// zip: 200333
// }, {
// date: '2016-05-01',
// name: '',
// province: '',
// city: '',
// address: ' 1518 ',
// zip: 200333
// }, {
// date: '2016-05-08',
// name: '',
// province: '',
// city: '',
// address: ' 1518 ',
// zip: 200333
// }, {
// date: '2016-05-06',
// name: '',
// province: '',
// city: '',
// address: ' 1518 ',
// zip: 200333
// }, {
// date: '2016-05-07',
// name: '',
// province: '',
// city: '',
// address: ' 1518 ',
// zip: 200333
// }]
} }
}, },
created() { created() {
@ -815,6 +784,7 @@ import {listReturnRecord, returnRecordByOrderNo, returnRecordInfo} from "@/api/c
this.getUnitList(); this.getUnitList();
this.getPayList(); this.getPayList();
this.getLists(); this.getLists();
this.getStatistic();
}, },
directives: { directives: {
// v-focus // v-focus
@ -830,6 +800,21 @@ import {listReturnRecord, returnRecordByOrderNo, returnRecordInfo} from "@/api/c
}, },
}, },
methods:{ methods:{
//
getStatistic(){
hangBillReturnTotal().then(res => {
this.returnTotal = res.data
})
hangBillAllAmount().then(res => {
this.allAmount = res.data
})
hangBillAllReturnAmount().then(res => {
this.returnAllAmount = res.data
})
hangBillAllNoReturnAmount().then(res => {
this.noReturnAllAmount = res.data
})
},
getPayMeth(list,val){ getPayMeth(list,val){
let name = ""; let name = "";
if (list!=null && list!=""){ if (list!=null && list!=""){

View File

@ -386,6 +386,7 @@
let data = await getUser(id); let data = await getUser(id);
result = data.data.name + "|" + data.data.mobile result = data.data.name + "|" + data.data.mobile
} }
console.log(result)
return result.toString(); return result.toString();
}, },
getVal(list,val){ getVal(list,val){

View File

@ -100,125 +100,75 @@
</el-form> </el-form>
</el-card> </el-card>
<el-card class="box-card"> <el-card style="margin-top: 20px">
<div slot="header" class="clearfix"> <div>统计</div>
<span>统计</span> <template>
</div> <div>
<div class="box-gang"> <el-row :gutter="20">
<div class="box" v-for="(item,index) in 7" :key="index"> <el-col :span="4">
<div class="size-hui">会员总数</div> <div class="sta">
<div class="size-bole">55</div> <el-statistic
group-separator=","
:value="total"
title="会员总数"
></el-statistic>
</div>
</el-col>
<el-col :span="4">
<div class="sta">
<el-statistic title="今日新增/昨日新增">
<template slot="formatter">
{{ addNum }}/{{ yesterdayAddNum }}
</template>
</el-statistic>
</div>
</el-col>
<el-col :span="4">
<div class="sta">
<el-statistic
group-separator=","
:precision="2"
:value="balance"
title="储值总余额"
></el-statistic>
</div>
</el-col>
<!-- <el-col :span="4">-->
<!-- <div class="sta">-->
<!-- <el-statistic-->
<!-- group-separator=","-->
<!-- :precision="2"-->
<!-- :value="literCard"-->
<!-- title="升数卡总余额"-->
<!-- ></el-statistic>-->
<!-- </div>-->
<!-- </el-col>-->
<el-col :span="4">
<div class="sta">
<el-statistic
group-separator=","
:value="point"
title="积分总余额"
></el-statistic>
</div>
</el-col>
<!-- <el-col :span="4">-->
<!-- <div class="sta">-->
<!-- <el-statistic-->
<!-- group-separator=","-->
<!-- :precision="2"-->
<!-- :value="refuelMoney"-->
<!-- title="加油金余额"-->
<!-- ></el-statistic>-->
<!-- </div>-->
<!-- </el-col>-->
</el-row>
</div> </div>
</template>
</div>
</el-card> </el-card>
<el-card class="box-card">
<!-- <div class="wgang">-->
<!-- <div>列表</div>-->
<!-- <div style="display: flex ">-->
<!-- <el-button type="primary" size="mini" icon="el-icon-plus">新增会员</el-button>--> <el-card class="box-card" style="margin-top: 20px">
<!-- </div>-->
<!-- </div>-->
<!-- <div class="table-box">-->
<!-- <el-table-->
<!-- :data="tableData"-->
<!-- style="width: 100%">-->
<!-- <el-table-column type="expand">-->
<!-- <template slot-scope="props">-->
<!-- <el-form label-position="left" inline class="demo-table-expand">-->
<!-- <el-form-item label="名称">-->
<!-- <span>{{ props.row.name }}</span>-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="date"-->
<!-- label="用户信息"-->
<!-- width="150">-->
<!-- </el-table-column>-->
<!-- <el-table-column label="余额">-->
<!-- <el-table-column-->
<!-- prop="name"-->
<!-- label="储值卡"-->
<!-- width="120">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="name"-->
<!-- label="升值卡"-->
<!-- width="120">-->
<!-- </el-table-column>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="会员等级">-->
<!-- <el-table-column-->
<!-- prop="province"-->
<!-- label="汽油"-->
<!-- width="120">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="city"-->
<!-- label="柴油"-->
<!-- width="120">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="city"-->
<!-- label="天然气"-->
<!-- width="120">-->
<!-- </el-table-column>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="统计">-->
<!-- <el-table-column-->
<!-- prop="province"-->
<!-- label="加油金"-->
<!-- width="120">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="city"-->
<!-- label="积分"-->
<!-- width="120">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="city"-->
<!-- label="消费次数"-->
<!-- width="120">-->
<!-- </el-table-column>-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="zip"-->
<!-- label="实体卡号"-->
<!-- width="220">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="zip"-->
<!-- label="状态"-->
<!-- width="120">-->
<!-- </el-table-column>-->
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
<!-- <template slot-scope="scope">-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-edit"-->
<!-- >更多操作</el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- </el-table>-->
<!-- </div>-->
<!-- <div class="pagination-box">-->
<!-- <el-pagination-->
<!-- background-->
<!-- layout="prev, pager, next"-->
<!-- :total="1000">-->
<!-- </el-pagination>-->
<!-- </div>-->
<el-button <el-button
type="primary" type="primary"
icon="el-icon-plus" icon="el-icon-plus"
@ -230,7 +180,7 @@
<el-table-column label="会员ID" prop="id" align="center" width="60"/> <el-table-column label="会员ID" prop="id" align="center" width="60"/>
<el-table-column label="头像" align="center" width="70"> <el-table-column label="头像" align="center" width="70">
<template slot-scope="scope"> <template slot-scope="scope">
<img v-if="scope.row.avatar" class="list-avatar" :src="scope.row.avatar"> <img v-if="scope.row.avatar" class="list-avatar" :src="baseUrl + scope.row.avatar">
<img v-else class="list-avatar" src="@/assets/images/avatar.png"> <img v-else class="list-avatar" src="@/assets/images/avatar.png">
</template> </template>
</el-table-column> </el-table-column>
@ -377,7 +327,7 @@
placeholder="会员等级" placeholder="会员等级"
style="width: 300px" style="width: 300px"
> >
<el-option v-for="grade in userGradeList" :key="grade.id+''" :label="grade.name" :value="grade.id+''"/> <el-option v-for="grade in userGradeList" :key="grade.id+''" :label="grade.name" :value="grade.id"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -521,6 +471,7 @@
name: "vipList", name: "vipList",
data(){ data(){
return{ return{
baseUrl:process.env.VUE_APP_BASE_API,
// //
officialList:[], officialList:[],
result:{}, result:{},
@ -606,67 +557,13 @@
rules: { rules: {
name: [ name: [
{ required: true, message: "会员名称不能为空", trigger: "blur" }, { required: true, message: "会员名称不能为空", trigger: "blur" },
{ min: 2, max: 200, message: '会员名称长度必须介于2 和 100 之间', trigger: 'blur' } // { min: 2, max: 200, message: '2 100 ', trigger: 'blur' }
], ],
gradeId: [{ required: true, message: "会员等级", trigger: "blur" }], gradeId: [{ required: true, message: "会员等级", trigger: "blur" }],
mobile: [ mobile: [
{ required: true, message: "请输入手机号", trigger: "blur" }, { required: true, message: "请输入手机号", trigger: "blur" },
], ],
}, },
// labelPosition: 'right',
// formLabelAlign: {
// name: '',
// },
// tableData: [{
// date: '2016-05-03',
// name: '',
// province: '',
// city: '',
// address: ' 1518 ',
// zip: 200333
// }, {
// date: '2016-05-02',
// name: '',
// province: '',
// city: '',
// address: ' 1518 ',
// zip: 200333
// }, {
// date: '2016-05-04',
// name: '',
// province: '',
// city: '',
// address: ' 1518 ',
// zip: 200333
// }, {
// date: '2016-05-01',
// name: '',
// province: '',
// city: '',
// address: ' 1518 ',
// zip: 200333
// }, {
// date: '2016-05-08',
// name: '',
// province: '',
// city: '',
// address: ' 1518 ',
// zip: 200333
// }, {
// date: '2016-05-06',
// name: '',
// province: '',
// city: '',
// address: ' 1518 ',
// zip: 200333
// }, {
// date: '2016-05-07',
// name: '',
// province: '',
// city: '',
// address: ' 1518 ',
// zip: 200333
// }]
} }
}, },
created() { created() {
@ -674,6 +571,7 @@
this.getConfig(); this.getConfig();
this.getUserList(); this.getUserList();
this.getOfficial(); this.getOfficial();
this.getStatistic();
}, },
methods:{ methods:{
getOfficial(){ getOfficial(){
@ -717,8 +615,8 @@
// this.literCard = response.data.literCard; // this.literCard = response.data.literCard;
// this.refuelMoney = response.data.refuelMoney; // this.refuelMoney = response.data.refuelMoney;
}); });
listUserGrade().then( response => { listUserGrade({page:1,pageSize:20}).then( response => {
this.userGradeList = response.data.records this.userGradeList = response.data.records;
}); });
ljStoreList().then( response => { ljStoreList().then( response => {
this.storeList = response.data this.storeList = response.data
@ -960,6 +858,11 @@
.top-app-sou{ .top-app-sou{
width: 20%; width: 20%;
} }
.sta{
height: 100px;
margin-top: 10px;
background: #f6f8f9;
padding-top: 30px;
}
</style> </style>