会员修改与架构详细
This commit is contained in:
parent
4ecf121014
commit
365811efc9
|
|
@ -14,6 +14,8 @@ import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
import com.ruoyi.common.enums.BusinessType;
|
import com.ruoyi.common.enums.BusinessType;
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
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.apache.shiro.authz.annotation.RequiresPermissions;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
|
|
@ -122,6 +124,7 @@ public class BizMemberController extends BaseController
|
||||||
paramMap.put("productID", productID);
|
paramMap.put("productID", productID);
|
||||||
List<Map> teamList = bizMemberService.selectTeamData(paramMap);
|
List<Map> teamList = bizMemberService.selectTeamData(paramMap);
|
||||||
Map temp = new HashMap();
|
Map temp = new HashMap();
|
||||||
|
Map temp2 = new HashMap();
|
||||||
long teamNum = 0;
|
long teamNum = 0;
|
||||||
//取出架构人员数据
|
//取出架构人员数据
|
||||||
for (Map item : teamList) {
|
for (Map item : teamList) {
|
||||||
|
|
@ -142,12 +145,57 @@ public class BizMemberController extends BaseController
|
||||||
item.put("children", chList);
|
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();
|
Map resultMap = new HashMap();
|
||||||
resultMap.put("teamNum", teamNum);
|
resultMap.put("teamNum", teamNum);
|
||||||
resultMap.put("memberList", temp.get(memberID));
|
resultMap.put("memberList", list);
|
||||||
return AjaxResult.success(resultMap);
|
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 "";
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 导出会员列表
|
* 导出会员列表
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -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_EXCHANGE = 3;
|
||||||
public static final int DOU_DETAIL_TYPE_RESET = 4;
|
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_ORDER = 5;
|
||||||
|
public static final int DOU_DETAIL_TYPE_SYSTEM = 6;
|
||||||
//福豆使用备注
|
//福豆使用备注
|
||||||
public static final String DOU_DESC_RECOMM = "直推奖励";
|
public static final String DOU_DESC_RECOMM = "直推奖励";
|
||||||
public static final String DOU_DESC_SECOND = "二级推荐奖励";
|
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_SPECIAL1 = "专项账户充值";
|
||||||
public static final String DOU_DESC_SPECIAL2 = "专项划拨";
|
public static final String DOU_DESC_SPECIAL2 = "专项划拨";
|
||||||
public static final String DOU_DESC_ORDER = "订单消费";
|
public static final String DOU_DESC_ORDER = "订单消费";
|
||||||
|
public static final String DOU_DESC_SYSTEM = "系统调整";
|
||||||
|
|
||||||
/** 会员账户明细ID */
|
/** 会员账户明细ID */
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ import java.util.Map;
|
||||||
import com.ruoyi.business.domain.BizAccount;
|
import com.ruoyi.business.domain.BizAccount;
|
||||||
import com.ruoyi.business.domain.BizAccountDetail;
|
import com.ruoyi.business.domain.BizAccountDetail;
|
||||||
import com.ruoyi.business.mapper.BizAccountMapper;
|
import com.ruoyi.business.mapper.BizAccountMapper;
|
||||||
|
import com.ruoyi.business.service.IBizAccountService;
|
||||||
import com.ruoyi.common.utils.DateUtils;
|
import com.ruoyi.common.utils.DateUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
@ -31,6 +32,9 @@ public class BizMemberServiceImpl implements IBizMemberService
|
||||||
@Resource
|
@Resource
|
||||||
private BizMemberMapper bizMemberMapper;
|
private BizMemberMapper bizMemberMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IBizAccountService bizAccountService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private BizAccountMapper bizAccountMapper;
|
private BizAccountMapper bizAccountMapper;
|
||||||
|
|
||||||
|
|
@ -157,8 +161,9 @@ public class BizMemberServiceImpl implements IBizMemberService
|
||||||
}
|
}
|
||||||
//数据不一致则更新最新账户余额
|
//数据不一致则更新最新账户余额
|
||||||
if (!newAmount.equals(oldAmount)) {
|
if (!newAmount.equals(oldAmount)) {
|
||||||
account.setAmount(new BigDecimal(newAmount));
|
//account.setAmount(new BigDecimal(newAmount));
|
||||||
bizAccountMapper.updateBizAccount(account);
|
//bizAccountMapper.updateBizAccount(account);
|
||||||
|
bizAccountService.accountChange(memberId, account.getAccountType(), BizAccountDetail.DOU_DETAIL_TYPE_SYSTEM, newAmount - oldAmount, "", BizAccountDetail.DOU_DESC_SYSTEM);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -133,7 +133,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectTeamData" parameterType="Map" resultType="Map">
|
<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 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
|
left join biz_order_detail c on c.order_id = b.id
|
||||||
<if test="productId != null">and c.product_id = #{productId}</if>
|
<if test="productId != null">and c.product_id = #{productId}</if>
|
||||||
|
|
|
||||||
|
|
@ -44,18 +44,18 @@
|
||||||
$.post(prefix + "/accountTeamDetail", "memberID=" + $("#memberID").val() + "&productID=" + productID, function(resp){
|
$.post(prefix + "/accountTeamDetail", "memberID=" + $("#memberID").val() + "&productID=" + productID, function(resp){
|
||||||
if(resp.code != 0) return;
|
if(resp.code != 0) return;
|
||||||
$("#numSpan").text(resp.data.teamNum);
|
$("#numSpan").text(resp.data.teamNum);
|
||||||
showChildren($("#container"), resp.data.memberList);
|
showChildren($("#container"), resp.data.memberList, true);
|
||||||
$("#container .cont").hide();
|
$("#container .cont").hide();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
//列出子级
|
//列出子级
|
||||||
function showChildren(div, list){
|
function showChildren(div, list, flag){
|
||||||
for(let i=0;i<list.length;i++){
|
for(let i=0;i<list.length;i++){
|
||||||
let item = list[i];
|
let item = list[i];
|
||||||
let children = item.children;
|
let children = item.children;
|
||||||
let child = clone.clone().show();
|
let child = clone.clone().show();
|
||||||
child.html("<span class='" + (children ? "glyphicon glyphicon-chevron-right" : "noneChild") + "'> " + item.member_name + " " + item.num + "盒</span>");
|
child.html("<span class='" + (children ? "glyphicon glyphicon-chevron-right" : "noneChild") + "'> " + item.member_name + item.mobile + "(" + item.num + "盒) <b style='color:#0000FF'>" + (flag ? item.desc : "") + "</b></span>");
|
||||||
div.append(child);
|
div.append(child);
|
||||||
if(children){
|
if(children){
|
||||||
child.append("<div class='cont'></div>");
|
child.append("<div class='cont'></div>");
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue