| | |
| | | package com.yeshi.fanli.controller.client;
|
| | |
|
| | | import java.io.IOException;
|
| | | import java.io.PrintWriter;
|
| | | import java.io.UnsupportedEncodingException;
|
| | | import java.lang.reflect.InvocationTargetException;
|
| | |
| | | import org.springframework.stereotype.Controller;
|
| | | import org.springframework.web.bind.annotation.RequestMapping;
|
| | | import org.springframework.web.bind.annotation.RequestMethod;
|
| | | import org.springframework.web.multipart.MultipartFile;
|
| | | import org.yeshi.utils.HttpUtil;
|
| | | import org.yeshi.utils.IPUtil;
|
| | | import org.yeshi.utils.JsonUtil;
|
| | |
| | | import com.google.gson.JsonPrimitive;
|
| | | import com.google.gson.JsonSerializationContext;
|
| | | import com.google.gson.JsonSerializer;
|
| | | import com.yeshi.fanli.dto.HongBao;
|
| | | import com.yeshi.fanli.dto.HongBaoDTO;
|
| | | import com.yeshi.fanli.dto.money.AccountDetails;
|
| | | import com.yeshi.fanli.dto.order.OrderItem;
|
| | | import com.yeshi.fanli.entity.AppVersionInfo;
|
| | | import com.yeshi.fanli.entity.accept.AcceptData;
|
| | | import com.yeshi.fanli.entity.bus.user.AccountMessage;
|
| | | import com.yeshi.fanli.entity.bus.user.BindingAccount;
|
| | | import com.yeshi.fanli.entity.bus.user.Extract;
|
| | | import com.yeshi.fanli.entity.bus.user.ExtractRecord;
|
| | | import com.yeshi.fanli.entity.bus.user.HongBao;
|
| | | import com.yeshi.fanli.entity.bus.user.HongBaoExtra;
|
| | | import com.yeshi.fanli.entity.bus.user.LostOrder;
|
| | | import com.yeshi.fanli.entity.bus.user.MoneyRecord;
|
| | | import com.yeshi.fanli.entity.bus.user.OrderItem;
|
| | | import com.yeshi.fanli.entity.bus.user.PassWordErrorRecord;
|
| | | import com.yeshi.fanli.entity.bus.user.SMSHistory;
|
| | | import com.yeshi.fanli.entity.bus.user.ThreeSale;
|
| | | import com.yeshi.fanli.entity.bus.user.ThreeSaleExtraInfo;
|
| | |
| | | import com.yeshi.fanli.entity.goods.CommonGoods;
|
| | | import com.yeshi.fanli.entity.money.UserMoneyDetail;
|
| | | import com.yeshi.fanli.entity.order.HongBaoOrder;
|
| | | import com.yeshi.fanli.entity.system.System;
|
| | | import com.yeshi.fanli.entity.system.BusinessSystem;
|
| | | import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
|
| | | import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra;
|
| | | import com.yeshi.fanli.exception.BindingAccountException;
|
| | | import com.yeshi.fanli.exception.ObjectStateException;
|
| | | import com.yeshi.fanli.exception.goods.CollectionGoodsException;
|
| | | import com.yeshi.fanli.exception.taobao.TaoKeApiException;
|
| | | import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
|
| | | import com.yeshi.fanli.exception.user.UserCustomSettingsException;
|
| | | import com.yeshi.fanli.exception.user.UserInfoException;
|
| | | import com.yeshi.fanli.exception.user.UserInfoExtraException;
|
| | | import com.yeshi.fanli.log.LogHelper;
|
| | | import com.yeshi.fanli.service.AdminUserService;
|
| | | import com.yeshi.fanli.service.inter.config.AppVersionService;
|
| | | import com.yeshi.fanli.service.inter.config.BusinessSystemService;
|
| | | import com.yeshi.fanli.service.inter.config.ConfigService;
|
| | | import com.yeshi.fanli.service.inter.config.SystemService;
|
| | | import com.yeshi.fanli.service.inter.count.HongBaoV2CountService;
|
| | | import com.yeshi.fanli.service.inter.goods.CollectionGoodsV2Service;
|
| | | import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
|
| | | import com.yeshi.fanli.service.inter.hongbao.HongBaoService;
|
| | | import com.yeshi.fanli.service.inter.hongbao.HongBaoV2Service;
|
| | | import com.yeshi.fanli.service.inter.hongbao.ThreeSaleExtraInfoSerivce;
|
| | | import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce;
|
| | | import com.yeshi.fanli.service.inter.order.HongBaoOrderService;
|
| | | import com.yeshi.fanli.service.inter.order.LostOrderService;
|
| | | import com.yeshi.fanli.service.inter.order.OrderItemServcie;
|
| | | import com.yeshi.fanli.service.inter.order.OrderService;
|
| | | import com.yeshi.fanli.service.inter.user.AccountMessageService;
|
| | | import com.yeshi.fanli.service.inter.user.BindingAccountService;
|
| | | import com.yeshi.fanli.service.inter.user.ExtractRecordService;
|
| | | import com.yeshi.fanli.service.inter.user.ExtractService;
|
| | | import com.yeshi.fanli.service.inter.user.MoneyRecordService;
|
| | | import com.yeshi.fanli.service.inter.user.PassWordErrorRecordService;
|
| | | import com.yeshi.fanli.service.inter.user.MaskKeyService;
|
| | | import com.yeshi.fanli.service.inter.user.ShamUserService;
|
| | | import com.yeshi.fanli.service.inter.user.SpreadUserImgService;
|
| | | import com.yeshi.fanli.service.inter.user.UserAccountService;
|
| | |
| | | import com.yeshi.fanli.service.inter.user.UserInfoService;
|
| | | import com.yeshi.fanli.service.inter.user.UserMoneyDetailService;
|
| | | import com.yeshi.fanli.service.inter.user.UserShareGoodsRecordService;
|
| | | import com.yeshi.fanli.service.inter.user.WxDownService;
|
| | | import com.yeshi.fanli.util.AESUtil;
|
| | | import com.yeshi.fanli.util.Constant;
|
| | | import com.yeshi.fanli.util.GsonUtil;
|
| | |
| | | private OrderService orderService;
|
| | |
|
| | | @Resource
|
| | | private HongBaoService hongBaoService;
|
| | |
|
| | | @Resource
|
| | | private MoneyRecordService moneyRecordService;
|
| | |
|
| | | @Resource
|
| | | private BindingAccountService bindingAccountService;
|
| | |
|
| | | @Resource
|
| | | private ExtractService extractService;
|
| | |
|
| | | @Resource
|
| | | private PassWordErrorRecordService passWordErrorRecordService;
|
| | |
|
| | | @Resource
|
| | | private ConfigService configService;
|
| | |
|
| | | @Resource
|
| | | private SystemService systemService;
|
| | | private BusinessSystemService businessSystemService;
|
| | |
|
| | | @Resource
|
| | | private ShamUserService shamUserService;
|
| | |
| | | private LostOrderService lostOrderService;
|
| | |
|
| | | @Resource
|
| | | private OrderItemServcie orderItemServcie;
|
| | |
|
| | | @Resource
|
| | | private AccountMessageService accountMessageService;
|
| | |
|
| | | @Resource
|
| | | private HongBaoManageService hongBaoManageService;
|
| | |
|
| | | @Resource
|
| | | private WxDownService wxDownService;
|
| | |
|
| | | @Resource
|
| | | private UserAccountService loginService;
|
| | |
| | | @Resource
|
| | | private AppVersionService appVersionService;
|
| | |
|
| | | @Resource
|
| | | private HongBaoV2CountService hongBaoV2CountService;
|
| | |
|
| | | @Resource
|
| | | private AccountMessageService accountMessageService;
|
| | | |
| | | @Resource
|
| | | private MaskKeyService maskKeyService;
|
| | | |
| | |
|
| | | private static final String PASSWORD_MAX_ERROR = "password_max_error";
|
| | | private static final String EXTRACT_MIN_MONEY = "extract_min_money";
|
| | | private static final String EXTRACT_MAX_MONEY = "extract_max_money";
|
| | |
| | |
|
| | | // 邀请关系生效
|
| | | threeSaleSerivce.effective(find);
|
| | | // 重新计算用户等级
|
| | | threeSaleSerivce.reComputeUserRank(id);
|
| | |
|
| | | // 添加用户活跃记录
|
| | | UserActiveLog userActiveLog = new UserActiveLog();
|
| | |
| | | }
|
| | | }
|
| | | // 不是用ID的登陆的事就多了
|
| | | System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
|
| | | BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
|
| | | acceptData.getPackages());
|
| | | if (system == null) {
|
| | | out.print(JsonUtil.loadFalseResult("系统不存在"));
|
| | | return;
|
| | |
| | | }
|
| | | }
|
| | | // 不是用ID的登陆的事就多了
|
| | | System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
|
| | | BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
|
| | | acceptData.getPackages());
|
| | | if (system == null) {
|
| | | out.print(JsonUtil.loadFalseResult("系统不存在"));
|
| | | return;
|
| | |
| | | }
|
| | |
|
| | | private void outUserInfo(AcceptData acceptData, PrintWriter out, String remotIP, UserInfo user, String device) {
|
| | | BigDecimal MyTotalMoney = hongBaoService.getMyTotalHongBaoByUid(user.getId());
|
| | | user.setTotalHongBao(MyTotalMoney);
|
| | | BigDecimal unOpenmoney = hongBaoService.getUnOpenHongBaoByUid(user.getId());
|
| | | BigDecimal canOpenMoney = hongBaoService.getCanOpenHongBaoByUid(user.getId());
|
| | | user.setTotalHongBao(new BigDecimal(0));
|
| | | BigDecimal unOpenmoney = new BigDecimal(0);
|
| | | BigDecimal canOpenMoney = new BigDecimal(0);
|
| | | user.setNoOpenHongBao(unOpenmoney);
|
| | | user.setCanOpenHongBao(canOpenMoney);
|
| | |
|
| | |
| | | data.put("moduleState", mySettings);
|
| | |
|
| | | int welfareCenterNews = 0;
|
| | | String invitCode = null;
|
| | | UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(user.getId());
|
| | | if (userInfoExtra != null && userInfoExtra.getCouponNews() != null) {
|
| | | welfareCenterNews = userInfoExtra.getCouponNews();
|
| | | if (userInfoExtra != null) {
|
| | | if (userInfoExtra.getCouponNews() != null) {
|
| | | welfareCenterNews = userInfoExtra.getCouponNews();
|
| | | }
|
| | |
|
| | | if (userInfoExtra.getInviteCode() != null && userInfoExtra.getInviteCode().trim().length() > 0) {
|
| | | invitCode = userInfoExtra.getInviteCode();
|
| | | }
|
| | | }
|
| | | // 邀请码
|
| | | data.put("invitCode", invitCode);
|
| | | // 福利中心消息
|
| | | data.put("welfareCenterNews", welfareCenterNews);
|
| | |
|
| | | out.print(JsonUtil.loadTrueResult(data));
|
| | |
| | | uuser.setLastLoginIp(remotIP);
|
| | | uuser.setLastLoginTime(java.lang.System.currentTimeMillis());
|
| | | userInfoService.updateLoginInfo(uuser);
|
| | | wxDownService.save(device);
|
| | | // 更新用户附加信息,老用户不存在的需要添加
|
| | | try {
|
| | | userInfoExtraService.updateUserRankByUid(uuser.getId());
|
| | |
| | | }
|
| | | userInfoService.unBindUserInfo(find, type);
|
| | | out.print(JsonUtil.loadTrueResult("解绑成功"));
|
| | | }
|
| | |
|
| | | /**
|
| | | * 获取提现记录
|
| | | * |
| | | * @param acceptData
|
| | | * @param uid
|
| | | * 用户id
|
| | | * @param page
|
| | | * 页数(从0开始)
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "getmoneyrecord", method = RequestMethod.POST)
|
| | | public void getMoneyRecord(AcceptData acceptData, long uid, int page, PrintWriter out) {
|
| | | UserInfo user = userInfoService.getUserById(uid);
|
| | | if (user == null) {
|
| | | out.print(JsonUtil.loadFalseResult("用户不存在"));
|
| | | return;
|
| | | }
|
| | | if (page < 0) {
|
| | | page = 0;
|
| | | }
|
| | |
|
| | | List<MoneyRecord> moneyRecordList = moneyRecordService.getMoneyRecord(uid, page);
|
| | | int count = moneyRecordService.getCount(uid);
|
| | | JSONObject data = new JSONObject();
|
| | | if (moneyRecordList == null || moneyRecordList.size() == 0) {
|
| | | data.put("count", 0);
|
| | | data.put("moneyRecordList", new ArrayList());
|
| | | out.print(JsonUtil.loadTrueResult(data));
|
| | | return;
|
| | | }
|
| | | data.put("count", count);
|
| | | Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
|
| | | data.put("moneyRecordList", gson.toJson(moneyRecordList));
|
| | | out.print(JsonUtil.loadTrueResult(data));
|
| | | }
|
| | |
|
| | | /**
|
| | | * 获取当前用户红包
|
| | | * |
| | | * @param acceptData
|
| | | * @param uid
|
| | | * 用户id
|
| | | * @param out
|
| | | * @throws ObjectStateException
|
| | | */
|
| | | @RequestMapping(value = "gethongbao", method = RequestMethod.POST)
|
| | | public void getHongBao(AcceptData acceptData, long uid, PrintWriter out) {
|
| | | UserInfo user = userInfoService.getUserById(uid);
|
| | | JSONObject data = new JSONObject();
|
| | | if (user == null) {
|
| | | data.put("count", 0);
|
| | | data.put("hongBaoList", new ArrayList());
|
| | | data.put("error", "用户不存在");
|
| | | out.print(JsonUtil.loadTrueResult(data));
|
| | | return;
|
| | | }
|
| | | List<HongBaoExtra> hongBaoList = hongBaoService.getHongBao(uid);
|
| | |
|
| | | if (hongBaoList.size() == 0) {
|
| | | data.put("count", 0);
|
| | | data.put("hongBaoList", hongBaoList);
|
| | | out.print(JsonUtil.loadTrueResult(data));
|
| | | return;
|
| | | }
|
| | | data.put("count", hongBaoList.size());
|
| | | data.put("hongBaoList", GsonUtil.toJsonExpose(hongBaoList));
|
| | | out.print(JsonUtil.loadTrueResult(data));
|
| | | return;
|
| | | }
|
| | |
|
| | | /**
|
| | | * 设置提现密码
|
| | | * |
| | | * @param acceptData
|
| | | * @param payPassword
|
| | | * 提现密码(要经过md5加密)
|
| | | * @param uid
|
| | | * 用户id
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "setpaypassword", method = RequestMethod.POST)
|
| | | public void setPayPassword(AcceptData acceptData, String payPassword, long uid, PrintWriter out) {
|
| | | UserInfo user = userInfoService.getUserById(uid);
|
| | | if (user == null) {
|
| | | out.print(JsonUtil.loadFalseResult("用户不存在"));
|
| | | return;
|
| | | }
|
| | | user.setPayPassword(payPassword);
|
| | | userInfoService.update(user);
|
| | | out.print(JsonUtil.loadTrueResult("设置成功"));
|
| | | }
|
| | |
|
| | | /**
|
| | |
| | | }
|
| | |
|
| | | /**
|
| | | * 客户端提现密码输入错误时调用
|
| | | * |
| | | * @param acceptData
|
| | | * @param uid
|
| | | * 用户id
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "errormax", method = RequestMethod.POST)
|
| | | public void errorMax(AcceptData acceptData, long uid, PrintWriter out) {
|
| | | UserInfo user = userInfoService.getUserById(uid);
|
| | | if (user == null) {
|
| | | out.print(JsonUtil.loadFalseResult("用户不存在"));
|
| | | return;
|
| | | }
|
| | | PassWordErrorRecord record = passWordErrorRecordService.getRecord(user.getId());
|
| | | record.setUserInfo(user);
|
| | | String maxErrorStr = "5";
|
| | | maxErrorStr = configService.get(PASSWORD_MAX_ERROR); // 当日输错密码最多次数
|
| | | int maxError = Integer.parseInt(maxErrorStr);
|
| | | int count = passWordErrorRecordService.setRecord(record);
|
| | | JSONObject data = new JSONObject();
|
| | | int c = maxError - count;
|
| | | if (c <= 0) { // 当错误次数还未超过当日输错最多次数时,state为1,代表还能继续输入,little为剩余次数。state为2则不能继续输入,提现客户端退出输入密码界面
|
| | | data.put("state", "2");
|
| | | data.put("little", 0);
|
| | | } else {
|
| | | data.put("state", "1");
|
| | | data.put("little", c);
|
| | | }
|
| | | out.print(JsonUtil.loadTrueResult(data));
|
| | | }
|
| | |
|
| | | /**
|
| | | * 添加用户提现账号
|
| | | *
|
| | | * @param acceptData
|
| | |
| | | }
|
| | |
|
| | | /**
|
| | | * 提现
|
| | | * |
| | | * @param acceptData
|
| | | * @param uid
|
| | | * 用户id
|
| | | * @param money
|
| | | * 提现金额
|
| | | * @param pwd
|
| | | * 密码
|
| | | * @param request
|
| | | * @param type
|
| | | * 提现账户类型
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "extractmoney", method = RequestMethod.POST)
|
| | | public void extractMoney(AcceptData acceptData, long uid, double money, String pwd, HttpServletRequest request,
|
| | | int type, PrintWriter out) {
|
| | | UserInfo user = userInfoService.getUserById(uid);
|
| | | LogHelper.userInfo("[ip:" + IPUtil.getRemotIP(request) + "]");
|
| | | if (user == null) {
|
| | | LogHelper.userInfo("不存在该用户:uid=" + uid);
|
| | | out.print(JsonUtil.loadFalseResult("用户不存在"));
|
| | | return;
|
| | | }
|
| | | System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
|
| | | if (system == null) {
|
| | | LogHelper.userInfo("提现时,不存在该系统");
|
| | | out.print(JsonUtil.loadFalseResult("系统不存在"));
|
| | | return;
|
| | | }
|
| | | PassWordErrorRecord record = passWordErrorRecordService.getRecord(user.getId());
|
| | | int errorcount = record.getCount();
|
| | | String maxStr = "5";
|
| | | maxStr = configService.get(PASSWORD_MAX_ERROR);
|
| | | int max = Integer.parseInt(maxStr);
|
| | | if (max <= errorcount) {
|
| | | LogHelper.userInfo("[ip:" + IPUtil.getRemotIP(request) + "]用户[" + GsonUtil.toJson(user) + "]:提现密码错误已达上限!");
|
| | | out.print(JsonUtil.loadFalseResult("提现密码已达到每日错误次数上限,请明日再试!"));
|
| | | return;
|
| | | }
|
| | |
|
| | | if (pwd == null || !pwd.equals(user.getPayPassword())) {
|
| | | passWordErrorRecordService.setRecord(record);
|
| | | out.print(JsonUtil.loadFalseResult("支付密码错误"));
|
| | | return;
|
| | | }
|
| | |
|
| | | passWordErrorRecordService.deleteRecord(uid);// 当提现密码输入正确时,清除当前用户的密码错误输入记录
|
| | |
|
| | | String minMoney = configService.get(EXTRACT_MIN_MONEY); // 单笔提现最小金额
|
| | |
|
| | | if (money < 0.1) { // 转帐到支付宝的最小金额
|
| | | out.print(JsonUtil.loadFalseResult("单笔提现金额需要大于:" + 0.1 + "元"));
|
| | | return;
|
| | | }
|
| | |
|
| | | double dminMoney = Double.parseDouble(minMoney);
|
| | | if (money < dminMoney) { // 后台设置的单笔转账的最小金额
|
| | | out.print(JsonUtil.loadFalseResult("单笔提现金额需要大于:" + dminMoney + "元"));
|
| | | return;
|
| | | }
|
| | | String maxMoney = configService.get(EXTRACT_MAX_MONEY); // 单笔提现最大金额
|
| | | double dmaxMoney = Double.parseDouble(maxMoney);
|
| | | if (dmaxMoney < money) { // 后台设置的单笔转账的最大金额
|
| | | out.print(JsonUtil.loadFalseResult("单笔提现金额多为:" + dmaxMoney + "元"));
|
| | | return;
|
| | | }
|
| | |
|
| | | if (type != Constant.ZHIFUBAO && type != Constant.WEIXIN) { // 提现类型必须是支付宝类型或者微信类型,目前(20170506)仅支持支付宝
|
| | | out.print(JsonUtil.loadFalseResult(Constant.NOTYPE));
|
| | | return;
|
| | | }
|
| | |
|
| | | BindingAccount bindingAccount = bindingAccountService.getBindingAccountByUidAndType(uid, type);
|
| | | if (bindingAccount == null) {
|
| | | out.print(JsonUtil.loadFalseResult(Constant.NOACCOUNT));
|
| | | return;
|
| | | }
|
| | |
|
| | | Extract extract = new Extract();
|
| | | extract.setIp(IPUtil.getRemotIP(request));
|
| | | extract.setAccount(bindingAccount.getAccount());
|
| | | extract.setName(bindingAccount.getName());
|
| | | extract.setMoney(new BigDecimal(String.valueOf(money)));
|
| | | extract.setUserInfo(user);
|
| | | extract.setExtractTime(java.lang.System.currentTimeMillis());
|
| | | extract.setType(type);
|
| | | extract.setState(0);
|
| | | extract.setSystem(system);
|
| | | Integer etype = extractService.addExtract(extract);
|
| | | if (etype == null) {
|
| | | out.print(JsonUtil.loadTrueResult("操作成功"));
|
| | | return;
|
| | | } else if (etype == 1 || etype == 2) {
|
| | | out.print(JsonUtil.loadFalseResult("已超过当日提现次数或提现金额"));
|
| | | } else if (etype == 3) {
|
| | | out.print(JsonUtil.loadFalseResult("提现金额大于我的红包"));
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | /**
|
| | | * 新版提现
|
| | | *
|
| | | * @param acceptData
|
| | |
| | | return;
|
| | | }
|
| | |
|
| | | System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
|
| | | BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
|
| | | acceptData.getPackages());
|
| | | if (system == null) {
|
| | | LogHelper.userInfo("提现时,不存在该系统");
|
| | | out.print(JsonUtil.loadFalseResult("系统不存在"));
|
| | |
| | | } catch (UnsupportedEncodingException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | | AdminUser adminUser = adminUserService.selectByPrimaryKey(4L);
|
| | |
|
| | | long[] targetUids = new long[] { 3L, 4L };
|
| | | Config config = configService.getConfig("extract_code_email_from");
|
| | | String[] sts = config.getValue().split(",");
|
| | | String account = sts[0];
|
| | | String pwd = sts[1];
|
| | | String msg = "提现审核链接:" + url;
|
| | | boolean isS = MailSenderUtil.sendEmail(adminUser.getEmail(), account, pwd, "有新的提现审核", msg);
|
| | | for (long adminId : targetUids) {
|
| | | AdminUser adminUser = adminUserService.selectByPrimaryKey(adminId);
|
| | | String msg = "提现审核链接:" + url;
|
| | | boolean isS = MailSenderUtil.sendEmail(adminUser.getEmail(), account, pwd, "有新的提现审核", msg);
|
| | | }
|
| | | }
|
| | | });
|
| | | return;
|
| | |
| | | out.print(JsonUtil.loadFalseResult("已超过当日提现金额"));
|
| | | } else if (etype == 3) {
|
| | | out.print(JsonUtil.loadFalseResult("提现金额大于我的红包"));
|
| | | } else if (etype == 111) {
|
| | | out.print(JsonUtil.loadFalseResult("更换了手机号后7天内不允许提现"));
|
| | | } else if (etype == 110) {
|
| | | out.print(JsonUtil.loadFalseResult(Constant.znxConfig.getExtractWrongMsg()));
|
| | | }
|
| | |
|
| | | }
|
| | |
| | | TimeUtil.getGernalTime(extract.getExtractTime() + 1000 * 60 * 60 * 24L, "yyyy-MM-dd HH:mm"));// 24小时后到账
|
| | |
|
| | | out.print(JsonUtil.loadTrueResult(data));
|
| | | }
|
| | |
|
| | | @RequestMapping(value = "openhongbao")
|
| | | public void openHongBao(AcceptData acceptData, long hid, HttpServletRequest request, PrintWriter out) {
|
| | | String ip = IPUtil.getRemotIP(request);
|
| | | HongBaoExtra hbx = hongBaoService.open(hid, ip);
|
| | | if (hbx == null) {
|
| | | out.print(JsonUtil.loadFalseResult("红包异常"));
|
| | | LogHelper.userInfo("[ip:" + IPUtil.getRemotIP(request) + "] 打开红包[id=" + hid + "]失败!");
|
| | | return;
|
| | | }
|
| | | JSONObject data = new JSONObject();
|
| | | data.put("hongBao", GsonUtil.toJsonExpose(hbx));
|
| | | out.print(JsonUtil.loadTrueResult(data));
|
| | | LogHelper.userInfo("[ip:" + IPUtil.getRemotIP(request) + "] 打开红包[id=" + hid + "]成功!");
|
| | | }
|
| | |
|
| | | @RequestMapping("findLostOrder")
|
| | |
| | | JSONObject data = new JSONObject();
|
| | | data.put("list", gson.toJson(orderItemList));
|
| | | data.put("count", count);
|
| | | out.print(JsonUtil.loadTrueResult(data));
|
| | | }
|
| | |
|
| | | @RequestMapping("getOrderItem")
|
| | | public void getOrderItem(AcceptData acceptData, long id, PrintWriter out) {
|
| | | OrderItem orderItem = orderItemServcie.getOne(id);
|
| | | if (orderItem == null) {
|
| | | out.print(JsonUtil.loadFalseResult("不存在该订单"));
|
| | | return;
|
| | | }
|
| | | orderItem.setDesc();
|
| | | JSONObject data = new JSONObject();
|
| | | GsonBuilder gsonBuilder = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder());
|
| | | Gson gson = gsonBuilder.excludeFieldsWithoutExposeAnnotation().create();
|
| | | data.put("orderItem", gson.toJson(orderItem));
|
| | | out.print(JsonUtil.loadTrueResult(data));
|
| | | }
|
| | |
|
| | |
| | | out.print(JsonUtil.loadTrueResult(data));
|
| | | }
|
| | |
|
| | | @RequestMapping(value = "isWxDown")
|
| | |
|
| | | public void isWxDown(AcceptData acceptData, PrintWriter out) {
|
| | | boolean b = wxDownService.isWxDownFirstLogin(acceptData.getDevice());
|
| | | // IOS上线测试
|
| | | if (Integer.parseInt(acceptData.getVersion()) >= 22
|
| | | && acceptData.getPackages().equalsIgnoreCase(Constant.systemCommonConfig.getIosBundleId()))
|
| | | b = false;
|
| | | JSONObject data = new JSONObject();
|
| | | data.put("isFirst", b);
|
| | | out.print(JsonUtil.loadTrueResult(data));
|
| | | }
|
| | |
|
| | | // 获取商品分享链接
|
| | | @RequestMapping(value = "getGoodsShareUrl")
|
| | | public void getGoodsShareUrl(AcceptData acceptData, long id, PrintWriter out) {
|
| | |
| | |
|
| | | JSONObject resultData = new JSONObject();
|
| | | if (type == 1) {
|
| | | resultData = threeSaleSerivce.getMyFirstTeam((page - 1) * pageSize, pageSize, uid);
|
| | | resultData = threeSaleSerivce.getMyFirstTeam((page - 1) * pageSize, pageSize, uid, null);
|
| | | } else if (type == 2) {
|
| | | resultData = threeSaleSerivce.getMySecondTeam((page - 1) * pageSize, pageSize, uid);
|
| | | resultData = threeSaleSerivce.getMySecondTeam((page - 1) * pageSize, pageSize, uid, null);
|
| | | }
|
| | |
|
| | | // 安卓系统返回所有数据
|
| | |
| | | e.printStackTrace();
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | /**
|
| | | * 用户队员列表查询 1.5.3查询有效队员
|
| | | * |
| | | * @param acceptData
|
| | | * @param id
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "getMyTeamNew", method = RequestMethod.POST)
|
| | | public void getMyTeamNew(AcceptData acceptData, long page, long uid, long type, PrintWriter out) {
|
| | |
|
| | | try {
|
| | | int pageSize = Constant.PAGE_SIZE;
|
| | |
|
| | | JSONObject resultData = new JSONObject();
|
| | | if (type == 1) {
|
| | | resultData = threeSaleSerivce.getMyFirstTeam((page - 1) * pageSize, pageSize, uid, 1);
|
| | | } else if (type == 2) {
|
| | | resultData = threeSaleSerivce.getMySecondTeam((page - 1) * pageSize, pageSize, uid, 1);
|
| | | }
|
| | |
|
| | | // 安卓系统返回所有数据
|
| | | String platform = acceptData.getPlatform();
|
| | | if ("android".equalsIgnoreCase(platform)) {
|
| | | long firstTeam = threeSaleSerivce.countFirstTeam(uid, 1);
|
| | |
|
| | | long secondTeam = threeSaleSerivce.countSecondTeam(uid, 1);
|
| | |
|
| | | JSONObject bossData = null;
|
| | | ThreeSale threeSale = threeSaleSerivce.getMyBoss(uid);
|
| | | if (threeSale != null) {
|
| | | bossData = new JSONObject();
|
| | | UserInfo boss = threeSale.getBoss();
|
| | | if (boss != null) {
|
| | | bossData.put("nickName", boss.getNickName());
|
| | | bossData.put("portrait", boss.getPortrait());
|
| | | }
|
| | |
|
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd");
|
| | | Long createTime = threeSale.getCreateTime();
|
| | | Date inviteTime = new Date(createTime);
|
| | | bossData.put("inviteTime", "邀请时间: " + sdf.format(inviteTime));
|
| | | }
|
| | |
|
| | | String helpLink = configService.get("team_help_url");
|
| | | if (helpLink == null) {
|
| | | helpLink = "";
|
| | | }
|
| | |
|
| | | boolean hasCode = false;
|
| | | String inviteCode = userInfoExtraService.getUserInviteCode(uid);
|
| | | if (inviteCode != null && inviteCode.trim().length() > 0) {
|
| | | hasCode = true; // 已有邀请码
|
| | | } else {
|
| | | // 邀请激活链接
|
| | | resultData.put("activationlink", configService.get("invite_activation_url"));
|
| | | }
|
| | | resultData.put("hasCode", hasCode);
|
| | |
|
| | | resultData.put("helpLink", helpLink);
|
| | | resultData.put("firstTeam", firstTeam);
|
| | | resultData.put("secondTeam", secondTeam);
|
| | | resultData.put("boss", bossData);
|
| | | }
|
| | | out.print(JsonUtil.loadTrueResult(resultData));
|
| | | } catch (UserInfoExtraException e) {
|
| | | out.print(JsonUtil.loadFalseResult(e.getMsg()));
|
| | | } catch (Exception e) {
|
| | | out.print(JsonUtil.loadFalseResult("统计失败"));
|
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | |
|
| | | /**
|
| | |
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | |
|
| | | /**
|
| | | * 获取用户信息
|
| | | * |
| | | * @param acceptData
|
| | | * @param form
|
| | | * @param requst
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "getuserinfoNew", method = RequestMethod.POST)
|
| | | public void getuserinfoNew(AcceptData acceptData, Long uid, HttpServletRequest requst, PrintWriter out) {
|
| | | try {
|
| | | BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
|
| | | acceptData.getPackages());
|
| | | if (system == null) {
|
| | | out.print(JsonUtil.loadFalseResult("系统不存在"));
|
| | | return;
|
| | | }
|
| | |
|
| | | if (uid == null) {
|
| | | out.print(JsonUtil.loadFalseResult("请求参数为空"));
|
| | | return;
|
| | | }
|
| | |
|
| | | UserInfo userInfo = userInfoService.getUserInfo(uid);
|
| | |
|
| | | // 添加用户活跃记录
|
| | | UserActiveLog userActiveLog = new UserActiveLog();
|
| | | userActiveLog.setChannel(acceptData.getChannel());
|
| | | userActiveLog.setIp(requst.getRemoteHost());
|
| | | userActiveLog.setUid(userInfo.getId());
|
| | | userActiveLog.setVersionCode(acceptData.getVersion());
|
| | | userActiveLog.setOsVersion(acceptData.getOsVersion());
|
| | | userActiveLog.setDeviceType(acceptData.getDeviceType());
|
| | | userActiveLogService.addUserActiveLog(userActiveLog);
|
| | |
|
| | | // 处理用户信息
|
| | | outUserInfoHandle(userInfo);
|
| | |
|
| | | GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
|
| | | JSONObject data = new JSONObject();
|
| | | data.put("user", JsonUtil.getConvertBigDecimalToStringBuilder(gsonBuilder).create().toJson(userInfo));
|
| | |
|
| | | // 界面状态
|
| | | UserSettingsVO mySettings = null;
|
| | | try {
|
| | | mySettings = userCustomSettingsService.getMySettings(uid);
|
| | | } catch (UserCustomSettingsException e) {
|
| | | mySettings = new UserSettingsVO();
|
| | | e.printStackTrace();
|
| | | }
|
| | |
|
| | | if (mySettings.getCancelNotice() == null) {
|
| | | mySettings.setCancelNotice(0);
|
| | | }
|
| | | if (mySettings.getNoBonusCount() == null) {
|
| | | mySettings.setNoBonusCount(0);
|
| | | }
|
| | | if (mySettings.getNoNewsRedDot() == null) {
|
| | | mySettings.setNoNewsRedDot(0);
|
| | | }
|
| | | if (mySettings.getNoShareRecordAndStorage() == null) {
|
| | | mySettings.setNoShareRecordAndStorage(0);
|
| | | }
|
| | | if (mySettings.getNoInvitationBonus() == null) {
|
| | | mySettings.setNoInvitationBonus(0);
|
| | | }
|
| | | data.put("moduleState", mySettings);
|
| | |
|
| | | int welfareCenterNews = 0;
|
| | | String invitCode = null;
|
| | | UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
|
| | | if (userInfoExtra != null) {
|
| | | if (userInfoExtra.getCouponNews() != null) {
|
| | | welfareCenterNews = userInfoExtra.getCouponNews();
|
| | | }
|
| | |
|
| | | if (userInfoExtra.getInviteCode() != null && userInfoExtra.getInviteCode().trim().length() > 0) {
|
| | | invitCode = userInfoExtra.getInviteCode();
|
| | | }
|
| | |
|
| | | if (userInfoExtra.getUserRank() != null) {
|
| | | String picture = userInfoExtra.getUserRank().getPicture();
|
| | | String icon = userInfoExtra.getUserRank().getIcon();
|
| | | userInfo.setRankNamePicture(picture);
|
| | | userInfo.setRankIcon(icon);
|
| | | } else {
|
| | | userInfo.setRankNamePicture(null);
|
| | | userInfo.setRankIcon(null);
|
| | | }
|
| | | }
|
| | |
|
| | | data.put("invitCode", invitCode); // 邀请码
|
| | | data.put("welfareCenterNews", welfareCenterNews);// 福利中心消息
|
| | | out.print(JsonUtil.loadTrueResult(data));
|
| | |
|
| | | final UserInfo uuser = userInfo;
|
| | | ThreadUtil.run(new Runnable() {
|
| | | public void run() {
|
| | | try {
|
| | | // 获取邀请码:若无邀请码且存在有效的队员关系 则自动生成邀请码
|
| | | userInfoExtraService.getUserInviteCode(uuser.getId());
|
| | | } catch (UserInfoExtraException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | |
|
| | | // 更新用户附加信息,老用户不存在的需要添加
|
| | | try {
|
| | | userInfoExtraService.updateUserRankByUid(uuser.getId());
|
| | | } catch (UserInfoExtraException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | | });
|
| | |
|
| | | } catch (UserInfoException e) {
|
| | | out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
|
| | | } catch (Exception e) {
|
| | | out.print(JsonUtil.loadFalseResult("获取失败"));
|
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | |
|
| | | private void outUserInfoHandle(UserInfo user) {
|
| | |
|
| | | // 红包处理
|
| | | user.setTotalHongBao(new BigDecimal(0));
|
| | | user.setNoOpenHongBao(new BigDecimal(0));
|
| | | user.setCanOpenHongBao(new BigDecimal(0));
|
| | |
|
| | | // 电话号码处理
|
| | | if (!StringUtil.isNullOrEmpty(user.getPhone())) {
|
| | | if (user.getPhone().length() > 5) {
|
| | | String phone = user.getPhone().substring(0, 3);
|
| | | phone += "******";
|
| | | phone += user.getPhone().substring(user.getPhone().length() - 2, user.getPhone().length());
|
| | | user.setPhone(phone);
|
| | | }
|
| | | }
|
| | |
|
| | | UserInfoExtraVO userInfoExtra = userInfoExtraService.getInfoExtraVOByUid(user.getId());
|
| | | if (userInfoExtra != null && userInfoExtra.getUserRank() != null) {
|
| | | String picture = userInfoExtra.getUserRank().getPicture();
|
| | | String icon = userInfoExtra.getUserRank().getIcon();
|
| | | user.setRankNamePicture(picture);
|
| | | user.setRankIcon(icon);
|
| | | }
|
| | | }
|
| | |
|
| | | |
| | | /**
|
| | | * 用户更换头像
|
| | | * @param acceptData
|
| | | * @param fileList
|
| | | * @param uid
|
| | | * @param request
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "uploadPortrait")
|
| | | public void uploadPortrait(AcceptData acceptData, MultipartFile file, Long uid, HttpServletRequest request, PrintWriter out) {
|
| | | try {
|
| | | if (uid == null) {
|
| | | out.print(JsonUtil.loadFalseResult("用户未登录"));
|
| | | return;
|
| | | }
|
| | | if (file == null) {
|
| | | out.print(JsonUtil.loadFalseResult("上传文件不能为空"));
|
| | | return;
|
| | | }
|
| | | |
| | | long fileSize = file.getSize() / 1024 + 1;
|
| | | if (fileSize > 200) {
|
| | | out.print(JsonUtil.loadFalseResult("上传文件不能大于200kb"));
|
| | | return;
|
| | | }
|
| | | userInfoService.uploadPortrait(file, uid);
|
| | | out.print(JsonUtil.loadTrueResult("保存成功"));
|
| | | } catch (UserInfoException e) {
|
| | | out.print(JsonUtil.loadFalseResult(e.getMsg()));
|
| | | e.printStackTrace();
|
| | | } catch (IOException e) {
|
| | | out.print(JsonUtil.loadFalseResult("图片上传失败失败"));
|
| | | e.printStackTrace();
|
| | | } catch (Exception e) {
|
| | | out.print(JsonUtil.loadFalseResult("保存失败"));
|
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | | |
| | | /**
|
| | | * 更换昵称
|
| | | * @param acceptData
|
| | | * @param nickName
|
| | | * @param uid
|
| | | * @param out
|
| | | */
|
| | | @RequestMapping(value = "saveInfo")
|
| | | public void saveInfo(AcceptData acceptData, String nickName, Long uid, PrintWriter out) {
|
| | | try {
|
| | | if (uid == null) {
|
| | | out.print(JsonUtil.loadFalseResult("用户未登录"));
|
| | | return;
|
| | | }
|
| | | if (StringUtil.isNullOrEmpty(nickName)) {
|
| | | out.print(JsonUtil.loadFalseResult("昵称不能为空"));
|
| | | return;
|
| | | }
|
| | | if (nickName.length() > 200) {
|
| | | out.print(JsonUtil.loadFalseResult("昵称过长"));
|
| | | return;
|
| | | }
|
| | | |
| | | if(maskKeyService.examineContent(nickName)) {
|
| | | out.print(JsonUtil.loadFalseResult("不能包含敏感词汇"));
|
| | | return;
|
| | | }
|
| | | |
| | | userInfoService.saveUserInfo(nickName, uid);
|
| | | |
| | | out.print(JsonUtil.loadTrueResult("保存成功"));
|
| | | } catch (UserInfoException e) {
|
| | | out.print(JsonUtil.loadFalseResult(e.getMsg()));
|
| | | e.printStackTrace();
|
| | | } catch (Exception e) {
|
| | | out.print(JsonUtil.loadFalseResult("保存失败"));
|
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | | }
|