From e673aef27f779e1ebc016e0e38455561dd39253c Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 14 五月 2020 18:17:37 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div
---
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/InviteControllerV2.java | 696 +++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 623 insertions(+), 73 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/InviteControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/InviteControllerV2.java
index 9e59c03..a837701 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/InviteControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/InviteControllerV2.java
@@ -3,6 +3,7 @@
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -13,21 +14,29 @@
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
+import org.yeshi.utils.DateUtil;
import org.yeshi.utils.JsonUtil;
+import com.yeshi.fanli.dto.user.ThreeSaleFocusDTO;
import com.yeshi.fanli.dto.vip.UserVIPLevel;
import com.yeshi.fanli.dto.wx.WXAccountInfoDTO;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.bus.msg.UserSystemMsg;
import com.yeshi.fanli.entity.bus.msg.UserSystemMsgTypeEnum;
+import com.yeshi.fanli.entity.bus.user.TeamFansInfo;
import com.yeshi.fanli.entity.bus.user.ThreeSale;
import com.yeshi.fanli.entity.bus.user.ThreeSaleExtraInfo;
+import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
import com.yeshi.fanli.entity.bus.user.UserInviteValidNum;
import com.yeshi.fanli.entity.bus.user.UserInviteValidRecord;
import com.yeshi.fanli.entity.bus.user.WeiXinUser;
+import com.yeshi.fanli.entity.bus.user.invite.TeamDailyRecord;
+import com.yeshi.fanli.entity.bus.user.vip.TeamUserLevelStatistic;
+import com.yeshi.fanli.entity.bus.user.vip.TearcherInfo;
import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum;
+import com.yeshi.fanli.entity.bus.user.vip.UserVIPPreInfo;
import com.yeshi.fanli.entity.system.BusinessSystem;
import com.yeshi.fanli.entity.system.ConfigKeyEnum;
import com.yeshi.fanli.entity.system.SystemClientParams;
@@ -38,20 +47,29 @@
import com.yeshi.fanli.service.inter.config.SpreadImgService;
import com.yeshi.fanli.service.inter.config.SystemClientParamsService;
import com.yeshi.fanli.service.inter.msg.UserSystemMsgService;
+import com.yeshi.fanli.service.inter.order.CommonOrderCountService;
import com.yeshi.fanli.service.inter.push.PushService;
import com.yeshi.fanli.service.inter.user.SpreadUserImgService;
+import com.yeshi.fanli.service.inter.user.UserCustomSettingsService;
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
+import com.yeshi.fanli.service.inter.user.invite.TeamDailyRecordService;
+import com.yeshi.fanli.service.inter.user.invite.TeamFansInfoService;
import com.yeshi.fanli.service.inter.user.invite.ThreeSaleExtraInfoSerivce;
import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
import com.yeshi.fanli.service.inter.user.invite.UserInviteService;
import com.yeshi.fanli.service.inter.user.invite.UserInviteValidNumService;
import com.yeshi.fanli.service.inter.user.invite.UserInviteValidRecordService;
+import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService;
+import com.yeshi.fanli.service.inter.user.vip.TeamUserLevelStatisticService;
+import com.yeshi.fanli.service.inter.user.vip.TearcherService;
import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
+import com.yeshi.fanli.service.inter.user.vip.UserVIPPreInfoService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.RedisKeyEnum;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.VersionUtil;
import com.yeshi.fanli.util.annotation.RequestSerializableByKey;
import com.yeshi.fanli.util.user.UserLevelUtil;
@@ -93,23 +111,48 @@
@Resource
private SpreadImgService spreadImgService;
-
+
@Resource
private SpreadUserImgService spreadUserImgService;
-
+
@Resource
private SystemClientParamsService systemClientParamsService;
-
+
@Resource
private UserInviteService userInviteService;
-
+
@Resource
private UserInviteValidRecordService userInviteValidRecordService;
-
+
@Resource
private UserInviteValidNumService userInviteValidNumService;
+
+ @Resource
+ private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService;
+
+ @Resource
+ private CommonOrderCountService commonOrderCountService;
+
+ @Resource
+ private TeamFansInfoService teamFansInfoService;
+
+ @Resource
+ private UserCustomSettingsService userCustomSettingsService;
+
+ @Resource
+ private TearcherService tearcherService;
+
+ @Resource
+ private TeamUserLevelStatisticService teamUserLevelStatisticService;
+
+ @Resource
+ private UserVIPPreInfoService userVIPPreInfoService;
+
+ @Resource
+ private TeamDailyRecordService teamDailyRecordService;
+
/**
* 閭�璇风爜楠岃瘉
*
@@ -147,7 +190,8 @@
if (wxUnionId == null || wxUnionId.trim().length() == 0)
throw new UserInfoExtraException(1, "寰俊鎺堟潈澶辫触");
- String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.emptyKey, StringUtil.Md5("activeWX:" + weiXinUser.getUnionid()));
+ String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.emptyKey,
+ StringUtil.Md5("activeWX:" + weiXinUser.getUnionid()));
redisManager.cacheCommonString(key, JsonUtil.getSimpleGson().toJson(weiXinUser), 60 * 20);
// 閭�璇峰叧绯荤敤鎴蜂俊鎭�
@@ -169,8 +213,7 @@
*
* @param acceptData
* @param uid
- * @param key
- * 楠岃瘉杩斿洖鐨刱ey
+ * @param key 楠岃瘉杩斿洖鐨刱ey
* @param out
*/
@RequestSerializableByKey(key = "'activeInviteWX-'+#uid")
@@ -199,7 +242,7 @@
}
/**
- * 鐢ㄦ埛闃熷憳鍒楄〃鏌ヨ
+ * 鐢ㄦ埛闃熷憳鍒楄〃鏌ヨ
*
* @param acceptData
* @param id
@@ -211,34 +254,31 @@
out.print(JsonUtil.loadFalseResult("绮変笣绫诲瀷涓嶆纭�"));
return;
}
-
- List<Long> listId = new ArrayList<Long>();
long count = 0;
List<ThreeSale> listTeam = null;
if (type == 1) {
- listTeam = threeSaleSerivce.listFirstTeam((page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE, uid, listId);
+ listTeam = threeSaleSerivce.listFirstTeam((page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE, uid);
count = threeSaleSerivce.countFirstTeam(uid);
} else if (type == 2) {
- listTeam = threeSaleSerivce.listSecondTeam((page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE, uid, listId);
+ listTeam = threeSaleSerivce.listSecondTeam((page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE, uid);
count = threeSaleSerivce.countSecondTeam(uid);
}
// 鏁版嵁鍔犲伐
JSONArray array = null;
if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) {
- array = organizeTeamNew(listTeam, uid, type, true);
+ array = organizeTeamNew(acceptData, listTeam, uid, type, true);
} else {
boolean needVIPInfo = false;
if (VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion()))
needVIPInfo = true;
- array = organizeTeam(listTeam, uid, type,needVIPInfo);
+ array = organizeTeam(listTeam, uid, type, needVIPInfo);
}
-
-
+
JSONObject result = new JSONObject();
result.put("count", count);
result.put("list", array);
-
+
if (type == 1 && page == 1) {
boolean hasCode = false;
UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
@@ -347,18 +387,18 @@
}
return resultArray;
}
-
-
+
/**
- * 鍔犲伐鏁版嵁
+ * 鍔犲伐鏁版嵁
+ *
* @param count
* @param list
* @param uid
- * @param type 鏌ヨ绮変笣绫诲瀷 1鐩存帴 2闂存帴
+ * @param type 鏌ヨ绮変笣绫诲瀷 1鐩存帴 2闂存帴
* @param wxtip 鏄渶瑕佸井淇℃彁绀�
* @return
*/
- private JSONArray organizeTeamNew(List<ThreeSale> list, Long uid, int type, boolean wxtip) {
+ private JSONArray organizeTeamNew(AcceptData acceptData, List<ThreeSale> list, Long uid, int type, boolean wxtip) {
JSONArray resultArray = new JSONArray();
if (list == null || list.size() == 0) {
return resultArray;
@@ -373,37 +413,37 @@
for (ThreeSale threeSale : list) {
listWid.add(threeSale.getWorker().getId());
}
-
+
// 鏌ヨ鏈夋晥绮変笣id
int validType = UserInviteValidRecord.TYPE_TWO;
if (type == 1) {
validType = UserInviteValidRecord.TYPE_ONE;
}
-
+
List<Long> listVid = userInviteValidRecordService.getValidWorkerIdsByUid(uid, listWid, validType);
-
+
for (ThreeSale threeSale : list) {
UserInfo worker = threeSale.getWorker();
Long workerId = worker.getId();
// 閭�璇锋垚鍔熸椂闂�
- Long succeedTime = threeSale.getSucceedTime();
+ Long succeedTime = threeSale.getSucceedTime();
if (succeedTime == null) {
succeedTime = threeSale.getCreateTime();
}
-
+
// 鏈夋晥绮変笣
- boolean validFans = false;
+ boolean validFans = false;
if (listVid != null && listVid.size() > 0 && listVid.contains(workerId)) {
validFans = true;
}
-
+
// 鏈�杩戠矇涓濈櫥褰曟椂闂�
Date lastLoginTime = new Date(threeSale.getCreateTime());
UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(workerId);
if (userInfoExtra != null && userInfoExtra.getActiveTime() != null) {
lastLoginTime = userInfoExtra.getActiveTime();
- }
+ }
JSONObject loginJson = new JSONObject();
if (formatYears.format(todayTime).equals(formatYears.format(lastLoginTime))) {
loginJson.put("content", "鏈�杩戠櫥褰� " + sdf.format(lastLoginTime)); // 鏈勾
@@ -411,7 +451,7 @@
loginJson.put("content", "鏈�杩戠櫥褰� " + format.format(lastLoginTime)); // 寰�骞�
}
loginJson.put("color", "#888888");
-
+
JSONArray array = new JSONArray();
array.add(loginJson);
@@ -421,11 +461,11 @@
if (vipLevel != null && vipLevel.getLevel() != null) {
level = UserLevelUtil.getByLevel(vipLevel.getLevel());
}
- if(level == null) {
+ if (level == null) {
level = UserLevelEnum.daRen;
}
level = UserLevelUtil.getShowLevel(level);
-
+
JSONObject object = new JSONObject();
object.put("workerId", workerId);
object.put("nickName", worker.getNickName());
@@ -436,8 +476,8 @@
object.put("recentMsg", array);
object.put("level", level.name());
object.put("validFans", validFans);
-
- if (wxtip && type == 1 && threeSale.getState() != null && threeSale.getState()) {
+
+ if (wxtip) {
// 涓�绾ч槦鍛� 鏌ヨ鏄电О澶囨敞
String memoName = null;
ThreeSaleExtraInfo threeSaleExtraInfo = threeSale.getThreeSaleExtraInfo();
@@ -447,19 +487,21 @@
}
}
object.put("memoName", memoName);
-
- // 娣诲姞寰俊淇℃伅
- if (userInfoExtra != null && !StringUtil.isNullOrEmpty(userInfoExtra.getWeiXin())) {
- object.put("weiXin", userInfoExtra.getWeiXin());
- object.put("weiXinState", 3);
- object.put("weiXinTip", "娣诲姞TA鐨勫井淇★紝浣犲彲鏁欐巿TA濡備綍閫氳繃鏉挎牀蹇渷璧氶挶鎶�宸с��");
- } else {
- if (!threeSaleExtraInfoSerivce.isRemindWorker(uid, workerId)) {
- object.put("weiXinState", 1);
- object.put("weiXinTip", "鐐瑰嚮鎻愰啋锛岀郴缁熶細鍙戦�佷竴灏佺珯鍐呬俊锛屾彁閱掑叾娣诲姞寰俊鍙枫��");
+
+ if (type == 1 && !VersionUtil.greaterThan_2_1_1(acceptData.getPlatform(), acceptData.getVersion())) {
+ // 娣诲姞寰俊淇℃伅
+ if (userInfoExtra != null && !StringUtil.isNullOrEmpty(userInfoExtra.getWeiXin())) {
+ object.put("weiXin", userInfoExtra.getWeiXin());
+ object.put("weiXinState", 3);
+ object.put("weiXinTip", "娣诲姞TA鐨勫井淇★紝浣犲彲鏁欐巿TA濡備綍閫氳繃鏉挎牀蹇渷璧氶挶鎶�宸с��");
} else {
- object.put("weiXinState", 2);
- object.put("weiXinTip", "绯荤粺宸插彂閫佹彁閱掞紝閭�璇蜂汉娣诲姞寰俊鍚庝綘鍙鍒讹紝濡傚鏂硅繜杩熶笉娣诲姞锛屼綘鍙仈绯讳汉宸ュ鏈嶅姹傚府鍔�");
+ if (!threeSaleExtraInfoSerivce.isRemindWorker(uid, workerId)) {
+ object.put("weiXinState", 1);
+ object.put("weiXinTip", "鐐瑰嚮鎻愰啋锛岀郴缁熶細鍙戦�佷竴灏佺珯鍐呬俊锛屾彁閱掑叾娣诲姞寰俊鍙枫��");
+ } else {
+ object.put("weiXinState", 2);
+ object.put("weiXinTip", "绯荤粺宸插彂閫佹彁閱掞紝閭�璇蜂汉娣诲姞寰俊鍚庝綘鍙鍒讹紝濡傚鏂硅繜杩熶笉娣诲姞锛屼綘鍙仈绯讳汉宸ュ鏈嶅姹傚府鍔�");
+ }
}
}
}
@@ -467,33 +509,33 @@
}
return resultArray;
}
-
-
+
/**
* 鏌ョ湅涓嬬骇鐨勭洿鎺ョ矇涓�
+ *
* @param acceptData
* @param page
- * @param uid 褰撳墠UId
- * @param tid 涓嬬骇UId
+ * @param uid 褰撳墠UId
+ * @param tid 涓嬬骇UId
* @param out
*/
@RequestMapping(value = "getOthersTeam", method = RequestMethod.POST)
- public void getOthersTeam(AcceptData acceptData, long page, Long uid, Long tid, PrintWriter out) {
+ public void getOthersTeam(AcceptData acceptData, long page, Long uid, Long tid, PrintWriter out) {
if (tid == null) {
out.print(JsonUtil.loadFalseResult("浼犻�掑弬鏁颁笉姝g‘"));
return;
}
-
- List<ThreeSale> listTeam = threeSaleSerivce.listFirstTeam((page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE, tid);
+
+ List<ThreeSale> listTeam = threeSaleSerivce.listFirstTeam((page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE,
+ tid);
long count = threeSaleSerivce.countFirstTeam(tid);
JSONObject result = new JSONObject();
result.put("count", count);
- result.put("list", organizeTeamNew(listTeam, tid, 1, false));
+ result.put("list", organizeTeamNew(acceptData, listTeam, tid, 1, false));
out.print(JsonUtil.loadTrueResult(result));
}
-
-
+
/**
* 鐢ㄦ埛闃熷憳缁熻- IOS
*
@@ -558,6 +600,7 @@
/**
* 鑾峰彇鐢ㄦ埛淇℃伅
+ *
* @param acceptData
* @param uid
* @param out
@@ -571,8 +614,7 @@
JSONObject bossData = getBossInfo(uid, threeSaleSerivce.getMyBoss(uid));
out.print(JsonUtil.loadTrueResult(bossData));
}
-
-
+
/**
* 涓婄骇淇℃伅缁勭粐
*
@@ -712,11 +754,11 @@
out.print(JsonUtil.loadFalseResult("鎻愰啋澶辫触"));
}
}
-
-
+
@RequestSerializableByKey(key = "'getInviteImgs-'+#uid")
@RequestMapping(value = "/getInviteImgs", method = RequestMethod.POST)
- public void getInviteImgs(AcceptData acceptData, Long uid, Integer page, PrintWriter out, HttpServletRequest request) {
+ public void getInviteImgs(AcceptData acceptData, Long uid, Integer page, PrintWriter out,
+ HttpServletRequest request) {
if (uid == null || uid <= 0) {
out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
return;
@@ -724,33 +766,34 @@
if (page == null || page < 1)
page = 1;
-
+
try {
String inviteCode = userInfoExtraService.getInviteCodeByUid(uid);
if (StringUtil.isNullOrEmpty(inviteCode)) {
out.print(JsonUtil.loadFalseResult("閭�璇风爜鏈縺娲�"));
return;
}
-
+
int count = 3;
- if (page > 1)
+ if (page > 1)
count = Integer.MAX_VALUE;
-
+
// 閭�璇峰浘
List<String> imgList = spreadUserImgService.getUserSpreadImgToPage(uid, page, count, request);
-
+
// 閭�璇疯鍒�
BusinessSystem system = new BusinessSystem();
system.setId(4L);
system.setPlatform(1);
system.setCreatetime(java.lang.System.currentTimeMillis());
- SystemClientParams values = systemClientParamsService.getSystemClientParamsBySystemAndKey(system, "inviteRules");
-
+ SystemClientParams values = systemClientParamsService.getSystemClientParamsBySystemAndKey(system,
+ "inviteRules");
+
JSONObject data = new JSONObject();
data.put("count", spreadImgService.countAll());
data.put("inviteCode", inviteCode);
data.put("helpLink", configService.get(ConfigKeyEnum.inviteHelpLink.getKey()));
- data.put("inviteRules", values.getValue().replace("\n", "<br><br>"));
+ data.put("inviteRules", values.getValue().replace("\n", "<br><br>"));
data.put("imgUrlList", JsonUtil.getSimpleGsonWithDate().toJson(imgList));
data.put("inviteLink", Constant.YINGYONGBAO_LINK);
out.print(JsonUtil.loadTrue(0, JsonUtil.getSimpleGson().toJson(data), "鎴愬姛"));
@@ -759,7 +802,7 @@
out.print(JsonUtil.loadFalseResult("閭�璇蜂俊鎭幏鍙栧け璐�"));
}
}
-
+
/**
* 绔欏唴淇℃彁閱掗槦鍛樻坊鍔犲井淇″彿
*
@@ -781,11 +824,518 @@
if (userInviteValidNum != null) {
doneFirst = userInviteValidNum.getNumFirst() == null ? 0 : userInviteValidNum.getNumFirst();
}
-
+
JSONObject data = new JSONObject();
data.put("num", doneFirst);
data.put("limit", Constant.INVITE_CODRE_TAILOR_LIMIT);
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
}
+
+ /**
+ * 鐢ㄦ埛闃熷憳鍒楄〃鏌ヨ
+ *
+ * @param acceptData
+ * @param id
+ * @param out
+ */
+ @RequestMapping(value = "getMyTeamV2", method = RequestMethod.POST)
+ public void getMyTeamV2(AcceptData acceptData, int page, long uid, int type, ThreeSaleFocusDTO focus,
+ PrintWriter out) {
+ if (type != 1 && type != 2) {
+ out.print(JsonUtil.loadFalseResult("绮変笣绫诲瀷涓嶆纭�"));
+ return;
+ }
+
+ long firstTeam = 0;
+ long countSecond = 0;
+ List<ThreeSale> listTeam = null;
+ if (!existScreen(focus)) { // 鏅�氭煡璇�
+ if (type == 1) {
+ listTeam = threeSaleSerivce.listFirstTeam((page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE, uid);
+ } else if (type == 2) {
+ listTeam = threeSaleSerivce.listSecondTeam((page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE, uid);
+ }
+ firstTeam = threeSaleSerivce.countFirstTeam(uid);
+ countSecond = threeSaleSerivce.countSecondTeam(uid);
+ } else { // 绛涢�夋潯浠�
+ List<Long> listId = null;
+ List<TeamFansInfo> listfocus = teamFansInfoService.query((page - 1) * Constant.PAGE_SIZE,
+ Constant.PAGE_SIZE, type, uid, focus);
+ if (listfocus != null && listfocus.size() > 0) {
+ listId = new ArrayList<Long>();
+ for (TeamFansInfo focusInfo : listfocus) {
+ listId.add(focusInfo.getWorkerId());
+ }
+ }
+
+ if (listId != null && listId.size() > 0) {
+ if (type == 1) {
+ listTeam = threeSaleSerivce.listFirstTeam(0, Constant.PAGE_SIZE, uid, listId);
+ } else if (type == 2) {
+ listTeam = threeSaleSerivce.listSecondTeam(0, Constant.PAGE_SIZE, uid, listId);
+ }
+ }
+ firstTeam = teamFansInfoService.count(1, uid, focus);
+ countSecond = teamFansInfoService.count(2, uid, focus);
+ }
+ JSONArray array = organizeTeamNew(acceptData, listTeam, uid, type, true);
+
+ long count = (type == 1) ? firstTeam : countSecond;
+
+ JSONObject result = new JSONObject();
+ result.put("firstTeam", firstTeam);
+ result.put("secondTeam", countSecond);
+ result.put("count", count);
+ result.put("list", array);
+
+ // 缁熻H5閾炬帴
+ if (page == 1) {
+ result.put("link", configService.get(ConfigKeyEnum.teamStatisticsLink.getKey()));
+ }
+ out.print(JsonUtil.loadTrueResult(result));
+ }
+ /**
+ * 楠岃瘉鏄惁瀛樺湪绛涢�夋潯浠�
+ * @param focus
+ * @return
+ */
+ private boolean existScreen(ThreeSaleFocusDTO focus) {
+ if (focus.getStateValid() != null || focus.getTaobaoBind() != null || focus.getWeixinBind() != null
+ || focus.getMinFansNum() != null || focus.getMinFansNum() != null
+ || focus.getMinActiveTime() != null || focus.getMaxActiveTime() != null
+ || focus.getMinIncome() != null || focus.getMaxIncome() != null
+ || !StringUtil.isNullOrEmpty(focus.getKey()) || !StringUtil.isNullOrEmpty(focus.getLevel()))
+ return true;
+
+ return false;
+ }
+
+ /**
+ * 鐢ㄦ埛闃熷憳缁熻
+ *
+ * @param acceptData
+ * @param id
+ * @param out
+ */
+ @RequestMapping(value = "countMyTeamV2")
+ public void countMyTeamV2(String callback, AcceptData acceptData, Long uid, PrintWriter out) {
+ try {
+ JSONObject bossObject = new JSONObject();
+ ThreeSale threeSale = threeSaleSerivce.getByWorkerId(uid);
+ if (threeSale == null) {
+ bossObject.put("exist", false);
+ bossObject.put("desc", "鎭枩浣狅紒鏉挎牀蹇渷浼樿川鐢ㄦ埛锛沑r\n\r\n浣犲苟娌℃湁閭�璇蜂汉锛屼絾浣犵殑閭�璇疯兘鍔涢粯璁ゆ槸寮�鍚殑锛沑r\n浣犳嫢鏈夌嫭鐗圭殑鏃犻個璇蜂汉婵�娲荤爜銆�");
+ } else {
+ // 涓婄骇鍩烘湰淇℃伅
+ Long bossId = threeSale.getBoss().getId();
+ UserInfo userInfo = userInfoService.selectByPKey(bossId);
+ boolean phoneCopy = true;
+ String phone = userInfo.getPhone();
+ if (StringUtil.isNullOrEmpty(phone)) {
+ phone = "";
+ } else {
+ if (!userCustomSettingsService.validateDisplayPhoneByUid(bossId)) {
+ phoneCopy = false;
+ phone = phone.substring(0, 7) + "****";
+ }
+ }
+
+ // 寰俊鍙�
+ UserInfoExtra extra = userInfoExtraService.getUserInfoExtra(bossId);
+ if (extra != null) {
+ bossObject.put("weixin", StringUtil.isNullOrEmpty(extra.getWeiXin()) ? "" : extra.getWeiXin());
+ }
+
+ // 褰撳墠绛夌骇
+ UserLevelEnum level = null;
+ UserVIPLevel vipLevel = userInviteService.getVIPLevelByUid(bossId);
+ if (vipLevel != null && vipLevel.getLevel() != null) {
+ level = UserLevelUtil.getByLevel(vipLevel.getLevel());
+ }
+ if (level == null) {
+ level = UserLevelEnum.daRen;
+ }
+ level = UserLevelUtil.getShowLevel(level);
+
+ bossObject.put("exist", true);
+ bossObject.put("nickName", userInfo.getNickName());
+ bossObject.put("portrait", userInfo.getPortrait());
+ bossObject.put("phone", phone);
+ bossObject.put("phoneCopy", phoneCopy);
+ bossObject.put("level", level.name());
+ }
+
+ JSONObject json = new JSONObject();
+ json.put("boss", bossObject);
+
+ TearcherInfo tearcherInfo = tearcherService.selectByUid(uid);
+ if (tearcherInfo != null) {
+ JSONObject tearcherObject = new JSONObject();
+ tearcherObject.put("nickName", tearcherInfo.getNickName());
+ tearcherObject.put("portrait", tearcherInfo.getPortrait());
+ tearcherObject.put("phone", tearcherInfo.getPhone());
+ tearcherObject.put("weixin", tearcherInfo.getWxID());
+ tearcherObject.put("level", UserLevelEnum.tearcher);
+ json.put("tearcher", tearcherObject);
+ }
+
+ JSONObject daren = new JSONObject();
+ JSONObject highVIP = new JSONObject();
+ JSONObject superVIP = new JSONObject();
+
+ TeamUserLevelStatistic statistic = teamUserLevelStatisticService.selectByUid(uid);
+ if (statistic == null) {
+ daren.put("total", 0);
+ highVIP.put("total", 0);
+ superVIP.put("total", 0);
+ } else {
+ int totalDaren = statistic.getDaRenFirstCount() + statistic.getDaRenSecondCount()
+ + statistic.getNormalFirstCount() + statistic.getNormalSecondCount();
+ daren.put("total", totalDaren);
+ highVIP.put("total", statistic.getHighFirstCount() + statistic.getHighSecondCount());
+ superVIP.put("total", statistic.getSuperFirstCount() + statistic.getSuperSecondCount());
+ }
+
+
+ int darenToday = 0;
+ int highVIPToday = 0;
+ int superVIPToday = 0;
+ String createId = teamDailyRecordService.createId(uid, new Date());
+ TeamDailyRecord record = teamDailyRecordService.getById(createId);
+ if (record != null) {
+ if (record.getFirstDaRen() != null)
+ darenToday += record.getFirstDaRen();
+ if (record.getSecondDaRen() != null)
+ darenToday += record.getSecondDaRen();
+ if (record.getFirstHighVIP() != null)
+ highVIPToday += record.getFirstHighVIP();
+ if (record.getSecondHighVIP() != null)
+ highVIPToday += record.getSecondHighVIP();
+ if (record.getFirstSuperVIP() != null)
+ superVIPToday += record.getFirstSuperVIP();
+ if (record.getSecondSuperVIP() != null)
+ superVIPToday += record.getSecondSuperVIP();
+ }
+
+
+ // 鑾峰彇褰撴湀绗竴澶╁拰鏈�鍚庝竴澶�
+ Calendar cale = Calendar.getInstance();
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+ String firstday, lastday;
+ // 鑾峰彇鍓嶆湀鐨勭涓�澶�
+ cale = Calendar.getInstance();
+ cale.add(Calendar.MONTH, 0);
+ cale.set(Calendar.DAY_OF_MONTH, 1);
+ firstday = format.format(cale.getTime());
+ // 鑾峰彇鍓嶆湀鐨勬渶鍚庝竴澶�
+ cale = Calendar.getInstance();
+ cale.add(Calendar.MONTH, 1);
+ cale.set(Calendar.DAY_OF_MONTH, 0);
+ lastday = format.format(cale.getTime());
+
+ int darenMonth = 0;
+ int highVIPMonth = 0;
+ int superVIPMonth = 0;
+ Date date = new Date();
+ Date minTime = TimeUtil.parseYYYYMMDD(firstday);
+ Date maxTime = TimeUtil.parseYYYYMMDD_HHMMSS(lastday + " 23:59:59");
+ List<TeamDailyRecord> listMonth = teamDailyRecordService.sumGroupByYearMonth(uid, minTime, maxTime);
+ if (listMonth != null && listMonth.size() > 0) {
+ TeamDailyRecord teamRecord = listMonth.get(0);
+ if (teamRecord.getFirstDaRen() != null)
+ darenMonth += teamRecord.getFirstDaRen();
+ if (teamRecord.getSecondDaRen() != null)
+ darenMonth += teamRecord.getSecondDaRen();
+ if (teamRecord.getFirstHighVIP() != null)
+ highVIPMonth += teamRecord.getFirstHighVIP();
+ if (teamRecord.getSecondHighVIP() != null)
+ highVIPMonth += teamRecord.getSecondHighVIP();
+ if (teamRecord.getFirstSuperVIP() != null)
+ superVIPMonth += teamRecord.getFirstSuperVIP();
+ if (teamRecord.getSecondSuperVIP() != null)
+ superVIPMonth += teamRecord.getSecondSuperVIP();
+ }
+ // 杈句汉
+ daren.put("today", darenToday);
+ daren.put("month", darenMonth);
+ // 楂樼骇浼氫細鍛�
+ highVIP.put("today", highVIPToday);
+ highVIP.put("month", highVIPMonth);
+ // 缁熻瓒呯骇浼氬憳鏁伴噺
+ superVIP.put("today", superVIPToday);
+ superVIP.put("month", superVIPMonth);
+
+ json.put("daren", daren);
+ json.put("highVIP", highVIP);
+ json.put("superVIP", superVIP);
+ JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(json));
+ } catch (Exception e) {
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("缁熻澶辫触"));
+ e.printStackTrace();
+ }
+
+ }
+
+ /**
+ * 鑾峰彇绮変笣淇℃伅
+ *
+ * @param acceptData
+ * @param uid
+ * @param workerId
+ * @param out
+ */
+ @RequestMapping(value = "getFansInfo")
+ public void getFansInfo(AcceptData acceptData, Long uid, Long workerId, PrintWriter out) {
+ if (uid == null || workerId == null) {
+ out.print(JsonUtil.loadFalseResult("鐢ㄦ埛id缂哄け"));
+ return;
+ }
+
+ ThreeSale threeSale = threeSaleSerivce.getByWorkerId(workerId);
+ if (threeSale == null) {
+ out.print(JsonUtil.loadFalseResult("閭�璇峰叧绯讳笉瀛樺湪"));
+ return;
+ }
+
+ UserInfo user = userInfoService.selectByPKey(workerId);
+ if (user == null) {
+ out.print(JsonUtil.loadFalseResult("鐢ㄦ埛涓嶅瓨鍦�"));
+ return;
+ }
+
+ // 涓婄骇
+ UserInfo boss = userInfoService.selectByPKey(threeSale.getBoss().getId());
+
+ JSONArray tagArray = new JSONArray();
+ String memoName = user.getNickName();
+ Long succeedTime = threeSale.getSucceedTime();
+
+ JSONObject data = new JSONObject();
+ String phone = user.getPhone();
+ boolean phoneCopy = true;
+ if (StringUtil.isNullOrEmpty(phone)) {
+ phone = "";
+ } else {
+ if (!userCustomSettingsService.validateDisplayPhoneByUid(workerId)) {
+ phoneCopy = false;
+ phone = phone.substring(0, 7) + "****";
+ }
+ }
+
+ data.put("bossNickName", boss.getNickName());
+ data.put("nickName", user.getNickName());
+ data.put("phone", phone);
+ data.put("phoneCopy", phoneCopy);
+ data.put("joinTime", TimeUtil.formatDate(succeedTime == null ? threeSale.getCreateTime() : succeedTime));
+
+ ThreeSaleExtraInfo saleExtraInfo = threeSaleExtraInfoSerivce.getbyBossIdAndWorkerId(uid, workerId);
+ if (saleExtraInfo != null) {
+ if (!StringUtil.isNullOrEmpty(saleExtraInfo.getNickname())) {
+ memoName = saleExtraInfo.getNickname();
+ }
+ String tags = saleExtraInfo.getTags();
+ if (!StringUtil.isNullOrEmpty(tags)) {
+ tagArray = JSONArray.fromObject(tags);
+ }
+ }
+ data.put("memoName", memoName);
+ data.put("tags", tagArray);
+
+ Date activeTime = null;
+ String weixin = null;
+ UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(workerId);
+ if (userInfoExtra != null) {
+ weixin = userInfoExtra.getWeiXin();
+ activeTime = userInfoExtra.getActiveTime();
+ }
+
+ if (activeTime == null) {
+ activeTime = new Date(user.getCreatetime());
+ }
+
+ data.put("weixin", StringUtil.isNullOrEmpty(weixin) ? "" : weixin);
+ data.put("loginTime", TimeUtil.formatDate(activeTime));
+
+ UserExtraTaoBaoInfo userExtraTaoBaoInfo = userExtraTaoBaoInfoService.getByUid(workerId);
+ if (userExtraTaoBaoInfo != null && !StringUtil.isNullOrEmpty(userExtraTaoBaoInfo.getRelationId())
+ && !StringUtil.isNullOrEmpty(userExtraTaoBaoInfo.getSpecialId())) {
+ data.put("taobao", true);
+ } else {
+ data.put("taobao", false);
+ }
+
+ String levelName = null;
+ UserVIPPreInfo userVIPPreInfo = userVIPPreInfoService.getLatestProcessInfo(workerId);
+ if (userVIPPreInfo != null) {
+ Integer process = userVIPPreInfo.getProcess();
+ if (process == UserVIPPreInfo.PROCESS_1) {
+ levelName = "蹇渷杈句汉";
+ } else if (process == UserVIPPreInfo.PROCESS_2) {
+ levelName = "楂樼骇浼氬憳";
+ } else if (process == UserVIPPreInfo.PROCESS_3) {
+ levelName = "瓒呯骇浼氬憳";
+ } else if (process == UserVIPPreInfo.PROCESS_4) {
+ levelName = "璧勬繁瀵煎笀";
+ }
+
+ Integer sourceType = userVIPPreInfo.getSourceType();
+ if (sourceType != null) {
+ if (sourceType == UserVIPPreInfo.SOURCE_TYPE_ORDER) {
+ levelName += "(鑷喘鍒嗕韩鍨�)";
+ } else {
+ levelName += "(閭�璇峰洟闃熷瀷)";
+ }
+ }
+ }
+ if (StringUtil.isNullOrEmpty(levelName)) {
+ levelName = "蹇渷杈句汉";
+ }
+ data.put("level", levelName);
+
+ // 绮変笣缁熻
+ long indirectNum = 0;
+ long directNum = threeSaleSerivce.countFirstTeam(workerId);
+ if (directNum > 0) {
+ indirectNum = threeSaleSerivce.countSecondTeam(workerId);
+ }
+
+ // 璁㈠崟缁熻
+ long countTB = commonOrderCountService.countOrderBySourceAndNearDay(workerId, Constant.SOURCE_TYPE_TAOBAO, 60);
+ long countJD = commonOrderCountService.countOrderBySourceAndNearDay(workerId, Constant.SOURCE_TYPE_JD, 60);
+ long countPDD = commonOrderCountService.countOrderBySourceAndNearDay(workerId, Constant.SOURCE_TYPE_PDD, 60);
+
+ data.put("fansNum", "鐩存帴绮変笣锛� "+directNum+"浜篭n" + "闂存帴绮変笣锛� "+indirectNum+"浜�");
+ data.put("orderInfo", "娣樺疂 ("+countTB+"绗�)\n" + "浜笢 ("+countJD+"绗�)\n" + "鎷煎澶� ("+countPDD+"绗�)");
+ out.print(JsonUtil.loadTrueResult(data));
+ }
+
+ /**
+ * 鑾峰彇绮変笣淇℃伅
+ *
+ * @param acceptData
+ * @param uid
+ * @param workerId
+ * @param out
+ */
+ @RequestMapping(value = "saveTags")
+ public void saveTags(AcceptData acceptData, Long uid, Long workerId, String tags, PrintWriter out) {
+ if (uid == null || workerId == null) {
+ out.print(JsonUtil.loadFalseResult("鐢ㄦ埛id缂哄け"));
+ return;
+ }
+
+ int type = 1;
+ ThreeSale threeSale = threeSaleSerivce.getByWorkerId(workerId);
+ if (threeSale != null && threeSale.getBoss().getId() != uid) {
+ type = 2;
+ }
+
+ ThreeSaleExtraInfo saleExtraInfo = threeSaleExtraInfoSerivce.getbyBossIdAndWorkerId(uid, workerId);
+ if (saleExtraInfo != null) {
+ ThreeSaleExtraInfo upObject = new ThreeSaleExtraInfo();
+ upObject.setTags(tags);
+ upObject.setId(saleExtraInfo.getId());
+ upObject.setUpdateTime(new Date());
+ threeSaleExtraInfoSerivce.updateByPrimaryKeySelective(upObject);
+ } else {
+ saleExtraInfo = new ThreeSaleExtraInfo();
+ saleExtraInfo.setBoss(new UserInfo(uid));
+ saleExtraInfo.setWorker(new UserInfo(workerId));
+ saleExtraInfo.setTags(tags);
+ saleExtraInfo.setType(type);
+ saleExtraInfo.setCreateTime(new Date());
+ threeSaleExtraInfoSerivce.insertSelective(saleExtraInfo);
+ }
+
+ // 鏇存柊绮変笣璁板綍淇℃伅
+ teamFansInfoService.updateTags(workerId, type, tags);
+ out.print(JsonUtil.loadTrueResult("淇濆瓨鎴愬姛"));
+ }
+
+
+
+ /**
+ * 鐢ㄦ埛闃熷憳缁熻-h5
+ *
+ * @param acceptData
+ * @param id
+ * @param out
+ */
+ @RequestMapping(value = "countTeamH5")
+ public void countTeamH5(String callback, AcceptData acceptData, Long uid, PrintWriter out) {
+ try {
+ Date now = new Date();
+ SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM");
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ // 浠婃棩
+ String todayStr = sdf.format(now);
+ // 鏄ㄦ棩
+ Date reduceDay = DateUtil.reduceDay(1, now);
+ // 鏈湀
+ String monthStr = sdf1.format(now);
+
+ TeamDailyRecord todayRecord = new TeamDailyRecord(0,0,0);
+ TeamDailyRecord yesterdayRecord = new TeamDailyRecord(0,0,0);
+ TeamDailyRecord monthRecord = new TeamDailyRecord(0,0,0);
+ TeamDailyRecord totalityRecord = new TeamDailyRecord(0,0,0);
+
+ List<TeamDailyRecord> list = teamDailyRecordService.getByUid(uid);
+ if (list != null && list.size() > 0) {
+ for (TeamDailyRecord record: list) {
+ Date statisticDay = record.getCountDay();
+ if (todayStr.equals(sdf.format(statisticDay))) {
+ todayRecord = record;
+ }
+
+ if (sdf.format(reduceDay).equals(sdf.format(statisticDay))) {
+ yesterdayRecord = record;
+ }
+
+ if (monthStr.equals(sdf1.format(statisticDay))) {
+ monthRecord.setFirstNum(monthRecord.getFirstNum() + record.getFirstNum());
+ monthRecord.setSecondNum(monthRecord.getSecondNum() + record.getSecondNum());
+ monthRecord.setBeyondNum(monthRecord.getBeyondNum() + record.getBeyondNum());
+ }
+
+ totalityRecord.setFirstNum(totalityRecord.getFirstNum() + record.getFirstNum());
+ totalityRecord.setSecondNum(totalityRecord.getSecondNum() + record.getSecondNum());
+ totalityRecord.setBeyondNum(totalityRecord.getBeyondNum() + record.getBeyondNum());
+ }
+ }
+
+
+ JSONObject today = new JSONObject();
+ today.put("direct", todayRecord.getFirstNum());
+ today.put("indirect", todayRecord.getSecondNum());
+ today.put("beyond", todayRecord.getBeyondNum());
+
+ JSONObject yesterday = new JSONObject();
+ yesterday.put("direct", yesterdayRecord.getFirstNum());
+ yesterday.put("indirect", yesterdayRecord.getSecondNum());
+ yesterday.put("beyond", yesterdayRecord.getBeyondNum());
+
+ JSONObject month = new JSONObject();
+ month.put("direct", monthRecord.getFirstNum());
+ month.put("indirect", monthRecord.getSecondNum());
+ month.put("beyond", monthRecord.getBeyondNum());
+
+ JSONObject totality = new JSONObject();
+ totality.put("direct", totalityRecord.getFirstNum());
+ totality.put("indirect", totalityRecord.getSecondNum());
+ totality.put("beyond", totalityRecord.getBeyondNum());
+
+
+ JSONObject json = new JSONObject();
+ json.put("today", today);
+ json.put("yesterday", yesterday);
+ json.put("month", month);
+ json.put("totality", totality);
+ JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(json));
+ } catch (Exception e) {
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("缁熻澶辫触"));
+ e.printStackTrace();
+ }
+
+ }
}
--
Gitblit v1.8.0