From 4e34319c9d3f57bd20e12e45e8ecbae8e0435591 Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Sun, 04 Jun 2023 00:28:04 +0800
Subject: [PATCH] fix
---
src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java | 14 +++++--
src/main/java/cc/mrbird/febs/mall/entity/MallBonusRecord.java | 2 +
src/main/java/cc/mrbird/febs/mall/service/impl/SystemServiceImpl.java | 39 +++++++++++++++++++
src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java | 2 +
src/main/resources/templates/febs/views/modules/system/bonusSetting.html | 59 ++++++++++++++++++++++++++++-
5 files changed, 109 insertions(+), 7 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java
index 053e4d1..d824cdd 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java
@@ -6,6 +6,7 @@
import cc.mrbird.febs.mall.dto.*;
import cc.mrbird.febs.mall.entity.DataDictionaryCustom;
import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper;
+import cc.mrbird.febs.mall.mapper.MallSystemSettingMapper;
import cc.mrbird.febs.mall.service.ICommonService;
import cc.mrbird.febs.mall.service.IMemberProfitService;
import cc.mrbird.febs.mall.service.ISystemService;
@@ -14,12 +15,11 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
+import java.util.Arrays;
+import java.util.Collections;
import java.util.Map;
@Slf4j
@@ -40,6 +40,7 @@
private final AgentProducer agentProducer;
private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
+ private final MallSystemSettingMapper mallSystemSettingMapper;
@PostMapping(value = "/bonusSystemSetting")
public FebsResponse bonusSystemSetting(@RequestBody Map<String, Object> map) {
@@ -200,4 +201,9 @@
agentProducer.sendForceVoucherSaleMsg(scorePriceDic.getValue());
return new FebsResponse().success();
}
+
+ @GetMapping(value = "/bonusSetting")
+ public FebsResponse bonusSetting() {
+ return new FebsResponse().success().data(Collections.singletonList(mallSystemSettingMapper.selectById(1L)));
+ }
}
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallBonusRecord.java b/src/main/java/cc/mrbird/febs/mall/entity/MallBonusRecord.java
index e651261..7a341cf 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/MallBonusRecord.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallBonusRecord.java
@@ -24,4 +24,6 @@
private Long orderItemId;
private Date createTime;
+
+ private String comment;
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java
index 49f1683..8ef511c 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java
@@ -465,6 +465,8 @@
}
changeSystemBonus(totalBonus, null, null);
+
+ bonusRecord(totalBonus, 1, null, null);
log.info("###全网分红执行--end--###");
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/SystemServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/SystemServiceImpl.java
index c702346..dbef327 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/SystemServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/SystemServiceImpl.java
@@ -1,15 +1,25 @@
package cc.mrbird.febs.mall.service.impl;
+import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.mall.dto.CashOutSettingDto;
import cc.mrbird.febs.mall.entity.DataDictionaryCustom;
+import cc.mrbird.febs.mall.entity.MallBonusRecord;
+import cc.mrbird.febs.mall.entity.MallSystemSetting;
import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper;
+import cc.mrbird.febs.mall.mapper.MallBonusRecordMapper;
+import cc.mrbird.febs.mall.mapper.MallSystemSettingMapper;
import cc.mrbird.febs.mall.service.ICommonService;
import cc.mrbird.febs.mall.service.ISystemService;
+import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import java.math.BigDecimal;
+import java.util.Date;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
@@ -25,12 +35,41 @@
private final DataDictionaryCustomMapper dictionaryCustomMapper;
private final ICommonService commonService;
+ private final MallSystemSettingMapper mallSystemSettingMapper;
+ private final MallBonusRecordMapper mallBonusRecordMapper;
@Override
+ @Transactional(rollbackFor = Exception.class)
public void bonusSystemSetting(Map<String, Object> map) {
for (Map.Entry<String, Object> entry : map.entrySet()) {
if (entry.getValue() instanceof String) {
dictionaryCustomMapper.updateDicValueByTypeAndCode(null, entry.getKey(), (String) entry.getValue());
+ } else if (entry.getValue() instanceof LinkedHashMap) {
+ LinkedHashMap<String, Object> bonusSettingMap = (LinkedHashMap<String, Object>) entry.getValue();
+ LambdaQueryWrapper<MallSystemSetting> update = new LambdaQueryWrapper<>();
+ update.eq(MallSystemSetting::getId, bonusSettingMap.get("id"))
+ .eq(MallSystemSetting::getRevision, bonusSettingMap.get("revision"));
+
+ MallSystemSetting old = mallSystemSettingMapper.selectById(1L);
+ MallSystemSetting setting = new MallSystemSetting();
+ setting.setRevision((Integer) bonusSettingMap.get("revision") + 1);
+ setting.setId(Long.parseLong(bonusSettingMap.get("id").toString()));
+ setting.setAllBonus(new BigDecimal(bonusSettingMap.get("allBonus").toString()));
+ setting.setAgentBonus(new BigDecimal(bonusSettingMap.get("agentBonus").toString()));
+ setting.setPartnerBonus(new BigDecimal(bonusSettingMap.get("partnerBonus").toString()));
+ int i = mallSystemSettingMapper.update(setting, update);
+ if (i == 0) {
+ throw new FebsException("请刷新页面");
+ }
+
+ if (old.getAllBonus().compareTo(setting.getAllBonus()) != 0 || old.getAgentBonus().compareTo(setting.getAgentBonus()) != 0 || old.getPartnerBonus().compareTo(setting.getPartnerBonus()) != 0) {
+ MallBonusRecord record = new MallBonusRecord();
+ record.setAmount(BigDecimal.ZERO);
+ record.setType(999);
+ record.setComment(JSONObject.toJSONString(old) + "-" + JSONObject.toJSONString(setting));
+ record.setCreateTime(new Date());
+ mallBonusRecordMapper.insert(record);
+ }
} else {
List<LinkedHashMap<String, Object>> value = (List<LinkedHashMap<String, Object>>) entry.getValue();
diff --git a/src/main/resources/templates/febs/views/modules/system/bonusSetting.html b/src/main/resources/templates/febs/views/modules/system/bonusSetting.html
index e8d67b3..5f2a88b 100644
--- a/src/main/resources/templates/febs/views/modules/system/bonusSetting.html
+++ b/src/main/resources/templates/febs/views/modules/system/bonusSetting.html
@@ -74,6 +74,9 @@
</div>
<div class="layui-word-aux" style="margin-left: 150px;"></div>
</div>
+ <div class="layui-tab-item layui-show">
+ <table id="bonusPool" lay-filter="bonusPool"></table>
+ </div>
</div>
<div class="layui-card-footer">
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="bonus-setting-form-submit" id="submit">保存</button>
@@ -102,9 +105,11 @@
form = layui.form,
table = layui.table,
validate = layui.validate,
- $view = $('#bonus-setting')
+ bonusPool
+ , $view = $('#bonus-setting')
, laytpl = layui.laytpl
- , agentBonusArr;
+ , agentBonusArr
+ , bonusPoolArr;
form.verify(validate);
form.render();
@@ -117,6 +122,18 @@
]]
,data: []
});
+
+
+ table.render({
+ elem: '#bonusPool'
+ ,cols: [[ //表头
+ {field: 'allBonus', title: '全网分红', edit:'text'}
+ ,{field: 'agentBonus', title: '代理分红', edit:'text'}
+ ,{field: 'partnerBonus', title: '股东分红', edit:'text'}
+ ]]
+ ,data: []
+ });
+
table.on('edit(agentBonus)', function(obj){
var value = obj.value //得到修改后的值
,data = obj.data //得到所在行所有键值
@@ -131,6 +148,38 @@
}
}
});
+
+ table.on('edit(bonusPool)', function(obj){
+ var value = obj.value //得到修改后的值
+ ,data = obj.data //得到所在行所有键值
+ ,field = obj.field; //得到字段
+
+ for (let i = 0; i < bonusPoolArr.length; i++) {
+ if (bonusPoolArr[i].id === data.id) {
+ var valueData = {};
+ valueData.allBonus = data.allBonus;
+ valueData.agentBonus = data.agentBonus;
+ valueData.partnerBonus = data.partnerBonus;
+ valueData.revision = data.revision;
+ valueData.id = data.id;
+ bonusPoolArr[i] = valueData;
+ }
+ }
+ });
+
+ getBonusSetting();
+ function getBonusSetting() {
+ $.get(ctx + 'admin/system/bonusSetting', function (r) {
+ if (r.code === 200) {
+ var data = r.data;
+ bonusPoolArr = data;
+ bonusPool =data;
+ table.reload('bonusPool', {
+ data : data
+ });
+ }
+ });
+ }
dicDataReq("DIRECT_BONUS_SETTING");
dicDataReq("MEIYE_BONUS_TYPE");
@@ -151,7 +200,6 @@
if ("MEIYE_BONUS_TYPE" == type) {
var bonusType = {};
- console.log(1111);
for (let i = 0; i < data.length; i++) {
bonusType[data[i].code] = data[i].value;
}
@@ -164,6 +212,7 @@
form.on('submit(bonus-setting-form-submit)', function (data) {
data.field.agentBonus = agentBonusArr;
+ data.field.bonusPool = bonusPoolArr[0];
$.ajax({
'url':ctx + 'admin/system/bonusSystemSetting',
'type':'post',
@@ -173,13 +222,17 @@
'data':JSON.stringify(data.field),
'success':function (data) {
if (data.code == 200) {
+ getBonusSetting();
febs.alert.success(data.message);
+ } else {
+ febs.alert.warn(data.message);
}
},
'error':function () {
febs.alert.warn('服务器繁忙');
}
})
+
return false;
});
});
--
Gitblit v1.9.1