From a34878cdc73b1fe0590aa661f8d6be9907914b47 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 08 Jun 2022 16:37:17 +0800
Subject: [PATCH] 20220528
---
src/main/java/cc/mrbird/febs/mall/dto/MallUpdateMemberInfoDto.java | 31 ++++++++++
src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java | 9 +++
src/main/resources/mapper/modules/MallMemberMapper.xml | 2
src/main/resources/templates/febs/views/modules/mallMember/detail.html | 65 +++++++++++++++++++--
src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java | 2
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java | 48 ++++++++++++++++
src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html | 8 ++
7 files changed, 157 insertions(+), 8 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
index 5d3e98b..25cd8b7 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
@@ -99,6 +99,15 @@
}
/**
+ * 会员列表-详情更新
+ */
+ @PostMapping("updateMemberInfo")
+ @ControllerEndpoint(operation = "会员列表-详情更新", exceptionMessage = "操作失败")
+ public FebsResponse updateMemberInfo(@Valid MallUpdateMemberInfoDto mallUpdateMemberInfoDto) {
+ return mallMemberService.updateMemberInfo(mallUpdateMemberInfoDto);
+ }
+
+ /**
* 资金流水-列表
* @param moneyFlowListDto
* @param request
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/MallUpdateMemberInfoDto.java b/src/main/java/cc/mrbird/febs/mall/dto/MallUpdateMemberInfoDto.java
new file mode 100644
index 0000000..cd9eda9
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/MallUpdateMemberInfoDto.java
@@ -0,0 +1,31 @@
+package cc.mrbird.febs.mall.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@ApiModel(value = "MallUpdateMemberInfoDto", description = "参数接收类")
+public class MallUpdateMemberInfoDto {
+
+ @ApiModelProperty(value = "id")
+ private Long id;
+
+ @ApiModelProperty(value = "手机号")
+ private String phone;
+
+ @ApiModelProperty(value = "余额")
+ private BigDecimal balance;
+
+ private String levelCode;
+
+ @ApiModelProperty(value = "赠送积分")
+ private BigDecimal score;
+
+ @ApiModelProperty(value = "抽奖积分")
+ private BigDecimal prizeScore;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java
index 48fd860..6514b34 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java
@@ -82,4 +82,6 @@
void applyCheckAgree(Long id);
void applyCheckDisAgree(Long id);
+
+ FebsResponse updateMemberInfo(MallUpdateMemberInfoDto mallUpdateMemberInfoDto);
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
index 91fb9a4..a8d6598 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
@@ -6,6 +6,7 @@
import cc.mrbird.febs.common.enumerates.FlowTypeEnum;
import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
import cc.mrbird.febs.common.exception.FebsException;
+import cc.mrbird.febs.common.utils.LoginUserUtil;
import cc.mrbird.febs.common.utils.MallUtils;
import cc.mrbird.febs.mall.dto.*;
import cc.mrbird.febs.mall.entity.*;
@@ -20,11 +21,13 @@
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.apache.xmlbeans.impl.store.Query;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -402,4 +405,49 @@
apply.setStatus(MallShopApply.APPLY_DISAGREE);
mallShopApplyMapper.updateById(apply);
}
+
+ @Override
+ @Transactional
+ public FebsResponse updateMemberInfo(MallUpdateMemberInfoDto mallUpdateMemberInfoDto) {
+ Long memberId = mallUpdateMemberInfoDto.getId();
+ MallMember mallMember = mallMemberMapper.selectById(memberId);
+ if(ObjectUtil.isEmpty(mallMember)){
+ return new FebsResponse().fail().message("系统繁忙,请刷新页面重试");
+ }
+ String phone = mallUpdateMemberInfoDto.getPhone();
+ if(StrUtil.isEmpty(phone)){
+ throw new FebsException("请输入手机号码");
+ }
+ if(!phone.equals(mallMember.getPhone())){
+ QueryWrapper<MallMember> objectQueryWrapper = new QueryWrapper<>();
+ objectQueryWrapper.eq("phone",phone);
+ List<MallMember> mallMembers = this.baseMapper.selectList(objectQueryWrapper);
+ if(CollUtil.isNotEmpty(mallMembers)){
+ throw new FebsException("手机号码已绑定过账号");
+ }
+ }
+ mallMember.setPhone(phone);
+ mallMember.setBindPhone(phone);
+ mallMember.setLevel(mallUpdateMemberInfoDto.getLevelCode());
+ mallMemberMapper.updateById(mallMember);
+
+ BigDecimal balance = mallUpdateMemberInfoDto.getBalance();
+ if(BigDecimal.ZERO.compareTo(balance) > 0){
+ throw new FebsException("请输入正确的余额");
+ }
+ BigDecimal score = mallUpdateMemberInfoDto.getScore();
+ if(BigDecimal.ZERO.compareTo(score) > 0){
+ throw new FebsException("请输入正确的赠送积分");
+ }
+ BigDecimal prizeScore = mallUpdateMemberInfoDto.getPrizeScore();
+ if(BigDecimal.ZERO.compareTo(prizeScore) > 0){
+ throw new FebsException("请输入正确的竞猜积分");
+ }
+ MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(memberId);
+ mallMemberWallet.setBalance(balance);
+ mallMemberWallet.setScore(score);
+ mallMemberWallet.setPrizeScore(prizeScore);
+ mallMemberWalletMapper.updateById(mallMemberWallet);
+ return new FebsResponse().success();
+ }
}
diff --git a/src/main/resources/mapper/modules/MallMemberMapper.xml b/src/main/resources/mapper/modules/MallMemberMapper.xml
index f48947a..73f4c11 100644
--- a/src/main/resources/mapper/modules/MallMemberMapper.xml
+++ b/src/main/resources/mapper/modules/MallMemberMapper.xml
@@ -41,6 +41,8 @@
a.account_status,
a.CREATED_TIME,
IFNULL(c.balance,0) balance,
+ IFNULL(c.score,0) score,
+ IFNULL(c.prize_score,0) prizeScore,
d.description levelName,
b.name
FROM mall_member a
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/detail.html b/src/main/resources/templates/febs/views/modules/mallMember/detail.html
index 59e88c3..34fb012 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/detail.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/detail.html
@@ -36,16 +36,30 @@
<label class="layui-form-label febs-form-item-require">余额:</label>
<div class="layui-input-block">
<input type="text" name="balance" data-th-id="${member.balance}"
- autocomplete="off" class="layui-input" readonly>
+ autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
- <label class="layui-form-label febs-form-item-require">代理层级:</label>
+ <label class="layui-form-label febs-form-item-require">赠送积分:</label>
<div class="layui-input-block">
- <input type="text" name="levelName" data-th-id="${member.levelName}"
- autocomplete="off" class="layui-input" readonly>
+ <input type="text" name="score" data-th-id="${member.score}"
+ autocomplete="off" class="layui-input" >
</div>
</div>
+ <div class="layui-form-item">
+ <label class="layui-form-label febs-form-item-require">竞猜积分:</label>
+ <div class="layui-input-block">
+ <input type="text" name="prizeScore" data-th-id="${member.prizeScore}"
+ autocomplete="off" class="layui-input" >
+ </div>
+ </div>
+<!-- <div class="layui-form-item">-->
+<!-- <label class="layui-form-label febs-form-item-require">代理层级:</label>-->
+<!-- <div class="layui-input-block">-->
+<!-- <input type="text" name="levelName" data-th-id="${member.levelName}"-->
+<!-- autocomplete="off" class="layui-input" readonly>-->
+<!-- </div>-->
+<!-- </div>-->
<div class="layui-form-item">
<label class="layui-form-label febs-form-item-require">性别:</label>
<div class="layui-input-block">
@@ -57,7 +71,7 @@
<label class="layui-form-label febs-form-item-require">手机号:</label>
<div class="layui-input-block">
<input type="text" name="phone" data-th-id="${member.phone}"
- autocomplete="off" class="layui-input" readonly>
+ autocomplete="off" class="layui-input">
</div>
</div>
<!-- <div class="layui-form-item">-->
@@ -67,6 +81,16 @@
<!-- autocomplete="off" class="layui-input" readonly>-->
<!-- </div>-->
<!-- </div>-->
+ <div class="layui-form-item">
+ <div class="layui-inline">
+ <label class="layui-form-label">代理级别:</label>
+ <div class="layui-input-inline">
+ <select lay-verify="required" name="levelCode" class="agent-level-set-level" id="levelSet">
+ <option value="">请选择</option>
+ </select>
+ </div>
+ </div>
+ </div>
<div class="layui-form-item">
<label class="layui-form-label febs-form-item-require">邀请码:</label>
<div class="layui-input-block">
@@ -94,6 +118,9 @@
<input type="radio" name="accountStatus" value="1" title="正常" readonly>
<input type="radio" name="accountStatus" value="2" title="禁用" readonly>
</div>
+ </div>
+ <div class="layui-form-item febs-hide">
+ <button class="layui-btn" lay-submit="" lay-filter="user-update-form-submit" id="submit"></button>
</div>
</form>
</div>
@@ -124,13 +151,37 @@
// "email": member.email,
"sex": member.sex,
"balance": member.balance,
+ "score": member.score,
+ "prizeScore": member.prizeScore,
"inviteId": member.inviteId,
"referrerName": member.referrerName,
- "level": member.level,
- "levelName": member.levelName,
+ "levelCode": member.level,
+ // "levelName": member.levelName,
"createdTime": member.createdTime,
"accountStatus": member.accountStatus
});
}
+
+ //(下拉框)
+ $.get(ctx + 'admin/mallMember/getAgentLevelOption/tree', function (data) {
+ for (var k in data)
+ {
+ $(".agent-level-set-level").append("<option value='" + data[k].id + "'>" + data[k].name + "</option>");
+ }
+ layui.use('form', function () {
+ var form = layui.form;
+ $("#levelSet").val(member.level)
+ form.render();
+ });
+ });
+
+ form.on('submit(user-update-form-submit)', function (data) {
+ febs.post(ctx + 'admin/mallMember/updateMemberInfo', data.field, function () {
+ layer.closeAll();
+ febs.alert.success('操作成功');
+ $('#febs-user').find('#reset').click();
+ });
+ return false;
+ });
});
</script>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html b/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
index 582e3f9..71847bb 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
@@ -109,7 +109,13 @@
if (layEvent === 'see') {
febs.modal.open( '个人信息', 'modules/mallMember/detail/' + data.id, {
- maxmin: true,
+ btn: ['提交', '取消'],
+ yes: function (index, layero) {
+ $('#user-update').find('#submit').trigger('click');
+ },
+ btn2: function () {
+ layer.closeAll();
+ }
});
}
if (layEvent === 'moneyFlow') {
--
Gitblit v1.9.1