This commit is contained in:
wangh 2024-03-06 13:25:53 +08:00
commit 98265a97ba
18 changed files with 135 additions and 73 deletions

View File

@ -9,6 +9,14 @@ export function listExchange(query) {
})
}
// 查询兑换券列表
export function exchangeInfo(id) {
return request({
url: 'business/marketingActivity/cardExchange/'+id,
method: 'get',
})
}
// 查询兑换券详细
export function getExchange(id) {
return request({

View File

@ -11,12 +11,12 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="状态">
<el-select v-model="queryParams.status" clearable placeholder="请选择活动状态">
<el-option label="启用" value="0"></el-option>
<el-option label="禁用" value="1"></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="状态">-->
<!-- <el-select v-model="queryParams.status" clearable placeholder="请选择活动状态">-->
<!-- <el-option label="启用" value="0"></el-option>-->
<!-- <el-option label="禁用" value="1"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="上线/下线">
<el-select v-model="queryParams.isonline" clearable placeholder="请选择是否上线">
<el-option label="上线" value="0"></el-option>
@ -99,8 +99,8 @@
<el-table-column label="活动状态" align="center" prop="status" >
<template slot-scope="scope">
<span style="cursor: pointer;" @click="qiyong(scope.row)" v-if="scope.row.status == 0"> <el-tag>启用</el-tag > </span>
<span style="cursor: pointer;" @click="jinyong(scope.row)" v-if="scope.row.status == 1"> <el-tag type="danger">禁用</el-tag> </span>
<span style="cursor: pointer;" @click="qiyong(scope.row)" v-if="scope.row.status == 0"> <el-tag>上线</el-tag > </span>
<span style="cursor: pointer;" @click="jinyong(scope.row)" v-if="scope.row.status == 1"> <el-tag type="danger">已下线</el-tag> </span>
</template>
</el-table-column>

View File

@ -10,12 +10,12 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="状态">
<el-select v-model="queryParams.status" clearable placeholder="请选择活动状态">
<el-option label="启用" value="0"></el-option>
<el-option label="禁用" value="1"></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="状态">-->
<!-- <el-select v-model="queryParams.status" clearable placeholder="请选择活动状态">-->
<!-- <el-option label="启用" value="0"></el-option>-->
<!-- <el-option label="禁用" value="1"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="是否在线" prop="isonline">
<el-select v-model="queryParams.isonline" clearable placeholder="请选择是否在线">
<el-option label="在线" value="0"></el-option>
@ -81,8 +81,8 @@
<el-table-column label="活动状态 " align="center" prop="status" >
<template slot-scope="scope">
<span style="cursor: pointer;" @click="qiyong(scope.row)" v-if="scope.row.status == 0"> <el-tag>启用</el-tag > </span>
<span style="cursor: pointer;" @click="jinyong(scope.row)" v-if="scope.row.status == 1"> <el-tag type="danger">禁用</el-tag> </span>
<span style="cursor: pointer;" @click="qiyong(scope.row)" v-if="scope.row.status == 0"> <el-tag>在线</el-tag > </span>
<span style="cursor: pointer;" @click="jinyong(scope.row)" v-if="scope.row.status == 1"> <el-tag type="danger">下线</el-tag> </span>
</template>
</el-table-column>
<el-table-column label="活动时间" align="center" prop="adaptUserType" >

View File

@ -10,12 +10,12 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="状态">
<el-select v-model="queryParams.status" clearable placeholder="请选择活动状态">
<el-option label="启用" value="0"></el-option>
<el-option label="禁用" value="1"></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="状态">-->
<!-- <el-select v-model="queryParams.status" clearable placeholder="请选择活动状态">-->
<!-- <el-option label="启用" value="0"></el-option>-->
<!-- <el-option label="禁用" value="1"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="是否在线" prop="isonline">
<el-select v-model="queryParams.isonline" clearable placeholder="请选择是否在线">
<el-option label="在线" value="0"></el-option>
@ -73,8 +73,8 @@
</el-table-column>
<el-table-column label="活动状态 " align="center" prop="status" >
<template slot-scope="scope">
<span style="cursor: pointer;" @click="qiyong(scope.row)" v-if="scope.row.status == 0"> <el-tag>启用</el-tag > </span>
<span style="cursor: pointer;" @click="jinyong(scope.row)" v-if="scope.row.status == 1"> <el-tag type="danger">禁用</el-tag> </span>
<span style="cursor: pointer;" @click="qiyong(scope.row)" v-if="scope.row.status == 0"> <el-tag>在线</el-tag > </span>
<span style="cursor: pointer;" @click="jinyong(scope.row)" v-if="scope.row.status == 1"> <el-tag type="danger">下线</el-tag> </span>
</template>
</el-table-column>
<el-table-column label="活动时间" align="center" prop="adaptUserType" >

View File

@ -17,12 +17,12 @@
<el-option label="下线" value="1"></el-option>
</el-select>
</el-form-item>
<el-form-item label="" prop="status">
<el-select clearable v-model="queryParams.status" placeholder="兑换券状态">
<el-option label="启用" value="0"></el-option>
<el-option label="禁用" value="1"></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="" prop="status">-->
<!-- <el-select clearable v-model="queryParams.status" placeholder="兑换券状态">-->
<!-- <el-option label="启用" value="0"></el-option>-->
<!-- <el-option label="禁用" value="1"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="" prop="type">
<el-select clearable v-model="queryParams.type" placeholder="兑换券类型">
<el-option label="商品兑换券" value="0"></el-option>
@ -83,12 +83,12 @@
</template>
</el-table-column>
<el-table-column label="使用说明" align="center" prop="useInstructions"/>
<el-table-column label="二维码链接" align="center" prop="qrCodeLink">
<template slot-scope="scope">
<i class="el-icon-picture" style="size: 20px;cursor: pointer" @click="qrcodelook(scope.row.qrCodeLink)"></i>
<!-- <span>{{ scope.row.qrCodeLink }}</span>-->
</template>
</el-table-column>
<!-- <el-table-column label="二维码链接" align="center" prop="qrCodeLink">-->
<!-- <template slot-scope="scope">-->
<!-- <i class="el-icon-picture" style="size: 20px;cursor: pointer" @click="qrcodelook(scope.row.qrCodeLink)"></i>-->
<!-- &lt;!&ndash; <span>{{ scope.row.qrCodeLink }}</span>&ndash;&gt;-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="参与次数" align="center" prop="count"/>-->
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
@ -225,7 +225,7 @@ import {
delExchange,
addExchange,
updateExchange,
getqueryGoods
getqueryGoods, exchangeInfo
} from '@/api/EventMarketing/cardExchange'
export default {
@ -395,7 +395,10 @@ export default {
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()
this.form = row
exchangeInfo(row.id).then(res => {
this.form = res.data
})
// this.form = row
this.open = true
this.title = '修改兑换券'
},
@ -427,6 +430,7 @@ export default {
updateExchange(data).then(res => {
if (res.code == 200) {
this.$message.success('下线成功')
this.getList()
}
})
},

View File

@ -109,8 +109,8 @@
</el-table-column>-->
<el-table-column label="优惠券状态" align="center" prop="status" >
<template slot-scope="scope">
<div v-if="scope.row.status == 0"> <el-tag>启用</el-tag> </div>
<div v-if="scope.row.status == 1"> <el-tag type="danger">禁用</el-tag> </div>
<div v-if="scope.row.isonline == 1"> <el-tag>上线</el-tag> </div>
<div v-if="scope.row.isonline == 0"> <el-tag type="danger">下线</el-tag> </div>
</template>
</el-table-column>

View File

@ -11,7 +11,7 @@
:value="item.cardAmount">
</el-option>
</el-select>
<el-select v-model="queryParams.activateStatus" style="margin-right: 10px" placeholder="请选择">
<el-select v-model="queryParams.activateStatus" clearable style="margin-right: 10px" placeholder="请选择激活状态">
<el-option
v-for="item in option"
:key="item.value"
@ -19,7 +19,7 @@
:value="item.value">
</el-option>
</el-select>
<el-select v-model="queryParams.status" style="margin-right: 10px" placeholder="请选择">
<el-select v-model="queryParams.sailStatus" clearable style="margin-right: 10px" placeholder="请选择出售状态">
<el-option
v-for="item in options"
:key="item.value"
@ -201,14 +201,14 @@
</el-table-column>
<el-table-column
prop="status"
label="礼品卡状态"
label="礼品卡激活状态"
>
<template slot-scope="scope">
<el-switch
v-model="scope.row.status"
:active-value="'1'"
:inactive-value="'2'"
v-model="scope.row.activateStatus"
:active-value="'0'"
:inactive-value="'1'"
active-color="#409EFF"
inactive-color="#909399"
@change="posteid(scope.row)"
@ -338,7 +338,7 @@ import {
queryParams: {
number:'',
remark:'',
activateStatus:'',
activateStatus:null,
status:'',
pageNo:1,
pageSize:10
@ -349,28 +349,20 @@ import {
pageNo:1,
pageSize:10,
option: [
{
value: '',
label: '全部'
},
{
value: '1',
label: '已使用'
label: '已激活'
}, {
value: '0',
label: '未激活'
},],
options: [
{
value: '',
label: '全部'
},
{
value: '1',
label: '正常'
label: '已售'
}, {
value: '2',
label: '禁用'
value: '0',
label: '未售'
},],
value: '',
tjdata:{},
@ -417,7 +409,6 @@ import {
mounted() {
this.getlist()
this.gettj()
},
methods:{
getwysk(row){

View File

@ -45,7 +45,7 @@
<el-card style="margin-bottom: 20px">
<el-button type="primary" icon="el-icon-plus" style="margin-bottom: 10px " @click="addoilBlock()">新增囤油卡</el-button>
<el-button type="primary" icon="el-icon-plus" style="margin-bottom: 10px " @click="addoilBlock()">新增电子囤油卡</el-button>
<el-alert
title="当前配置为锁价活动、锁价活动为充值后所得升数进行锁定,卡类型下每个油品最多可创建6个锁价充值活动"
type="info"
@ -59,6 +59,12 @@
type="index"
>
</el-table-column>
<el-table-column
prop="type"
label="油品信息"
>
</el-table-column>
<el-table-column
prop="lockupPrice"
label="囤油锁定价(元)/L"
@ -430,6 +436,8 @@
},
addoilBlock(){
this.gbPrice = null,
this.oilPrice=null,
this.ruleForm = {
type:this.queryParams.type,
lockupPrice: 0 ,

View File

@ -3,6 +3,7 @@ package com.fuint.business.marketingActivity.activeConsumption.dto;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fuint.business.marketingActivity.activeConsumption.entity.ActiveConsumptionChild;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@ -15,6 +16,7 @@ import java.util.List;
* @since 2023-11-10 10:44:58
*/
@SuppressWarnings("serial")
@Data
public class ActiveConsumptionDTO extends Model<ActiveConsumptionDTO> {
//主键id
private Integer id;
@ -22,6 +24,8 @@ public class ActiveConsumptionDTO extends Model<ActiveConsumptionDTO> {
private Integer chainStoreId;
//所属店铺id
private Integer storeId;
//满足金额类型 1订单金额 2实付金额
private String moneyType;
//活动名称
private String name;
//满足金额

View File

@ -26,6 +26,8 @@ public class ActiveConsumptionVO extends Model<ActiveConsumptionVO> {
private Integer storeId;
//活动名称
private String name;
//满足金额类型 1订单金额 2实付金额
private String moneyType;
//满足金额
private String participationConditionMoney;
//活动开始时间

View File

@ -5,8 +5,16 @@ import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fuint.business.marketingActivity.cardGift.entity.CardGift;
import com.fuint.business.marketingActivity.cardGift.service.CardGiftService;
import com.fuint.business.member.entity.LJStaff;
import com.fuint.business.member.service.ILJStaffService;
import com.fuint.business.userManager.entity.LJUser;
import com.fuint.business.userManager.service.LJUserService;
import com.fuint.common.dto.AccountInfo;
import com.fuint.common.util.TokenUtil;
import com.fuint.framework.web.BaseController;
import com.fuint.framework.web.ResponseObject;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@ -36,6 +44,9 @@ public class CardGiftController extends BaseController {
@Resource
private CardGiftService cardGiftService;
@Resource
private ILJStaffService ljStaffService;
/**
* 分页查询所有数据
* @param pageNo
@ -97,6 +108,11 @@ public class CardGiftController extends BaseController {
@PutMapping
public ResponseObject update(@RequestBody CardGift cardGift) {
cardGift.setSailTime(new Date());
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
LJStaff ljStaff = ljStaffService.selectStaffById(nowAccountInfo.getStoreId());
if (ObjectUtils.isNotEmpty(ljStaff) && StringUtils.isNotEmpty(ljStaff.getRealName())){
cardGift.setCreateBy(ljStaff.getRealName());
}
return getSuccessResult(this.cardGiftService.updateById(cardGift));
}

View File

@ -10,10 +10,13 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fuint.business.marketingActivity.cardGift.mapper.CardGiftMapper;
import com.fuint.business.marketingActivity.cardGift.entity.CardGift;
import com.fuint.business.marketingActivity.cardGift.service.CardGiftService;
import com.fuint.business.member.entity.LJStaff;
import com.fuint.business.member.service.ILJStaffService;
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.LJUser;
import com.fuint.business.userManager.entity.UserBalance;
import com.fuint.business.userManager.listener.EasyExcelListener;
import com.fuint.business.userManager.mapper.LJUserMapper;
@ -57,6 +60,8 @@ public class CardGiftServiceImpl extends ServiceImpl<CardGiftMapper, CardGift> i
private UserBalanceService userBalanceService;
@Resource
private LJUserService ljUserService;
@Resource
private ILJStaffService ljStaffService;
/**
* 新增数据
@ -264,6 +269,10 @@ public class CardGiftServiceImpl extends ServiceImpl<CardGiftMapper, CardGift> i
for (int i = 0; i < list.size(); i++) {
CardGift cardGift = (CardGift) list.get(i);
cardGift.setStoreId(nowAccountInfo.getStoreId());
LJStaff ljStaff = ljStaffService.selectStaffById(nowAccountInfo.getStoreId());
if (ObjectUtils.isNotEmpty(ljStaff) && StringUtils.isNotEmpty(ljStaff.getRealName())){
cardGift.setCreateBy(ljStaff.getRealName());
}
//去重
LambdaQueryWrapper<CardGift> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(CardGift::getNumber,cardGift.getNumber());

View File

@ -823,7 +823,7 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
cashierOrder.setPayType(map.get("payType"));
cashierOrderService.insertCashierOrder(cashierOrder);
this.insertAllOrderInfo(orderNo, storeId, oilAmount, oilAmount, map.get("payType"), userId, "PC", "1", status);
staffCommissionService.countStaffCommission(Integer.valueOf(map.get("staffId")),storeId,oilAmount,oilAmount,"1",orderNo);
if (ObjectUtil.isNotEmpty(map.get("staffId"))) staffCommissionService.countStaffCommission(Integer.valueOf(map.get("staffId")),storeId,oilAmount,oilAmount,"1",orderNo);
res.put("success","success");
}
}
@ -889,7 +889,7 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
cashierOrderService.insertCashierOrder(cashierOrder);
this.updateGrowthValue1(oilAmount,oilAmount,userId, Integer.valueOf(oilOrder.getOils()),0.0,storeId,orderNo);
this.insertAllOrderInfo(orderNo,accountInfo.getStoreId(),oilAmount,oilAmount,map.get("payType"),userId,"PC","1","paid");
staffCommissionService.countStaffCommission(Integer.valueOf(map.get("staffId")),storeId,oilAmount,oilAmount,"1",orderNo);
if (ObjectUtil.isNotEmpty(map.get("staffId"))) staffCommissionService.countStaffCommission(Integer.valueOf(map.get("staffId")),storeId,oilAmount,oilAmount,"1",orderNo);
// this.insertCardBalance(oilAmount,userId,storeId);
res.put("success","success");
}else {
@ -1205,7 +1205,7 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
this.insertCardOrder(oilOrder.getUserId(),oilOrder.getStoreId(),orderNo,oilOrder.getOrderAmount(),"paid", Double.valueOf(balanceAmount),payAmount);
this.insertAllOrderInfo(orderNo,oilOrder.getStoreId(),oilOrder.getOrderAmount(),payAmount,oilOrder.getPayType(),oilOrder.getUserId(),"applet","1","paid");
this.insertCardBalance(Double.valueOf(balanceAmount),userId,oilOrder.getStoreId(),orderNo);
staffCommissionService.countStaffCommission(oilOrder.getStaffId(),oilOrder.getStoreId(),oilOrder.getOrderAmount(),oilOrder.getOrderAmount(),"1",orderNo);
if (ObjectUtil.isNotEmpty(oilOrder.getStaffId())) staffCommissionService.countStaffCommission(oilOrder.getStaffId(),oilOrder.getStoreId(),oilOrder.getOrderAmount(),oilOrder.getOrderAmount(),"1",orderNo);
oilOrder.setPayAmount(payAmount);
oilOrder.setDiscountAmount(Double.valueOf(discountAmount));
oilOrder.setPayTime(new Date());
@ -1294,7 +1294,7 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
this.addOilTracks(oilOrder,oilOrder.getStoreId());
this.updateCardAndActiveById(oilOrder.getStoreId(),oilOrder.getUserId(),oilOrder.getActiveId(),oilOrder.getCouponId(),oilOrder.getActiveType(),oilOrder.getOrderAmount(), Integer.valueOf(oilOrder.getOils()));
this.insertCardBalance(oilOrder.getOrderAmount()-oilOrder.getDiscountAmount()-oilOrder.getPayAmount(),userId,oilOrder.getStoreId(),orderNo);
staffCommissionService.countStaffCommission(oilOrder.getStaffId(),oilOrder.getStoreId(),oilOrder.getOrderAmount(),oilOrder.getPayAmount(),"1",orderNo);
if (ObjectUtil.isNotEmpty(oilOrder.getStaffId())) staffCommissionService.countStaffCommission(oilOrder.getStaffId(),oilOrder.getStoreId(),oilOrder.getOrderAmount(),oilOrder.getPayAmount(),"1",orderNo);
}
row = baseMapper.updateById(oilOrder);
}

View File

@ -6,11 +6,11 @@ module.exports = {
// baseUrl: 'http://www.nuoyunr.com/lananRsc/',
// baseUrl: 'http://192.168.0.121:8080/',
baseUrl: 'http://192.168.0.178:8008/',
baseUrl: 'http://192.168.0.196:8081/',
imagesUrl: 'http://192.168.0.196:8081',
// baseUrl: 'http://192.168.1.5:8002/cdJdc',
imagesUrl: 'http://www.nuoyunr.com/lananRsc',
// imagesUrl: 'http://www.nuoyunr.com/lananRsc',
// 应用信息
appInfo: {
// 应用名称

View File

@ -9,7 +9,7 @@
<view class="my-icons"></view>
</view>
<!-- 顶部区域 -->
<view class="tap-box">
<view class="tap-box" v-if="actinput == 0">
<view class="box-tap" :class="{ 'act' :types == index }" v-for="(item,index) in taplist" :key="index"
@click="getindex(index)">
<view class="title">{{item.title}}</view>

View File

@ -76,10 +76,10 @@
text: "全部"
},
{
text: "储值卡"
text: "电子储值卡"
},
{
text: "囤油卡"
text: "电子囤油卡"
},
]

View File

@ -25,7 +25,7 @@
</view>
<view class="dis-fx">
<view class="hui-size">加油员工</view>
<view class="">{{oilOrder.realName}}</view>
<view class="">{{oilOrder.realName || "--"}}</view>
</view>
<view class="dis-fx">
<view class="hui-size">油号油枪</view>
@ -69,6 +69,14 @@
<view class="hui-size">优惠券优惠</view>
<view class="">{{cardFavorable.discountAmount || oilOrder.discountAmount}}</view>
</view>
<view class="dis-fx" v-if="AppToken && oilOrder.cardFavorableId && oilOrder.discountAmount>0 && (oilOrder.discountAmount - cardFavorable.discountAmount)>0">
<view class="hui-size">会员等级优惠</view>
<view class="">{{cardFavorable.discountAmount ? (oilOrder.discountAmount - cardFavorable.discountAmount) : oilOrder.discountAmount}}</view>
</view>
<view class="dis-fx" v-if="AppToken && oilOrder.cardFavorableId && oilOrder.activeId && (oilOrder.discountAmount - fullOrDiscount.deductionAmount)>0">
<view class="hui-size">会员等级优惠</view>
<view class="">{{fullOrDiscount.deductionAmount ? (oilOrder.discountAmount - fullOrDiscount.deductionAmount) : oilOrder.discountAmount}}</view>
</view>
<view class="dis-fx" v-if="AppToken && oilOrder.discountAmount>0">
<view class="hui-size">优惠合计金额</view>

View File

@ -9,7 +9,7 @@
</view>
<!-- 顶部区域 -->
<view class="top-box">
<view style="font-size: 18px; font-weight: bold;">11月20号</view>
<view style="font-size: 18px; font-weight: bold;">{{getTime()}}</view>
<view style="font-size: 14px;">对比上次价格波动</view>
<view class="tupian"></view>
</view>
@ -65,6 +65,18 @@
},
methods: {
//
getTime(){
let date = new Date();
let y = date.getFullYear() + "-";
let mon = ((date.getMonth() + 1 < 10) ? ('0' + (+date.getMonth() + 1)) : (+date.getMonth() + 1)) + "月";
let d = ((date.getDate() < 10) ? ('0' + date.getDate()) : date.getDate()) + "号";
let h = ((date.getHours() < 10) ? ('0' + date.getHours()) : date.getHours()) + ":";
let m = ((date.getMinutes() < 10) ? ('0' + date.getMinutes()) : date.getMinutes()) + ":";
let s = ((date.getSeconds() < 10) ? ('0' + date.getSeconds()) : date.getSeconds());
// return new Date(y , mon , d , h , m , s);
return mon+d;
},
//
getTodayOilPriceList() {
let params = {