Merge remote-tracking branch 'origin/main'

# Conflicts:
#	fuintBackend/fuint-application/src/main/java/com/fuint/business/order/controller/AllOrderInfoController.java
This commit is contained in:
sw 2024-11-14 09:07:54 +08:00
commit 6907e0b430
33 changed files with 263 additions and 131 deletions

View File

@ -278,7 +278,7 @@ import {getInstituionListApi3} from "../../../../api/allOrder";
.container{ .container{
background: #f4f5f9; background: #f4f5f9;
box-sizing: border-box; box-sizing: border-box;
padding-bottom: 8px; padding-bottom: 0px;
} }
.app-top{ .app-top{
width: 100%; width: 100%;

View File

@ -85,6 +85,7 @@ export default {
} }
.nbox{ .nbox{
margin-right: 30px; margin-right: 30px;
cursor: pointer;
} }
.fount-box{ .fount-box{
font-size: 14px; font-size: 14px;

View File

@ -1,6 +1,6 @@
<!-- 收银台订单--> <!-- 收银台订单-->
<template> <template>
<div style="box-sizing: border-box;padding: 10px; background: #f6f8f9;"> <div style="box-sizing: border-box;padding: 10px; background: #f6f8f9;padding-bottom: 0px">
<div class="bor_s" shadow="never"> <div class="bor_s" shadow="never">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
<el-form-item label="" prop="fleetName" style="width: 180px"> <el-form-item label="" prop="fleetName" style="width: 180px">
@ -477,7 +477,7 @@ export default {
.table-box { .table-box {
width: 100%; width: 100%;
height: 70vh; height: 73vh;
overflow: auto; overflow: auto;
scrollbar-width: none; scrollbar-width: none;
} }
@ -541,6 +541,5 @@ export default {
background: #fff; background: #fff;
box-sizing: border-box; box-sizing: border-box;
padding: 15px; padding: 15px;
height: 85vh;
} }
</style> </style>

View File

@ -302,7 +302,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<div style="margin: 50px 0;display: flex"> <div style="margin: 15px 0;display: flex">
<div style="font-weight: bold;margin-left: 10px">会员导入</div>
<el-upload <el-upload
class="upload-demo" class="upload-demo"
v-loading="uploading" v-loading="uploading"
@ -310,9 +311,9 @@
:headers="headers" :headers="headers"
:limit="1" :limit="1"
:on-change="handleChange" :on-change="handleChange"
style="margin-left: 50px;width: 200px" style="margin-left: 5px;width: 200px"
:file-list="fileList"> :file-list="fileList">
<div style="display: flex;margin-left: 20px"> <div style="display: flex;margin-left: 10px">
<div style="position: relative"> <div style="position: relative">
<img src="@/assets/images/scimg.png" style="width: 167px;height: 144px;"> <img src="@/assets/images/scimg.png" style="width: 167px;height: 144px;">
<div style=" width: 100%; position: absolute;left: 50%;transform: translate(-50%,50%);bottom: 36px"> <div style=" width: 100%; position: absolute;left: 50%;transform: translate(-50%,50%);bottom: 36px">
@ -320,19 +321,19 @@
</div> </div>
</div> </div>
</div> </div>
<!-- <el-button size="small" type="success" icon="el-icon-upload">点击上传</el-button>-->
</el-upload> </el-upload>
<div style="margin-top: 120px"> <div style="margin-top: 120px">
<!-- dev-api fuint-application--> <a style="margin-left: 10px;color: #00A1FF;"
<a style="margin-left: 50px;color: #00A1FF;"
href="/fuint-application/fleetMember/export"> 导入模板下载.xlsx </a> href="/fuint-application/fleetMember/export"> 导入模板下载.xlsx </a>
</div> </div>
</div>
</div>
<div style="color: grey;font-size: 12px;line-height: 20px"> <div style="color: grey;font-size: 12px;line-height: 20px">
只能上传xls/xlsx文件批量导入会员手机号单次最大支持5000个会员手机号认证请确保用户手机号已注册为油站会员(在会员列表已显示)否则无法添加成员信息 只能上传xls/xlsx文件批量导入会员手机号单次最大支持5000个会员手机号认证请确保用户手机号已注册为油站会员(在会员列表已显示)否则无法添加成员信息
</div> </div>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="cancelMembers"> </el-button> <el-button @click="cancelMembers"> </el-button>
@ -421,7 +422,6 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="total2>0" v-show="total2>0"
:total="total2" :total="total2"
@ -826,7 +826,7 @@ export default {
.table-boxs { .table-boxs {
width: 100%; width: 100%;
height: 74vh; height: 80vh;
overflow: auto; overflow: auto;
} }
@ -848,6 +848,6 @@ export default {
box-sizing: border-box; box-sizing: border-box;
padding: 15px; padding: 15px;
padding-bottom: 0px; padding-bottom: 0px;
height: 85vh;
} }
</style> </style>

View File

@ -386,6 +386,7 @@ export default
}, },
methods: { methods: {
sjkbStoreAmount(e) { sjkbStoreAmount(e) {
this.dataTimeShow = false
console.log(e) console.log(e)
this.sjkbTitle = e this.sjkbTitle = e
let command = e let command = e
@ -421,6 +422,7 @@ export default
this.$router.push('/notificationList/index') this.$router.push('/notificationList/index')
}, },
editShow(e) { editShow(e) {
this.showTimeShow = false
this.disabled = true this.disabled = true
console.log(e) console.log(e)
this.ypjyTitle = e this.ypjyTitle = e
@ -457,6 +459,7 @@ export default
this.getDataShow() this.getDataShow()
}, },
editCount(e) { editCount(e) {
this.countTimeShow = false
this.disabled = true this.disabled = true
this.sjtjTitle = e this.sjtjTitle = e
console.log("e", e) console.log("e", e)

View File

@ -3,8 +3,6 @@
<el-carousel height="230px"> <el-carousel height="230px">
<el-carousel-item v-for="(item,index) in bannerList" :key="index"> <el-carousel-item v-for="(item,index) in bannerList" :key="index">
<div class="bannser"> <div class="bannser">
<!-- <img src="../../assets/images/banner.png" alt="" >-->
<img :src="imagePath+item.productImage" alt="" > <img :src="imagePath+item.productImage" alt="" >
</div> </div>
</el-carousel-item> </el-carousel-item>

View File

@ -3,18 +3,15 @@
<div class="card-change"> <div class="card-change">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="" prop="legalRepresentativeContact"> <el-form-item label="" prop="legalRepresentativeContact">
<el-select <el-select
v-model="queryParams.orgId" v-model="queryParams.orgId"
clearable clearable
placeholder="所属机构" placeholder="所属机构"
> >
<el-option v-for="item in deptList" :key="item.deptId" :label="item.deptName" :value="item.deptId"> <el-option v-for="item in deptList" :key="item.deptId" :label="item.deptName" :value="item.deptId">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="" prop="legalRepresentativeContact"> <el-form-item label="" prop="legalRepresentativeContact">
<el-input <el-input
v-model="queryParams.legalRepresentativeContact" v-model="queryParams.legalRepresentativeContact"
@ -25,7 +22,6 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="" prop="legalRepresentativeContact"> <el-form-item label="" prop="legalRepresentativeContact">
<el-select v-model="queryParams.appStatus" placeholder="请选择小程序状态"> <el-select v-model="queryParams.appStatus" placeholder="请选择小程序状态">
<el-option label="停用" value="0" ></el-option> <el-option label="停用" value="0" ></el-option>
<el-option label="启用" value="1" ></el-option> <el-option label="启用" value="1" ></el-option>
@ -41,12 +37,7 @@
>新增小程序配置</el-button> >新增小程序配置</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<!-- </el-card>--> <div style="height: 73vh;overflow: auto">
<!-- &lt;!&ndash; 列表信息&ndash;&gt;-->
<!-- <el-card style="margin-top: 20px" >-->
<div style="height: 70vh;overflow: auto">
<el-table :data="tableData" style="width: 100%" border> <el-table :data="tableData" style="width: 100%" border>
<el-table-column type="index" label="序号"></el-table-column> <el-table-column type="index" label="序号"></el-table-column>
<el-table-column prop="orgName" label="机构名称"></el-table-column> <el-table-column prop="orgName" label="机构名称"></el-table-column>
@ -97,18 +88,8 @@
/> />
</div> </div>
<el-dialog :title="title" :close-on-click-modal="false" :visible.sync="open" width="35%" append-to-body> <el-dialog :title="title" :close-on-click-modal="false" :visible.sync="open" width="35%" append-to-body>
<!-- <el-form ref="form" :model="deviceInfo" label-width="80px">-->
<el-form :model="deviceInfo" ref="deviceForm" label-width="140px" :rules="rule"> <el-form :model="deviceInfo" ref="deviceForm" label-width="140px" :rules="rule">
<!-- <el-form-item label="机构名称" prop="orgName">-->
<!-- <el-input v-model="deviceInfo.orgName" style="width: 300px"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="机构名称" prop="orgName">-->
<!-- <el-input v-model="deviceInfo.orgName" style="width: 300px"></el-input>-->
<!-- </el-form-item>-->
<!-- -->
<el-form-item label="机构名称" prop="orgId" style="margin-left: -20px;"> <el-form-item label="机构名称" prop="orgId" style="margin-left: -20px;">
<el-select <el-select
v-model="deviceInfo.orgId" v-model="deviceInfo.orgId"
@ -119,7 +100,6 @@
<el-option v-for="item in deptList" :key="item.deptId" :label="item.deptName" :value="item.deptId"> <el-option v-for="item in deptList" :key="item.deptId" :label="item.deptName" :value="item.deptId">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="统一社会信用代码" prop="unifiedSocialCreditCode" style="margin-left: -20px;"> <el-form-item label="统一社会信用代码" prop="unifiedSocialCreditCode" style="margin-left: -20px;">
<el-input v-model="deviceInfo.unifiedSocialCreditCode" style="width: 100%;" placeholder="请输入统一社会信用代码"></el-input> <el-input v-model="deviceInfo.unifiedSocialCreditCode" style="width: 100%;" placeholder="请输入统一社会信用代码"></el-input>
@ -362,7 +342,9 @@ export default {
line-height: 60px; line-height: 60px;
} }
.app-container{ .app-container{
box-sizing: border-box;
padding: 10px;
padding-bottom: 0px;
} }
</style> </style>

View File

@ -29,7 +29,7 @@
</el-button> </el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div style="height: 74vh;overflow: auto"> <div style="height: 73vh;overflow: auto">
<el-table :data="tableData" style="width: 100%;" border> <el-table :data="tableData" style="width: 100%;" border>
<el-table-column type="index" label="序号"></el-table-column> <el-table-column type="index" label="序号"></el-table-column>
<el-table-column prop="bannerName" label="banner名称"></el-table-column> <el-table-column prop="bannerName" label="banner名称"></el-table-column>

View File

@ -3,13 +3,6 @@
<div class="card-change"> <div class="card-change">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="" prop="deptId"> <el-form-item label="" prop="deptId">
<!-- <el-input-->
<!-- v-model="queryParams.deptId"-->
<!-- placeholder="请选择机构名称"-->
<!-- clearable-->
<!-- style="width: 240px;"-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<el-select v-model="queryParams.deptId" placeholder="请选择机构名称" clearable> <el-select v-model="queryParams.deptId" placeholder="请选择机构名称" clearable>
<el-option <el-option
v-for="item in deptListSelect" v-for="item in deptListSelect"
@ -38,7 +31,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="" prop="status"> <el-form-item label="" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择支付通道状态" clearable style="width: 200px;margin-right: 15px;"> <el-select v-model="queryParams.status" placeholder="请选择支付通道状态" clearable >
<el-option <el-option
v-for="dict in dict.type.zhzt" v-for="dict in dict.type.zhzt"
:key="dict.value" :key="dict.value"
@ -57,11 +50,7 @@
>新增支付参数</el-button> >新增支付参数</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<!-- </el-card>--> <div style="height: 73vh;overflow: auto;scrollbar-width: none">
<!-- &lt;!&ndash; 列表信息&ndash;&gt;-->
<!-- <el-card style="margin-top: 20px" >-->
<div style="height: 70vh;overflow: auto">
<el-table :data="tableData" style="width: 100%"> <el-table :data="tableData" style="width: 100%">
<el-table-column type="index" label="序号"></el-table-column> <el-table-column type="index" label="序号"></el-table-column>
<el-table-column prop="deptName" label="机构名称"></el-table-column> <el-table-column prop="deptName" label="机构名称"></el-table-column>
@ -132,10 +121,8 @@
/> />
</div> </div>
<el-dialog :title="title" :close-on-click-modal="false" :visible.sync="open" width="30%" append-to-body> <el-dialog :title="title" :close-on-click-modal="false" :visible.sync="open" width="30%" append-to-body>
<el-form :model="deviceInfo" ref="deviceForm" label-width="120px" :rules="rules"> <el-form :model="deviceInfo" ref="deviceForm" label-width="120px" :rules="rules">
<el-form-item label="机构名称" prop="deptId" style="margin-left: -30px;" > <el-form-item label="机构名称" prop="deptId" style="margin-left: -30px;" >
<el-select v-model="deviceInfo.deptId" placeholder="请选择机构名称" @change="chooseDept(deviceInfo.deptId)" style="width: 100%"> <el-select v-model="deviceInfo.deptId" placeholder="请选择机构名称" @change="chooseDept(deviceInfo.deptId)" style="width: 100%">
<el-option <el-option
@ -164,12 +151,6 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- <el-form-item label="机构号" prop="" v-if="deviceInfo.paymentChannel!='富友'" style="margin-left: -30px;">
<el-input v-model="deviceInfo.insCd" style="width: 100%"></el-input>
</el-form-item>
<el-form-item label="机构号" prop="insCd" v-else style="margin-left: -30px;">
<el-input v-model="deviceInfo.insCd" style="width: 100%"></el-input>
</el-form-item> -->
<el-form-item label="公钥" prop="publicKey" style="margin-left: -30px;"> <el-form-item label="公钥" prop="publicKey" style="margin-left: -30px;">
<el-input v-model="deviceInfo.publicKey" placeholder="请输入支付通道的公钥" style="width: 100%"></el-input> <el-input v-model="deviceInfo.publicKey" placeholder="请输入支付通道的公钥" style="width: 100%"></el-input>
</el-form-item> </el-form-item>
@ -197,13 +178,9 @@
<el-button type="primary" @click="submitForm('deviceForm')">保存</el-button> <el-button type="primary" @click="submitForm('deviceForm')">保存</el-button>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import {deleteAppApi, getAppListApi, saveAppApi, updateAppApi} from "@/api/sys/app"; import {deleteAppApi, getAppListApi, saveAppApi, updateAppApi} from "@/api/sys/app";
import {selectChildByDeptId} from "@/api/system/Site/site"; import {selectChildByDeptId} from "@/api/system/Site/site";
import {addMerchantApi, editMerchantRemark, getMerchant, listMerchantPage} from "@/api/payConfig/merchantconfig"; import {addMerchantApi, editMerchantRemark, getMerchant, listMerchantPage} from "@/api/payConfig/merchantconfig";
@ -213,10 +190,8 @@ import {
getPaymentParameter, getPaymentParameter,
listPaymentParameterPage listPaymentParameterPage
} from "@/api/payConfig/paymentParameter"; } from "@/api/payConfig/paymentParameter";
export default { export default {
name: "printIndex", name: "printIndex",
dicts: ['zhzt','payment_channel'], dicts: ['zhzt','payment_channel'],
data() { data() {
return { return {
@ -232,7 +207,6 @@ export default {
status:"qy" status:"qy"
}, },
deptListSelect:[], deptListSelect:[],
// //
open: false, open: false,
title:"", title:"",
@ -289,7 +263,6 @@ export default {
}) })
}, },
getsSubmitDeviceInfo(){}, getsSubmitDeviceInfo(){},
submitForm(formName) { submitForm(formName) {
this.$refs[formName].validate(valid => { this.$refs[formName].validate(valid => {
if (valid) { if (valid) {
@ -360,9 +333,7 @@ export default {
this.deptListSelect = res.data this.deptListSelect = res.data
}) })
}, },
del(e) { del(e) {
this.$confirm('此操作将永久删除该支付参数, 是否继续?', '提示', { this.$confirm('此操作将永久删除该支付参数, 是否继续?', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
@ -377,16 +348,12 @@ export default {
this.getList() this.getList()
} }
}) })
}).catch(() => { }).catch(() => {
this.$message({ this.$message({
type: 'info', type: 'info',
message: '已取消删除' message: '已取消删除'
}); });
}); });
}, },
clean() { clean() {
this.deviceInfo= { this.deviceInfo= {
@ -418,6 +385,8 @@ export default {
} }
.app-container{ .app-container{
height: 100%; height: 100%;
box-sizing: border-box;
padding: 10px;
} }
.single-row { .single-row {
overflow: hidden; overflow: hidden;

View File

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.api.ApiController; import com.baomidou.mybatisplus.extension.api.ApiController;
import com.baomidou.mybatisplus.extension.api.R; import com.baomidou.mybatisplus.extension.api.R;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fuint.business.marketingActivity.cardCoupon.dto.CardCouponUserDto;
import com.fuint.business.marketingActivity.cardCoupon.entity.CardCouponUser; import com.fuint.business.marketingActivity.cardCoupon.entity.CardCouponUser;
import com.fuint.business.marketingActivity.cardCoupon.service.CardCouponUserService; import com.fuint.business.marketingActivity.cardCoupon.service.CardCouponUserService;
import com.fuint.business.marketingActivity.cardCoupon.vo.CardCouponUserVo; import com.fuint.business.marketingActivity.cardCoupon.vo.CardCouponUserVo;
@ -129,8 +130,8 @@ public class CardCouponUserController extends BaseController {
* 分页查询已核销记录列表 * 分页查询已核销记录列表
*/ */
@GetMapping("/selectVerifiedList") @GetMapping("/selectVerifiedList")
public ResponseObject selectVerifiedList(Page<CardCouponUser> page,CardCouponUser cardCouponUser) { public ResponseObject selectVerifiedList(Page<CardCouponUser> page, CardCouponUserDto cardCouponUserDto) {
return getSuccessResult(this.cardCouponUserService.selectVerifiedList(page, cardCouponUser)); return getSuccessResult(this.cardCouponUserService.selectVerifiedList(page, cardCouponUserDto));
} }
} }

View File

@ -0,0 +1,62 @@
package com.fuint.business.marketingActivity.cardCoupon.dto;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
@Data
public class CardCouponUserDto {
//主键id
@TableId(type = IdType.AUTO)
private Integer id;
//所属连锁店id
private Integer chainStoreId;
//所属店铺id
private Integer storeId;
//会员id
private Integer mtUserId;
//会员手机号码
private String mobile;
//来源类型 1储值卡2囤油卡 3消费有礼赠送4收银台赠送
private String fromType;
//活动id
private Integer activeId;
//优惠券id
private Integer cardCouponId;
//0未使用1已核销
private String status;
//使用时间
private Date useTime;
//订单总表all order 的主键
private Integer orderId;
//创建者
private String createBy;
//创建时间
private Date createTime;
//更新者
private String updateBy;
//更新时间
private Date updateTime;
//核销码
private String verificationCode;
/**
* 优惠券名称
*/
private String name;
/**
* 优惠券类型
*/
private String type;
@JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
private String begin;
@JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
private String end;
}

View File

@ -60,23 +60,5 @@ public class CardCouponUser extends Model<CardCouponUser> {
//核销码 //核销码
private String verificationCode; private String verificationCode;
/**
* 优惠券名称
*/
@Transient
private String name;
/**
* 优惠券类型
*/
@Transient
private String type;
@Transient
@JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
private String begin;
@Transient
@JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
private String end;
} }

View File

@ -3,6 +3,7 @@ package com.fuint.business.marketingActivity.cardCoupon.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fuint.business.marketingActivity.cardCoupon.dto.CardCouponUserDto;
import com.fuint.business.marketingActivity.cardCoupon.entity.CardCouponUser; import com.fuint.business.marketingActivity.cardCoupon.entity.CardCouponUser;
import com.fuint.business.marketingActivity.cardCoupon.vo.CardCouponUniVo; import com.fuint.business.marketingActivity.cardCoupon.vo.CardCouponUniVo;
import com.fuint.business.marketingActivity.cardCoupon.vo.CardCouponUserVo; import com.fuint.business.marketingActivity.cardCoupon.vo.CardCouponUserVo;
@ -51,7 +52,6 @@ public interface CardCouponUserMapper extends BaseMapper<CardCouponUser> {
CardCouponUserVo selectOneCardName(Integer id); CardCouponUserVo selectOneCardName(Integer id);
IPage<CardCouponUserVo> selectVerifiedList(Page<CardCouponUser> page, @Param("obj") CardCouponUserDto cardCouponUserDto);
IPage<CardCouponUserVo> selectVerifiedList(Page<CardCouponUser> page, @Param("obj")CardCouponUser cardCouponUser);
} }

View File

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.fuint.business.marketingActivity.activeApplet.entity.ActiveApplet; import com.fuint.business.marketingActivity.activeApplet.entity.ActiveApplet;
import com.fuint.business.marketingActivity.cardCoupon.dto.CardCouponUserDto;
import com.fuint.business.marketingActivity.cardCoupon.entity.CardCouponUser; import com.fuint.business.marketingActivity.cardCoupon.entity.CardCouponUser;
import com.fuint.business.marketingActivity.cardCoupon.vo.CardCouponUserVo; import com.fuint.business.marketingActivity.cardCoupon.vo.CardCouponUserVo;
import com.fuint.business.marketingActivity.cardCoupon.vo.CardCouponVO; import com.fuint.business.marketingActivity.cardCoupon.vo.CardCouponVO;
@ -70,6 +71,6 @@ public interface CardCouponUserService extends IService<CardCouponUser> {
List<Map<String, Object>> selectUserCardVerification(String str); List<Map<String, Object>> selectUserCardVerification(String str);
IPage<CardCouponUserVo> selectVerifiedList(Page<CardCouponUser> page, CardCouponUser cardCouponUser); IPage<CardCouponUserVo> selectVerifiedList(Page<CardCouponUser> page, CardCouponUserDto cardCouponUserDto);
} }

View File

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fuint.business.marketingActivity.cardCoupon.dto.CardCouponUserDto;
import com.fuint.business.marketingActivity.cardCoupon.entity.CardCoupon; import com.fuint.business.marketingActivity.cardCoupon.entity.CardCoupon;
import com.fuint.business.marketingActivity.cardCoupon.mapper.CardCouponUserMapper; import com.fuint.business.marketingActivity.cardCoupon.mapper.CardCouponUserMapper;
import com.fuint.business.marketingActivity.cardCoupon.entity.CardCouponUser; import com.fuint.business.marketingActivity.cardCoupon.entity.CardCouponUser;
@ -195,8 +196,8 @@ public class CardCouponUserServiceImpl extends ServiceImpl<CardCouponUserMapper,
} }
@Override @Override
public IPage<CardCouponUserVo> selectVerifiedList(Page<CardCouponUser> page, CardCouponUser cardCouponUser) { public IPage<CardCouponUserVo> selectVerifiedList(Page<CardCouponUser> page, CardCouponUserDto cardCouponUserDto) {
return cardCouponUserMapper.selectVerifiedList(page, cardCouponUser); return cardCouponUserMapper.selectVerifiedList(page, cardCouponUserDto);
} }
} }

View File

@ -2,7 +2,9 @@ package com.fuint.business.marketingActivity.cardFule.entity;
import java.util.Date; import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.fuint.repository.model.base.BaseEntity; import com.fuint.repository.model.base.BaseEntity;
import lombok.Data; import lombok.Data;
@ -19,6 +21,7 @@ public class CardFuelChange extends BaseEntity {
/** /**
* 主键id * 主键id
*/ */
@TableId(value = "ID", type = IdType.AUTO)
private Integer id; private Integer id;
/** /**
* 用户id * 用户id

View File

@ -273,7 +273,8 @@
FROM FROM
card_value_record card_value_record
<where> <where>
store_id = #{cardValueRecord.storeId} pay_status = 'paid'
and store_id = #{cardValueRecord.storeId}
<if test="cardValueRecord.mtStaffId != null and cardValueRecord.mtStaffId != ''"> <if test="cardValueRecord.mtStaffId != null and cardValueRecord.mtStaffId != ''">
and mt_staff_id = #{cardValueRecord.mtStaffId} and mt_staff_id = #{cardValueRecord.mtStaffId}
</if> </if>

View File

@ -113,4 +113,10 @@ public interface CardValueRecordService extends IService<CardValueRecord> {
* @return * @return
*/ */
List<CardValueRecord> getCardValueByCardValueId(CardValueConditionVo cardValueConditionVo); List<CardValueRecord> getCardValueByCardValueId(CardValueConditionVo cardValueConditionVo);
/**
* 会员充值总人数
* @param user
* @return
*/
Integer selectUserTotal1(LJUserVo user);
} }

View File

@ -524,9 +524,7 @@ public class CardValueRecordServiceImpl extends ServiceImpl<CardValueRecordMappe
cardValueRecordDTO.setPoints(Optional.ofNullable(selectCard.getPoints()).orElse(0)); cardValueRecordDTO.setPoints(Optional.ofNullable(selectCard.getPoints()).orElse(0));
//赠送优惠卷 //赠送优惠卷
if (CollectionUtil.isNotEmpty(selectCard.getCardCouponList())){ if (CollectionUtil.isNotEmpty(selectCard.getCardCouponList())){
cardValueRecordDTO.setCouponIds( cardValueRecordDTO.setCouponIds(selectCard.getCardCouponList().stream().map(CardCoupon::getId).collect(Collectors.toList()).toString());
ArrayUtil.join(selectCard.getCardCouponList().stream().map(CardCoupon::getId).collect(Collectors.toList()),",")
);
} }
//赠送成长值 //赠送成长值
cardValueRecordDTO.setGrowthValue(Optional.ofNullable(selectCard.getGrowthValue()).orElse(0)); cardValueRecordDTO.setGrowthValue(Optional.ofNullable(selectCard.getGrowthValue()).orElse(0));
@ -1395,5 +1393,27 @@ public class CardValueRecordServiceImpl extends ServiceImpl<CardValueRecordMappe
,cardValueConditionVo.getDataRange()[1]); ,cardValueConditionVo.getDataRange()[1]);
return list; return list;
} }
@Override
public Integer selectUserTotal1(LJUserVo user) {
List<LJUserVo> userList = ljUserMapper.findUserList(user);
List<Integer> userIds = new ArrayList<>();
for (LJUserVo userVo : userList) {
userIds.add(userVo.getId());
}
QueryWrapper queryWrapper = new QueryWrapper<>();
if (ObjectUtil.isNotEmpty(user.getParams())){
queryWrapper.apply(true,"create_time BETWEEN '" + user.getParams().get("beginTime") + "' and '" + user.getParams().get("endTime") + "'");
}
if (CollectionUtil.isNotEmpty(userIds)){
queryWrapper.eq("chain_store_id",user.getChainStoreId());
queryWrapper.in("mt_user_id",userIds);
queryWrapper.groupBy("mt_user_id");
List list = baseMapper.selectList(queryWrapper);
return list.size();
}
return 0;
}
} }

View File

@ -8,7 +8,9 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fuint.framework.entity.BaseEntity; import com.fuint.framework.entity.BaseEntity;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date; import java.util.Date;
@ -22,6 +24,8 @@ import java.util.List;
* @since 2023-11-07 15:10:07 * @since 2023-11-07 15:10:07
*/ */
@Data @Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("oil_order") @TableName("oil_order")
@ApiModel(value = "OilOrder对象", description = "油品订单表") @ApiModel(value = "OilOrder对象", description = "油品订单表")
public class OilOrder extends BaseEntity implements Serializable { public class OilOrder extends BaseEntity implements Serializable {

View File

@ -208,7 +208,8 @@
SELECT SELECT
count(*) numberOfProducts,-- 商品笔数 count(*) numberOfProducts,-- 商品笔数
sum( pay_amount ) theTotalAmount,-- 总金额 sum( amount ) theTotalAmount,-- 总金额
sum( pay_amount ) theTotalPayAmount,-- 实付总金额
sum( goods_num ) theTotalNumberOfUnits,-- 商品总数量 sum( goods_num ) theTotalNumberOfUnits,-- 商品总数量
sum( discount ) discountAmount,-- 优惠金额 sum( discount ) discountAmount,-- 优惠金额
sum( CASE WHEN pay_type = 'WECHAT' THEN pay_amount END ) AS wechat,-- 微信 sum( CASE WHEN pay_type = 'WECHAT' THEN pay_amount END ) AS wechat,-- 微信
@ -218,7 +219,8 @@
from mt_order from mt_order
<where> <where>
store_id = #{order.storeId} status = 'paid'
and store_id = #{order.storeId}
<if test="order.staffId != null and order.staffId != ''"> <if test="order.staffId != null and order.staffId != ''">
and staff_id = #{order.staffId} and staff_id = #{order.staffId}
</if> </if>

View File

@ -543,7 +543,9 @@
sum(CASE WHEN pay_type = 'WECHAT' THEN pay_amount END) AS wechat, sum(CASE WHEN pay_type = 'WECHAT' THEN pay_amount END) AS wechat,
sum(CASE WHEN pay_type = 'ALIPAY' THEN pay_amount END) AS alipay, sum(CASE WHEN pay_type = 'ALIPAY' THEN pay_amount END) AS alipay,
sum(CASE WHEN pay_type = 'CASH' THEN pay_amount END) AS cash, sum(CASE WHEN pay_type = 'CASH' THEN pay_amount END) AS cash,
sum( CASE WHEN pay_type = 'UNIONPAY' THEN pay_amount END ) AS UNIONPAY sum( CASE WHEN pay_type = 'UNIONPAY' THEN pay_amount END ) AS UNIONPAY,
sum( CASE WHEN pay_type = 'fule_card' THEN pay_amount END ) AS fuleCard,
sum( CASE WHEN pay_type = 'card_value' THEN pay_amount END ) AS cardValue
from oil_order from oil_order
<where> <where>
store_id = #{order.storeId} store_id = #{order.storeId}

View File

@ -67,8 +67,10 @@ import com.fuint.common.dto.AccountInfo;
import com.fuint.common.service.MemberService; import com.fuint.common.service.MemberService;
import com.fuint.common.service.StaffService; import com.fuint.common.service.StaffService;
import com.fuint.common.util.TokenUtil; import com.fuint.common.util.TokenUtil;
import com.fuint.repository.mapper.MtOrderMapper;
import com.fuint.repository.mapper.MtStaffMapper; import com.fuint.repository.mapper.MtStaffMapper;
import com.fuint.repository.mapper.MtUserMapper; import com.fuint.repository.mapper.MtUserMapper;
import com.fuint.repository.model.MtOrder;
import com.fuint.repository.model.MtStaff; import com.fuint.repository.model.MtStaff;
import com.fuint.repository.model.MtUser; import com.fuint.repository.model.MtUser;
import com.fuint.repository.model.TAccount; import com.fuint.repository.model.TAccount;
@ -139,6 +141,9 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
@Resource @Resource
private MtUserMapper mtUserMapper; private MtUserMapper mtUserMapper;
@Autowired
private MtOrderMapper mtOrderMapper;
@Override @Override
public Map<String, Object> orderStatistics(AllOrderInfoRes allOrderInfoRes) { public Map<String, Object> orderStatistics(AllOrderInfoRes allOrderInfoRes) {
return allOrderInfoMapper.orderStatistics(allOrderInfoRes, allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[0], return allOrderInfoMapper.orderStatistics(allOrderInfoRes, allOrderInfoRes.getDataRange() == null ? "" : allOrderInfoRes.getDataRange()[0],
@ -573,6 +578,10 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
cardCouponUserMapper.updateById(cardCouponUser); cardCouponUserMapper.updateById(cardCouponUser);
} }
MtOrder mtOrder = mtOrderMapper.selectByOrderNo(map.get("orderNo"));
if (ObjectUtil.isNotEmpty(mtOrder)) {
mtOrderMapper.updateStatusById(mtOrder.getId());
}
// 处理油品订单 // 处理油品订单
OilOrder oilOrder = new OilOrder(); OilOrder oilOrder = new OilOrder();
if (ObjectUtil.isNotEmpty(map.get("isOil")) && "true".equals(map.get("isOil"))) { if (ObjectUtil.isNotEmpty(map.get("isOil")) && "true".equals(map.get("isOil"))) {
@ -639,6 +648,8 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
AccountInfo now = TokenUtil.getNowAccountInfo(); AccountInfo now = TokenUtil.getNowAccountInfo();
// 参数 // 参数
String orderNo = map.get("orderNo"); String orderNo = map.get("orderNo");
AllOrderInfoVo allOrderInfo = allOrderInfoMapper.selectByOrderNo(orderNo);
String payType = allOrderInfo.getPayType();
// 1.根据 orderNo 查询 总订单表 收银台表 会员表 油品订单表 // 1.根据 orderNo 查询 总订单表 收银台表 会员表 油品订单表
AllOrderInfo allOrder = selectAllOrderInfoByOrderNo(orderNo); AllOrderInfo allOrder = selectAllOrderInfoByOrderNo(orderNo);
@ -652,7 +663,16 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
OilOrder oilOrder = null; OilOrder oilOrder = null;
if (ObjectUtil.isNotEmpty(cashierOrder.getOilOrderId())) { if (ObjectUtil.isNotEmpty(cashierOrder.getOilOrderId())) {
oilOrder = oilOrderMapper.selectById(cashierOrder.getOilOrderId()); oilOrder = oilOrderMapper.selectById(cashierOrder.getOilOrderId());
// 更新油品订单状态
oilOrder.setOrderStatus("refund");
oilOrderMapper.updateById(oilOrder);
} }
// 如果订单有商品
if (ObjectUtil.isNotEmpty(cashierOrder.getGoodsOrderId())) {
// 更新商品订单状态
mtOrderMapper.updateStatusById(cashierOrder.getGoodsOrderId());
}
// 3.如果支付类型 支付宝 微信 银联 则调用第三方支付接口 进行退款 // 3.如果支付类型 支付宝 微信 银联 则调用第三方支付接口 进行退款
if (allOrder.getPayType().equals("WECHAT") || allOrder.getPayType().equals("UNIONPAY") || allOrder.getPayType().equals("ALIPAY")) { if (allOrder.getPayType().equals("WECHAT") || allOrder.getPayType().equals("UNIONPAY") || allOrder.getPayType().equals("ALIPAY")) {
@ -714,11 +734,21 @@ public class AllOrderInfoServiceImpl extends ServiceImpl<AllOrderInfoMapper, All
fleetMemberMapper.updateById(fleetMember); fleetMemberMapper.updateById(fleetMember);
} }
if (orderNo.equals("card_value")) { if (payType.equals("card_value")) {
CardBalanceChange cardBalance = new CardBalanceChange();
cardBalance.setUserId(allOrder.getUserId());
cardBalance.setStoreId(allOrder.getStoreId());
cardBalance.setChangeType("1");
cardBalance.setFromType("退款返还");
cardBalance.setBalance(allOrder.getPayMoney());
cardBalance.setAfterTheChange(userBalance.getCardBalance() + allOrder.getPayMoney());
cardBalance.setOrderNo(allOrder.getOrderNo());
cardBalanceChangeMapper.insert(cardBalance);
QueryWrapper<CardBalanceChange> q6 = Wrappers.query(); QueryWrapper<CardBalanceChange> q6 = Wrappers.query();
q6.eq("order_no", cashierOrder.getOrderNo()); q6.eq("order_no", cashierOrder.getOrderNo());
q6.eq("change_type", "1");
CardBalanceChange cardBalanceChange = cardBalanceChangeMapper.selectOne(q6); CardBalanceChange cardBalanceChange = cardBalanceChangeMapper.selectOne(q6);
userBalance.setCardBalance(userBalance.getCardBalance() + cardBalanceChange.getBalance()); userBalance.setCardBalance(cardBalanceChange.getAfterTheChange());
userBalanceMapper.updateById(userBalance); userBalanceMapper.updateById(userBalance);
} }

View File

@ -578,10 +578,15 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
ljOrder.setUserId(userId); ljOrder.setUserId(userId);
ljOrder.setAmount(goodsAmount); ljOrder.setAmount(goodsAmount);
ljOrder.setPayAmount(goodsActualPay); ljOrder.setPayAmount(goodsActualPay);
ljOrder.setDiscount(goodsDiscount);
if (payUser.equals("散客")){
ljOrder.setAmount(goodsAmount);
ljOrder.setPayAmount(goodsAmount);
ljOrder.setDiscount(0.0);
}
ljOrder.setGoodsNum(Integer.valueOf(map.get("goodsNum"))); ljOrder.setGoodsNum(Integer.valueOf(map.get("goodsNum")));
ljOrder.setUsePoint(usePoint); ljOrder.setUsePoint(usePoint);
ljOrder.setPointAmount(pointAmount); ljOrder.setPointAmount(pointAmount);
ljOrder.setDiscount(goodsDiscount);
ljOrder.setStaffId(staffId); ljOrder.setStaffId(staffId);
ljOrder.setStatus(payStatus); ljOrder.setStatus(payStatus);
if (ObjectUtil.isNotEmpty(couponType) && couponType.equals("5")) ljOrder.setCouponUserId(couponUserId); if (ObjectUtil.isNotEmpty(couponType) && couponType.equals("5")) ljOrder.setCouponUserId(couponUserId);
@ -703,6 +708,12 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
cashierOrder.setTerminal(terminal); cashierOrder.setTerminal(terminal);
cashierOrder.setPayType(payType); cashierOrder.setPayType(payType);
cashierOrder.setAfterDiscountAmount(oilAmount + goodsAmount - oilDiscount - goodsDiscount); cashierOrder.setAfterDiscountAmount(oilAmount + goodsAmount - oilDiscount - goodsDiscount);
if (payUser.equals("散客")){
cashierOrder.setGoodsOrderAmount(goodsAmount);
cashierOrder.setGoodsPayAmount(goodsAmount);
cashierOrder.setGoodsDiscountAmount(0.0);
cashierOrder.setAfterDiscountAmount(goodsAmount);
}
// 如果金额不等于0调用第三方支付接口 // 如果金额不等于0调用第三方支付接口
if (!map.get("allAmount").equals("0") && !map.get("payType").equals("CASH") && !payType.equals("after_pay") if (!map.get("allAmount").equals("0") && !map.get("payType").equals("CASH") && !payType.equals("after_pay")

View File

@ -110,4 +110,6 @@ public interface LJUserMapper extends BaseMapper<LJUser> {
* @return * @return
*/ */
Integer selectUserCountByChainStoreId(@Param("chainStoreId") Integer chainStoreId); Integer selectUserCountByChainStoreId(@Param("chainStoreId") Integer chainStoreId);
List<LJUserVo> findUserList(@Param("user") LJUserVo user);
} }

View File

@ -418,4 +418,32 @@
mub.store_id = #{storeId} and mub.user_status = '0' mub.store_id = #{storeId} and mub.user_status = '0'
</where> </where>
</select> </select>
<select id="findUserList" resultType="com.fuint.business.userManager.vo.LJUserVo">
SELECT
mu.*
FROM
mt_user mu
LEFT JOIN mt_user_balance mub ON mu.id = mub.mt_user_id
<where>
<if test="user.userNo != null and user.userNo != ''">
and mu.user_no like concat('%', #{user.userNo}, '%')
</if>
<if test="user.gradeId != null and user.gradeId != ''">
and mub.grade_id = #{user.gradeId}
</if>
<if test="user.mobile != null and user.mobile != ''">
and mu.mobile like concat('%', #{user.mobile}, '%')
</if>
<if test="user.userStatus != null and user.userStatus != ''">
and mub.user_status = #{user.userStatus}
</if>
<if test="user.params.beginTime != null and user.params.beginTime != ''">
and mu.create_time &gt;= #{user.params.beginTime}
</if>
<if test="user.params.endTime != null and user.params.endTime != ''">
and mu.create_time &lt;= #{user.params.endTime}
</if>
</where>
</select>
</mapper> </mapper>

View File

@ -293,7 +293,7 @@ public class LJUserServiceImpl extends ServiceImpl<LJUserMapper, LJUser> impleme
// Integer yesterdayAddNum = baseMapper.selectCount(queryWrapper1); // Integer yesterdayAddNum = baseMapper.selectCount(queryWrapper1);
Integer yesterdayAddNum = userBalanceMapper.selectCount(queryWrapper1); Integer yesterdayAddNum = userBalanceMapper.selectCount(queryWrapper1);
Integer rechargeTotal = cardValueRecordService.selectUserTotal(user); Integer rechargeTotal = cardValueRecordService.selectUserTotal1(user);
map.put("balance",balance); map.put("balance",balance);
map.put("point",point); map.put("point",point);
// map.put("literCard",literCard); // map.put("literCard",literCard);

View File

@ -3,6 +3,8 @@ package com.fuint.repository.mapper;
import com.fuint.repository.model.MtOrder; import com.fuint.repository.model.MtOrder;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
@ -40,4 +42,8 @@ public interface MtOrderMapper extends BaseMapper<MtOrder> {
Integer getUserPayOrderCount(@Param("userId") Integer userId); Integer getUserPayOrderCount(@Param("userId") Integer userId);
void updateStatusById(@Param("id")Integer goodsOrderId);
@Select("select * from mt_order where order_no = #{orderNo}")
MtOrder selectByOrderNo(String orderNo);
} }

View File

@ -64,4 +64,10 @@
<select id="getUserPayOrderCount" resultType="java.lang.Integer"> <select id="getUserPayOrderCount" resultType="java.lang.Integer">
SELECT COUNT(DISTINCT t.ID) as num FROM mt_order t where t.USER_ID = #{userId} and t.PAY_STATUS='B' and t.STATUS != 'G' SELECT COUNT(DISTINCT t.ID) as num FROM mt_order t where t.USER_ID = #{userId} and t.PAY_STATUS='B' and t.STATUS != 'G'
</select> </select>
<update id="updateStatusById">
update mt_order
set status = 'refund'
where id = #{id}
</update>
</mapper> </mapper>

View File

@ -95,20 +95,20 @@
</div> </div>
<div class="box2"> <div class="box2">
<div style="font-size: 26px;color: #FA6400;font-weight: bold;margin-top: 5px"> <div style="font-size: 26px;color: #FA6400;font-weight: bold;margin-top: 5px">
{{ orderStatistics.s7 || 0 }}/{{ orderStatistics.s6 || 0 }} {{ orderStatistics.s6 || 0 }}
</div> </div>
<div class="size-hui"> <div class="size-hui">
<div style="width: 8px;height: 8px;border-radius: 4px;background: #FA6400"></div> <div style="width: 8px;height: 8px;border-radius: 4px;background: #FA6400"></div>
<div style="font-weight: bold;font-size: 13px;margin-left: 5px">油品订单/实付总金额</div> <div style="font-weight: bold;font-size: 13px;margin-left: 5px">油品订单实付总金额</div>
</div> </div>
</div> </div>
<div class="box2"> <div class="box2">
<div style="font-size: 26px;color: #FE59E5;font-weight: bold;margin-top: 5px"> <div style="font-size: 26px;color: #FE59E5;font-weight: bold;margin-top: 5px">
{{ orderStatistics.s9 || 0 }}/{{ orderStatistics.s8 || 0 }} {{ orderStatistics.s8 || 0 }}
</div> </div>
<div class="size-hui"> <div class="size-hui">
<div style="width: 8px;height: 8px;border-radius: 4px;background: #FE59E5"></div> <div style="width: 8px;height: 8px;border-radius: 4px;background: #FE59E5"></div>
<div style="font-weight: bold;font-size: 13px;margin-left: 5px">商品订单/实付总金额</div> <div style="font-weight: bold;font-size: 13px;margin-left: 5px">商品订单实付总金额</div>
</div> </div>
</div> </div>

View File

@ -51,14 +51,23 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="" prop="payUser">
<el-form-item prop="status">
<el-select v-model="queryParams.status" placeholder="请选择订单状态" clearable>
<el-option label="支付成功" value="paid" />
<el-option label="退款成功" value="refund" />
<el-option label="支付失败" value="unpaid" />
</el-select>
</el-form-item>
<!-- <el-form-item label="" prop="payUser">
<el-input <el-input
v-model="queryParams.payUser" v-model="queryParams.payUser"
placeholder="请输入付款用户" placeholder="请输入付款用户"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item> -->
<el-form-item label=""> <el-form-item label="">
<el-date-picker <el-date-picker
v-model="beginTime" v-model="beginTime"
@ -99,7 +108,7 @@
</div> </div>
<div class="box2"> <div class="box2">
<div class="x_size" style="font-size: 26px;color: #00CAFF;font-weight: bold;margin-top: 5px"> <div class="x_size" style="font-size: 26px;color: #00CAFF;font-weight: bold;margin-top: 5px">
{{ orderStatistics.theTotalAmount || 0 }} {{ orderStatistics.theTotalPayAmount || 0 }}
</div> </div>
<div class="size-hui"> <div class="size-hui">
<div style="width: 8px;height: 8px;border-radius: 4px;background: #00CAFF"></div> <div style="width: 8px;height: 8px;border-radius: 4px;background: #00CAFF"></div>
@ -175,9 +184,9 @@
</el-table-column> </el-table-column>
<el-table-column label="订单状态" align="center" prop="payType"> <el-table-column label="订单状态" align="center" prop="payType">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag v-if="scope.row.status == 'unpaid'">支付</el-tag> <el-tag v-if="scope.row.status == 'unpaid'">支付失败</el-tag>
<el-tag type="success" v-else-if="scope.row.status == 'paid'">支付</el-tag> <el-tag type="success" v-else-if="scope.row.status == 'paid'">支付成功</el-tag>
<el-tag type="danger" v-else-if="scope.row.status === 'refund'">退款</el-tag> <el-tag type="danger" v-else-if="scope.row.status === 'refund'">退款成功</el-tag>
<el-tag type="danger" v-else>支付失败</el-tag> <el-tag type="danger" v-else>支付失败</el-tag>
</template> </template>
</el-table-column> </el-table-column>
@ -388,6 +397,10 @@ export default {
queryParams: { queryParams: {
page: 1, page: 1,
pageSize: 10, pageSize: 10,
orderNo: '',
terminal: '',
payType: '',
status: ''
}, },
orderGoods: '', orderGoods: '',
// //

View File

@ -159,7 +159,7 @@
</div> </div>
<div class="box2"> <div class="box2">
<div style="font-size: 26px;color: #FE59E5;font-weight: bold;margin-top: 5px"> <div style="font-size: 26px;color: #FE59E5;font-weight: bold;margin-top: 5px">
{{ orderStatistics.wechat || 0 }}/{{ orderStatistics.alipay || 0 }} {{ orderStatistics.cardValue || 0 }}/{{ orderStatistics.fuleCard || 0 }}
</div> </div>
<div class="size-hui"> <div class="size-hui">
<div style="width: 8px;height: 8px;border-radius: 4px;background: #FE59E5"></div> <div style="width: 8px;height: 8px;border-radius: 4px;background: #FE59E5"></div>
@ -218,10 +218,9 @@
</el-table-column> </el-table-column>
<el-table-column prop="orderStatus" label="订单状态" align="center" > <el-table-column prop="orderStatus" label="订单状态" align="center" >
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag v-if="scope.row.orderStatus === 'unpaid'">未支付</el-tag> <el-tag type="success" v-if="scope.row.orderStatus === 'paid'">支付成功</el-tag>
<el-tag type="success" v-else-if="scope.row.orderStatus === 'paid'">已支付</el-tag> <el-tag type="danger" v-else-if="scope.row.orderStatus === 'refund'">退款成功</el-tag>
<el-tag type="danger" v-else-if="scope.row.orderStatus === 'refund'">已退款</el-tag> <el-tag v-else>支付失败</el-tag>
<el-tag type="danger" v-else>支付失败</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column prop="orderType" label="订单类型" align="center"></el-table-column>--> <!-- <el-table-column prop="orderType" label="订单类型" align="center"></el-table-column>-->

View File

@ -71,7 +71,7 @@
<div class="box-gang"> <div class="box-gang">
<div class="box2"> <div class="box2">
<div style="font-size: 26px;color: #0DC291;font-weight: bold;margin-top: 5px"> <div style="font-size: 26px;color: #0DC291;font-weight: bold;margin-top: 5px">
{{ orderStatistics.totalAmountReceived || 0 }}/{{ orderStatistics.numberOfTopUps || 0 }} {{ orderStatistics.theTotalAmountOfTopUp || 0 }}/{{ orderStatistics.numberOfTopUps || 0 }}
</div> </div>
<div class="size-hui"> <div class="size-hui">
<div style="width: 8px;height: 8px;border-radius: 4px;background: #0DC291"></div> <div style="width: 8px;height: 8px;border-radius: 4px;background: #0DC291"></div>
@ -80,7 +80,7 @@
</div> </div>
<div class="box2"> <div class="box2">
<div style="font-size: 26px;color: #00CAFF;font-weight: bold;margin-top: 5px"> <div style="font-size: 26px;color: #00CAFF;font-weight: bold;margin-top: 5px">
{{ orderStatistics.theTotalAmountOfTopUp || 0 }} {{ orderStatistics.totalAmountReceived || 0 }}
</div> </div>
<div class="size-hui"> <div class="size-hui">
<div style="width: 8px;height: 8px;border-radius: 4px;background: #00CAFF"></div> <div style="width: 8px;height: 8px;border-radius: 4px;background: #00CAFF"></div>
@ -146,7 +146,7 @@
<el-table-column prop="mobile" label="手机号" align="center"></el-table-column> <el-table-column prop="mobile" label="手机号" align="center"></el-table-column>
<el-table-column prop="rechargeBalance" label="充值金额(元)" align="center"></el-table-column> <el-table-column prop="rechargeBalance" label="充值金额(元)" align="center"></el-table-column>
<el-table-column prop="giftBalance" label="赠送金额(元)" align="center"></el-table-column> <el-table-column prop="giftBalance" label="赠送金额(元)" align="center"></el-table-column>
<el-table-column prop="giftBalance" label="会员总余额(元)" align="center"> <el-table-column prop="giftBalance" label="到账余额(元)" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.rechargeBalance + scope.row.giftBalance }}</span> <span>{{ scope.row.rechargeBalance + scope.row.giftBalance }}</span>
</template> </template>