From d0871f4f1ce14c6b74ef8378fd41067cdd213b1a Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 08 Apr 2024 00:26:09 +0800
Subject: [PATCH] fix
---
src/main/resources/templates/febs/views/modules/system/vipCenterSetting.html | 151 +++++++++++++++++++++++++++++++++++++
src/main/java/cc/mrbird/febs/vip/controller/ApiMallVipConfigController.java | 8 ++
src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java | 8 +
src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java | 5 +
src/main/java/cc/mrbird/febs/vip/service/IMallVipBenefitsService.java | 4 +
src/main/java/cc/mrbird/febs/vip/service/impl/MallVipBenefitsServiceImpl.java | 28 ++++++
6 files changed, 200 insertions(+), 4 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
index 34088f0..e0f0806 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
@@ -7,6 +7,7 @@
import cc.mrbird.febs.mall.entity.MallMemberPayment;
import cc.mrbird.febs.mall.service.*;
import cc.mrbird.febs.mall.vo.*;
+import cc.mrbird.febs.vip.service.IMallVipBenefitsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
@@ -17,6 +18,7 @@
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
+import java.util.Map;
/**
* @author wzy
@@ -33,6 +35,7 @@
private final IMallMemberWithdrawService mallMemberWithdrawService;
private final IApiMallMemberWalletService walletService;
private final IApiMallAgentService iApiMallAgentService;
+ private final IMallVipBenefitsService mallVipBenefitsService;
/**
* 小程序接收用户数据,更新用户信息
@@ -273,6 +276,9 @@
@ApiOperation(value = "登录事件", notes = "登录事件")
@GetMapping(value = "/loginEvent")
public FebsResponse loginEvent() {
- return new FebsResponse().success().data(memberService.loginEvent());
+ Map<String, Object> birthdayEvent = mallVipBenefitsService.birthdayEvent();
+ Map<String, Object> loginEvent = memberService.loginEvent();
+ loginEvent.putAll(birthdayEvent);
+ return new FebsResponse().success().data(loginEvent);
}
}
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java b/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java
index e678562..d3277d0 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java
@@ -114,4 +114,9 @@
model.addAttribute("faPiaoDto", faPiaoDto);
return FebsUtil.view("modules/system/faPiao");
}
+
+ @GetMapping("vipCenterSetting")
+ public String vipCenterSetting() {
+ return FebsUtil.view("modules/system/vipCenterSetting");
+ }
}
diff --git a/src/main/java/cc/mrbird/febs/vip/controller/ApiMallVipConfigController.java b/src/main/java/cc/mrbird/febs/vip/controller/ApiMallVipConfigController.java
index 60a38ac..c00f8f1 100644
--- a/src/main/java/cc/mrbird/febs/vip/controller/ApiMallVipConfigController.java
+++ b/src/main/java/cc/mrbird/febs/vip/controller/ApiMallVipConfigController.java
@@ -3,6 +3,7 @@
import cc.mrbird.febs.common.controller.BaseController;
import cc.mrbird.febs.common.entity.FebsResponse;
+import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper;
import cc.mrbird.febs.vip.entity.MallVipBenefits;
import cc.mrbird.febs.vip.entity.MallVipConfig;
import cc.mrbird.febs.vip.service.IMallVipBenefitsService;
@@ -27,6 +28,7 @@
private final IMallVipConfigService mallVipConfigService;
private final IMallVipBenefitsService mallVipBenefitsService;
+ private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
@ApiOperation(value = "获取会员等级列表")
@@ -54,4 +56,10 @@
mallVipBenefitsService.getBenefits(id);
return new FebsResponse().success().message("领取成功");
}
+
+ @ApiOperation(value = "获取会员中心背景图片")
+ @GetMapping(value = "/findVipCenterBg")
+ public FebsResponse findVipCenterBg() {
+ return new FebsResponse().success().data(dataDictionaryCustomMapper.selectDicByType("VIP_CENTER_BACKGROUND"));
+ }
}
diff --git a/src/main/java/cc/mrbird/febs/vip/service/IMallVipBenefitsService.java b/src/main/java/cc/mrbird/febs/vip/service/IMallVipBenefitsService.java
index f627dd8..764ea68 100644
--- a/src/main/java/cc/mrbird/febs/vip/service/IMallVipBenefitsService.java
+++ b/src/main/java/cc/mrbird/febs/vip/service/IMallVipBenefitsService.java
@@ -5,6 +5,8 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
+import java.util.Map;
+
public interface IMallVipBenefitsService extends IService<MallVipBenefits> {
IPage<MallVipBenefits> vipBenefitsListInPage(QueryRequest request);
@@ -20,4 +22,6 @@
void getBenefits(Long id);
void switchBenefitsShow(Long id);
+
+ Map<String, Object> birthdayEvent();
}
diff --git a/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipBenefitsServiceImpl.java b/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipBenefitsServiceImpl.java
index 487441b..2b33462 100644
--- a/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipBenefitsServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipBenefitsServiceImpl.java
@@ -37,9 +37,8 @@
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
+import java.util.stream.Collectors;
@Slf4j
@Service
@@ -296,4 +295,27 @@
update.setId(vipBenefits.getId());
this.baseMapper.updateById(update);
}
+
+ @Override
+ public Map<String, Object> birthdayEvent() {
+ MallMember loginUser = LoginUserUtil.getLoginUser();
+ MallMember member = this.mallMemberMapper.selectById(loginUser.getId());
+
+ String today = DateUtil.format(new Date(), DatePattern.NORM_DATE_PATTERN);
+ boolean isBirthday = member.getBirthday().compareTo(DateUtil.parseDate(today)) == 0;
+ if (!isBirthday) {
+ return new HashMap<>();
+ }
+
+ MallVipConfig configList = mallVipConfigMapper.selectVipConfigByCode(member.getLevel());
+
+ List<MallVipBenefits> benefits = configList.getBenefits().stream().filter(item -> item.getGainType() == 2 && item.getType() != 2).collect(Collectors.toList());
+ if (CollUtil.isEmpty(benefits)) {
+ return new HashMap<>();
+ }
+
+ Map<String, Object> map = new HashMap<>();
+ map.put("benefit", benefits.get(0));
+ return map;
+ }
}
diff --git a/src/main/resources/templates/febs/views/modules/system/vipCenterSetting.html b/src/main/resources/templates/febs/views/modules/system/vipCenterSetting.html
new file mode 100644
index 0000000..e4499b4
--- /dev/null
+++ b/src/main/resources/templates/febs/views/modules/system/vipCenterSetting.html
@@ -0,0 +1,151 @@
+<div class="layui-fluid layui-anim febs-anim" id="vip-center-setting" lay-title="会员中心设置">
+ <div class="layui-row layui-col-space8 febs-container">
+ <form class="layui-form" action="" lay-filter="vip-center-setting-form">
+ <div class="layui-card">
+ <div class="layui-card-body" id="cardBody">
+
+ </div>
+
+ <div class="layui-card-footer">
+ <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="vip-center-setting-form-submit" id="submit">保存</button>
+ </div>
+ </div>
+ </form>
+ </div>
+</div>
+<style>
+ .layui-form-label {
+ width: 120px;
+ }
+
+ .layui-form-item .layui-input-block {
+ margin-left: 150px;
+ }
+
+ .layui-table-form .layui-form-item {
+ margin-bottom: 20px !important;
+ }
+</style>
+<script type="text/html" id="vipCenterSettingOperate">
+ {{# layui.each(d, function(index, item){ }}
+ <div class="layui-form-item">
+ <label class="layui-form-label febs-form-item-require">{{item.description}}:</label>
+ <div class="layui-input-block">
+ <div class="layui-upload">
+ <button type="button" class="layui-btn layui-btn-normal layui-btn" id="upload-btn-{{index}}">
+ 上传
+ </button>
+ <blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;">
+ <div class="layui-upload-list" id="upload-{{index}}">
+ {{# if(item.value != null && item.value != '') { }}
+ <img src="{{item.value}}" class="layui-upload-img single-image-{{index}}" style="width: 130px">
+ {{# }}}
+ </div>
+ </blockquote>
+ <div class="layui-word-aux">双击图片删除</div>
+ </div>
+ </div>
+
+ <input type="text" id="thumb-{{index}}" lay-verify="required" name="{{item.code}}"
+ autoComplete="off" value="{{item.value}}" class="layui-input febs-hide" readOnly>
+ </div>
+ {{# }) }}
+</script>
+<script data-th-inline="javascript" type="text/javascript">
+ layui.use(['dropdown', 'jquery', 'validate', 'febs', 'form', 'eleTree', 'laytpl', 'upload'], function () {
+ var $ = layui.jquery,
+ febs = layui.febs,
+ form = layui.form,
+ validate = layui.validate
+ , templateHtml = vipCenterSettingOperate.innerHTML
+ , $cardBody = $("#cardBody")
+ , laytpl = layui.laytpl
+ , upload = layui.upload
+ , $view = $('#vip-center-setting');
+
+ form.verify(validate);
+ form.render();
+
+ dicDataReq("VIP_CENTER_BACKGROUND");
+ function dicDataReq(type) {
+ $cardBody.empty();
+ $.get(ctx + 'admin/common/findDicByType/' + type, function (r) {
+ if (r.code === 200) {
+ var data = r.data;
+ laytpl(templateHtml).render(data, function(html) {
+ $cardBody.append(html);
+ })
+
+ for(var i = 0; i < r.data.length; i++) {
+ uploadFun(i);
+ }
+ }
+ });
+ }
+
+ form.on('submit(vip-center-setting-form-submit)', function (data) {
+ $.ajax({
+ 'url':ctx + 'admin/system/bonusSystemSetting',
+ 'type':'post',
+ 'dataType':'json',
+ 'headers' : {'Content-Type' : 'application/json;charset=utf-8'},
+ 'traditional': true,
+ 'data':JSON.stringify(data.field),
+ 'success':function (data) {
+ if (data.code == 200) {
+ febs.alert.success(data.message);
+ }
+ },
+ 'error':function () {
+ febs.alert.warn('服务器繁忙');
+ }
+ })
+ return false;
+ });
+
+ function uploadFun(classIndex) {
+ var uploadElem = '#upload-btn-' + classIndex;
+ upload.render({
+ elem: uploadElem
+ ,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口
+ ,multiple: true
+ ,before: function(obj){
+ //预读本地文件示例,不支持ie8
+ obj.preview(function(index, file, result){
+ if ($("#thumb-" + classIndex).val()) {
+ $("#upload-"+classIndex).html('<img src="'+ result +'" alt="'+ file.name +'" class="layui-upload-img single-image" style="width: 130px">')
+ } else {
+ $("#upload-"+classIndex).append('<img src="'+ result +'" alt="'+ file.name +'" class="layui-upload-img single-image" style="width: 130px">')
+ }
+
+ });
+ }
+ ,done: function(res){
+ $("#thumb-" + classIndex).val(res.data.src);
+
+ imgUnBind(".single-image-" + classIndex);
+ imgSingleBind(classIndex);
+ }
+ });
+ }
+
+ function imgSingleBind(classIndex) {
+ $(".single-image-" + classIndex).each(function(index, element) {
+ $(this).on("dblclick", function() {
+ var imgThumb = $(".single-image-" + classIndex)[index];
+ $(imgThumb).remove();
+ $("#thumb-" + classIndex).val("");
+
+ imgUnBind(".single-image-" + classIndex);
+ imgSingleBind();
+ });
+ })
+ }
+ function imgUnBind(className) {
+ $(className).each(function() {
+ $(this).unbind('dblclick');
+ })
+ }
+
+ });
+</script>
\ No newline at end of file
--
Gitblit v1.9.1