This commit is contained in:
wangh 2024-01-13 13:24:02 +08:00
commit 0ed07ccd49
38 changed files with 524 additions and 297 deletions

View File

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

View File

@ -476,7 +476,7 @@
label="券详情"
width="100">
<template slot-scope="scope">
<span>{{scope.row.fullDeduction}} {{scope.row.discountAmount}} </span>
<span>{{scope.row.satisfiedAmount}} {{scope.row.discountAmount}} </span>
</template>
</el-table-column>
<el-table-column
@ -847,7 +847,7 @@ export default {
validityZero: row.validityZero,
validityOne: row.validityOne,
validityTwo:row.validityTwo,
giftCardDetail: "满"+ row.fullDeduction+"减 "+row.discountAmount+"元" , //
giftCardDetail: "满"+ row.satisfiedAmount+"减 "+row.discountAmount+"元" , //
giftCardTime: "", //
giftCardTotal: 1//
}

View File

@ -324,7 +324,7 @@
label="券详情"
width="100">
<template slot-scope="scope">
<span>{{scope.row.fullDeduction}} {{scope.row.discountAmount}} </span>
<span>{{scope.row.satisfiedAmount}} {{scope.row.discountAmount}} </span>
</template>
</el-table-column>
<el-table-column
@ -388,7 +388,7 @@
label="券详情"
width="100">
<template slot-scope="scope">
<span>{{scope.row.fullDeduction}} {{scope.row.discountAmount}} </span>
<span>{{scope.row.satisfiedAmount}} {{scope.row.discountAmount}} </span>
</template>
</el-table-column>
<el-table-column
@ -752,7 +752,7 @@ export default {
validityZero: row.validityZero,
validityOne: row.validityOne,
validityTwo:row.validityTwo,
giftCardDetail: "满"+ row.fullDeduction+"减 "+row.discountAmount+"元" , //
giftCardDetail: "满"+ row.satisfiedAmount+"减 "+row.discountAmount+"元" , //
giftCardTime: "", //
giftCardTotal: 1//
}
@ -782,7 +782,7 @@ export default {
validityZero: row.validityZero,
validityOne: row.validityOne,
validityTwo:row.validityTwo,
giftCardDetail: "满"+ row.fullDeduction+"减 "+row.discountAmount+"元" , //
giftCardDetail: "满"+ row.satisfiedAmount+"减 "+row.discountAmount+"元" , //
giftCardTime: "", //
giftCardTotal: 1//
}

View File

@ -418,6 +418,9 @@ export default {
form: {},
//
rules: {
timeType: [
{ required: true, message: '不能为空', trigger: 'change' }
],
chainStorId: [
{ required: true, message: '不能为空', trigger: 'change' }
],

View File

@ -3,8 +3,7 @@
<!-- 礼品卡-->
<el-card style="margin-bottom: 20px">
<div class="top-hang">
<el-input v-model="queryParams.number" style="width: 20%;margin-right: 10px" placeholder="礼品卡号 "></el-input>
<el-input v-model="queryParams.remark" style="width: 20%;margin-right: 10px" placeholder="备注信息"></el-input>
<el-input v-model="queryParams.number" clearable style="width: 20%;margin-right: 10px" placeholder="礼品卡号 "></el-input>
<el-select v-model="queryParams.activateStatus" style="margin-right: 10px" placeholder="请选择">
<el-option
v-for="item in option"

View File

@ -2,7 +2,7 @@
<div class="app-container">
<!-- 存油卡-->
<el-card style="margin-bottom: 20px">
<el-radio-group v-model="queryParams.type" @input="radiovalue">
<el-radio-group v-model="queryParams.type" @input="radiovalue(dict.label)">
<el-radio-button v-for="dict in dict.type.oil_type"
:key="dict.value"
:label="dict.label"
@ -300,6 +300,13 @@
pageNo:1,
pageSize:10,
},
queryParamss:{
type:'',
oilType:'',
activeStatus:'',
pageNo:1,
pageSize:10,
},
rules:{
oilType: [
{ required: true, message: '不能为空', trigger: 'blur' },
@ -361,13 +368,21 @@
methods:{
//
radiovalue(){
radiovalue(lable){
/*this.queryParamss.type = lable;
console.log("222222222222"+queryParamss)
getList(this.queryParamss).then(res=>{
if(res.code == 200){
this.tableData = res.data.records
this.total = res.data.total;
}
})*/
this.oilList = []
oilName(this.queryParams.type).then(res=>{
this.oilList = res.data.records
console.log('我的油站' ,res)
})
},
getlist(){
this.queryParams.pageNo=this.pageNo

View File

@ -211,21 +211,21 @@
<el-row>
<el-col :span="8">
<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>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<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>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<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>
</el-input>
</el-form-item>
@ -258,7 +258,7 @@
</el-col>
<el-col :span="16">
<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-col>
</el-row>

View File

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

View File

@ -93,7 +93,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="油品号" prop="oilNumber">
<el-select v-model="tankForm.numberId" placeholder="请选择油品号" style="width:100%" @change="chooseOilNumber()">
<el-select v-model="tankForm.numberId" placeholder="请选择油品号" style="width:100%" @change="chooseOilNumber()" :disabled="disableInput">
<el-option
v-for="option in selectOilTypeByPrice"
:key="option.numberId"
@ -107,7 +107,7 @@
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="油罐体积" prop="tankVolume">
<el-input v-model="tankForm.tankVolume" placeholder="请输入油罐体积" maxlength="30">
<el-input v-model="tankForm.tankVolume" placeholder="请输入油罐体积" maxlength="30" :disabled="disableInput">
<template slot="append">{{tankForm.unit}}</template>
</el-input>
</el-form-item>

View File

@ -291,6 +291,8 @@ export default {
this.$modal.msgSuccess("添加成功");
this.getList()
this.dialogVisible = false
}else {
this.$modal.msgError("添加失败,此通道暂未配置");
}
})
}

View File

@ -26,6 +26,15 @@ export function getInfo() {
})
}
// 获取手机验证码
export function gettelcode(data) {
return request({
url: 'backendApi/login/sendMsg',
method: 'post',
data:data
})
}
// 退出方法
export function logout() {
return request({

View File

@ -28,6 +28,15 @@ export function editMerchant(data) {
})
}
// 修改商户备注信息
export function editMerchantRemark(data) {
return request({
url: '/api/merchantConfig/edit',
method: 'post',
data: data,
})
}
// 添加商户使用状态
export function addMerchantApi(data) {
@ -44,4 +53,13 @@ export function merchantInfo(id) {
url: '/api/merchantConfig/'+id,
method: 'get',
})
}
}
// 根据id删除商户配置信息
export function deleteMerchant(id) {
return request({
url: '/api/merchantConfig/'+id,
method: 'delete',
})
}

View File

@ -38,7 +38,25 @@
<el-tag v-else effect="dark" type="success" style="float: right">当前使用中</el-tag>
</div>
<div>商户编号: {{ item.mchntCd }}</div>
<div>备注: <span style="color: #00afff;margin-left: 3px" @click="editRemark(item.id)">{{ item.remark ? item.remark : "--" }}</span></div>
<div style="margin-top: 5px;display: flex;justify-content: space-between">
<span>
备注: <span style="color: #00afff;margin-left: 3px" @click="editRemark(item.id)">{{ item.remark ? item.remark : "--" }}</span>
</span>
<span>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(item)"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(item)"
>删除</el-button>
</span>
</div>
</el-card>
</div>
<el-divider></el-divider>
@ -201,7 +219,7 @@
<script>
import {
addMerchantApi,
addMerchantApi, deleteMerchant,
editMerchant,
editMerchantRemark,
listMerchant,
@ -268,6 +286,23 @@ export default {
this.getList();
},
methods:{
handleUpdate(data){
merchantInfo(data.id).then(res => {
this.title = "商户信息"
this.dialogVisible = true
this.form1 = res.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(){
editMerchantRemark(this.merchantConfig).then(res => {
@ -290,14 +325,26 @@ export default {
console.log("hello world")
this.$refs["form1"].validate(valid => {
if (valid) {
this.form1.storeId = this.id
addMerchantApi(this.form1).then(res => {
if (res.data == 1){
this.$modal.msgSuccess("添加成功");
this.getList()
this.dialogVisible = false
}
})
if (this.form1.id){
editMerchantRemark(this.form1).then(res => {
if (res.data===1){
this.$modal.msgSuccess("修改成功")
this.getList()
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

@ -66,8 +66,9 @@ public class MerchantConfigController extends BaseController {
public ResponseObject selectMerchant(@PathVariable Integer id){
return getSuccessResult(merchantConfigService.selectMerchById(id));
}
/**
* 修改商户备注信息
* 修改商户信息
* @param merchantConfig
* @return
*/
@ -75,4 +76,14 @@ public class MerchantConfigController extends BaseController {
public ResponseObject editMerchantRemark(@RequestBody MerchantConfig merchantConfig){
return getSuccessResult(merchantConfigService.updateMerchRemark(merchantConfig));
}
/**
* 删除商户信息
* @param id
* @return
*/
@DeleteMapping("{id}")
public ResponseObject delete(@PathVariable Integer id){
return getSuccessResult(merchantConfigService.deleteMerch(id));
}
}

View File

@ -90,4 +90,11 @@ public interface MerchantConfigService extends IService<MerchantConfig> {
* @return
*/
public int insertMerch(MerchantConfig merchantConfig);
/**
* 根据id删除配置信息
* @param id
* @return
*/
public int deleteMerch(Integer id);
}

View File

@ -99,10 +99,9 @@ public class MerchantConfigServiceImpl extends ServiceImpl<MerchantConfigMapper,
@Override
public int updateMerchStatus(MerchantConfig merchantConfig) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("is_use",1);
queryWrapper.eq("store_id",nowAccountInfo.getStoreId());
queryWrapper.eq("store_id",merchantConfig.getStoreId());
List<MerchantConfig> list = baseMapper.selectList(queryWrapper);
for (MerchantConfig config : list) {
config.setIsUse("0");
@ -135,13 +134,11 @@ public class MerchantConfigServiceImpl extends ServiceImpl<MerchantConfigMapper,
public int insertMerch(MerchantConfig merchantConfig) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
Integer storeId = nowAccountInfo.getStoreId();
Integer storeId = merchantConfig.getStoreId();
if (ObjectUtil.isEmpty(merchantConfig.getStoreId())) {
storeId = nowAccountInfo.getStoreId();
// AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
// if (ObjectUtil.isEmpty(merchantConfig.getStoreId())) {
merchantConfig.setStoreId(nowAccountInfo.getStoreId());
}
merchantConfig.setStoreId(storeId);
int row = 0;
if (merchantConfig.getMerchantName().equals("富友")){
merchantConfig.setInsCd(FuYouPublicMerchant.insCd);
@ -149,10 +146,11 @@ public class MerchantConfigServiceImpl extends ServiceImpl<MerchantConfigMapper,
merchantConfig.setPrivateKey(FuYouPublicMerchant.privateKey);
}else {
row = 0;
return row;
}
merchantConfig.setAppid(FuYouPublicMerchant.appid);
merchantConfig.setAlipayAppid(FuYouPublicMerchant.alipayAppid);
MerchantConfig merchantConfig1 = this.selectMeChByIdIsUse(nowAccountInfo.getStoreId());
MerchantConfig merchantConfig1 = this.selectMeChByIdIsUse(storeId);
if (ObjectUtil.isEmpty(merchantConfig1)){
merchantConfig.setIsUse("1");
}else {
@ -163,4 +161,9 @@ public class MerchantConfigServiceImpl extends ServiceImpl<MerchantConfigMapper,
row = baseMapper.insert(merchantConfig);
return row;
}
@Override
public int deleteMerch(Integer id) {
return baseMapper.deleteById(id);
}
}

View File

@ -43,6 +43,8 @@ import com.fuint.business.order.entity.OilBalanceChange;
import com.fuint.business.order.service.AllOrderInfoService;
import com.fuint.business.order.service.OilBalanceChangeService;
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.mapper.LJUserMapper;
import com.fuint.business.userManager.service.UserBalanceService;
@ -95,6 +97,8 @@ public class CardFuelRecordServiceImpl implements CardFuelRecordService {
private OilBalanceChangeService oilBalanceChangeService;
@Resource
private OilNameService oilNameService;
@Autowired
private ILJStoreService storeService;
/**
* 通过ID查询单条数据
*
@ -458,8 +462,10 @@ public class CardFuelRecordServiceImpl implements CardFuelRecordService {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
//订单信息
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());
//查询囤油卡信息

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

View File

@ -43,6 +43,8 @@ import com.fuint.business.order.entity.CardBalanceChange;
import com.fuint.business.order.entity.CashierOrder;
import com.fuint.business.order.service.AllOrderInfoService;
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.mapper.LJUserMapper;
import com.fuint.business.userManager.service.UserBalanceService;
@ -113,6 +115,8 @@ public class CardValueRecordServiceImpl extends ServiceImpl<CardValueRecordMappe
private CardFavorableRecordService cardFavorableRecordService;
@Resource
private CardExchangeRecordService cardExchangeRecordService;
@Autowired
private ILJStoreService storeService;
/**
* 储值卡充值新增
* @param cardValueRecordDTO
@ -126,8 +130,10 @@ public class CardValueRecordServiceImpl extends ServiceImpl<CardValueRecordMappe
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
//订单信息
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());
//查询储值卡信息

View File

@ -99,4 +99,40 @@ public class HangBillController extends BaseController {
HangBill hangBill = hangBillService.selectHangBillByOrderNo(orderNo);
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){
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
*/
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);
/**
* 根据userId和店铺id查询当前用户在此店铺加油的总金额
* @param userId
* @return
*/
Double sumOilOrderAmountByUserIdAndStoreId(@Param("userId") Integer userId,@Param("storeId") Integer StoreId);
/**
* 根据userid查询油品订单信息
* @param page

View File

@ -51,4 +51,14 @@
hb.store_id = #{storeId} and hb.status!=1
</where>
</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>

View File

@ -435,4 +435,10 @@
</where>
</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>

View File

@ -78,4 +78,28 @@ public interface HangBillService extends IService<HangBill> {
* @return
*/
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);
/**
* 根据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;
}
@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

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
public IPage<OilOrder> selectOilOrderByUserId(Page page, OilOrder order) {
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
@ -959,6 +965,9 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
// 修改油罐容量
Double storedQuantity = oilTank.getStoredQuantity();
if (ObjectUtil.isEmpty(storedQuantity) || storedQuantity - oilOrder.getOilNum() <=0){
throw new RuntimeException("油罐容量不足!");
}
oilTank.setStoredQuantity(storedQuantity-oilOrder.getOilNum());
oilTankService.update(oilTank);
}

View File

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

View File

@ -128,7 +128,9 @@ public class LJUserServiceImpl extends ServiceImpl<LJUserMapper, LJUser> impleme
*/
@Override
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
@ -397,9 +399,10 @@ public class LJUserServiceImpl extends ServiceImpl<LJUserMapper, LJUser> impleme
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)){
balance.setGradeId(userVo.getGradeId());
balance.setFixingLevel(userVo.getFixingLevel());

View File

@ -35,6 +35,8 @@ public class ShiroConfig {
filterMap.put("/clientApi/captcha/getCode","anon");
filterMap.put("/clientApi/sign/**","anon");
filterMap.put("/backendApi/login/loginByPhone","anon");
filterMap.put("/backendApi/login/getInfo","anon");
filterMap.put("/backendApi/login/logout","anon");
/*filterMap.put("/business/largeSscreen","anon");
filterMap.put("/business/largeSscreen/goods","anon");
filterMap.put("/business/largeSscreen/staff","anon");

View File

@ -60,3 +60,35 @@ export function editHangBill(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>
</div>
<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-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>
</el-card>
<!-- 挂账列表-->
@ -128,13 +143,13 @@
<span>{{ props.row.remark ? props.row.remark:"--" }}</span>
</el-form-item><br/>
<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 label="已还金额">
<span>{{ props.row.repaidAmount ? props.row.repaidAmount:"--" }}</span>
<span>{{ props.row.repaidAmount ? props.row.repaidAmount:"0" }}</span>
</el-form-item>
<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>
</template>
@ -647,8 +662,8 @@
import {
addHangBill,
batchHangBill,
editHangBill,
hangBillInfo,
editHangBill, hangBillAllAmount, hangBillAllNoReturnAmount, hangBillAllReturnAmount,
hangBillInfo, hangBillReturnTotal,
hangBills,
listHangBill,
queryHangBill
@ -661,6 +676,14 @@ import {listReturnRecord, returnRecordByOrderNo, returnRecordInfo} from "@/api/c
name: "credit",
data(){
return{
//
returnTotal:0,
//
allAmount:0,
//
returnAllAmount:0,
//
noReturnAllAmount:0,
//
amount:0,
//
@ -754,60 +777,6 @@ import {listReturnRecord, returnRecordByOrderNo, returnRecordInfo} from "@/api/c
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() {
@ -815,6 +784,7 @@ import {listReturnRecord, returnRecordByOrderNo, returnRecordInfo} from "@/api/c
this.getUnitList();
this.getPayList();
this.getLists();
this.getStatistic();
},
directives: {
// v-focus
@ -830,6 +800,21 @@ import {listReturnRecord, returnRecordByOrderNo, returnRecordInfo} from "@/api/c
},
},
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){
let name = "";
if (list!=null && list!=""){

View File

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

View File

@ -100,125 +100,75 @@
</el-form>
</el-card>
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>统计</span>
</div>
<div class="box-gang">
<div class="box" v-for="(item,index) in 7" :key="index">
<div class="size-hui">会员总数</div>
<div class="size-bole">55</div>
<el-card style="margin-top: 20px">
<div>统计</div>
<template>
<div>
<el-row :gutter="20">
<el-col :span="4">
<div class="sta">
<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>
</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>-->
<!-- </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-card class="box-card" style="margin-top: 20px">
<el-button
type="primary"
icon="el-icon-plus"
@ -230,7 +180,7 @@
<el-table-column label="会员ID" prop="id" align="center" width="60"/>
<el-table-column label="头像" align="center" width="70">
<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">
</template>
</el-table-column>
@ -377,7 +327,7 @@
placeholder="会员等级"
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-form-item>
</el-col>
@ -521,6 +471,7 @@
name: "vipList",
data(){
return{
baseUrl:process.env.VUE_APP_BASE_API,
//
officialList:[],
result:{},
@ -606,67 +557,13 @@
rules: {
name: [
{ 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" }],
mobile: [
{ 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() {
@ -674,6 +571,7 @@
this.getConfig();
this.getUserList();
this.getOfficial();
this.getStatistic();
},
methods:{
getOfficial(){
@ -717,8 +615,8 @@
// this.literCard = response.data.literCard;
// this.refuelMoney = response.data.refuelMoney;
});
listUserGrade().then( response => {
this.userGradeList = response.data.records
listUserGrade({page:1,pageSize:20}).then( response => {
this.userGradeList = response.data.records;
});
ljStoreList().then( response => {
this.storeList = response.data
@ -960,6 +858,11 @@
.top-app-sou{
width: 20%;
}
.sta{
height: 100px;
margin-top: 10px;
background: #f6f8f9;
padding-top: 30px;
}
</style>

View File

@ -1059,7 +1059,7 @@ export default {
//
secondCard(){
this.openSecondCard = true;
this.title = this.form.secondCard+'-副卡账户管理'
this.title = this.form.secondCard || ''+'-副卡账户管理'
},
//
bindIdCard(){

View File

@ -177,7 +177,7 @@
},
goRecharge(id, cardRecordId) {
uni.navigateTo({
url: '/pagesHome/oilRecharge/oilRecharge?id=0&cardFavorableId=' + id +
url: '/pages/refuel/refuel?id=0&cardFavorableId=' + id +
'&cardRecordId=' +
cardRecordId
})