From c9cbad5f5d18c6b2ac5a063e41007933d7028329 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 07 七月 2020 15:24:17 +0800 Subject: [PATCH] 返利配置文件加入系统区分 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/ThreeSaleSerivceImpl.java | 980 +++++++++++++++++++++++++++++---------------------------- 1 files changed, 494 insertions(+), 486 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/ThreeSaleSerivceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/ThreeSaleSerivceImpl.java index 9145d84..fc76495 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/ThreeSaleSerivceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/ThreeSaleSerivceImpl.java @@ -8,6 +8,8 @@ import javax.annotation.Resource; +import com.yeshi.fanli.entity.SystemEnum; +import com.yeshi.fanli.entity.SystemFunction; import com.yeshi.fanli.util.SystemInfoUtil; import org.springframework.context.annotation.Lazy; import org.springframework.core.task.TaskExecutor; @@ -47,583 +49,589 @@ @Service public class ThreeSaleSerivceImpl implements ThreeSaleSerivce { - @Resource - private HongBaoManageService hongBaoManageService; + @Resource + private UserInfoService userInfoService; - @Resource - private UserInfoService userInfoService; + @Resource + private ThreeSaleMapper threeSaleMapper; - @Resource - private UserInfoMapper userInfoMapper; + @Resource + private UserInviteMsgNotificationService userInviteMsgNotificationService; - @Resource - private ThreeSaleMapper threeSaleMapper; + @Lazy + @Resource + private IntegralGetService integralGetService; - @Resource - private UserInviteMsgNotificationService userInviteMsgNotificationService; + @Lazy + @Resource + private TeamFansInfoService teamFansInfoService; - @Resource - private MsgInviteDetailService msgInviteDetailService; - @Resource - private UserActiveLogService userActiveLogService; + @Resource(name = "taskExecutor") + private TaskExecutor executor; - @Resource - private UserInfoExtraService userInfoExtraService; + @Resource + private RocketMQManager rocketMQManager; - @Resource - private ThreeSaleExtraInfoSerivce threeSaleExtraInfoSerivce; - @Lazy - @Resource - private IntegralGetService integralGetService; - - @Lazy - @Resource - private TeamFansInfoService teamFansInfoService; - + public UserInfo getBoss(final long uid) { + return threeSaleMapper.selectBoss(uid); + } - @Resource(name = "taskExecutor") - private TaskExecutor executor; + @Transactional(rollbackFor = Exception.class) + public void bind(UserInfo worker, UserInfo inviter) throws ThreeSaleException { + if (worker == null || inviter == null) + throw new ThreeSaleException(1, "鐢ㄦ埛淇℃伅涓虹┖"); - @Resource - private RocketMQManager rocketMQManager; + //鍒ゆ柇鏄惁瀛樺湪閭�璇锋潈闄� + SystemEnum system1 = userInfoService.getUserSystem(worker.getId()); + if (!SystemInfoUtil.hasFunctions(system1, SystemFunction.threeSale)) + throw new ThreeSaleException(2, "鏃犳硶寤虹珛閭�璇峰叧绯�"); - public UserInfo getBoss(final long uid) { - return threeSaleMapper.selectBoss(uid); - } + SystemEnum system2 = userInfoService.getUserSystem(inviter.getId()); + if (!SystemInfoUtil.hasFunctions(system2, SystemFunction.threeSale)) + throw new ThreeSaleException(2, "鏃犳硶寤虹珛閭�璇峰叧绯�"); - @Transactional(rollbackFor = Exception.class) - public void bind(UserInfo worker, UserInfo inviter) throws ThreeSaleException { - if (worker == null || inviter == null) - throw new ThreeSaleException(1, "鐢ㄦ埛淇℃伅涓虹┖"); + if (system1 != system2) + throw new ThreeSaleException(2, "鏃犳硶寤虹珛閭�璇峰叧绯�"); - if (worker.getId() == null)// 璇ョ敤鎴疯繕涓嶅瓨鍦� - { - // 淇濆瓨鐢ㄦ埛 - UserInfo inviteeUser = userInfoService.addUser(worker,worker.getSystem()); - if (inviteeUser == null) - throw new ThreeSaleException(2, "鍒涘缓鐢ㄦ埛澶辫触"); - // 淇濆瓨鍏崇郴 - ThreeSale threeSale = new ThreeSale(); - threeSale.setBoss(inviter); - threeSale.setCreateTime(java.lang.System.currentTimeMillis()); - threeSale.setExpire(ThreeSale.EXPIRE_NORMAL); - threeSale.setState(false); - threeSale.setUpdateTime(java.lang.System.currentTimeMillis()); - threeSale.setWorker(inviteeUser); - threeSaleMapper.insertSelective(threeSale); + if (worker.getId() == null)// 璇ョ敤鎴疯繕涓嶅瓨鍦� + { + // 淇濆瓨鐢ㄦ埛 + UserInfo inviteeUser = userInfoService.addUser(worker, worker.getSystem()); + if (inviteeUser == null) + throw new ThreeSaleException(2, "鍒涘缓鐢ㄦ埛澶辫触"); + // 淇濆瓨鍏崇郴 + ThreeSale threeSale = new ThreeSale(); + threeSale.setBoss(inviter); + threeSale.setCreateTime(java.lang.System.currentTimeMillis()); + threeSale.setExpire(ThreeSale.EXPIRE_NORMAL); + threeSale.setState(false); + threeSale.setUpdateTime(java.lang.System.currentTimeMillis()); + threeSale.setWorker(inviteeUser); + threeSaleMapper.insertSelective(threeSale); - } else {// 鏄凡缁忓瓨鍦ㄧ殑鐢ㄦ埛 - if (worker.getId().longValue() == inviter.getId()) - throw new ThreeSaleException(4, "涓嶈兘缁戝畾鑷繁"); + } else {// 鏄凡缁忓瓨鍦ㄧ殑鐢ㄦ埛 + if (worker.getId().longValue() == inviter.getId()) + throw new ThreeSaleException(4, "涓嶈兘缁戝畾鑷繁"); - worker = userInfoService.selectByPKey(worker.getId()); + worker = userInfoService.selectByPKey(worker.getId()); - // 鐢ㄦ埛宸茬粡瀛樺湪鎴戜滑鐨勭敤鎴峰簱涓� - if (worker.getLastLoginTime() == null || worker.getLastLoginTime() == 0L) { - // 鐢ㄦ埛鏈櫥褰� - int outOfDateCount = 0;// 杩囨湡鏁伴噺 - // 鏌ヨ閭�璇峰叧绯� - List<ThreeSale> list = listByWorkerId(worker.getId()); - if (list != null && list.size() > 0) { - for (ThreeSale ts : list) { - if (!ts.getState() && ts.getExpire() == ThreeSale.EXPIRE_BREAK) { - outOfDateCount++; - } - } - // 鍏ㄩ儴鏄け鏁堢姸鎬� - if (outOfDateCount == list.size()) { - // 鍙互纭畾鍏崇郴 - ThreeSale threeSale = new ThreeSale(); - threeSale.setBoss(inviter); - threeSale.setCreateTime(java.lang.System.currentTimeMillis()); - threeSale.setExpire(ThreeSale.EXPIRE_NORMAL); - threeSale.setState(false); - threeSale.setUpdateTime(java.lang.System.currentTimeMillis()); - threeSale.setWorker(worker); - threeSaleMapper.insertSelective(threeSale); - } else { - // 杩樺瓨鍦ㄦ湁鏁堢殑閭�璇凤紝鍒欎笉鍋氬鐞� - } - } else { - // 鐢ㄦ埛鏈櫥褰�,鍙堜笉瀛樺湪閭�璇峰叧绯�,涓嶅仛澶勭悊 - } - } else { - // 宸茬粡鐧诲綍锛岃�屼笖娌℃湁涓婁笅绾у叧绯绘垨鑰呬笂涓嬬骇鍏崇郴鏈敓鏁堬紝鍒欑粦瀹氬叧绯� - List<ThreeSale> list = threeSaleMapper.listByWorkerId(worker.getId()); - // 鍒犻櫎鏃犳晥鐨� - if (list != null) - for (int i = 0; i < list.size(); i++) { - if (list.get(i).getState() != null && list.get(i).getState() == false - && list.get(i).getExpire() == ThreeSale.EXPIRE_BREAK) {// 杩囨湡鐨� - list.remove(i); - i--; - } - } - // 鏌ヨ涓婄骇鏄惁鏈夊拰鐜板湪涓婄骇涓�鏍风殑 - if (list == null || list.size() == 0)// 灏氭湭纭珛鍏崇郴锛屽缓绔嬪叧绯� - { - ThreeSale ts = new ThreeSale(); - ts.setBoss(inviter); - ts.setCreateTime(System.currentTimeMillis()); - ts.setExpire(ThreeSale.EXPIRE_NORMAL); - ts.setState(true); - ts.setSucceedTime(System.currentTimeMillis()); - ts.setWorker(worker); - threeSaleMapper.insertSelective(ts); - } else { - if (!list.get(0).getState() && list.get(0).getExpire() == ThreeSale.EXPIRE_NORMAL - && list.get(0).getBoss().getId() == inviter.getId().longValue()) {// 鏈敓鏁堢殑涓婄骇鍜岀幇鍦ㄤ笂绾т竴鏍峰氨鐢熸晥 - ThreeSale update = new ThreeSale(list.get(0).getId()); - update.setState(true); - update.setSucceedTime(System.currentTimeMillis()); - threeSaleMapper.updateByPrimaryKeySelective(update); - } - } - } - } - } + // 鐢ㄦ埛宸茬粡瀛樺湪鎴戜滑鐨勭敤鎴峰簱涓� + if (worker.getLastLoginTime() == null || worker.getLastLoginTime() == 0L) { + // 鐢ㄦ埛鏈櫥褰� + int outOfDateCount = 0;// 杩囨湡鏁伴噺 + // 鏌ヨ閭�璇峰叧绯� + List<ThreeSale> list = listByWorkerId(worker.getId()); + if (list != null && list.size() > 0) { + for (ThreeSale ts : list) { + if (!ts.getState() && ts.getExpire() == ThreeSale.EXPIRE_BREAK) { + outOfDateCount++; + } + } + // 鍏ㄩ儴鏄け鏁堢姸鎬� + if (outOfDateCount == list.size()) { + // 鍙互纭畾鍏崇郴 + ThreeSale threeSale = new ThreeSale(); + threeSale.setBoss(inviter); + threeSale.setCreateTime(java.lang.System.currentTimeMillis()); + threeSale.setExpire(ThreeSale.EXPIRE_NORMAL); + threeSale.setState(false); + threeSale.setUpdateTime(java.lang.System.currentTimeMillis()); + threeSale.setWorker(worker); + threeSaleMapper.insertSelective(threeSale); + } else { + // 杩樺瓨鍦ㄦ湁鏁堢殑閭�璇凤紝鍒欎笉鍋氬鐞� + } + } else { + // 鐢ㄦ埛鏈櫥褰�,鍙堜笉瀛樺湪閭�璇峰叧绯�,涓嶅仛澶勭悊 + } + } else { + // 宸茬粡鐧诲綍锛岃�屼笖娌℃湁涓婁笅绾у叧绯绘垨鑰呬笂涓嬬骇鍏崇郴鏈敓鏁堬紝鍒欑粦瀹氬叧绯� + List<ThreeSale> list = threeSaleMapper.listByWorkerId(worker.getId()); + // 鍒犻櫎鏃犳晥鐨� + if (list != null) + for (int i = 0; i < list.size(); i++) { + if (list.get(i).getState() != null && list.get(i).getState() == false + && list.get(i).getExpire() == ThreeSale.EXPIRE_BREAK) {// 杩囨湡鐨� + list.remove(i); + i--; + } + } + // 鏌ヨ涓婄骇鏄惁鏈夊拰鐜板湪涓婄骇涓�鏍风殑 + if (list == null || list.size() == 0)// 灏氭湭纭珛鍏崇郴锛屽缓绔嬪叧绯� + { + ThreeSale ts = new ThreeSale(); + ts.setBoss(inviter); + ts.setCreateTime(System.currentTimeMillis()); + ts.setExpire(ThreeSale.EXPIRE_NORMAL); + ts.setState(true); + ts.setSucceedTime(System.currentTimeMillis()); + ts.setWorker(worker); + threeSaleMapper.insertSelective(ts); + } else { + if (!list.get(0).getState() && list.get(0).getExpire() == ThreeSale.EXPIRE_NORMAL + && list.get(0).getBoss().getId() == inviter.getId().longValue()) {// 鏈敓鏁堢殑涓婄骇鍜岀幇鍦ㄤ笂绾т竴鏍峰氨鐢熸晥 + ThreeSale update = new ThreeSale(list.get(0).getId()); + update.setState(true); + update.setSucceedTime(System.currentTimeMillis()); + threeSaleMapper.updateByPrimaryKeySelective(update); + } + } + } + } + } - @Transactional - public void effective(UserInfo worker) { - List<ThreeSale> list = threeSaleMapper.listByWorkerId(worker.getId()); - if (list != null) - for (int i = 0; i < list.size(); i++) { - if (list.get(i).getState() != null && list.get(i).getState() == false - && list.get(i).getExpire() == ThreeSale.EXPIRE_NORMAL) { - ; - } else { - list.remove(i); - i--; - } - } - if (list.size() > 0) { - ThreeSale oldSale = list.get(0); + @Transactional + public void effective(UserInfo worker) { + List<ThreeSale> list = threeSaleMapper.listByWorkerId(worker.getId()); + if (list != null) + for (int i = 0; i < list.size(); i++) { + if (list.get(i).getState() != null && list.get(i).getState() == false + && list.get(i).getExpire() == ThreeSale.EXPIRE_NORMAL) { + ; + } else { + list.remove(i); + i--; + } + } + if (list.size() > 0) { + ThreeSale oldSale = list.get(0); - ThreeSale update = new ThreeSale(list.get(0).getId()); - update.setState(true); - update.setSucceedTime(System.currentTimeMillis()); - threeSaleMapper.updateByPrimaryKeySelective(update); + ThreeSale update = new ThreeSale(list.get(0).getId()); + update.setState(true); + update.setSucceedTime(System.currentTimeMillis()); + threeSaleMapper.updateByPrimaryKeySelective(update); - oldSale.setState(update.getState()); - oldSale.setSucceedTime(update.getSucceedTime()); + oldSale.setState(update.getState()); + oldSale.setSucceedTime(update.getSucceedTime()); - // 涓嶄互閭�璇蜂汉鏁拌绠楃瓑绾� - // if (inviter != null) - // reComputeUserRank(inviter.getId()); - // 娣诲姞鍒伴槦鍒� - inviteSuccess(worker.getId(), oldSale.getBoss().getId()); - } - } + // 涓嶄互閭�璇蜂汉鏁拌绠楃瓑绾� + // if (inviter != null) + // reComputeUserRank(inviter.getId()); + // 娣诲姞鍒伴槦鍒� + inviteSuccess(worker.getId(), oldSale.getBoss().getId()); + } + } - @Override - public List<ThreeSale> listFirstTeamQuery(long start, int count, Long uid, Integer state, String startTime, - String endTime, Integer validState) { - return threeSaleMapper.listFirstTeamQuery(start, count, uid, state, startTime, endTime, validState); - } + @Override + public List<ThreeSale> listFirstTeamQuery(long start, int count, Long uid, Integer state, String startTime, + String endTime, Integer validState) { + return threeSaleMapper.listFirstTeamQuery(start, count, uid, state, startTime, endTime, validState); + } - @Override - public long countFirstTeamQuery(Long uid, Integer state, String startTime, String endTime, Integer validState) { - return threeSaleMapper.countFirstTeamQuery(uid, state, startTime, endTime, validState); - } + @Override + public long countFirstTeamQuery(Long uid, Integer state, String startTime, String endTime, Integer validState) { + return threeSaleMapper.countFirstTeamQuery(uid, state, startTime, endTime, validState); + } - @Override - public List<ThreeSale> listSecondTeamQuery(long start, int count, Long uid, Integer state, String startTime, - String endTime, Integer validState) { - return threeSaleMapper.listSecondTeamQuery(start, count, uid, state, startTime, endTime, validState); - } + @Override + public List<ThreeSale> listSecondTeamQuery(long start, int count, Long uid, Integer state, String startTime, + String endTime, Integer validState) { + return threeSaleMapper.listSecondTeamQuery(start, count, uid, state, startTime, endTime, validState); + } - @Override - public long countSecondTeamQuery(Long uid, Integer state, String startTime, String endTime, Integer validState) { - return threeSaleMapper.countSecondTeamQuery(uid, state, startTime, endTime, validState); - } + @Override + public long countSecondTeamQuery(Long uid, Integer state, String startTime, String endTime, Integer validState) { + return threeSaleMapper.countSecondTeamQuery(uid, state, startTime, endTime, validState); + } - @Override - public List<ThreeSale> listSuperiorQuery(long start, int count, Integer state, Long uid) { - return threeSaleMapper.listSuperiorQuery(start, count, state, uid); - } + @Override + public List<ThreeSale> listSuperiorQuery(long start, int count, Integer state, Long uid) { + return threeSaleMapper.listSuperiorQuery(start, count, state, uid); + } - @Override - public long countSuperiorQuery(Integer state, Long uid) { - return threeSaleMapper.countSuperiorQuery(state, uid); - } + @Override + public long countSuperiorQuery(Integer state, Long uid) { + return threeSaleMapper.countSuperiorQuery(state, uid); + } - @Override - public ThreeSale getMyBoss(Long uid) { - return threeSaleMapper.getMyBoss(uid); - } + @Override + public ThreeSale getMyBoss(Long uid) { + return threeSaleMapper.getMyBoss(uid); + } - @Override - public ThreeSale selectByPrimaryKey(Long id) { - return threeSaleMapper.selectByPrimaryKey(id); - } + @Override + public ThreeSale selectByPrimaryKey(Long id) { + return threeSaleMapper.selectByPrimaryKey(id); + } - @Override - public List<ThreeSale> listbyIdAndBossId(Long id, Long uid, Integer expire) { - return threeSaleMapper.listbyIdAndBossId(id, uid, expire); - } + @Override + public List<ThreeSale> listbyIdAndBossId(Long id, Long uid, Integer expire) { + return threeSaleMapper.listbyIdAndBossId(id, uid, expire); + } - @Override - public JSONObject getMyFirstTeam(long start, int count, Long uid) { - List<ThreeSale> list = threeSaleMapper.listFirstTeam(start, count, uid, null); - if (list == null) { - list = new ArrayList<ThreeSale>(); - } - long countTotal = threeSaleMapper.countFirstTeam(uid, null); - return organizeTeam(countTotal, list); - } + @Override + public JSONObject getMyFirstTeam(long start, int count, Long uid) { + List<ThreeSale> list = threeSaleMapper.listFirstTeam(start, count, uid, null); + if (list == null) { + list = new ArrayList<ThreeSale>(); + } + long countTotal = threeSaleMapper.countFirstTeam(uid, null); + return organizeTeam(countTotal, list); + } - @Override - public JSONObject getMySecondTeam(long start, int count, Long uid) { - List<ThreeSale> list = threeSaleMapper.listSecondTeam(start, count, uid, null); - if (list == null) { - list = new ArrayList<ThreeSale>(); - } - long countTotal = threeSaleMapper.countSecondTeam(uid, null); - return organizeTeam(countTotal, list); - } + @Override + public JSONObject getMySecondTeam(long start, int count, Long uid) { + List<ThreeSale> list = threeSaleMapper.listSecondTeam(start, count, uid, null); + if (list == null) { + list = new ArrayList<ThreeSale>(); + } + long countTotal = threeSaleMapper.countSecondTeam(uid, null); + return organizeTeam(countTotal, list); + } - public JSONObject organizeTeam(long count, List<ThreeSale> list) { + public JSONObject organizeTeam(long count, List<ThreeSale> list) { - JSONObject result = new JSONObject(); + JSONObject result = new JSONObject(); - JSONArray resultArray = new JSONArray(); + JSONArray resultArray = new JSONArray(); - for (ThreeSale threeSale : list) { - JSONObject object = new JSONObject(); - SimpleDateFormat sdf = new SimpleDateFormat("MM.dd HH:mm"); - SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm"); - SimpleDateFormat formatYears = new SimpleDateFormat("yyyy"); + for (ThreeSale threeSale : list) { + JSONObject object = new JSONObject(); + SimpleDateFormat sdf = new SimpleDateFormat("MM.dd HH:mm"); + SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm"); + SimpleDateFormat formatYears = new SimpleDateFormat("yyyy"); - Date todayTime = new Date(); - // 閭�璇穒d - object.put("inviteId", threeSale.getId()); + Date todayTime = new Date(); + // 閭�璇穒d + object.put("inviteId", threeSale.getId()); - // 鍔犲叆闃熷垪鏃堕棿 - Long createTime = threeSale.getCreateTime(); - Date inviteTime = new Date(createTime); - object.put("inviteTime", format.format(inviteTime) + " 鍔犲叆"); + // 鍔犲叆闃熷垪鏃堕棿 + Long createTime = threeSale.getCreateTime(); + Date inviteTime = new Date(createTime); + object.put("inviteTime", format.format(inviteTime) + " 鍔犲叆"); - String memoName = ""; - ThreeSaleExtraInfo threeSaleExtraInfo = threeSale.getThreeSaleExtraInfo(); - if (threeSaleExtraInfo != null) { - if (!StringUtil.isNullOrEmpty(threeSaleExtraInfo.getNickname())) { - memoName = threeSaleExtraInfo.getNickname(); - } - } - object.put("memoName", memoName); + String memoName = ""; + ThreeSaleExtraInfo threeSaleExtraInfo = threeSale.getThreeSaleExtraInfo(); + if (threeSaleExtraInfo != null) { + if (!StringUtil.isNullOrEmpty(threeSaleExtraInfo.getNickname())) { + memoName = threeSaleExtraInfo.getNickname(); + } + } + object.put("memoName", memoName); - String nickName = ""; - String portrait = ""; - Long lastLoginTime = null; + String nickName = ""; + String portrait = ""; + Long lastLoginTime = null; - UserInfo worker = threeSale.getWorker(); - if (worker != null) { - portrait = worker.getPortrait(); - lastLoginTime = worker.getLastLoginTime(); - nickName = worker.getNickName(); - } - object.put("nickName", nickName); - object.put("portrait", portrait); + UserInfo worker = threeSale.getWorker(); + if (worker != null) { + portrait = worker.getPortrait(); + lastLoginTime = worker.getLastLoginTime(); + nickName = worker.getNickName(); + } + object.put("nickName", nickName); + object.put("portrait", portrait); + + int state = 0; + String fontColor1 = "#888888"; + String fontColor2 = "#F14242"; + + JSONArray array = new JSONArray(); + if (threeSale.getState()) { + state = 1; + if (lastLoginTime == null) { + lastLoginTime = threeSale.getCreateTime(); + } + + JSONObject contentJson = new JSONObject(); + contentJson.put("color", fontColor1); + + if (formatYears.format(todayTime).equals(formatYears.format(lastLoginTime))) { + // 鏈勾 + contentJson.put("content", "鏈�杩戠櫥褰� " + sdf.format(lastLoginTime)); + } else { + // 寰�骞� + contentJson.put("content", "鏈�杩戠櫥褰� " + format.format(lastLoginTime)); + } + + array.add(contentJson); - int state = 0; - String fontColor1 = "#888888"; - String fontColor2 = "#F14242"; + } else if (threeSale.getExpire() != null + && (threeSale.getExpire() == 1 || threeSale.getExpire().equals(1))) { + state = 2; + JSONObject contentJson = new JSONObject(); + contentJson.put("color", fontColor1); + contentJson.put("content", "宸茬粡鑴辩閭�璇峰叧绯�"); + array.add(contentJson); + } else { + state = 0; - JSONArray array = new JSONArray(); - if (threeSale.getState()) { - state = 1; - if (lastLoginTime == null) { - lastLoginTime = threeSale.getCreateTime(); - } + Calendar c = Calendar.getInstance(); + c.setTime(inviteTime); + c.add(Calendar.DAY_OF_MONTH, 60);// 閭�璇蜂笉瓒呰繃60澶� - JSONObject contentJson = new JSONObject(); - contentJson.put("color", fontColor1); + long days = (c.getTimeInMillis() - todayTime.getTime()) / (1000 * 3600 * 24); + if (days < 0) { + days = 0; + } - if (formatYears.format(todayTime).equals(formatYears.format(lastLoginTime))) { - // 鏈勾 - contentJson.put("content", "鏈�杩戠櫥褰� " + sdf.format(lastLoginTime)); - } else { - // 寰�骞� - contentJson.put("content", "鏈�杩戠櫥褰� " + format.format(lastLoginTime)); - } + JSONObject contentJson1 = new JSONObject(); + contentJson1.put("color", fontColor1); + contentJson1.put("content", "灏嗕簬"); - array.add(contentJson); + JSONObject contentJson2 = new JSONObject(); + contentJson2.put("color", fontColor2); + contentJson2.put("content", days + "澶�"); - } else if (threeSale.getExpire() != null - && (threeSale.getExpire() == 1 || threeSale.getExpire().equals(1))) { - state = 2; - JSONObject contentJson = new JSONObject(); - contentJson.put("color", fontColor1); - contentJson.put("content", "宸茬粡鑴辩閭�璇峰叧绯�"); - array.add(contentJson); - } else { - state = 0; + JSONObject contentJson3 = new JSONObject(); + contentJson3.put("color", fontColor1); + contentJson3.put("content", "鍚庤劚绂婚個璇峰叧绯�"); - Calendar c = Calendar.getInstance(); - c.setTime(inviteTime); - c.add(Calendar.DAY_OF_MONTH, 60);// 閭�璇蜂笉瓒呰繃60澶� + array.add(contentJson1); + array.add(contentJson2); + array.add(contentJson3); + } - long days = (c.getTimeInMillis() - todayTime.getTime()) / (1000 * 3600 * 24); - if (days < 0) { - days = 0; - } + object.put("state", state); + object.put("recentMsg", array); - JSONObject contentJson1 = new JSONObject(); - contentJson1.put("color", fontColor1); - contentJson1.put("content", "灏嗕簬"); + resultArray.add(object); + } - JSONObject contentJson2 = new JSONObject(); - contentJson2.put("color", fontColor2); - contentJson2.put("content", days + "澶�"); + result.put("count", count); + result.put("result_list", resultArray); - JSONObject contentJson3 = new JSONObject(); - contentJson3.put("color", fontColor1); - contentJson3.put("content", "鍚庤劚绂婚個璇峰叧绯�"); + return result; + } - array.add(contentJson1); - array.add(contentJson2); - array.add(contentJson3); - } + @Override + public List<ThreeSale> listByWorkerId(Long workerId) { + return threeSaleMapper.listByWorkerId(workerId); + } - object.put("state", state); - object.put("recentMsg", array); + @Override + public int getSuccessRelationshipNum(Long uid) { + return threeSaleMapper.getSuccessRelationshipNum(uid); + } - resultArray.add(object); - } + @Override + @Transactional(rollbackFor = Exception.class) + public void bindInviteRelationship(Long workerId, Long bossId) throws ThreeSaleException { + if (workerId == null || bossId == null) + throw new ThreeSaleException(1, "鐢ㄦ埛淇℃伅涓虹┖"); + //鍒ゆ柇鏄惁瀛樺湪閭�璇锋潈闄� + SystemEnum system1 = userInfoService.getUserSystem(workerId); + if (!SystemInfoUtil.hasFunctions(system1, SystemFunction.threeSale)) + throw new ThreeSaleException(2, "鏃犳硶寤虹珛閭�璇峰叧绯�"); - result.put("count", count); - result.put("result_list", resultArray); + SystemEnum system2 = userInfoService.getUserSystem(bossId); + if (!SystemInfoUtil.hasFunctions(system2, SystemFunction.threeSale)) + throw new ThreeSaleException(2, "鏃犳硶寤虹珛閭�璇峰叧绯�"); - return result; - } + if (system1 != system2) + throw new ThreeSaleException(2, "鏃犳硶寤虹珛閭�璇峰叧绯�"); - @Override - public List<ThreeSale> listByWorkerId(Long workerId) { - return threeSaleMapper.listByWorkerId(workerId); - } + // 鏂板缓绔嬬‘瀹氬叧绯� + ThreeSale threeSale = new ThreeSale(); + threeSale.setBoss(new UserInfo(bossId)); + threeSale.setWorker(new UserInfo(workerId)); + threeSale.setState(true); + threeSale.setExpire(ThreeSale.EXPIRE_NORMAL); + threeSale.setSucceedTime(java.lang.System.currentTimeMillis()); + threeSale.setCreateTime(java.lang.System.currentTimeMillis()); + threeSale.setUpdateTime(java.lang.System.currentTimeMillis()); + threeSaleMapper.insertSelective(threeSale); - @Override - public int getSuccessRelationshipNum(Long uid) { - return threeSaleMapper.getSuccessRelationshipNum(uid); - } + // 閭�璇锋垚鍔燂細娑堟伅銆佺浉鍏冲鐞� + inviteSuccess(workerId, bossId); + } - @Override - @Transactional(rollbackFor = Exception.class) - public void bindInviteRelationship(Long workerId, Long bossId) throws ThreeSaleException { - if (workerId == null || bossId == null) - throw new ThreeSaleException(1, "鐢ㄦ埛淇℃伅涓虹┖"); + /** + * 閭�璇锋垚鍔� + */ + @Transactional + private void inviteSuccess(Long workerId, Long bossId) { + // 鍚屾绮変笣娑堟伅 + teamFansInfoService.addFansInfo(workerId, bossId, new Date()); - // 鏂板缓绔嬬‘瀹氬叧绯� - ThreeSale threeSale = new ThreeSale(); - threeSale.setBoss(new UserInfo(bossId)); - threeSale.setWorker(new UserInfo(workerId)); - threeSale.setState(true); - threeSale.setExpire(ThreeSale.EXPIRE_NORMAL); - threeSale.setSucceedTime(java.lang.System.currentTimeMillis()); - threeSale.setCreateTime(java.lang.System.currentTimeMillis()); - threeSale.setUpdateTime(java.lang.System.currentTimeMillis()); - threeSaleMapper.insertSelective(threeSale); + if (!Constant.IS_TEST) { + UserInviteMQMsg msg = new UserInviteMQMsg(bossId, workerId, null, new Date(), + UserInviteMQMsg.STATE_SUCCESS); + Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.inviteSuccess, msg); + message.setStartDeliverTime(java.lang.System.currentTimeMillis() + 5000); + rocketMQManager.sendNormalMsg(message, 5000L, null); + } - // 閭�璇锋垚鍔燂細娑堟伅銆佺浉鍏冲鐞� - inviteSuccess(workerId, bossId); - } + executor.execute(new Runnable() { + @Override + public void run() { + try { // 閭�璇烽噾甯� + integralGetService.addInviteLevelOne(bossId, workerId); + } catch (Exception e) { + LogHelper.error(e); + } - /** - * 閭�璇锋垚鍔� - */ - @Transactional - private void inviteSuccess(Long workerId, Long bossId) { - // 鍚屾绮変笣娑堟伅 - teamFansInfoService.addFansInfo(workerId, bossId, new Date()); - - if (!Constant.IS_TEST) { - UserInviteMQMsg msg = new UserInviteMQMsg(bossId, workerId, null, new Date(), - UserInviteMQMsg.STATE_SUCCESS); - Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.inviteSuccess, msg); - message.setStartDeliverTime(java.lang.System.currentTimeMillis() + 5000); - rocketMQManager.sendNormalMsg(message,5000L, null); - } + // 閭�璇锋垚鍔熸秷鎭� + try { + // 鐩存帴绮変笣閭�璇锋垚鍔� + UserInfo invitee = userInfoService.selectByPKey(workerId); + userInviteMsgNotificationService.directInviteSuccess(bossId, invitee.getNickName(), + invitee.getPortrait(), new Date()); - executor.execute(new Runnable() { - @Override - public void run() { - try { // 閭�璇烽噾甯� - integralGetService.addInviteLevelOne(bossId, workerId); - } catch (Exception e) { - LogHelper.error(e); - } - - // 閭�璇锋垚鍔熸秷鎭� - try { - // 鐩存帴绮変笣閭�璇锋垚鍔� - UserInfo invitee = userInfoService.selectByPKey(workerId); - userInviteMsgNotificationService.directInviteSuccess(bossId, invitee.getNickName(), - invitee.getPortrait(), new Date()); + // 闂存帴绮変笣閭�璇锋垚鍔� + ThreeSale myBoss = threeSaleMapper.getMyBoss(bossId); + if (myBoss != null) { + UserInfo boss = userInfoService.selectByPKey(bossId); + userInviteMsgNotificationService.indirectInviteSuccess(myBoss.getBoss().getId(), + boss.getNickName(), invitee.getNickName(), invitee.getPortrait(), new Date()); + } + } catch (Exception e) { + LogHelper.error(e); + } + } + }); + } - // 闂存帴绮変笣閭�璇锋垚鍔� - ThreeSale myBoss = threeSaleMapper.getMyBoss(bossId); - if (myBoss != null) { - UserInfo boss = userInfoService.selectByPKey(bossId); - userInviteMsgNotificationService.indirectInviteSuccess(myBoss.getBoss().getId(), - boss.getNickName(), invitee.getNickName(), invitee.getPortrait(), new Date()); - } - } catch (Exception e) { - LogHelper.error(e); - } - } - }); - } + /** + * 鏍规嵁閭�璇疯�呮煡璇㈠叧绯� + * + * @param workerId + * @return + */ + @Override + public ThreeSale getByWorkerId(Long workerId) { + return threeSaleMapper.getByWorkerId(workerId); + } - /** - * 鏍规嵁閭�璇疯�呮煡璇㈠叧绯� - * - * @param workerId - * @return - */ - @Override - public ThreeSale getByWorkerId(Long workerId) { - return threeSaleMapper.getByWorkerId(workerId); - } + @Override + public ThreeSale selectByWorkerId(Long workerId) { + return threeSaleMapper.selectSuccessByWorkerId(workerId); + } - @Override - public ThreeSale selectByWorkerId(Long workerId) { - return threeSaleMapper.selectSuccessByWorkerId(workerId); - } + @Override + public ThreeSale getNearRelationByBossIdAndWorkerId(Long bossId, Long workerId) { + return threeSaleMapper.getNearRelationByBossIdAndWorkerId(bossId, workerId); + } - @Override - public ThreeSale getNearRelationByBossIdAndWorkerId(Long bossId, Long workerId) { - return threeSaleMapper.getNearRelationByBossIdAndWorkerId(bossId, workerId); - } + @Override + public List<ThreeSale> getSuccessByDate(Long bossId, Long minTime, Long maxTime) { + return threeSaleMapper.getSuccessByDate(bossId, minTime, maxTime); + } - @Override - public List<ThreeSale> getSuccessByDate(Long bossId, Long minTime, Long maxTime) { - return threeSaleMapper.getSuccessByDate(bossId, minTime, maxTime); - } + @Override + public List<ThreeSale> listFirstTeam(long start, int count, Long uid) { + return threeSaleMapper.listFirstTeam(start, count, uid, null); + } - @Override - public List<ThreeSale> listFirstTeam(long start, int count, Long uid) { - return threeSaleMapper.listFirstTeam(start, count, uid, null); - } + @Override + public List<ThreeSale> listSecondTeam(long start, int count, Long uid) { + return threeSaleMapper.listSecondTeam(start, count, uid, null); + } - @Override - public List<ThreeSale> listSecondTeam(long start, int count, Long uid) { - return threeSaleMapper.listSecondTeam(start, count, uid, null); - } + @Override + public List<ThreeSale> listFirstTeam(long start, int count, Long uid, List<Long> listId) { + return threeSaleMapper.listFirstTeam(start, count, uid, listId); + } - @Override - public List<ThreeSale> listFirstTeam(long start, int count, Long uid, List<Long> listId) { - return threeSaleMapper.listFirstTeam(start, count, uid, listId); - } + @Override + public List<ThreeSale> listSecondTeam(long start, int count, Long uid, List<Long> listId) { + return threeSaleMapper.listSecondTeam(start, count, uid, listId); + } - @Override - public List<ThreeSale> listSecondTeam(long start, int count, Long uid, List<Long> listId) { - return threeSaleMapper.listSecondTeam(start, count, uid, listId); - } + @Override + public long countFirstTeam(Long uid) { + return threeSaleMapper.countFirstTeam(uid, null); + } - @Override - public long countFirstTeam(Long uid) { - return threeSaleMapper.countFirstTeam(uid, null); - } + @Override + public long countSecondTeam(Long uid) { + return threeSaleMapper.countSecondTeam(uid, null); + } - @Override - public long countSecondTeam(Long uid) { - return threeSaleMapper.countSecondTeam(uid, null); - } + @Override + public long countFirstTeam(Long uid, List<Long> listId) { + return threeSaleMapper.countFirstTeam(uid, listId); + } - @Override - public long countFirstTeam(Long uid, List<Long> listId) { - return threeSaleMapper.countFirstTeam(uid, listId); - } + @Override + public long countSecondTeam(Long uid, List<Long> listId) { + return threeSaleMapper.countSecondTeam(uid, listId); + } - @Override - public long countSecondTeam(Long uid, List<Long> listId) { - return threeSaleMapper.countSecondTeam(uid, listId); - } + @Override + public long countFirstTeamByDate(Long uid, int dayType) { + return threeSaleMapper.countFirstTeamByDate(uid, dayType); + } - @Override - public long countFirstTeamByDate(Long uid, int dayType) { - return threeSaleMapper.countFirstTeamByDate(uid, dayType); - } + @Override + public long countSecondTeamByDate(Long uid, int dayType) { + return threeSaleMapper.countSecondTeamByDate(uid, dayType); + } - @Override - public long countSecondTeamByDate(Long uid, int dayType) { - return threeSaleMapper.countSecondTeamByDate(uid, dayType); - } + @Override + public ThreeSale selectLatestByWorkerIdAndState(Long workerId, int state) { + return threeSaleMapper.selectLatestByWorkerIdAndState(workerId, state); + } - @Override - public ThreeSale selectLatestByWorkerIdAndState(Long workerId, int state) { - return threeSaleMapper.selectLatestByWorkerIdAndState(workerId, state); - } + @Override + public ThreeSale getByWorkerIdAndTime(Long workerId, long time) { + return threeSaleMapper.getByWorkerIdAndTime(workerId, time); + } - @Override - public ThreeSale getByWorkerIdAndTime(Long workerId, long time) { - return threeSaleMapper.getByWorkerIdAndTime(workerId, time); - } + @Override + public void inviteSeparate(Long workerId, Long bossId) { + threeSaleMapper.inviteSeparate(workerId, bossId); + } - @Override - public void inviteSeparate(Long workerId, Long bossId) { - threeSaleMapper.inviteSeparate(workerId, bossId); - } + @Override + public long getTeamOrderNumByWorkerId(Long workerId) { + return threeSaleMapper.getTeamOrderNumByWorkerId(workerId); + } - @Override - public long getTeamOrderNumByWorkerId(Long workerId) { - return threeSaleMapper.getTeamOrderNumByWorkerId(workerId); - } + @Override + public List<ThreeSale> getValidWorkerIdsByTime(Long bossId, long limitTime) { + return threeSaleMapper.getValidWorkerIdsByTime(bossId, limitTime); + } - @Override - public List<ThreeSale> getValidWorkerIdsByTime(Long bossId, long limitTime) { - return threeSaleMapper.getValidWorkerIdsByTime(bossId, limitTime); - } + @Override + public List<ThreeSale> getMyBossDeepList(Long uid, int deep) { - @Override - public List<ThreeSale> getMyBossDeepList(Long uid, int deep) { + List<ThreeSale> deepList = new ArrayList<>(); + ThreeSale boss = getMyBoss(uid); + while (deep > 0 && boss != null) { + deep--; + deepList.add(boss); + boss = getMyBoss(boss.getBoss().getId()); + } - List<ThreeSale> deepList = new ArrayList<>(); - ThreeSale boss = getMyBoss(uid); - while (deep > 0 && boss != null) { - deep--; - deepList.add(boss); - boss = getMyBoss(boss.getBoss().getId()); - } + return deepList; + } - return deepList; - } + @Override + public List<ThreeSale> getMyBossDeepList(Long uid) { + // TODO 闇�瑕佹洿鍔犵畝渚跨殑鏂瑰紡澶勭悊 + return getMyBossDeepList(uid, 100); + } - @Override - public List<ThreeSale> getMyBossDeepList(Long uid) { - // TODO 闇�瑕佹洿鍔犵畝渚跨殑鏂瑰紡澶勭悊 - return getMyBossDeepList(uid, 100); - } + @Override + public Long getTopBoss(Long uid) { + Long bossUid = null; + UserInfo boss = getBoss(uid); + while (boss != null) { + bossUid = boss.getId(); + boss = getBoss(boss.getId()); + } + return bossUid; + } - @Override - public Long getTopBoss(Long uid) { - Long bossUid = null; - UserInfo boss = getBoss(uid); - while (boss != null) { - bossUid = boss.getId(); - boss = getBoss(boss.getId()); - } - return bossUid; - } + @Override + public List<ThreeSale> listAll(Date minTime, Date maxTime, int page, int pageSize) { + return threeSaleMapper.listAll(minTime == null ? null : minTime.getTime(), + maxTime == null ? null : maxTime.getTime(), (page - 1) * pageSize, pageSize); + } - @Override - public List<ThreeSale> listAll(Date minTime, Date maxTime, int page, int pageSize) { - return threeSaleMapper.listAll(minTime == null ? null : minTime.getTime(), - maxTime == null ? null : maxTime.getTime(), (page - 1) * pageSize, pageSize); - } + @Override + public long countAll(Date minTime, Date maxTime) { + return threeSaleMapper.countAll(minTime == null ? null : minTime.getTime(), + maxTime == null ? null : maxTime.getTime()); + } - @Override - public long countAll(Date minTime, Date maxTime) { - return threeSaleMapper.countAll(minTime == null ? null : minTime.getTime(), - maxTime == null ? null : maxTime.getTime()); - } - - @Override - public List<Long> getAllBossId(){ - return threeSaleMapper.getAllBossId(); - } + @Override + public List<Long> getAllBossId() { + return threeSaleMapper.getAllBossId(); + } } -- Gitblit v1.8.0