| | |
| | | import java.io.InputStream;
|
| | | import java.io.PrintWriter;
|
| | | import java.text.SimpleDateFormat;
|
| | | import java.util.ArrayList;
|
| | | import java.util.Calendar;
|
| | | import java.util.Date;
|
| | | import java.util.HashMap;
|
| | |
| | | import javax.annotation.Resource;
|
| | | import javax.servlet.http.HttpServletResponse;
|
| | |
|
| | | import net.sf.json.JSONArray;
|
| | | import net.sf.json.JSONObject;
|
| | |
|
| | | import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
| | |
| | | import org.springframework.stereotype.Controller;
|
| | | import org.springframework.web.bind.annotation.RequestMapping;
|
| | | import org.springframework.web.bind.annotation.RequestMethod;
|
| | | import org.yeshi.utils.JsonUtil;
|
| | |
|
| | | import com.google.gson.Gson;
|
| | | import com.google.gson.GsonBuilder;
|
| | | import com.google.gson.reflect.TypeToken;
|
| | | import com.yeshi.fanli.controller.admin.utils.AdminUtils;
|
| | | import com.yeshi.fanli.entity.admin.UserInfoAdmin;
|
| | | import com.yeshi.fanli.entity.bus.user.AccountDetails;
|
| | | import com.yeshi.fanli.entity.bus.user.BindingAccount;
|
| | | import com.yeshi.fanli.entity.bus.user.Extract;
|
| | | import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode;
|
| | | import com.yeshi.fanli.entity.bus.user.HongBao;
|
| | | import com.yeshi.fanli.entity.bus.user.MoneyRecord;
|
| | | import com.yeshi.fanli.entity.bus.user.Order;
|
| | | import com.yeshi.fanli.entity.bus.user.ThreeSale;
|
| | | import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo;
|
| | | import com.yeshi.fanli.entity.bus.user.UserInfo;
|
| | | import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode.ForbiddenUserIdentifyCodeTypeEnum;
|
| | | import com.yeshi.fanli.entity.taobao.PidOrder;
|
| | | import com.yeshi.fanli.entity.taobao.ScanHistory;
|
| | | import com.yeshi.fanli.exception.user.ForbiddenUserIdentifyCodeException;
|
| | | import com.yeshi.fanli.service.inter.config.ConfigService;
|
| | | import com.yeshi.fanli.service.inter.count.UserInfoCountService;
|
| | | import com.yeshi.fanli.service.inter.goods.ShareService;
|
| | |
| | | import com.yeshi.fanli.service.inter.user.AccountDetailsService;
|
| | | import com.yeshi.fanli.service.inter.user.BindingAccountService;
|
| | | import com.yeshi.fanli.service.inter.user.ExtractService;
|
| | | import com.yeshi.fanli.service.inter.user.ForbiddenUserIdentifyCodeService;
|
| | | import com.yeshi.fanli.service.inter.user.MoneyRecordService;
|
| | | import com.yeshi.fanli.service.inter.user.ScanHistoryService;
|
| | | import com.yeshi.fanli.service.inter.user.UserActiveLogService;
|
| | | import com.yeshi.fanli.service.inter.user.UserExtraTaoBaoInfoService;
|
| | | import com.yeshi.fanli.service.inter.user.UserInfoService;
|
| | | import com.yeshi.fanli.tag.PageEntity;
|
| | | import com.yeshi.fanli.util.Constant;
|
| | |
| | | import com.yeshi.fanli.util.HongBaoUtil;
|
| | | import com.yeshi.fanli.util.StringUtil;
|
| | | import com.yeshi.fanli.util.TimeUtil;
|
| | | import org.yeshi.utils.JsonUtil;
|
| | |
|
| | | @Controller
|
| | | @RequestMapping("admin/new/api/v1/user")
|
| | |
| | |
|
| | | @Resource
|
| | | private AccountDetailsService accountDetailsService;
|
| | | |
| | |
|
| | | @Resource
|
| | | private BindingAccountService bindingAccountService;
|
| | | |
| | |
|
| | | @Resource
|
| | | private UserInfoCountService userInfoCountService;
|
| | | |
| | |
|
| | | @Resource
|
| | | private UserActiveLogService userActiveLogService;
|
| | |
|
| | | @Resource
|
| | | private ForbiddenUserIdentifyCodeService forbiddenUserIdentifyCodeService;
|
| | |
|
| | | @Resource
|
| | | private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService;
|
| | |
|
| | | @RequestMapping(value = "getUserList", method = RequestMethod.POST)
|
| | | public void getUserList(int pageIndex, String key, PrintWriter out) {
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | |
| | | /**
|
| | | * 查询用户信息列表--相关数据统计
|
| | | * |
| | | * @param callback
|
| | | * @param pageIndex
|
| | | * @param key 查询条件
|
| | | * @param userType 用户类型:金冠、银冠、铜冠
|
| | | * @param days 查询天数
|
| | | * @param startTime 注册时间 |
| | | * @param endTime 注册时间
|
| | | * @param orderMode 排序方式 订单数量 今日订单 累计队员
|
| | | * @param key
|
| | | * 查询条件
|
| | | * @param userType
|
| | | * 用户类型:金冠、银冠、铜冠
|
| | | * @param days
|
| | | * 查询天数
|
| | | * @param startTime
|
| | | * 注册时间
|
| | | * @param endTime
|
| | | * 注册时间
|
| | | * @param orderMode
|
| | | * 排序方式 订单数量 今日订单 累计队员
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "query")
|
| | | public void query(String callback, Integer pageIndex, Integer pageSize, String key, Integer userType, |
| | | Integer days, String startTime, String endTime, Integer orderMode, PrintWriter out) {
|
| | | public void query(String callback, Integer pageIndex, Integer pageSize, String key, Integer userType, Integer days,
|
| | | String startTime, String endTime, Integer orderMode, PrintWriter out) {
|
| | |
|
| | | try {
|
| | |
|
| | |
| | |
|
| | | if (pageSize == null)
|
| | | pageSize = Constant.PAGE_SIZE;
|
| | | |
| | |
|
| | | Integer orderField = null;
|
| | | if (orderMode != null) {
|
| | | if (orderMode == 1 || orderMode == 2){
|
| | | if (orderMode == 1 || orderMode == 2) {
|
| | | orderField = orderMode;
|
| | | orderMode = 1;
|
| | | } else if (orderMode == 3 || orderMode == 4){
|
| | | } else if (orderMode == 3 || orderMode == 4) {
|
| | | orderField = orderMode;
|
| | | orderMode = 2;
|
| | | } else if (orderMode == 5 || orderMode == 6){
|
| | | } else if (orderMode == 5 || orderMode == 6) {
|
| | | orderField = orderMode;
|
| | | orderMode = 3;
|
| | | }
|
| | | }
|
| | | |
| | |
|
| | | List<UserInfoAdmin> userList = userInfoService.query((pageIndex - 1) * pageSize, pageSize,
|
| | | key, userType, days, startTime, endTime,orderField, orderMode);
|
| | | List<UserInfoAdmin> userList = userInfoService.query((pageIndex - 1) * pageSize, pageSize, key, userType,
|
| | | days, startTime, endTime, orderField, orderMode);
|
| | |
|
| | | if (userList == null || userList.size() == 0) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无相关数据"));
|
| | | return;
|
| | | }
|
| | | |
| | | //double sumMoney = userInfoService.querySumMoney(key, userType, days, startTime, endTime);
|
| | | |
| | |
|
| | | long count = userInfoService.queryCount(key, userType, days, startTime, endTime);
|
| | |
|
| | | int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
|
| | |
| | |
|
| | | JSONObject data = new JSONObject();
|
| | | data.put("pe", pe);
|
| | | //data.put("sumMoney", sumMoney);
|
| | | // data.put("sumMoney", sumMoney);
|
| | | data.put("resultList", gson.toJson(userList));
|
| | | |
| | |
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
|
| | |
|
| | | } catch (Exception e) {
|
| | |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
|
| | | }
|
| | | }
|
| | | |
| | |
|
| | | /**
|
| | | * 统计今日用户总情况
|
| | | * |
| | | * @param callback
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "countInfo")
|
| | | public void countInfo(String callback, PrintWriter out) {
|
| | | try {
|
| | | // 总用户
|
| | | long countTotal = userInfoCountService.countNewUser(null, null);
|
| | | // 今日新增
|
| | | long countToday = userInfoCountService.countNewUser(1, null);
|
| | | // 本月新增
|
| | | long countMonth = userInfoCountService.countNewUser(null, 1);
|
| | | |
| | |
|
| | | JSONObject data = new JSONObject();
|
| | |
|
| | | // 总数-普通用户
|
| | | long countNormal = userInfoCountService.countRank(0);
|
| | | // 总数-铜用户
|
| | |
| | | long countSilver = userInfoCountService.countRank(2);
|
| | | // 总数-金用户
|
| | | long countGold = userInfoCountService.countRank(3);
|
| | | |
| | | // 统计所有总金额
|
| | | double countTotalMoney = userInfoCountService.countAllMoney(null);
|
| | | |
| | | // 统计所有可提现金额
|
| | | String minMoney = configService.get(Constant.EXTRACT_MIN_MONEY);
|
| | | if (minMoney == null) |
| | | minMoney = "20";
|
| | | |
| | | double min = Double.parseDouble(minMoney);
|
| | | double countCanAssets = userInfoCountService.countAllMoney(min);
|
| | | |
| | | JSONObject data = new JSONObject();
|
| | | data.put("countTotal", countTotal);
|
| | | data.put("countToday", countToday);
|
| | | data.put("countMonth", countMonth);
|
| | |
|
| | | data.put("countNormal", countNormal);
|
| | | data.put("countCuprum", countCuprum);
|
| | | data.put("countSilver", countSilver);
|
| | | data.put("countGold", countGold);
|
| | | data.put("countTotalMoney", countTotalMoney);
|
| | | data.put("countCanAssets", countCanAssets);
|
| | | |
| | |
|
| | | /*
|
| | | * // 统计所有总金额 BigDecimal countTotalMoney =
|
| | | * userInfoCountService.countAllMoney(null);
|
| | | * |
| | | * // 统计所有可提现金额 String minMoney =
|
| | | * configService.get(Constant.EXTRACT_MIN_MONEY); if (minMoney ==
|
| | | * null) { minMoney = "20"; } double min =
|
| | | * Double.parseDouble(minMoney); BigDecimal countCanAssets =
|
| | | * userInfoCountService.countAllMoney(min);
|
| | | * data.put("countTotalMoney", countTotalMoney);
|
| | | * data.put("countCanAssets", countCanAssets);
|
| | | */
|
| | |
|
| | | // 累计用户数量
|
| | | long totalUser = userInfoCountService.countNewUser(null, null);
|
| | | // 流失用户数量(180天未使用登录并且无任何资金流动的账号数量)
|
| | | long loseUser = userInfoCountService.countLoseUser(180);
|
| | | // 累计有购买用户数
|
| | | long orderUser = userInfoCountService.countHasOrderUser();
|
| | |
|
| | | data.put("totalUser", totalUser);
|
| | | data.put("loseUser", loseUser);
|
| | | data.put("orderUser", orderUser);
|
| | |
|
| | | // 今日新增用户数量
|
| | | long todayUser = userInfoCountService.countNewUser(1, null);
|
| | | // 本月新增用户数量
|
| | | long monthUser = userInfoCountService.countNewUser(null, 1);
|
| | | data.put("todayUser", todayUser);
|
| | | data.put("monthUser", monthUser);
|
| | |
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
|
| | | |
| | |
|
| | | } catch (Exception e) {
|
| | | e.printStackTrace();
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
|
| | | }
|
| | | }
|
| | | |
| | | |
| | |
|
| | | /**
|
| | | * 修改用户的状态、等级信息
|
| | | * |
| | | * @param callback
|
| | | * @param userInfo
|
| | | * @param out
|
| | |
| | | @RequestMapping(value = "setInfo")
|
| | | public void setInfo(String callback, UserInfo userInfo, PrintWriter out) {
|
| | | try {
|
| | | |
| | |
|
| | | Long id = userInfo.getId();
|
| | | |
| | |
|
| | | if (id == null) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请传递正确数据"));
|
| | | return;
|
| | | }
|
| | | |
| | |
|
| | | UserInfo currentInfo = userInfoService.selectByPKey(id);
|
| | | if (currentInfo == null) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("该用户已不存在"));
|
| | | return;
|
| | | }
|
| | | |
| | |
|
| | | currentInfo = new UserInfo(id);
|
| | |
|
| | | boolean hasChange = false;
|
| | | |
| | |
|
| | | // 等级修改
|
| | | Integer rank = userInfo.getRank();
|
| | | if (rank != null) {
|
| | | hasChange = true;
|
| | | currentInfo.setRank(rank);
|
| | | }
|
| | | |
| | |
|
| | | // 状态修改
|
| | | Integer state = userInfo.getState();
|
| | | if (state != null) {
|
| | | hasChange = true;
|
| | | currentInfo.setState(state);
|
| | | if (state != null && state == UserInfo.STATE_FORBIDDEN)
|
| | | currentInfo.setStateDesc("管理员封禁");
|
| | | }
|
| | | |
| | |
|
| | | if (hasChange) {
|
| | | userInfoService.updateByPrimaryKeySelective(currentInfo);
|
| | | UserInfo nowUser = userInfoService.selectByPKey(id);
|
| | | if (state != null && state == UserInfo.STATE_FORBIDDEN) {
|
| | | // 加入封禁的账号列表
|
| | | ForbiddenUserIdentifyCode forbiddenUserIdentifyCode = new ForbiddenUserIdentifyCode();
|
| | | forbiddenUserIdentifyCode.setType(ForbiddenUserIdentifyCodeTypeEnum.wxUnionId);
|
| | | forbiddenUserIdentifyCode.setIdentifyCode(nowUser.getWxUnionId());
|
| | | forbiddenUserIdentifyCode.setBeiZhu(nowUser.getWxName());
|
| | | try {
|
| | | forbiddenUserIdentifyCodeService.addIdentifyCode(forbiddenUserIdentifyCode);
|
| | | } catch (ForbiddenUserIdentifyCodeException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | |
|
| | | // 电话号码
|
| | | forbiddenUserIdentifyCode = new ForbiddenUserIdentifyCode();
|
| | | forbiddenUserIdentifyCode.setType(ForbiddenUserIdentifyCodeTypeEnum.phone);
|
| | | forbiddenUserIdentifyCode.setIdentifyCode(nowUser.getPhone());
|
| | | try {
|
| | | forbiddenUserIdentifyCodeService.addIdentifyCode(forbiddenUserIdentifyCode);
|
| | | } catch (ForbiddenUserIdentifyCodeException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | |
|
| | | // 淘宝
|
| | | UserExtraTaoBaoInfo taoBao = userExtraTaoBaoInfoService.getByUid(nowUser.getId());
|
| | | if (taoBao != null && !StringUtil.isNullOrEmpty(taoBao.getTaoBaoUid())) {
|
| | | forbiddenUserIdentifyCode = new ForbiddenUserIdentifyCode();
|
| | | forbiddenUserIdentifyCode.setType(ForbiddenUserIdentifyCodeTypeEnum.taobaoUid);
|
| | | forbiddenUserIdentifyCode.setIdentifyCode(taoBao.getTaoBaoUid());
|
| | | try {
|
| | | forbiddenUserIdentifyCodeService.addIdentifyCode(forbiddenUserIdentifyCode);
|
| | | } catch (ForbiddenUserIdentifyCodeException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | |
|
| | | // 查询支付宝绑定
|
| | |
|
| | | List<BindingAccount> list = bindingAccountService.getBindingAccountByUid(nowUser.getId());
|
| | | if (list != null)
|
| | | for (BindingAccount ba : list) {
|
| | | forbiddenUserIdentifyCode = new ForbiddenUserIdentifyCode();
|
| | | forbiddenUserIdentifyCode.setType(ForbiddenUserIdentifyCodeTypeEnum.alipayAccount);
|
| | | forbiddenUserIdentifyCode.setIdentifyCode(ba.getAccount());
|
| | | forbiddenUserIdentifyCode.setBeiZhu(ba.getName());
|
| | | try {
|
| | | forbiddenUserIdentifyCodeService.addIdentifyCode(forbiddenUserIdentifyCode);
|
| | | } catch (ForbiddenUserIdentifyCodeException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | | } else if (state != null && state == UserInfo.STATE_NORMAL) {
|
| | | // 解封微信
|
| | | ForbiddenUserIdentifyCode forbiddenUserIdentifyCode = forbiddenUserIdentifyCodeService
|
| | | .listByTypeAndIdentifyCode(ForbiddenUserIdentifyCodeTypeEnum.wxUnionId,
|
| | | nowUser.getWxUnionId());
|
| | | if (forbiddenUserIdentifyCode != null)
|
| | | forbiddenUserIdentifyCodeService.delete(forbiddenUserIdentifyCode);
|
| | | // 解封手机
|
| | | forbiddenUserIdentifyCode = forbiddenUserIdentifyCodeService
|
| | | .listByTypeAndIdentifyCode(ForbiddenUserIdentifyCodeTypeEnum.phone, nowUser.getPhone());
|
| | | if (forbiddenUserIdentifyCode != null)
|
| | | forbiddenUserIdentifyCodeService.delete(forbiddenUserIdentifyCode);
|
| | | // 解封淘宝
|
| | | UserExtraTaoBaoInfo taoBao = userExtraTaoBaoInfoService.getByUid(nowUser.getId());
|
| | | if (taoBao != null && !StringUtil.isNullOrEmpty(taoBao.getTaoBaoUid())) {
|
| | | forbiddenUserIdentifyCode = forbiddenUserIdentifyCodeService.listByTypeAndIdentifyCode(
|
| | | ForbiddenUserIdentifyCodeTypeEnum.taobaoUid, taoBao.getTaoBaoUid());
|
| | | if (forbiddenUserIdentifyCode != null)
|
| | | forbiddenUserIdentifyCodeService.delete(forbiddenUserIdentifyCode);
|
| | | }
|
| | | // 解封支付宝
|
| | | List<BindingAccount> list = bindingAccountService.getBindingAccountByUid(nowUser.getId());
|
| | | if (list != null)
|
| | | for (BindingAccount ba : list) {
|
| | | forbiddenUserIdentifyCode = forbiddenUserIdentifyCodeService.listByTypeAndIdentifyCode(
|
| | | ForbiddenUserIdentifyCodeTypeEnum.alipayAccount, ba.getAccount());
|
| | | if (forbiddenUserIdentifyCode != null)
|
| | | forbiddenUserIdentifyCodeService.delete(forbiddenUserIdentifyCode);
|
| | | }
|
| | | }
|
| | |
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("修改成功"));
|
| | | } else {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("无可修改内容"));
|
| | | }
|
| | | |
| | | } catch (Exception e) {
|
| | |
|
| | | } catch (
|
| | |
|
| | | Exception e) {
|
| | | e.printStackTrace();
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("修改失败"));
|
| | | }
|
| | | }
|
| | | |
| | |
|
| | | /**
|
| | | * 删除绑定的账户信息: 支付宝 微信
|
| | | * 删除绑定的账户信息: 支付宝 微信
|
| | | * |
| | | * @param callback
|
| | | * @param bindId
|
| | | * @param out
|
| | |
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
|
| | | }
|
| | | }
|
| | | |
| | |
|
| | | /**
|
| | | *
|
| | | * @param data
|
| | |
| | | @RequestMapping("unBindUserInfo")
|
| | | public void unBindUserInfo(String callback, Long id, Integer type, PrintWriter out) {
|
| | | try {
|
| | | |
| | |
|
| | | if (id == null) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("不存在该用户!"));
|
| | | return;
|
| | | }
|
| | |
|
| | | |
| | | if (type == null) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("账户类型不可为空!"));
|
| | | return;
|
| | | }
|
| | |
|
| | | |
| | | UserInfo find = userInfoService.getUserById(id);
|
| | |
|
| | | if (find == null) {
|
| | |
| | | userInfoService.deleteBindInfo(find, type);
|
| | |
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("解绑成功"));
|
| | | |
| | |
|
| | | } catch (Exception e) {
|
| | | e.printStackTrace();
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
|
| | | }
|
| | | }
|
| | | |
| | | |
| | |
|
| | | @RequestMapping(value = "queryMyFirstTeams")
|
| | | public void queryMyFirstTeams(String callback, Integer pageIndex, Integer pageSize, String key, |
| | | Long bossId, PrintWriter out) {
|
| | | public void queryMyFirstTeams(String callback, Integer pageIndex, Integer pageSize, String key, Long bossId,
|
| | | PrintWriter out) {
|
| | | try {
|
| | | |
| | |
|
| | | if (bossId == null) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请传递正确数据"));
|
| | | return;
|
| | | }
|
| | | |
| | |
|
| | | if (pageIndex == null)
|
| | | pageIndex = 1;
|
| | |
|
| | | if (pageSize == null)
|
| | | pageSize = Constant.PAGE_SIZE;
|
| | | |
| | | |
| | | List<ThreeSale> firstTeamList = |
| | | threeSaleService.queryMyFirstTeamList((pageIndex - 1) * pageSize, pageSize, key, bossId);
|
| | |
|
| | | List<ThreeSale> firstTeamList = threeSaleService.queryMyFirstTeamList((pageIndex - 1) * pageSize, pageSize,
|
| | | key, bossId);
|
| | | if (firstTeamList == null || firstTeamList.size() == 0) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无一度队员"));
|
| | | return;
|
| | | }
|
| | | |
| | |
|
| | | /* 获取邀请用户头像 、昵称 */
|
| | | for (ThreeSale threeSale: firstTeamList) {
|
| | | for (ThreeSale threeSale : firstTeamList) {
|
| | | UserInfo worker = threeSale.getWorker();
|
| | | if (worker == null) {
|
| | | worker = new UserInfo();
|
| | | threeSale.setWorker(worker);
|
| | | } else{
|
| | | } else {
|
| | | Long id = worker.getId();
|
| | | |
| | |
|
| | | UserInfo currentInfo = userInfoService.selectByPKey(id);
|
| | | if (currentInfo != null) {
|
| | | worker.setNickName(currentInfo.getNickName());
|
| | |
| | | }
|
| | | }
|
| | | }
|
| | | |
| | |
|
| | | long count = threeSaleService.queryCountMyFirstTeamList(key, bossId);
|
| | |
|
| | | int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
|
| | |
| | | JSONObject data = new JSONObject();
|
| | | data.put("pe", pe);
|
| | | data.put("list", gson.toJson(firstTeamList));
|
| | | |
| | |
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
|
| | | |
| | |
|
| | | } catch (Exception e) {
|
| | | e.printStackTrace();
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
|
| | | }
|
| | | }
|
| | | |
| | | |
| | |
|
| | | @RequestMapping(value = "queryMySecondTeams")
|
| | | public void queryMySecondTeams(String callback, Integer pageIndex, Integer pageSize, String key, |
| | | Long bossId, PrintWriter out) {
|
| | | public void queryMySecondTeams(String callback, Integer pageIndex, Integer pageSize, String key, Long bossId,
|
| | | PrintWriter out) {
|
| | | try {
|
| | | |
| | |
|
| | | if (bossId == null) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请传递正确数据"));
|
| | | return;
|
| | | }
|
| | | |
| | |
|
| | | if (pageIndex == null)
|
| | | pageIndex = 1;
|
| | |
|
| | | if (pageSize == null)
|
| | | pageSize = Constant.PAGE_SIZE;
|
| | | |
| | | |
| | | List<ThreeSale> firstTeamList = |
| | | threeSaleService.queryMySecondTeamList((pageIndex - 1) * pageSize, pageSize, key, bossId);
|
| | |
|
| | | List<ThreeSale> firstTeamList = threeSaleService.queryMySecondTeamList((pageIndex - 1) * pageSize, pageSize,
|
| | | key, bossId);
|
| | | if (firstTeamList == null || firstTeamList.size() == 0) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无二度队员"));
|
| | | return;
|
| | | }
|
| | | |
| | |
|
| | | /* 获取邀请用户头像 、昵称 */
|
| | | for (ThreeSale threeSale: firstTeamList) {
|
| | | for (ThreeSale threeSale : firstTeamList) {
|
| | | UserInfo worker = threeSale.getWorker();
|
| | | if (worker == null) {
|
| | | worker = new UserInfo();
|
| | | threeSale.setWorker(worker);
|
| | | } else{
|
| | | } else {
|
| | | Long id = worker.getId();
|
| | | |
| | |
|
| | | UserInfo currentInfo = userInfoService.selectByPKey(id);
|
| | | if (currentInfo != null) {
|
| | | worker.setNickName(currentInfo.getNickName());
|
| | |
| | | }
|
| | | }
|
| | | }
|
| | | |
| | |
|
| | | long count = threeSaleService.queryCountMySecondTeamList(key, bossId);
|
| | |
|
| | | int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
|
| | |
| | | JSONObject data = new JSONObject();
|
| | | data.put("pe", pe);
|
| | | data.put("list", gson.toJson(firstTeamList));
|
| | | |
| | |
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
|
| | | |
| | |
|
| | | } catch (Exception e) {
|
| | | e.printStackTrace();
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
|
| | | }
|
| | | }
|
| | | |
| | | |
| | |
|
| | | @RequestMapping(value = "deleteThreeSale")
|
| | | public void deleteThreeSale(String callback, Long id, PrintWriter out) {
|
| | | try {
|
| | | |
| | |
|
| | | if (id == null) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请传递正确数据"));
|
| | | return;
|
| | | }
|
| | | |
| | |
|
| | | int count = threeSaleService.deleteByPrimaryKey(id);
|
| | | |
| | |
|
| | | if (count > 0) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("删除成功"));
|
| | | } else{
|
| | | } else {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("删除失败"));
|
| | | }
|
| | | |
| | |
|
| | | } catch (Exception e) {
|
| | | e.printStackTrace();
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
|
| | | }
|
| | | }
|
| | | |
| | | public static void main(String[] args) {
|
| | | |
| | | java.lang.System.out.println(java.lang.System.currentTimeMillis());
|
| | |
|
| | | /**
|
| | | * 队员关系
|
| | | * |
| | | * @param pageIndex
|
| | | * @param key
|
| | | * @param state
|
| | | * @param startTime
|
| | | * @param endTime
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "getRelationList")
|
| | | public void getRelationList(String callback, Integer pageIndex, Integer pageSize, Long uid, Integer type,
|
| | | Integer state, String startTime, String endTime, PrintWriter out) {
|
| | |
|
| | | if (pageIndex == null || pageIndex < 1) {
|
| | | pageIndex = 1;
|
| | | }
|
| | |
|
| | | if (pageSize == null || pageSize < 1) {
|
| | | pageSize = Constant.PAGE_SIZE;
|
| | | }
|
| | |
|
| | | try {
|
| | |
|
| | | if (!StringUtil.isNullOrEmpty(endTime)) {
|
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
| | | Date enddate = sdf.parse(endTime);
|
| | | Calendar c = Calendar.getInstance();
|
| | | c.setTime(enddate);
|
| | | c.add(Calendar.DAY_OF_MONTH, 1);// 今天+1天
|
| | | endTime = sdf.format(c.getTime());
|
| | | }
|
| | |
|
| | | List<ThreeSale> listQuery = null;
|
| | | if (type == 0) {
|
| | | // 上级用户
|
| | | if (uid == null) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询上级需输入用户id"));
|
| | | return;
|
| | | }
|
| | | listQuery = threeSaleService.listSuperiorQuery((pageIndex - 1) * pageSize, pageSize, state, uid);
|
| | | } else if (type == 1) {
|
| | | // 一级用户
|
| | | listQuery = threeSaleService.listFirstTeamQuery((pageIndex - 1) * pageSize, pageSize, uid, state,
|
| | | startTime, endTime);
|
| | | } else if (type == 2) {
|
| | | // 二级用户
|
| | | listQuery = threeSaleService.listSecondTeamQuery((pageIndex - 1) * pageSize, pageSize, uid, state,
|
| | | startTime, endTime);
|
| | | }
|
| | |
|
| | | if (listQuery == null || listQuery.size() == 0) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
|
| | | return;
|
| | | }
|
| | |
|
| | | for (ThreeSale threeSale : listQuery) {
|
| | | Integer expire = threeSale.getExpire();
|
| | | if (threeSale.getState()) {
|
| | | threeSale.setExpire(1); // 邀请成功
|
| | | } else {
|
| | | if (expire != null && expire == 1) {
|
| | | threeSale.setExpire(2); // 邀请失效
|
| | | } else {
|
| | | threeSale.setExpire(0);// 已邀请
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | long count = 0;
|
| | | if (type == 0) {
|
| | | // 上级用户
|
| | | count = threeSaleService.countSuperiorQuery(state, uid);
|
| | | } else if (type == 1) {
|
| | | // 一级用户
|
| | | count = threeSaleService.countFirstTeamQuery(uid, state, startTime, endTime);
|
| | | } else if (type == 2) {
|
| | | // 二级用户
|
| | | count = threeSaleService.countSecondTeamQuery(uid, state, startTime, endTime);
|
| | | }
|
| | |
|
| | | int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
|
| | | PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
|
| | |
|
| | | JSONObject data = new JSONObject();
|
| | | data.put("pe", pe);
|
| | | data.put("result_list", listQuery);
|
| | |
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
|
| | |
|
| | | } catch (Exception e) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询失败"));
|
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | | |
| | | |
| | | } |
| | |
|
| | | /**
|
| | | * 用户账户明细
|
| | | * |
| | | * @param callback
|
| | | * @param pageIndex
|
| | | * @param pageSize
|
| | | * @param id
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "getAccountDetails")
|
| | | public void getAccountDetails(String callback, Integer pageIndex, Integer pageSize, Long uid, PrintWriter out) {
|
| | | if (pageIndex == null || pageIndex < 1) {
|
| | | pageIndex = 1;
|
| | | }
|
| | |
|
| | | if (pageSize == null || pageSize < 1) {
|
| | | pageSize = Constant.PAGE_SIZE;
|
| | | }
|
| | |
|
| | | if (uid == null) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请传递正确数据"));
|
| | | return;
|
| | | }
|
| | |
|
| | | try {
|
| | |
|
| | | List<AccountDetails> detailsList = accountDetailsService.findAccountDetailsList(uid, pageIndex);
|
| | | if (detailsList == null || detailsList.size() == 0) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
|
| | | return;
|
| | | }
|
| | |
|
| | | int count = accountDetailsService.getCount(uid);
|
| | |
|
| | | int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
|
| | | PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
|
| | |
|
| | | JSONObject data = new JSONObject();
|
| | | data.put("pe", pe);
|
| | | data.put("result_list", GsonUtil.toJsonExpose(detailsList));
|
| | |
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
|
| | |
|
| | | } catch (Exception e) {
|
| | | e.printStackTrace();
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询失败"));
|
| | | }
|
| | | }
|
| | |
|
| | | /**
|
| | | * 根据渠道 统计当日新增用户数量
|
| | | * |
| | | * @param channelArray
|
| | | * 名字数组
|
| | | * @param dateType
|
| | | * 类型 1日 2月 3年
|
| | | * @param year
|
| | | * 2018
|
| | | * @param startTime
|
| | | * 2018-12-01
|
| | | * @param endTime
|
| | | * 2018-12-01
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "getNewUserCharts")
|
| | | public void getNewUserCharts(String callback, String channelArray, Integer dateType, String year, String startTime,
|
| | | String endTime, PrintWriter out) {
|
| | |
|
| | | String validateMsg = AdminUtils.validateParams(dateType, startTime, endTime);
|
| | | if (validateMsg != null) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(validateMsg));
|
| | | return;
|
| | | }
|
| | |
|
| | | if (dateType != 1 && (!StringUtil.isNullOrEmpty(startTime) || !StringUtil.isNullOrEmpty(endTime))) {
|
| | | startTime = null;
|
| | | endTime = null;
|
| | | }
|
| | |
|
| | | List<String> channelList = null;
|
| | | if (channelArray != null && channelArray.trim().length() > 0) {
|
| | | Gson gson = new Gson();
|
| | | channelList = gson.fromJson(channelArray, new TypeToken<ArrayList<String>>() {
|
| | | }.getType());
|
| | | }
|
| | |
|
| | | if (channelList == null || channelList.size() == 0) {
|
| | | channelList = new ArrayList<String>();
|
| | | channelList.add("all");
|
| | | }
|
| | |
|
| | | if (dateType == 1 && year != null) {
|
| | | year = null; // 设置为空
|
| | | } else if (dateType == 2) {
|
| | | if (startTime != null)
|
| | | startTime = null;
|
| | |
|
| | | if (endTime != null)
|
| | | endTime = null;
|
| | |
|
| | | } else if (dateType == 3) {
|
| | | if (year != null)
|
| | | year = null;
|
| | |
|
| | | if (startTime != null)
|
| | | startTime = null;
|
| | |
|
| | | if (endTime != null)
|
| | | endTime = null;
|
| | | }
|
| | |
|
| | | try {
|
| | |
|
| | | Gson gson = new Gson();
|
| | | Object objectDate = null;
|
| | | List<String> dateList = AdminUtils.getDateList(dateType, startTime, endTime, year);
|
| | |
|
| | | JSONArray line_list = new JSONArray();
|
| | | for (String channel : channelList) {
|
| | |
|
| | | List<Map<String, Object>> list = userInfoCountService.countNewUserByDate(channel, dateType, year,
|
| | | startTime, endTime);
|
| | |
|
| | | if ("all".equalsIgnoreCase(channel)) {
|
| | | channel = "总计";
|
| | | }
|
| | |
|
| | | JSONObject innerList = new JSONObject();
|
| | | innerList.put("name", channel);
|
| | |
|
| | | if (dateType != 3) {
|
| | | innerList.put("data", gson.toJson(AdminUtils.dayOrMonthDataFactory(dateType, dateList, list)));
|
| | | } else {
|
| | | // 年视图
|
| | | Map<String, Object> map = AdminUtils.yearsDataFactory(list);
|
| | |
|
| | | if (objectDate == null) {
|
| | | objectDate = map.get("date");
|
| | | }
|
| | | innerList.put("data", gson.toJson(map.get("value")));
|
| | | }
|
| | |
|
| | | line_list.add(innerList);
|
| | | }
|
| | |
|
| | | JSONObject data = new JSONObject();
|
| | | if (objectDate != null) {
|
| | | data.put("xAxis_list", gson.toJson(objectDate));
|
| | | } else {
|
| | | data.put("xAxis_list", gson.toJson(dateList));
|
| | | }
|
| | |
|
| | | data.put("line_list", line_list);
|
| | |
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
|
| | |
|
| | | } catch (Exception e) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
|
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | |
|
| | | /**
|
| | | * 根据渠道 统计当日新增用户数量
|
| | | * |
| | | * @param channelArray
|
| | | * 名字数组
|
| | | * @param dateType
|
| | | * 类型 1日 2月 3年
|
| | | * @param year
|
| | | * 2018
|
| | | * @param startTime
|
| | | * 2018-12-01
|
| | | * @param endTime
|
| | | * 2018-12-01
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "getTodayBuyRate")
|
| | | public void getTodayBuyRate(String callback, String channelArray, Integer dateType, String year, String startTime,
|
| | | String endTime, Integer orderNum, PrintWriter out) {
|
| | |
|
| | | String validateMsg = AdminUtils.validateParams(dateType, startTime, endTime);
|
| | | if (validateMsg != null) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(validateMsg));
|
| | | return;
|
| | | }
|
| | |
|
| | | if (dateType == 2 && StringUtil.isNullOrEmpty(year)) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请输入年份"));
|
| | | return;
|
| | | }
|
| | |
|
| | | if (dateType != 1 && (!StringUtil.isNullOrEmpty(startTime) || !StringUtil.isNullOrEmpty(endTime))) {
|
| | | startTime = null;
|
| | | endTime = null;
|
| | | }
|
| | |
|
| | | List<String> channelList = null;
|
| | | if (channelArray != null && channelArray.trim().length() > 0) {
|
| | | Gson gson = new Gson();
|
| | | channelList = gson.fromJson(channelArray, new TypeToken<ArrayList<String>>() {
|
| | | }.getType());
|
| | | }
|
| | |
|
| | | if (channelList == null || channelList.size() == 0) {
|
| | | channelList = new ArrayList<String>();
|
| | | channelList.add("all");
|
| | | }
|
| | |
|
| | | if (dateType == 1 && year != null) {
|
| | | year = null; // 设置为空
|
| | | } else if (dateType == 2) {
|
| | | if (startTime != null)
|
| | | startTime = null;
|
| | |
|
| | | if (endTime != null)
|
| | | endTime = null;
|
| | |
|
| | | } else if (dateType == 3) {
|
| | | if (year != null)
|
| | | year = null;
|
| | |
|
| | | if (startTime != null)
|
| | | startTime = null;
|
| | |
|
| | | if (endTime != null)
|
| | | endTime = null;
|
| | | }
|
| | |
|
| | | try {
|
| | |
|
| | | Gson gson = new Gson();
|
| | | Object objectDate = null;
|
| | | List<String> dateList = AdminUtils.getDateList(dateType, startTime, endTime, year);
|
| | |
|
| | | JSONArray line_list = new JSONArray();
|
| | | for (String channel : channelList) {
|
| | |
|
| | | List<Map<String, Object>> list = userInfoCountService.getTodayBuyRate(channel, dateType, year,
|
| | | startTime, endTime);
|
| | |
|
| | | if ("all".equalsIgnoreCase(channel)) {
|
| | | channel = "总计";
|
| | | }
|
| | |
|
| | | JSONObject innerList = new JSONObject();
|
| | | innerList.put("name", channel);
|
| | |
|
| | | if (dateType != 3) {
|
| | | innerList.put("data", gson.toJson(AdminUtils.dayOrMonthDataFactory(dateType, dateList, list)));
|
| | | } else {
|
| | | // 年视图
|
| | | Map<String, Object> map = AdminUtils.yearsDataFactory(list);
|
| | |
|
| | | if (objectDate == null) {
|
| | | objectDate = map.get("date");
|
| | | }
|
| | | innerList.put("data", gson.toJson(map.get("value")));
|
| | | }
|
| | |
|
| | | line_list.add(innerList);
|
| | | }
|
| | |
|
| | | JSONObject data = new JSONObject();
|
| | | if (objectDate != null) {
|
| | | data.put("xAxis_list", gson.toJson(objectDate));
|
| | | } else {
|
| | | data.put("xAxis_list", gson.toJson(dateList));
|
| | | }
|
| | |
|
| | | data.put("line_list", line_list);
|
| | |
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
|
| | |
|
| | | } catch (Exception e) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
|
| | | e.printStackTrace();
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | /**
|
| | | * 当周产生3单的新增用户概率
|
| | | * |
| | | * @param callback
|
| | | * @param channelArray
|
| | | * 渠道名称
|
| | | * @param startTime
|
| | | * @param endTime
|
| | | * @param orderNum
|
| | | * 订单数量
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "getWeekBuyRate")
|
| | | public void getWeekBuyRate(String callback, String channelArray, String startTime, String endTime, Integer orderNum,
|
| | | PrintWriter out) {
|
| | |
|
| | | if (StringUtil.isNullOrEmpty(startTime) || StringUtil.isNullOrEmpty(endTime)) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("当周订单统计对应时间区域不能为空"));
|
| | | return;
|
| | | }
|
| | |
|
| | | List<String> channelList = null;
|
| | | if (channelArray != null && channelArray.trim().length() > 0) {
|
| | | Gson gson = new Gson();
|
| | | channelList = gson.fromJson(channelArray, new TypeToken<ArrayList<String>>() {
|
| | | }.getType());
|
| | | }
|
| | |
|
| | | if (channelList == null || channelList.size() == 0) {
|
| | | channelList = new ArrayList<String>();
|
| | | channelList.add("all");
|
| | | }
|
| | |
|
| | | if (orderNum < 1) {
|
| | | orderNum = 1;
|
| | | }
|
| | |
|
| | | try {
|
| | |
|
| | | Gson gson = new Gson();
|
| | | List<String> dateList = AdminUtils.getDateList(1, startTime, endTime, null);
|
| | |
|
| | | JSONArray line_list = new JSONArray();
|
| | | for (String channel : channelList) {
|
| | |
|
| | | List<Object> list = userInfoCountService.getWeekBuyRate(channel, startTime, endTime, orderNum,
|
| | | dateList);
|
| | |
|
| | | if ("all".equalsIgnoreCase(channel)) {
|
| | | channel = "总计";
|
| | | }
|
| | |
|
| | | JSONObject innerList = new JSONObject();
|
| | | innerList.put("name", channel);
|
| | | innerList.put("data", gson.toJson(list));
|
| | | line_list.add(innerList);
|
| | | }
|
| | |
|
| | | JSONObject data = new JSONObject();
|
| | | data.put("xAxis_list", gson.toJson(dateList));
|
| | | data.put("line_list", line_list);
|
| | |
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
|
| | |
|
| | | } catch (Exception e) {
|
| | | JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常"));
|
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | |
|
| | | }
|