| | |
| | | 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;
|
| | |
| | | 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 {
|
| | |
| | | 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;
|
| | | |
| | | }
|
| | |
|
| | |
|
| | | }
|