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 a718c9e01..e8dcd3281 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 @@ -14,6 +14,8 @@ import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.domain.SysDictData; +import com.ruoyi.system.utils.DictUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -122,6 +124,7 @@ public class BizMemberController extends BaseController paramMap.put("productID", productID); List teamList = bizMemberService.selectTeamData(paramMap); Map temp = new HashMap(); + Map temp2 = new HashMap(); long teamNum = 0; //取出架构人员数据 for (Map item : teamList) { @@ -142,12 +145,57 @@ public class BizMemberController extends BaseController item.put("children", chList); } } + //取出团队盒数等级配置 + List levels = DictUtils.getDictCache("busi_teamaward_level"); + int numLimit = Integer.parseInt(DictUtils.getDictLabel("busi_award_set", "1")); + //归总直属下级盒数 + List list = (List) temp.get(memberID); + for (Map item : list) { + Long id = (Long) item.get("id"); + long num = ((BigDecimal) item.get("num")).longValue(); + item.put("totalNum", num); + long totalNum = getTeamNum((List) temp.get(id), item); + item.put("desc", getTeamDesc(totalNum, levels, numLimit)); + } Map resultMap = new HashMap(); resultMap.put("teamNum", teamNum); - resultMap.put("memberList", temp.get(memberID)); + resultMap.put("memberList", list); return AjaxResult.success(resultMap); } + //取出子级团队盒数 + private long getTeamNum(List chList, Map parent) + { + if (chList == null) return 0; + for (Map item : chList) { + long num = ((BigDecimal) item.get("num")).longValue(); + long totalNum = (Long) parent.get("totalNum"); + parent.put("totalNum", totalNum + num); + List children = (List) item.get("children"); + if (children != null) { + getTeamNum(children, parent); + } + } + return (Long) parent.get("totalNum"); + } + + //取出团队盒数说明 + private String getTeamDesc(long totalNum, List levels, int numLimit) + { + if (totalNum <= numLimit) return "[团队盒数" + totalNum + " 无分成]"; + for (SysDictData data : levels) { + String label = data.getDictLabel(); + long dou = Long.parseLong(data.getDictValue()); + String[] split = label.split("-"); + long begin = Long.parseLong(split[0]); + long end = Long.parseLong(split[1]); + if (totalNum >= begin && totalNum <= end) { + return "[团队盒数" + totalNum + " 分成" + dou + "福豆]"; + } + } + return ""; + } + /** * 导出会员列表 */ 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 2e96b7a36..bd67d5ba5 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 @@ -25,6 +25,7 @@ public class BizAccountDetail extends BaseEntity public static final int DOU_DETAIL_TYPE_EXCHANGE = 3; public static final int DOU_DETAIL_TYPE_RESET = 4; public static final int DOU_DETAIL_TYPE_ORDER = 5; + public static final int DOU_DETAIL_TYPE_SYSTEM = 6; //福豆使用备注 public static final String DOU_DESC_RECOMM = "直推奖励"; public static final String DOU_DESC_SECOND = "二级推荐奖励"; @@ -32,6 +33,7 @@ public class BizAccountDetail extends BaseEntity public static final String DOU_DESC_SPECIAL1 = "专项账户充值"; public static final String DOU_DESC_SPECIAL2 = "专项划拨"; public static final String DOU_DESC_ORDER = "订单消费"; + public static final String DOU_DESC_SYSTEM = "系统调整"; /** 会员账户明细ID */ private Long id; 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 e9218f3ea..064c6e5b6 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 @@ -9,6 +9,7 @@ import java.util.Map; import com.ruoyi.business.domain.BizAccount; import com.ruoyi.business.domain.BizAccountDetail; import com.ruoyi.business.mapper.BizAccountMapper; +import com.ruoyi.business.service.IBizAccountService; import com.ruoyi.common.utils.DateUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -31,6 +32,9 @@ public class BizMemberServiceImpl implements IBizMemberService @Resource private BizMemberMapper bizMemberMapper; + @Autowired + private IBizAccountService bizAccountService; + @Resource private BizAccountMapper bizAccountMapper; @@ -157,8 +161,9 @@ public class BizMemberServiceImpl implements IBizMemberService } //数据不一致则更新最新账户余额 if (!newAmount.equals(oldAmount)) { - account.setAmount(new BigDecimal(newAmount)); - bizAccountMapper.updateBizAccount(account); + //account.setAmount(new BigDecimal(newAmount)); + //bizAccountMapper.updateBizAccount(account); + bizAccountService.accountChange(memberId, account.getAccountType(), BizAccountDetail.DOU_DETAIL_TYPE_SYSTEM, newAmount - oldAmount, "", BizAccountDetail.DOU_DESC_SYSTEM); } } diff --git a/ruoyi-business/src/main/resources/mapper/business/BizMemberMapper.xml b/ruoyi-business/src/main/resources/mapper/business/BizMemberMapper.xml index e6379d1cf..2db7e00f5 100644 --- a/ruoyi-business/src/main/resources/mapper/business/BizMemberMapper.xml +++ b/ruoyi-business/src/main/resources/mapper/business/BizMemberMapper.xml @@ -133,7 +133,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"