会员修改与架构详细

This commit is contained in:
Administrator 2020-09-21 23:34:56 +08:00
parent 4ecf121014
commit 365811efc9
5 changed files with 62 additions and 7 deletions

View File

@ -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<Map> 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<SysDictData> levels = DictUtils.getDictCache("busi_teamaward_level");
int numLimit = Integer.parseInt(DictUtils.getDictLabel("busi_award_set", "1"));
//归总直属下级盒数
List<Map> list = (List<Map>) 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<Map>) 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<Map> 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<Map> children = (List<Map>) item.get("children");
if (children != null) {
getTeamNum(children, parent);
}
}
return (Long) parent.get("totalNum");
}
//取出团队盒数说明
private String getTeamDesc(long totalNum, List<SysDictData> 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 "";
}
/**
* 导出会员列表
*/

View File

@ -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;

View File

@ -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);
}
}

View File

@ -133,7 +133,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select>
<select id="selectTeamData" parameterType="Map" resultType="Map">
select a.id,a.member_name,a.recommend_id, sum(IF(c.product_count IS NULL,0,c.product_count)) as num from biz_member a
select a.id,a.mobile,a.member_name,a.recommend_id, sum(IF(c.product_count IS NULL,0,c.product_count)) as num from biz_member a
left join biz_order b on a.id = b.member_id and b.order_status > 0 and b.is_team = 1
left join biz_order_detail c on c.order_id = b.id
<if test="productId != null">and c.product_id = #{productId}</if>

View File

@ -44,18 +44,18 @@
$.post(prefix + "/accountTeamDetail", "memberID=" + $("#memberID").val() + "&productID=" + productID, function(resp){
if(resp.code != 0) return;
$("#numSpan").text(resp.data.teamNum);
showChildren($("#container"), resp.data.memberList);
showChildren($("#container"), resp.data.memberList, true);
$("#container .cont").hide();
});
}
//列出子级
function showChildren(div, list){
function showChildren(div, list, flag){
for(let i=0;i<list.length;i++){
let item = list[i];
let children = item.children;
let child = clone.clone().show();
child.html("<span class='" + (children ? "glyphicon glyphicon-chevron-right" : "noneChild") + "'>&nbsp;" + item.member_name + " " + item.num + "盒</span>");
child.html("<span class='" + (children ? "glyphicon glyphicon-chevron-right" : "noneChild") + "'>&nbsp;" + item.member_name + item.mobile + "(" + item.num + "盒)&nbsp;<b style='color:#0000FF'>" + (flag ? item.desc : "") + "</b></span>");
div.append(child);
if(children){
child.append("<div class='cont'></div>");