From 0169b3c71efc064577a45c5058d458c9ef1cb94a Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 15 Jun 2020 16:36:37 +0800
Subject: [PATCH] modify
---
src/main/resources/templates/febs/views/modules/agent/agent.html | 6
src/main/java/com/xcong/excoin/system/mapper/UserMapper.java | 2
src/main/java/com/xcong/excoin/modules/agent/service/IAgentService.java | 2
src/main/java/com/xcong/excoin/modules/agent/controller/ViewController.java | 17 ++++
src/main/resources/mapper/modules/AgentFriendRelationMapper.xml | 6 +
src/main/java/com/xcong/excoin/modules/agent/mapper/AgentFriendRelationMapper.java | 2
src/main/java/com/xcong/excoin/system/entity/User.java | 3
src/main/java/com/xcong/excoin/modules/agent/service/impl/AgentServiceImpl.java | 25 ++++++
src/main/resources/mapper/modules/MemberMapper.xml | 7 +
src/main/java/com/xcong/excoin/modules/agent/controller/MemberController.java | 4 +
src/main/java/com/xcong/excoin/system/service/impl/UserServiceImpl.java | 5 +
src/main/java/com/xcong/excoin/system/service/IUserService.java | 2
src/main/resources/templates/febs/views/modules/agent/agentEdit.html | 100 +++++++++++++++++++++++++
src/main/resources/mapper/system/UserMapper.xml | 16 +++
src/main/resources/templates/febs/views/modules/agent/member.html | 3
src/main/java/com/xcong/excoin/modules/agent/controller/AgentController.java | 9 ++
16 files changed, 199 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/agent/controller/AgentController.java b/src/main/java/com/xcong/excoin/modules/agent/controller/AgentController.java
index 62d1c14..375f44d 100644
--- a/src/main/java/com/xcong/excoin/modules/agent/controller/AgentController.java
+++ b/src/main/java/com/xcong/excoin/modules/agent/controller/AgentController.java
@@ -66,4 +66,13 @@
agentService.resetPwd(id);
return new FebsResponse().success();
}
+
+ @PostMapping("edit")
+ @RequiresPermissions("agent:edit")
+ @ControllerEndpoint(operation = "修改代理商", exceptionMessage = "修改代理商失败")
+ public FebsResponse edit(@Valid AgentUser agentUser) {
+ User user = getCurrentUser();
+ agentService.editAgent(agentUser, user);
+ return new FebsResponse().success();
+ }
}
diff --git a/src/main/java/com/xcong/excoin/modules/agent/controller/MemberController.java b/src/main/java/com/xcong/excoin/modules/agent/controller/MemberController.java
index 70a3d5f..978b2d1 100644
--- a/src/main/java/com/xcong/excoin/modules/agent/controller/MemberController.java
+++ b/src/main/java/com/xcong/excoin/modules/agent/controller/MemberController.java
@@ -1,10 +1,12 @@
package com.xcong.excoin.modules.agent.controller;
import com.xcong.excoin.common.controller.BaseController;
+import com.xcong.excoin.common.entity.FebsConstant;
import com.xcong.excoin.common.entity.FebsResponse;
import com.xcong.excoin.common.entity.QueryRequest;
import com.xcong.excoin.modules.agent.entity.MemberEntity;
import com.xcong.excoin.modules.agent.service.IMemberService;
+import com.xcong.excoin.system.entity.User;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
@@ -29,6 +31,8 @@
@GetMapping("getList")
public FebsResponse getList(MemberEntity member, QueryRequest request) {
+ User user = getCurrentUser();
+ member.setInviteId(FebsConstant.USER_TYPE_ADMIN.equals(user.getType()) ? FebsConstant.DEFAULT_REFERER_ID : user.getInviteId());
Map<String, Object> data = getDataTable(memberService.findMemberListInPage(member, request));
return new FebsResponse().success().data(data);
}
diff --git a/src/main/java/com/xcong/excoin/modules/agent/controller/ViewController.java b/src/main/java/com/xcong/excoin/modules/agent/controller/ViewController.java
index 57a68ed..74b18b8 100644
--- a/src/main/java/com/xcong/excoin/modules/agent/controller/ViewController.java
+++ b/src/main/java/com/xcong/excoin/modules/agent/controller/ViewController.java
@@ -2,9 +2,14 @@
import com.xcong.excoin.common.entity.FebsConstant;
import com.xcong.excoin.common.utils.FebsUtil;
+import com.xcong.excoin.system.entity.User;
+import com.xcong.excoin.system.service.IUserService;
+import lombok.RequiredArgsConstructor;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
/**
@@ -13,14 +18,16 @@
**/
@Controller("memberView")
@RequestMapping(FebsConstant.VIEW_PREFIX + "/agent")
+@RequiredArgsConstructor
public class ViewController {
+
+ private final IUserService userService;
@GetMapping("member")
@RequiresPermissions("amember:view")
public String member() {
return FebsUtil.view("modules/agent/member");
}
-
@GetMapping("agent")
@RequiresPermissions("agent:view")
@@ -33,4 +40,12 @@
public String agentAdd() {
return FebsUtil.view("modules/agent/agentAdd");
}
+
+ @GetMapping("agentEdit/{id}")
+ @RequiresPermissions("agent:edit")
+ public String agentEdit(@PathVariable Long id, Model model) {
+ User user = userService.findUserInfoById(id);
+ model.addAttribute("user", user);
+ return FebsUtil.view("modules/agent/agentEdit");
+ }
}
diff --git a/src/main/java/com/xcong/excoin/modules/agent/mapper/AgentFriendRelationMapper.java b/src/main/java/com/xcong/excoin/modules/agent/mapper/AgentFriendRelationMapper.java
index 6e2bb7c..79604e8 100644
--- a/src/main/java/com/xcong/excoin/modules/agent/mapper/AgentFriendRelationMapper.java
+++ b/src/main/java/com/xcong/excoin/modules/agent/mapper/AgentFriendRelationMapper.java
@@ -11,4 +11,6 @@
public interface AgentFriendRelationMapper extends BaseMapper<AgentFriendRelationEntity> {
AgentFriendRelationEntity selectAgentFriendRelationByUserId(@Param("userId") Long userId);
+
+ int updateByUserId(@Param("record") AgentFriendRelationEntity agentFriendRelationEntity);
}
diff --git a/src/main/java/com/xcong/excoin/modules/agent/service/IAgentService.java b/src/main/java/com/xcong/excoin/modules/agent/service/IAgentService.java
index 0e92366..f3974e8 100644
--- a/src/main/java/com/xcong/excoin/modules/agent/service/IAgentService.java
+++ b/src/main/java/com/xcong/excoin/modules/agent/service/IAgentService.java
@@ -17,4 +17,6 @@
void delAgent(String[] ids);
void resetPwd(Long id);
+
+ void editAgent(AgentUser agentUser, User user);
}
diff --git a/src/main/java/com/xcong/excoin/modules/agent/service/impl/AgentServiceImpl.java b/src/main/java/com/xcong/excoin/modules/agent/service/impl/AgentServiceImpl.java
index 7dfc27a..bc8fccd 100644
--- a/src/main/java/com/xcong/excoin/modules/agent/service/impl/AgentServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/agent/service/impl/AgentServiceImpl.java
@@ -21,6 +21,7 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import sun.management.Agent;
import java.util.Arrays;
import java.util.Date;
@@ -85,6 +86,7 @@
addUser.setType(FebsConstant.USER_TYPE_AGENT);
addUser.setSystem(FebsConstant.SYSTEM_AGENT);
addUser.setCreateTime(new Date());
+ addUser.setMobile(agentUser.getTelphone());
addUser.setInviteId(agentUser.getInviteId());
addUser.setAgentName(agentUser.getName());
addUser.setPassword(Md5Util.encrypt(addUser.getUsername(), User.DEFAULT_PASSWORD));
@@ -110,6 +112,7 @@
agentFriendRelationMapper.insert(agentFriendRelation);
}
+ @Transactional(rollbackFor = Exception.class)
@Override
public void delAgent(String[] ids) {
List<String> list = Arrays.asList(ids);
@@ -124,4 +127,26 @@
user.setPassword(Md5Util.encrypt(user.getUsername(), User.DEFAULT_PASSWORD));
userMapper.updateById(user);
}
+
+ @Transactional(rollbackFor = Exception.class)
+ @Override
+ public void editAgent(AgentUser agentUser, User user) {
+ if (!FebsConstant.USER_TYPE_ADMIN.equals(user.getType())) {
+ AgentFriendRelationEntity friendRelationEntity = agentFriendRelationMapper.selectAgentFriendRelationByUserId(user.getUserId());
+ if (agentUser.getReturnRatio().compareTo(friendRelationEntity.getReturnRatio()) > 0) {
+ throw new FebsException("返佣比例需小于上级的返佣比例");
+ }
+ }
+
+ User editUser = new User();
+ editUser.setUserId(agentUser.getId());
+ editUser.setMobile(agentUser.getTelphone());
+ editUser.setAgentName(agentUser.getName());
+ userMapper.updateById(editUser);
+
+ AgentFriendRelationEntity relationEntity = new AgentFriendRelationEntity();
+ relationEntity.setUserId(agentUser.getId());
+ relationEntity.setReturnRatio(agentUser.getReturnRatio());
+ agentFriendRelationMapper.updateByUserId(relationEntity);
+ }
}
diff --git a/src/main/java/com/xcong/excoin/system/entity/User.java b/src/main/java/com/xcong/excoin/system/entity/User.java
index c68b9ec..52b4764 100644
--- a/src/main/java/com/xcong/excoin/system/entity/User.java
+++ b/src/main/java/com/xcong/excoin/system/entity/User.java
@@ -17,6 +17,7 @@
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.io.Serializable;
+import java.math.BigDecimal;
import java.util.Date;
/**
@@ -220,6 +221,8 @@
@TableField(exist = false)
private String deptIds;
+ private BigDecimal returnRatio;
+
public Long getId() {
return userId;
}
diff --git a/src/main/java/com/xcong/excoin/system/mapper/UserMapper.java b/src/main/java/com/xcong/excoin/system/mapper/UserMapper.java
index 0fb90e2..f0b1148 100644
--- a/src/main/java/com/xcong/excoin/system/mapper/UserMapper.java
+++ b/src/main/java/com/xcong/excoin/system/mapper/UserMapper.java
@@ -53,4 +53,6 @@
User selectUserByInviteId(@Param("inviteId") String inviteId);
+ User selectUserInfoById(@Param("id") Long id);
+
}
diff --git a/src/main/java/com/xcong/excoin/system/service/IUserService.java b/src/main/java/com/xcong/excoin/system/service/IUserService.java
index fdd72e0..69cc06c 100644
--- a/src/main/java/com/xcong/excoin/system/service/IUserService.java
+++ b/src/main/java/com/xcong/excoin/system/service/IUserService.java
@@ -112,4 +112,6 @@
* @param user 个人信息
*/
void updateProfile(User user);
+
+ User findUserInfoById(Long id);
}
diff --git a/src/main/java/com/xcong/excoin/system/service/impl/UserServiceImpl.java b/src/main/java/com/xcong/excoin/system/service/impl/UserServiceImpl.java
index 991bd97..38fc55c 100644
--- a/src/main/java/com/xcong/excoin/system/service/impl/UserServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/system/service/impl/UserServiceImpl.java
@@ -236,4 +236,9 @@
User currentUser = FebsUtil.getCurrentUser();
return currentUser.getUserId().equals(id);
}
+
+ @Override
+ public User findUserInfoById(Long id) {
+ return this.baseMapper.selectUserInfoById(id);
+ }
}
diff --git a/src/main/resources/mapper/modules/AgentFriendRelationMapper.xml b/src/main/resources/mapper/modules/AgentFriendRelationMapper.xml
index 68a1891..ff2b985 100644
--- a/src/main/resources/mapper/modules/AgentFriendRelationMapper.xml
+++ b/src/main/resources/mapper/modules/AgentFriendRelationMapper.xml
@@ -6,4 +6,10 @@
select * from agent_friend_relation
where user_id=#{userId}
</select>
+
+ <update id="updateByUserId">
+ update agent_friend_relation
+ set return_ratio = #{record.returnRatio}
+ where user_id=#{record.userId}
+ </update>
</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/modules/MemberMapper.xml b/src/main/resources/mapper/modules/MemberMapper.xml
index 99a3e52..0c74203 100644
--- a/src/main/resources/mapper/modules/MemberMapper.xml
+++ b/src/main/resources/mapper/modules/MemberMapper.xml
@@ -6,7 +6,10 @@
<select id="selectMemberListInPage" resultType="com.xcong.excoin.modules.agent.entity.MemberEntity">
select * from member
<where>
- <if test="record != null" >
+ <if test="record != null">
+ <if test="record.inviteId !=null and record.inviteId!=''">
+ and find_in_set(#{record.inviteId}, referer_ids)
+ </if>
<if test="record.startTime!=null">
and create_time >=#{record.startTime}
</if>
@@ -19,7 +22,7 @@
<if test="record.accountStatus!=null">
and account_status = #{record.accountStatus}
</if>
- <if test="record.accountType != null" >
+ <if test="record.accountType != null">
and account_type = #{record.accountType}
</if>
<if test="record.certifyStatus != null">
diff --git a/src/main/resources/mapper/system/UserMapper.xml b/src/main/resources/mapper/system/UserMapper.xml
index 96e72c1..7c0c290 100644
--- a/src/main/resources/mapper/system/UserMapper.xml
+++ b/src/main/resources/mapper/system/UserMapper.xml
@@ -175,8 +175,7 @@
a.create_time,
a.status,
b.return_ratio,
- c.phone telphone,
- c.email,
+ a.mobile telphone,
c.referer_id refererId,
c.certify_status
from t_user a
@@ -194,4 +193,17 @@
<select id="selectUserByInviteId" resultType="user">
select * from t_user where invite_id=#{inviteId}
</select>
+
+ <select id="selectUserInfoById" resultType="user">
+ select
+ a.user_id,
+ a.agent_name,
+ a.username,
+ a.mobile,
+ a.invite_id,
+ b.return_ratio
+ from t_user a
+ left join agent_friend_relation b on a.user_id=b.user_id
+ where a.user_id=#{id}
+ </select>
</mapper>
diff --git a/src/main/resources/templates/febs/views/modules/agent/agent.html b/src/main/resources/templates/febs/views/modules/agent/agent.html
index ab44fdd..32f3d9d 100644
--- a/src/main/resources/templates/febs/views/modules/agent/agent.html
+++ b/src/main/resources/templates/febs/views/modules/agent/agent.html
@@ -209,7 +209,7 @@
});
}
if (layEvent === 'edit') {
- febs.modal.open('修改用户', 'system/user/update/' + data.username, {
+ febs.modal.open('修改用户', '/agent/agentEdit/' + data.id, {
area: $(window).width() <= 750 ? '90%' : '50%',
offset: '30px',
btn: ['提交', '取消'],
@@ -248,8 +248,8 @@
{field: 'name', title: '代理姓名', minWidth: 100, align: 'center'},
{field: 'account', title: '代理账号', minWidth: 100, align: 'center'},
{field: 'inviteId', title: '代理UID', minWidth: 100, align: 'center'},
- {field: 'phone', title: '手机号', minWidth: 130, align: 'center'},
- {field: 'email', title: '邮箱', minWidth: 180, align: 'center'},
+ {field: 'phone', title: '联系方式', minWidth: 130, align: 'center'},
+ // {field: 'email', title: '邮箱', minWidth: 180, align: 'center'},
{field: 'refererId', title: '上级UID', minWidth: 100, align: 'center'},
{title: '是否实名', templet: '#certify-status', minWidth: 100, align: 'center'},
{field: 'childCnt', title: '发展代理数', minWidth: 100, align: 'center'},
diff --git a/src/main/resources/templates/febs/views/modules/agent/agentEdit.html b/src/main/resources/templates/febs/views/modules/agent/agentEdit.html
new file mode 100644
index 0000000..31f4b39
--- /dev/null
+++ b/src/main/resources/templates/febs/views/modules/agent/agentEdit.html
@@ -0,0 +1,100 @@
+<style>
+ #user-update {
+ padding: 20px 25px 25px 0;
+ }
+
+ #user-update .layui-treeSelect .ztree li a, .ztree li span {
+ margin: 0 0 2px 3px !important;
+ }
+
+ #user-update #data-permission-tree-block {
+ border: 1px solid #eee;
+ border-radius: 2px;
+ padding: 3px 0;
+ }
+
+ #user-update .layui-treeSelect .ztree li span.button.switch {
+ top: 1px;
+ left: 3px;
+ }
+</style>
+<div class="layui-fluid" id="user-update">
+ <form class="layui-form" action="" lay-filter="user-update-form">
+ <div class="layui-form-item febs-hide">
+ <label class="layui-form-label febs-form-item-require">用户id:</label>
+ <div class="layui-input-block">
+ <input type="text" name="id" data-th-value="${user.userId}">
+ </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="account" lay-verify="required" data-th-id="${user.userId}" readonly 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="name" minlength="2" maxlength="25" lay-verify="range" 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="tel" name="telphone" lay-verify="phone" autocomplete="off" class="layui-input">
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label febs-form-item-require">代理UID:</label>
+ <div class="layui-input-block">
+ <input type="text" name="inviteId" lay-verify="required" readonly 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="returnRatio" lay-verify="slot" autocomplete="off" class="layui-input">
+ </div>
+ </div>
+ <div class="layui-form-item febs-hide">
+ <button class="layui-btn" lay-submit="" lay-filter="user-update-form-submit" id="submit"></button>
+ <button type="reset" class="layui-btn" id="reset"></button>
+ </div>
+ </form>
+</div>
+
+<script data-th-inline="javascript">
+ layui.use(['febs', 'form', 'validate'], function () {
+ var $ = layui.$,
+ febs = layui.febs,
+ layer = layui.layer,
+ form = layui.form,
+ user = [[${user}]],
+ validate = layui.validate;
+
+ form.verify(validate);
+ form.render();
+
+ initFormValue();
+
+ function initFormValue() {
+ form.val("user-update-form", {
+ "account": user.username,
+ "name": user.agentName,
+ "telphone": user.mobile,
+ "inviteId": user.inviteId,
+ "returnRatio" : user.returnRatio
+ });
+ }
+
+ form.on('submit(user-update-form-submit)', function (data) {
+ febs.post(ctx + 'agent/edit', data.field, function () {
+ layer.closeAll();
+ $('#febs-user').find('#query').click();
+ });
+ return false;
+ });
+ });
+</script>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/modules/agent/member.html b/src/main/resources/templates/febs/views/modules/agent/member.html
index e987cae..6918e0d 100644
--- a/src/main/resources/templates/febs/views/modules/agent/member.html
+++ b/src/main/resources/templates/febs/views/modules/agent/member.html
@@ -286,8 +286,7 @@
{title: '账号类型', templet: '#account-type'},
{title: '账号状态', templet: '#account-status'},
{title: '审核状态', templet: '#certify-status'},
- {field: 'createTime', title: '注册时间', minWidth: 180},
- {title: '操作', toolbar: '#user-option', minWidth: 140, fixed : 'right'}
+ {field: 'createTime', title: '注册时间', minWidth: 180}
]]
});
}
--
Gitblit v1.9.1