diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/controller/BizMemberController.java b/ruoyi-business/src/main/java/com/ruoyi/business/controller/BizMemberController.java index 3363aedee..4f002b9e7 100644 --- a/ruoyi-business/src/main/java/com/ruoyi/business/controller/BizMemberController.java +++ b/ruoyi-business/src/main/java/com/ruoyi/business/controller/BizMemberController.java @@ -1,7 +1,10 @@ package com.ruoyi.business.controller; +import com.ruoyi.business.domain.BizAccountDetail; import com.ruoyi.business.domain.BizMember; +import com.ruoyi.business.service.IBizAccountService; import com.ruoyi.business.service.IBizMemberService; +import com.ruoyi.business.service.IBizProductService; import com.ruoyi.business.utils.Encrypt; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; @@ -16,6 +19,8 @@ import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; +import java.math.BigDecimal; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -35,6 +40,12 @@ public class BizMemberController extends BaseController @Autowired private IBizMemberService bizMemberService; + @Autowired + private IBizAccountService bizAccountService; + + @Autowired + private IBizProductService bizProductService; + @RequiresPermissions("business:member:view") @GetMapping() public String member() @@ -55,6 +66,87 @@ public class BizMemberController extends BaseController return getDataTable(list); } + /** + * 会员账户明细 + */ + @RequiresPermissions("business:member:view") + @GetMapping("/accountDetail") + public String accountDetail(Long memberID, int accountType, ModelMap mmap) + { + BizMember bizMember = bizMemberService.selectBizMemberSimple(memberID); + mmap.put("memberID", memberID); + mmap.put("mobile", bizMember.getMobile()); + mmap.put("memberName", bizMember.getMemberName()); + mmap.put("accountType", accountType); + return prefix + "/accountDetail"; + } + + /** + * 查询会员账户明细 + */ + @RequiresPermissions("business:member:view") + @PostMapping("/listAccountDetail") + @ResponseBody + public TableDataInfo listAccountDetail(BizAccountDetail bizAccountDetail) + { + startPage(); + List list = bizAccountService.selectBizAccountDetailList(bizAccountDetail); + return getDataTable(list); + } + + /** + * 会员架构 + */ + @RequiresPermissions("business:member:view") + @GetMapping("/accountTeam") + public String accountTeam(Long memberID, ModelMap mmap) + { + BizMember bizMember = bizMemberService.selectBizMemberSimple(memberID); + mmap.put("memberID", memberID); + mmap.put("memberName", bizMember.getMemberName()); + mmap.put("productList", bizProductService.selectTeamProductList()); + return prefix + "/accountTeam"; + } + + /** + * 查询会员架构 + */ + @RequiresPermissions("business:member:view") + @PostMapping("/accountTeamDetail") + @ResponseBody + public AjaxResult accountTeamDetail(Long memberID, Long productID) + { + Map paramMap = new HashMap(); + paramMap.put("memberID", memberID); + paramMap.put("productID", productID); + List teamList = bizMemberService.selectTeamData(paramMap); + Map temp = new HashMap(); + long teamNum = 0; + //取出架构人员数据 + for (Map item : teamList) { + Long rID = (Long) item.get("recommend_id"); + List chList = (List) temp.get(rID); + if (chList == null) { + chList = new ArrayList(); + temp.put(rID, chList); + } + chList.add(item); + teamNum += ((BigDecimal) item.get("num")).longValue(); + } + //重组数据 + for (Map item : teamList) { + Long id = (Long) item.get("id"); + List chList = (List) temp.get(id); + if (chList != null) { + item.put("children", chList); + } + } + Map resultMap = new HashMap(); + resultMap.put("teamNum", teamNum); + resultMap.put("memberList", temp.get(memberID)); + return AjaxResult.success(resultMap); + } + /** * 导出会员列表 */ diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/domain/BizAccount.java b/ruoyi-business/src/main/java/com/ruoyi/business/domain/BizAccount.java index 6159e7c58..e0f690a56 100644 --- a/ruoyi-business/src/main/java/com/ruoyi/business/domain/BizAccount.java +++ b/ruoyi-business/src/main/java/com/ruoyi/business/domain/BizAccount.java @@ -16,7 +16,7 @@ public class BizAccount extends BaseEntity { private static final long serialVersionUID = 1L; - //用户豆账户(0-福豆余额,1-个人福豆,2-团队福豆, 3-福豆田) + //用户豆账户(0-福豆余额,1-个人福豆,2-团队福豆,3-专项福豆, 4-福豆田) public static final int DOU_BALANCE = 0; public static final int DOU_PERSON = 1; public static final int DOU_TEAM = 2; diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/domain/BizAccountDetail.java b/ruoyi-business/src/main/java/com/ruoyi/business/domain/BizAccountDetail.java index b40bf02d0..2e96b7a36 100644 --- a/ruoyi-business/src/main/java/com/ruoyi/business/domain/BizAccountDetail.java +++ b/ruoyi-business/src/main/java/com/ruoyi/business/domain/BizAccountDetail.java @@ -60,6 +60,10 @@ public class BizAccountDetail extends BaseEntity @Excel(name = "变动详情.1:充值;2:提现;3:转账;4:冲正;5:支付") private Integer typeDetail; + /** 账户变更金额 */ + @Excel(name = "账户变更金额") + private Long amount; + /** 账户变更前金额 */ @Excel(name = "账户变更前金额") private Long beforeAmount; @@ -140,6 +144,14 @@ public class BizAccountDetail extends BaseEntity this.beforeAmount = beforeAmount; } + public Long getAmount() { + return amount; + } + + public void setAmount(Long amount) { + this.amount = amount; + } + public Long getBeforeAmount() { return beforeAmount; diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/mapper/BizMemberMapper.java b/ruoyi-business/src/main/java/com/ruoyi/business/mapper/BizMemberMapper.java index 915e6cbe1..39b7144c5 100644 --- a/ruoyi-business/src/main/java/com/ruoyi/business/mapper/BizMemberMapper.java +++ b/ruoyi-business/src/main/java/com/ruoyi/business/mapper/BizMemberMapper.java @@ -93,4 +93,11 @@ public interface BizMemberMapper */ public int getValidChildCount(Long memberID); + /** + * 取出会员等级明细及商品购买数 + * + * @param paramMap + * @return 结果 + */ + public List selectTeamData(Map paramMap); } diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/mapper/BizProductMapper.java b/ruoyi-business/src/main/java/com/ruoyi/business/mapper/BizProductMapper.java index 0b2b5cfd1..f8a24a671 100644 --- a/ruoyi-business/src/main/java/com/ruoyi/business/mapper/BizProductMapper.java +++ b/ruoyi-business/src/main/java/com/ruoyi/business/mapper/BizProductMapper.java @@ -36,6 +36,14 @@ public interface BizProductMapper */ public List selectBizProductList(BizProduct bizProduct); + /** + * 查询团队产品列表 + * + * @param + * @return 产品集合 + */ + public List selectTeamProductList(); + /** * 新增产品 * diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/service/IBizAccountService.java b/ruoyi-business/src/main/java/com/ruoyi/business/service/IBizAccountService.java index bc8de81f3..a1e9c6e23 100644 --- a/ruoyi-business/src/main/java/com/ruoyi/business/service/IBizAccountService.java +++ b/ruoyi-business/src/main/java/com/ruoyi/business/service/IBizAccountService.java @@ -1,6 +1,7 @@ package com.ruoyi.business.service; import com.ruoyi.business.domain.BizAccount; +import com.ruoyi.business.domain.BizAccountDetail; import java.util.List; @@ -60,6 +61,14 @@ public interface IBizAccountService */ public int deleteBizAccountById(Long id); + /** + * 查询会员账户明细列表 + * + * @param bizAccountDetail 会员账户明细 + * @return 会员账户明细集合 + */ + public List selectBizAccountDetailList(BizAccountDetail bizAccountDetail); + /** * 会员福豆变动明细 * diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/service/IBizMemberService.java b/ruoyi-business/src/main/java/com/ruoyi/business/service/IBizMemberService.java index 049246072..74ac106bb 100644 --- a/ruoyi-business/src/main/java/com/ruoyi/business/service/IBizMemberService.java +++ b/ruoyi-business/src/main/java/com/ruoyi/business/service/IBizMemberService.java @@ -92,4 +92,11 @@ public interface IBizMemberService */ public int deleteBizMemberById(Long id); + /** + * 取出会员等级明细及商品购买数 + * + * @param paramMap + * @return 结果 + */ + public List selectTeamData(Map paramMap); } diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/service/IBizProductService.java b/ruoyi-business/src/main/java/com/ruoyi/business/service/IBizProductService.java index a6318e62d..8780382ed 100644 --- a/ruoyi-business/src/main/java/com/ruoyi/business/service/IBizProductService.java +++ b/ruoyi-business/src/main/java/com/ruoyi/business/service/IBizProductService.java @@ -28,6 +28,14 @@ public interface IBizProductService */ public List selectBizProductList(BizProduct bizProduct); + /** + * 查询团队产品列表 + * + * @param + * @return 产品集合 + */ + public List selectTeamProductList(); + /** * 新增产品 * diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/BizAccountServiceImpl.java b/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/BizAccountServiceImpl.java index 274fbf79a..f5a13f5ed 100644 --- a/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/BizAccountServiceImpl.java +++ b/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/BizAccountServiceImpl.java @@ -13,6 +13,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.common.core.text.Convert; +import javax.annotation.Resource; + /** * 会员账户Service业务层处理 * @@ -22,7 +24,7 @@ import com.ruoyi.common.core.text.Convert; @Service public class BizAccountServiceImpl implements IBizAccountService { - @Autowired + @Resource private BizAccountMapper bizAccountMapper; /** @@ -99,6 +101,18 @@ public class BizAccountServiceImpl implements IBizAccountService return bizAccountMapper.deleteBizAccountById(id); } + + /** + * 查询会员账户明细列表 + * + * @param bizAccountDetail 会员账户明细 + * @return 会员账户明细集合 + */ + public List selectBizAccountDetailList(BizAccountDetail bizAccountDetail) + { + return bizAccountMapper.selectBizAccountDetailList(bizAccountDetail); + } + /** * 会员福豆变动明细 * @@ -136,10 +150,11 @@ public class BizAccountServiceImpl implements IBizAccountService detail.setBusinessNo(businessInfo); detail.setChangeType(changeType); detail.setTypeDetail(detailType); + detail.setAmount(money); detail.setBeforeAmount(beforeMoney); detail.setAfterAmount(afterMoney); detail.setChangeDesc(desc); - detail.setUpdateTime(new Date()); + detail.setCreateTime(new Date()); bizAccountMapper.insertBizAccountDetail(detail); return true; } diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/BizMemberAddressServiceImpl.java b/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/BizMemberAddressServiceImpl.java index 53971a0ea..0c89d36e7 100644 --- a/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/BizMemberAddressServiceImpl.java +++ b/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/BizMemberAddressServiceImpl.java @@ -8,6 +8,7 @@ import com.ruoyi.common.utils.DateUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.List; /** * 会员收货地址Service业务层处理 @@ -18,7 +19,7 @@ import java.util.List; @Service public class BizMemberAddressServiceImpl implements IBizMemberAddressService { - @Autowired + @Resource private BizMemberAddressMapper bizMemberAddressMapper; /** diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/BizMemberServiceImpl.java b/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/BizMemberServiceImpl.java index 21000e5ee..e9218f3ea 100644 --- a/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/BizMemberServiceImpl.java +++ b/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/BizMemberServiceImpl.java @@ -189,4 +189,15 @@ public class BizMemberServiceImpl implements IBizMemberService return bizMemberMapper.deleteBizMemberById(id); } + /** + * 取出会员等级明细及商品购买数 + * + * @param paramMap + * @return 结果 + */ + @Override + public List selectTeamData(Map paramMap) + { + return bizMemberMapper.selectTeamData(paramMap); + } } diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/BizProductServiceImpl.java b/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/BizProductServiceImpl.java index c02db056e..bc017a11b 100644 --- a/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/BizProductServiceImpl.java +++ b/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/BizProductServiceImpl.java @@ -15,6 +15,8 @@ import com.ruoyi.business.domain.BizProduct; import com.ruoyi.business.service.IBizProductService; import com.ruoyi.common.core.text.Convert; +import javax.annotation.Resource; + /** * 产品Service业务层处理 * @@ -24,7 +26,7 @@ import com.ruoyi.common.core.text.Convert; @Service public class BizProductServiceImpl implements IBizProductService { - @Autowired + @Resource private BizProductMapper bizProductMapper; /** @@ -72,6 +74,18 @@ public class BizProductServiceImpl implements IBizProductService return bizProductMapper.selectBizProductList(bizProduct); } + /** + * 查询团队产品列表 + * + * @param + * @return 产品集合 + */ + @Override + public List selectTeamProductList() + { + return bizProductMapper.selectTeamProductList(); + } + /** * 新增产品 * diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/BizProductTypeServiceImpl.java b/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/BizProductTypeServiceImpl.java index c71525f2c..047062b9c 100644 --- a/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/BizProductTypeServiceImpl.java +++ b/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/BizProductTypeServiceImpl.java @@ -9,6 +9,8 @@ import com.ruoyi.business.domain.BizProductType; import com.ruoyi.business.service.IBizProductTypeService; import com.ruoyi.common.core.text.Convert; +import javax.annotation.Resource; + /** * 产品分类Service业务层处理 * @@ -18,7 +20,7 @@ import com.ruoyi.common.core.text.Convert; @Service public class BizProductTypeServiceImpl implements IBizProductTypeService { - @Autowired + @Resource private BizProductTypeMapper bizProductTypeMapper; /** diff --git a/ruoyi-business/src/main/resources/mapper/business/BizAccountMapper.xml b/ruoyi-business/src/main/resources/mapper/business/BizAccountMapper.xml index 359b4b0ff..4ea29f079 100644 --- a/ruoyi-business/src/main/resources/mapper/business/BizAccountMapper.xml +++ b/ruoyi-business/src/main/resources/mapper/business/BizAccountMapper.xml @@ -23,6 +23,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -48,7 +49,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} - + insert into biz_account @@ -97,7 +98,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + \ No newline at end of file diff --git a/ruoyi-business/src/main/resources/mapper/business/BizProductMapper.xml b/ruoyi-business/src/main/resources/mapper/business/BizProductMapper.xml index 190750640..5ef02035a 100644 --- a/ruoyi-business/src/main/resources/mapper/business/BizProductMapper.xml +++ b/ruoyi-business/src/main/resources/mapper/business/BizProductMapper.xml @@ -43,6 +43,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" order by sort desc, id desc + + + + + + + + + + + + + + + + +
+
+
+ + + + + + + \ No newline at end of file diff --git a/ruoyi-business/src/main/resources/templates/business/member/accountTeam.html b/ruoyi-business/src/main/resources/templates/business/member/accountTeam.html new file mode 100644 index 000000000..09f566e3b --- /dev/null +++ b/ruoyi-business/src/main/resources/templates/business/member/accountTeam.html @@ -0,0 +1,49 @@ + + + + + + +
+ +
+
+ +
+
+ 团队总盒数:0 +
+
+
+
+
+ +
+
+ +
+ + + + \ No newline at end of file diff --git a/ruoyi-business/src/main/resources/templates/business/member/member.html b/ruoyi-business/src/main/resources/templates/business/member/member.html index 991e71be3..b9a55b59c 100644 --- a/ruoyi-business/src/main/resources/templates/business/member/member.html +++ b/ruoyi-business/src/main/resources/templates/business/member/member.html @@ -86,27 +86,42 @@ { field: 'douBalance', align: 'center', - title: '福豆余额' + title: '福豆余额', + formatter: function(value, row, index) { + return "" + value + ""; + } }, { field: 'douPerson', align: 'center', - title: '个人福豆' + title: '个人福豆', + formatter: function(value, row, index) { + return "" + value + ""; + } }, { field: 'douTeam', align: 'center', - title: '团队福豆' + title: '团队福豆', + formatter: function(value, row, index) { + return "" + value + ""; + } }, { field: 'douField', align: 'center', - title: '福豆田' + title: '福豆田', + formatter: function(value, row, index) { + return "" + value + ""; + } }, { field: 'douSpecial', align: 'center', - title: '专项福豆' + title: '专项福豆', + formatter: function(value, row, index) { + return "" + value + ""; + } }, { field: 'memberType', @@ -131,7 +146,8 @@ align: 'center', formatter: function(value, row, index) { var actions = []; - actions.push('修改密码 '); + actions.push('会员架构 '); + actions.push('修改密码 '); actions.push('编辑 '); actions.push('删除'); return actions.join(''); @@ -141,8 +157,18 @@ $.table.init(options); }); + //查看明细 + function showDetail(memberID, accountType){ + location.href = prefix + "/accountDetail?memberID=" + memberID + "&accountType=" + accountType; + } + + //会员架构 + function showTeam(memberID, title){ + $.modal.open(title + " 会员架构", prefix + "/accountTeam?memberID=" + memberID); + } + //修改密码 - function updatePwd(memberID){ + function updatePwd(memberID, memberName){ $.post(prefix + "/showPassword", { memberID:memberID }, function(response){ @@ -152,7 +178,7 @@ }); let showPwd = function(oldPwd){ - $.modal.confirm("
请输入新的密码
", function() { + $.modal.confirm("
请输入新的密码  " + memberName + "
", function() { let pwd = $("#newPwd").val(); if(pwd.length == 0){ $.modal.msgError("请输入新密码"); diff --git a/sql/biz.sql b/sql/biz.sql index 09fac3cdc..84e234597 100644 --- a/sql/biz.sql +++ b/sql/biz.sql @@ -57,6 +57,7 @@ CREATE TABLE `biz_account_detail` ( `business_no` varchar(64) NOT NULL DEFAULT '' COMMENT '业务订单编号: 三方支付/兑现申请/团队明细', `change_type` tinyint(4) NOT NULL DEFAULT 0 COMMENT '变更类型;1:收入(加);-1:支出(减)', `type_detail` tinyint(4) NOT NULL COMMENT '变动详情.1:充值;2:提现;3:转账;4:冲正;5:支付', + `amount` decimal(12,2) NOT NULL DEFAULT 0.0 COMMENT '变更金额', `before_amount` decimal(12,2) NOT NULL DEFAULT 0.0 COMMENT '账户变更前金额', `after_amount` decimal(12,2) NOT NULL DEFAULT 0.0 COMMENT '账户变更后金额', `change_desc` varchar(64) DEFAULT '' COMMENT '交易备注:充值【一级推荐奖励】,充值【二级推荐奖励】,充值【团队奖励】,充值【专项划拨】,转账【专项划拨】', @@ -152,6 +153,7 @@ CREATE TABLE `biz_order` ( `member_name` varchar(32) NOT NULL DEFAULT '' COMMENT '用户姓名', `order_amount` decimal(12,2) NOT NULL DEFAULT 0.0 COMMENT '订单金额', `order_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '订单状态:0-待支付,1-已支付,2-已取消, 3-待收货, 4-已完成', + `is_team` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否影响团队福豆', `address_detail` varchar(64) NOT NULL DEFAULT '' COMMENT '收货地址', `remark` varchar(100) NOT NULL DEFAULT '' COMMENT '备注', `address_id` bigint(20) NOT NULL COMMENT '收货人地址ID',