数据库设计

This commit is contained in:
13405411873 2024-09-17 16:51:52 +08:00
parent d158529d79
commit c2f8720cbb
5 changed files with 135 additions and 46 deletions

View File

@ -57,11 +57,11 @@ export function deletedelById(id) {
}) })
} }
export function cardValueRule() { export function cardValueRule(data) {
return request({ return request({
url: 'cardValueRule/nowRule', url: 'cardValueRule/nowRule',
method: 'get', method: 'get',
params: data
}) })
} }
export function saveOrUpdate(data) { export function saveOrUpdate(data) {

View File

@ -437,10 +437,10 @@
</el-dialog> </el-dialog>
<!-- 规则--> <!-- 规则-->
<el-dialog title="新增储值卡规则" :visible.sync="Crule"> <el-dialog title="编辑储值卡规则" :visible.sync="Crule">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm" :label-position="labelPosition"> <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm" :label-position="labelPosition">
<el-form-item label="名称" prop="name"> <el-form-item label="名称" prop="name">
<el-input v-model="ruleForm.name"></el-input> <el-input disabled v-model="ruleForm.name"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="权益说明" prop="desc"> <el-form-item label="权益说明" prop="desc">
<el-input type="textarea" v-model="ruleForm.qyDetail"></el-input> <el-input type="textarea" v-model="ruleForm.qyDetail"></el-input>
@ -484,33 +484,6 @@
</div> </div>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="有效期" prop="timeLimit">
<div class="d-s" style="cursor: pointer">
<div class="d-s" @click="ruleForm.timeLimit = 1">
<img src="../../../assets/images/wx.png" v-if="ruleForm.timeLimit != 1" style="width: 20px;height: 20px;">
<img src="../../../assets/images/xz.png" v-if="ruleForm.timeLimit == 1" style="width: 20px;height: 20px;">
<div>不限</div>
</div>
<div class="d-s" @click="ruleForm.timeLimit = 2">
<img src="../../../assets/images/wx.png" v-if="ruleForm.timeLimit != 2" style="width: 20px;height: 20px;">
<img src="../../../assets/images/xz.png" v-if="ruleForm.timeLimit == 2" style="width: 20px;height: 20px;">
<div>自定义</div>
<el-date-picker
v-if="ruleForm.timeLimit == 2"
style="margin: 0 10px"
v-model="ruleForm.effectiveDateStart"
type="date"
placeholder="开始日期">
</el-date-picker>
<el-date-picker
v-if="ruleForm.timeLimit == 2"
v-model="ruleForm.effectiveDateEnd"
type="date"
placeholder="结束日期">
</el-date-picker>
</div>
</div>
</el-form-item>
<el-form-item> <el-form-item>
@ -708,10 +681,10 @@ import {
methods:{ methods:{
addCrule(){ addCrule(){
this.Crule =! this.Crule this.Crule =! this.Crule
cardValueRule().then(res=>{ cardValueRule({type:'0'}).then(res=>{
this.ruleForm = res.data this.ruleForm = res.data
this.ruleForm.oilNumber = res.data.oilNumber.split(',') this.ruleForm.oilNumber = res.data.oilNumber.split(',')
console.log(this.ruleForm,'1231232')
}) })
oilNumberList1().then(res=>{ oilNumberList1().then(res=>{
console.log(res) console.log(res)
@ -723,9 +696,10 @@ import {
if (valid) { if (valid) {
this.ruleForm.oilNumber = this.ruleForm.oilNumber.join(',') this.ruleForm.oilNumber = this.ruleForm.oilNumber.join(',')
saveOrUpdate(this.ruleForm).then(res=>{ saveOrUpdate(this.ruleForm).then(res=>{
console.log(res)
if(res.code == 200){ if(res.code == 200){
this.$message.success('添加成功') this.$message.success('成功')
this.Crule = false
} }
}) })
} else { } else {
@ -736,6 +710,7 @@ import {
}, },
resetForm(formName) { resetForm(formName) {
this.$refs[formName].resetFields(); this.$refs[formName].resetFields();
this.Crule = false
}, },
// //
getlistExchange(){ getlistExchange(){

View File

@ -45,7 +45,7 @@
<div style="display: flex;justify-content: space-between;box-sizing: border-box;align-items: center;padding: 1px"> <div style="display: flex;justify-content: space-between;box-sizing: border-box;align-items: center;padding: 1px">
<div class="left-c">新型加油卡以储油为特色让车主提前锁定油价享受便捷灵活的加油体验</div> <div class="left-c">新型加油卡以储油为特色让车主提前锁定油价享受便捷灵活的加油体验</div>
<div> <div>
<el-button type="primary" @click="addCrule()" >编辑囤油卡规则</el-button>
<el-button type="primary" style="margin-bottom: 10px " @click="addoilBlock()">新增囤油卡活动</el-button> <el-button type="primary" style="margin-bottom: 10px " @click="addoilBlock()">新增囤油卡活动</el-button>
</div> </div>
@ -231,6 +231,26 @@
/> />
</div> </div>
</el-drawer> </el-drawer>
<!-- 规则-->
<el-dialog title="编辑囤油卡规则" :visible.sync="Crule">
<el-form :model="oilForm" :rules="ruleInfo" ref="oilForm" label-width="100px" class="demo-ruleForm" :label-position="labelPosition">
<el-form-item label="名称" prop="name">
<el-input disabled v-model="oilForm.name"></el-input>
</el-form-item>
<el-form-item label="权益说明" prop="desc">
<el-input type="textarea" v-model="oilForm.qyDetail"></el-input>
</el-form-item>
<el-form-item label="规则说明" prop="desc">
<el-input type="textarea" v-model="oilForm.gzDetail"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForms('oilForm')">保存</el-button>
<el-button @click="resetForm('oilForm')">取消</el-button>
</el-form-item>
</el-form>
</el-dialog>
<el-dialog <el-dialog
title="囤油卡操作" title="囤油卡操作"
:visible.sync="centerDialogVisible" :visible.sync="centerDialogVisible"
@ -329,12 +349,14 @@
<script> <script>
import { getList,oilName,addList,eitList,getById,getoilnum,getstatistics,deleteById,cardFuleOrders} from "@/api/EventMarketing/oilBlock"; import { getList,oilName,addList,eitList,getById,getoilnum,getstatistics,deleteById,cardFuleOrders} from "@/api/EventMarketing/oilBlock";
import {cardValueRecordList, deletedelById} from "@/api/EventMarketing/SaveBlock"; import {cardValueRecordList, cardValueRule, deletedelById, saveOrUpdate} from "@/api/EventMarketing/SaveBlock";
import {oilNumberList1} from "@/api/order/oilnumgun";
export default { export default {
dicts: ['oil_type'], dicts: ['oil_type'],
name: 'index', name: 'index',
data(){ data(){
return{ return{
Crule:false,
gbPrice:null, gbPrice:null,
oilPrice:null, oilPrice:null,
tjlist:[], tjlist:[],
@ -347,7 +369,64 @@
total:0, total:0,
pageNo:1, pageNo:1,
pageSize:10, pageSize:10,
oilForm:{},
ruleInfo: {
participationNo: [
{ required: true, message: '不能为空', trigger: 'blur' },
],
activeName: [
{ required: true, message: '不能为空', trigger: 'blur' },
],
refuelMoney: [
{ required: true, message: '不能为空', trigger: 'blur' },
],
growthValue: [
{ required: true, message: '不能为空', trigger: 'blur' },
],
points: [
{ required: true, message: '不能为空', trigger: 'blur' },
],
giftBalance: [
{ required: true, message: '不能为空', trigger: 'blur' },
],
membershipLevel:[
{ required: true, message: '不能为空', trigger: 'blur' },
],
rechargeBalance: [
{ required: true, message: '不能为空', trigger: 'blur' },
],
groupOriented: [
{ required: true, message: '不能为空', trigger: 'blur' },
],
sort: [
{ required: true, message: '不能为空', trigger: 'blur' },
],
employeeCommission: [
{ required: true, message: '不能为空', trigger: 'blur' },
],
royaltyType: [
{ required: true, message: '不能为空', trigger: 'blur' },
],
resource: [
{ required: true, message: '不能为空', trigger: 'blur' },
],
activeTime: [
{ required: true, message: '不能为空', trigger: 'blur' },
],
activeStatus: [
{ required: true, message: '不能为空', trigger: 'blur' },
],
paymentValue: [
{ required: true, message: '不能为空', trigger: 'blur' },
],
amountCommission: [
{ required: true, message: '不能为空', trigger: 'blur' },
],
percentageCommissions: [
{ required: true, message: '不能为空', trigger: 'blur' },
],
},
options:[ options:[
{ {
value: '0', value: '0',
@ -469,6 +548,31 @@
}, },
methods:{ methods:{
submitForms(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
saveOrUpdate(this.oilForm).then(res=>{
if(res.code == 200){
this.$message.success('成功')
this.Crule = false
}
})
} else {
return false;
}
});
},
resetForm(formName) {
this.$refs[formName].resetFields();
this.Crule = false
},
addCrule(){
this.Crule =! this.Crule
cardValueRule({type:'1'}).then(res=>{
this.oilForm = res.data
})
},
lookorder(){ lookorder(){
this.orderShow = !this.orderShow this.orderShow = !this.orderShow
this.RecordList() this.RecordList()

View File

@ -12,6 +12,7 @@ import com.fuint.business.marketingActivity.cardValueRule.service.CardValueRuleS
import com.fuint.common.util.TokenUtil; import com.fuint.common.util.TokenUtil;
import com.fuint.framework.web.BaseController; import com.fuint.framework.web.BaseController;
import com.fuint.framework.web.ResponseObject; import com.fuint.framework.web.ResponseObject;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -54,10 +55,21 @@ public class CardValueRuleController extends BaseController {
* @return 单条数据 * @return 单条数据
*/ */
@GetMapping("/nowRule") @GetMapping("/nowRule")
public ResponseObject selectOne() { public ResponseObject selectOne(String type) {
LambdaQueryWrapper<CardValueRule> queryWrapper =new LambdaQueryWrapper<CardValueRule>(); LambdaQueryWrapper<CardValueRule> queryWrapper =new LambdaQueryWrapper<CardValueRule>();
queryWrapper.eq(CardValueRule::getStoreId, TokenUtil.getNowAccountInfo().getStoreId()).last("limit 1"); queryWrapper.eq(CardValueRule::getStoreId, TokenUtil.getNowAccountInfo().getStoreId())
return getSuccessResult(Optional.ofNullable(this.cardValueRuleService.getOne(queryWrapper)).orElse(new CardValueRule())); .eq(CardValueRule::getType,type).last("limit 1");
CardValueRule one = this.cardValueRuleService.getOne(queryWrapper);
if (ObjectUtils.isEmpty(one)){
one =new CardValueRule();
one.setType(type);
}
if (type.equals("0")){
one.setName("储值卡");
}else {
one.setName("囤油卡");
}
return getSuccessResult(one);
} }
/** /**

View File

@ -26,6 +26,8 @@ public class CardValueRule extends Model<CardValueRule> {
private Integer storeId; private Integer storeId;
//名称 //名称
private String name; private String name;
//0储值卡1囤油卡
private String type;
//权益说明 //权益说明
private String qyDetail; private String qyDetail;
//规则说明 //规则说明
@ -38,12 +40,8 @@ public class CardValueRule extends Model<CardValueRule> {
private String productLimit; private String productLimit;
//商品id //商品id
private String productIds; private String productIds;
//1不限制2自定义 有效期
private String timeLimit;
//生效开始时间
private Date effectiveDateStart;
//生效结束时间
private Date effectiveDateEnd;
//创建者 //创建者
private String createBy; private String createBy;
//创建时间 //创建时间