yujian
2019-03-14 4aadf484e193995c23ee1d5bb1971a497d2f9a0d
fanli/src/main/java/com/yeshi/fanli/controller/xcx/XcxUserInfoController.java
@@ -5,54 +5,50 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import net.sf.json.JSONObject;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.yeshi.utils.HttpUtil;
import org.yeshi.utils.IPUtil;
import org.yeshi.utils.JsonUtil;
import org.yeshi.utils.tencentcloud.COSManager;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.bus.user.CollectionGoods;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.bus.user.WeiXinUser;
import com.yeshi.fanli.entity.system.System;
import com.yeshi.fanli.entity.goods.CollectionGoodsV2;
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.goods.CollectionGoodsException;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.goods.CollectionGoodsService;
import com.yeshi.fanli.service.inter.goods.CollectionGoodsV2Service;
import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
import com.yeshi.fanli.service.inter.hongbao.HongBaoMessageService;
import com.yeshi.fanli.service.inter.hongbao.HongBaoService;
import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce;
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.AccountDetailsService;
import com.yeshi.fanli.service.inter.user.AccountMessageService;
import com.yeshi.fanli.service.inter.user.BindingAccountService;
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.ShamUserService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.fanli.service.inter.user.WxDownService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.GsonUtil;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.ThreadUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.wx.WXLoginUtil;
import org.yeshi.utils.HttpUtil;
import org.yeshi.utils.IPUtil;
import org.yeshi.utils.JsonUtil;
import org.yeshi.utils.tencentcloud.COSManager;
import net.sf.json.JSONObject;
@Controller
@RequestMapping("api/xcx/v1/XcxCustomer")
@@ -63,15 +59,6 @@
   @Resource
   private OrderService orderService;
   @Resource
   private HongBaoService hongBaoService;
   @Resource
   private MoneyRecordService moneyRecordService;
   @Resource
   private BindingAccountService bindingAccountService;
   @Resource
   private ExtractService extractService;
@@ -86,9 +73,6 @@
   private XcxMiniControllerUtil xcxMiniControllerUtil;
   @Resource
   private HongBaoMessageService hongBaoMessageService;
   @Resource
   private ShamUserService shamUserService;
   @Resource
@@ -96,23 +80,20 @@
   @Resource
   private LostOrderService lostOrderService;
   @Resource
   private OrderItemServcie orderItemServcie;
   @Resource
   private AccountDetailsService accountDetailsService;
   @Resource
   private AccountMessageService accountMessageService;
   @Resource
   private CollectionGoodsService collectionGoodsService;
   private CollectionGoodsV2Service collectionGoodsV2Service;
   @Resource
   private HongBaoManageService hongBaoManageService;
   @Resource
   private WxDownService wxDownService;
   @Resource
   private RedisManager redisManager;
   /**
    * 获取用户信息
@@ -139,7 +120,7 @@
         }
      }
      // 不是用ID的登陆的事就多了
      System system = xcxMiniControllerUtil.getSystem(acceptData);
      BusinessSystem system = xcxMiniControllerUtil.getSystem(acceptData);
      if (system == null) {
         out.print(JsonUtil.loadFalseResult(XcxMiniControllerUtil.NOSYSTEM));
         return;
@@ -194,9 +175,10 @@
         // 查询到的用户信息为空,那么需要填充一些用户信息
         if (loginType == Constant.WEIXIN) {
            form.setPortrait(weiXinUser.getHeadimgurl());
            String wxHeadImg = COSManager.getInstance().uploadFile(
                  HttpUtil.getAsInputStream(weiXinUser.getHeadimgurl()),
                  Constant.WXHEADURL + UUID.randomUUID().toString()).getUrl();
            String wxHeadImg = COSManager.getInstance()
                  .uploadFile(HttpUtil.getAsInputStream(weiXinUser.getHeadimgurl()),
                        Constant.WXHEADURL + UUID.randomUUID().toString())
                  .getUrl();
            form.setWxPic(wxHeadImg);
            form.setNickName(weiXinUser.getNickname());
            form.setWxName(weiXinUser.getNickname());
@@ -259,9 +241,10 @@
            form.setPortrait(xinUser.getHeadimgurl());
            form.setNickName(xinUser.getNickname());
            form.setWxName(xinUser.getNickname());
            String wxHeadImg = COSManager.getInstance().uploadFile(
                  HttpUtil.getAsInputStream(xinUser.getHeadimgurl()),
                  Constant.WXHEADURL + UUID.randomUUID().toString()).getUrl();
            String wxHeadImg = COSManager.getInstance()
                  .uploadFile(HttpUtil.getAsInputStream(xinUser.getHeadimgurl()),
                        Constant.WXHEADURL + UUID.randomUUID().toString())
                  .getUrl();
            form.setWxPic(wxHeadImg);
         } else if (formLoginType == Constant.TAOBAO) {
            form.setTbName(form.getNickName());
@@ -314,10 +297,10 @@
   }
   private void outUserInfo(PrintWriter out, String remotIP, UserInfo user, String device) {
      BigDecimal totalmoney = hongBaoService.getTotalHongBaoByUid(user.getId());
      BigDecimal totalmoney = new BigDecimal(0);
      user.setTotalHongBao(totalmoney);
      BigDecimal unOpenmoney = hongBaoService.getUnOpenHongBaoByUid(user.getId());
      BigDecimal canOpenMoney = hongBaoService.getCanOpenHongBaoByUid(user.getId());
      BigDecimal unOpenmoney = new BigDecimal(0);
      BigDecimal canOpenMoney = new BigDecimal(0);
      user.setNoOpenHongBao(unOpenmoney);
      user.setCanOpenHongBao(canOpenMoney);
      JSONObject data = new JSONObject();
@@ -348,24 +331,32 @@
    */
   @RequestMapping("collectionGoods")
   public void collectionGoods(long uid, long auctionId, int type, PrintWriter out) {
      CollectionGoods find = collectionGoodsService.findByUidAndAuctionId(uid, auctionId);
      CollectionGoodsV2 find = collectionGoodsV2Service.findByUidAndAuctionId(uid, auctionId);
      if (type == 1) {
         if (find != null) {
            out.print(JsonUtil.loadFalseResult("您已收藏"));
            out.print(JsonUtil.loadFalseResult(""));
            return;
         }
         CollectionGoods cg = TaoBaoUtil.getCollectionGoods(auctionId, new UserInfo(uid));
         collectionGoodsService.save(cg);
         out.print(JsonUtil.loadTrueResult("收藏成功"));
         return;
         try {
            TaoBaoGoodsBrief taoBaoGoodsBrief = redisManager.getTaoBaoGoodsBrief(auctionId);
            collectionGoodsV2Service.addCollection(uid, taoBaoGoodsBrief);
            out.print(JsonUtil.loadTrueResult("收藏成功"));
         } catch (TaobaoGoodsDownException e) {
            out.print(JsonUtil.loadFalseResult(1, "商品已下架"));
         } catch (CollectionGoodsException e1) {
            out.print(JsonUtil.loadFalseResult(e1.getCode(), e1.getMsg()));
         }
      } else {
         if (find == null) {
            out.print(JsonUtil.loadTrueResult("取消收藏成功"));
            return;
         } else {
            collectionGoodsService.delete(find);
            out.print(JsonUtil.loadTrueResult("取消收藏成功"));
            return;
            try {
               collectionGoodsV2Service.cancelCollectionByAuctionId(uid, auctionId);
               out.print(JsonUtil.loadTrueResult("取消收藏成功"));
            } catch (CollectionGoodsException e) {
               out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
            }
         }
      }
   }
@@ -381,20 +372,18 @@
    */
   @RequestMapping("collectionGoodsList")
   public void collectionGoodsList(long uid, int page, int pageSize, PrintWriter out) {
      List<CollectionGoods> coList = collectionGoodsService.findCollectionGoods(uid, page);
      int count = collectionGoodsService.getCount(uid);
      List<CollectionGoodsV2> coList = collectionGoodsV2Service.getCollectionGoodsList(uid, page, pageSize);
      long count = collectionGoodsV2Service.getCollectionGoodsCount(uid);
      JSONObject data = new JSONObject();
      Map<String, String> map = hongBaoManageService.convertMap();
      String proportion = map.get("hongbao_goods_proportion");
      String fcRate = map.get("hongbao_fc_ratio");
      BigDecimal proportion = hongBaoManageService.getFanLiRate();
      List<TaoBaoGoodsBriefExtra> list = new ArrayList<TaoBaoGoodsBriefExtra>();
      coList.parallelStream().forEachOrdered(cg -> {
         TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.getTaoBaoGoodsBrief(cg);
         TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, proportion,
               fcRate,"");
         TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.convert(cg.getCommonGoods());
         TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief,
               proportion.toString(), "");
         list.add(taoBaoGoodsBriefExtra);
      });
      int totalPage = count % pageSize == 0 ? count / pageSize : count / pageSize + 1;
      int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
      data.put("totalPage", totalPage);
      data.put("list", GsonUtil.toJsonExpose(list));
      data.put("count", count);
@@ -414,7 +403,11 @@
   public void deleteCollectionGoods(String ids, long uid, PrintWriter out) {
      if (ids != null) {
         Arrays.asList(ids.split(",")).parallelStream().forEach(auctionIdStr -> {
            collectionGoodsService.delete(Long.parseLong(auctionIdStr), uid);
            try {
               collectionGoodsV2Service.cancelCollection(uid, Long.parseLong(auctionIdStr));
            } catch (Exception e) {
               e.printStackTrace();
            }
         });
      }
@@ -431,7 +424,11 @@
    */
   @RequestMapping("clearConllectionGoods")
   public void clearConllectionGoods(long uid, PrintWriter out) {
      collectionGoodsService.clear(uid);
      try {
         collectionGoodsV2Service.cancelCollectionByUid(uid);
      } catch (CollectionGoodsException e) {
         e.printStackTrace();
      }
      out.print(JsonUtil.loadTrueResult("删除成功"));
   }