Administrator
2018-11-26 31d6bd3dd8163a5d6c182110dcf21e94b4770dac
fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/ThreeSaleSerivceImpl.java
@@ -1,10 +1,17 @@
package com.yeshi.fanli.service.impl.hongbao;
import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.hibernate.HibernateException;
import org.hibernate.Query;
@@ -13,18 +20,20 @@
import org.springframework.orm.hibernate4.HibernateCallback;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.yeshi.utils.NumberUtil;
import com.yeshi.fanli.dao.mybatis.ThreeSaleMapper;
import com.yeshi.fanli.dao.mybatis.UserInfoMapper;
import com.yeshi.fanli.dao.user.ThreeSaleDao;
import com.yeshi.fanli.entity.bus.user.ThreeSale;
import com.yeshi.fanli.entity.bus.user.ThreeSaleExtraInfo;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.service.inter.config.InviteGetMoneyService;
import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce;
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.fanli.util.Constant;
import org.yeshi.utils.NumberUtil;
import com.yeshi.fanli.util.StringUtil;
@Service
public class ThreeSaleSerivceImpl implements ThreeSaleSerivce {
@@ -310,6 +319,199 @@
   public int updateExpire(List<Long> list){
      return threeSaleMapper.updateExpire(list);
   }
   @Override
   public List<ThreeSale> listFirstTeamQuery(long start, int count, Long uid, Integer state, String startTime,
         String endTime) {
      return threeSaleMapper.listFirstTeamQuery(start, count, uid, state, startTime, endTime);
   }
   @Override
   public long countFirstTeamQuery(Long uid, Integer state, String startTime, String endTime) {
      return threeSaleMapper.countFirstTeamQuery(uid, state, startTime, endTime);
   }
   @Override
   public List<ThreeSale> listSecondTeamQuery(long start, int count, Long uid, Integer state, String startTime,
         String endTime) {
      return threeSaleMapper.listSecondTeamQuery(start, count, uid, state, startTime, endTime);
   }
   @Override
   public long countSecondTeamQuery(Long uid, Integer state, String startTime, String endTime) {
      return threeSaleMapper.countSecondTeamQuery(uid, state, startTime, endTime);
   }
   @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 List<ThreeSale> listFirstTeam(long start, int count, Long uid) {
      return threeSaleMapper.listFirstTeam(start, count, uid);
   }
   @Override
   public long countFirstTeam(Long uid, Integer state) {
      return threeSaleMapper.countFirstTeam(uid, state);
   }
   @Override
   public List<ThreeSale> listSecondTeam(long start, int count, Long uid) {
      return threeSaleMapper.listSecondTeam(start, count, uid);
   }
   @Override
   public long countSecondTeam(Long uid, Integer state) {
      return threeSaleMapper.countSecondTeam(uid, state);
   }
   @Override
   public ThreeSale getMyBoss(Long uid) {
      return threeSaleMapper.getMyBoss(uid);
   }
   @Override
   public JSONObject getMyFirstTeam(long start, int count, Long uid) {
      List<ThreeSale> list = threeSaleMapper.listFirstTeam(start, count, uid);
      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);
      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) {
      JSONObject result = new JSONObject();
      JSONArray resultArray  = new JSONArray();
      for (ThreeSale threeSale: list) {
         JSONObject object = new JSONObject();
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         Long createTime = threeSale.getCreateTime();
         Date inviteTime = new Date(createTime);
         object.put("inviteTime", sdf.format(inviteTime) + "加入");
         String nickName = null;
         Long lastLoginTime = null;
         String portrait = null;
         Long workerId = null;
         UserInfo worker = threeSale.getWorker();
         if (worker != null) {
            workerId = worker.getId();
            portrait = worker.getPortrait();
            lastLoginTime = worker.getLastLoginTime();
            nickName = worker.getNickName();
         }
         object.put("workerId", workerId);
         object.put("portrait", portrait);
         int type = 0;
         String fontColor1 = "#888888";
         String fontColor2 = "#F14242";
         JSONArray array  = new JSONArray();
         if (threeSale.getState()) {
            type = 1;
            if (lastLoginTime == null) {
               lastLoginTime = threeSale.getCreateTime();
            }
            JSONArray array1 = new JSONArray();
            array1.add(fontColor1);
            array1.add("最近登陆" + sdf.format(lastLoginTime));
            array.add(array1);
         } else if ( threeSale.getExpire()!= null && (threeSale.getExpire() == 1 || threeSale.getExpire().equals(1))) {
            type = 2;
            JSONArray array1 = new JSONArray();
            array1.add(fontColor1);
            array1.add("已经脱离邀请关系");
            array.add(array1);
         } else {
            type = 0;
            Calendar c = Calendar.getInstance();
            c.setTime(inviteTime);
            c.add(Calendar.DAY_OF_MONTH, 60);// 邀请不超过60天
            Date todayTime = new Date();
            long days =  (c.getTimeInMillis() -todayTime.getTime()) / (1000*3600*24);
            if (days < 0) {
               days = 0;
            }
            JSONArray array1 = new JSONArray();
            array1.add(fontColor1);
            array1.add("将于");
            JSONArray array2 = new JSONArray();
            array2.add(fontColor2);
            array2.add(days+"天 ");
            JSONArray array3 = new JSONArray();
            array3.add(fontColor1);
            array3.add("后脱离邀请关系");
            array.add(array1);
            array.add(array2);
            array.add(array3);
         }
         object.put("type", type);
         object.put("recentMsg", array);
         ThreeSaleExtraInfo threeSaleExtraInfo = threeSale.getThreeSaleExtraInfo();
         if (threeSaleExtraInfo != null) {
            if (!StringUtil.isNullOrEmpty(threeSaleExtraInfo.getNickname())) {
               nickName = threeSaleExtraInfo.getNickname();
            }
         }
         object.put("nickName", nickName);
         resultArray.add(object);
      }
      result.put("count", count);
      result.put("result_list", resultArray);
      return result;
   }
   
   
}