This commit is contained in:
cun-nan 2024-01-13 11:53:00 +08:00
parent 7a5a1dcddb
commit 94b0dacae7
10 changed files with 274 additions and 239 deletions

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

@ -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

@ -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

@ -438,7 +438,7 @@
<select id="sumOilOrderAmountByUserIdAndStoreId" resultType="double">
select sum(order_amount) from oil_order
<where>
user_id = #{userId} and store_id = #{storeId}
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

@ -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

@ -399,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

@ -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

@ -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"
@ -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>
@ -607,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() {
@ -675,6 +571,7 @@
this.getConfig();
this.getUserList();
this.getOfficial();
this.getStatistic();
},
methods:{
getOfficial(){
@ -718,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
@ -961,6 +858,11 @@
.top-app-sou{
width: 20%;
}
.sta{
height: 100px;
margin-top: 10px;
background: #f6f8f9;
padding-top: 30px;
}
</style>