From aeae4b32ba980c7701b6870611462a4095453e72 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 21 五月 2021 18:35:33 +0800
Subject: [PATCH] PID管理
---
fanli/src/main/java/com/yeshi/fanli/controller/ClientJspController.java | 947 +++++++++++++++++++---------------------------------------
1 files changed, 315 insertions(+), 632 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/ClientJspController.java b/fanli/src/main/java/com/yeshi/fanli/controller/ClientJspController.java
index 55d3dda..f32184c 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/ClientJspController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/ClientJspController.java
@@ -1,632 +1,315 @@
-package com.yeshi.fanli.controller;
-
-import java.io.PrintWriter;
-import java.math.BigDecimal;
-import java.net.URLEncoder;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
-
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.yeshi.utils.HttpUtil;
-import org.yeshi.utils.JsonUtil;
-import org.yeshi.utils.wx.WXUtil;
-
-import com.google.gson.GsonBuilder;
-import com.yeshi.fanli.entity.bus.share.UserShareGoodsHistory;
-import com.yeshi.fanli.entity.bus.user.InviteUser;
-import com.yeshi.fanli.entity.bus.user.UserInfo;
-import com.yeshi.fanli.entity.system.BusinessSystem;
-import com.yeshi.fanli.entity.system.CustomerContent;
-import com.yeshi.fanli.entity.system.CustomerName;
-import com.yeshi.fanli.entity.system.SystemClientParams;
-import com.yeshi.fanli.entity.taobao.PidUser;
-import com.yeshi.fanli.entity.taobao.SearchFilter;
-import com.yeshi.fanli.entity.taobao.TaoBaoCoupon;
-import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
-import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra;
-import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
-import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig;
-import com.yeshi.fanli.exception.share.ShareGoodsException;
-import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
-import com.yeshi.fanli.log.LogHelper;
-import com.yeshi.fanli.service.inter.config.BusinessSystemService;
-import com.yeshi.fanli.service.inter.config.ConfigService;
-import com.yeshi.fanli.service.inter.config.CustomerContentService;
-import com.yeshi.fanli.service.inter.config.CustomerNameService;
-import com.yeshi.fanli.service.inter.config.SystemClientParamsService;
-import com.yeshi.fanli.service.inter.config.SystemConfigService;
-import com.yeshi.fanli.service.inter.goods.GoodsSecondClassService;
-import com.yeshi.fanli.service.inter.goods.ShareGoodsService;
-import com.yeshi.fanli.service.inter.goods.TaoBaoCouponService;
-import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
-import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
-import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce;
-import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
-import com.yeshi.fanli.service.inter.user.ShamUserService;
-import com.yeshi.fanli.service.inter.user.UserInfoService;
-import com.yeshi.fanli.service.inter.user.UserInviteRecordService;
-import com.yeshi.fanli.util.AESUtil;
-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.Utils;
-import com.yeshi.fanli.util.taobao.TaoBaoUtil;
-import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
-import com.yeshi.fanli.util.wx.WXLoginUtil;
-
-import net.sf.json.JSONArray;
-import net.sf.json.JSONObject;
-
-/**
- * 瀹㈡埛绔綉椤垫帴鍙d笌寰俊缃戦〉鎺ュ彛
- *
- * @author Administrator
- *
- */
-
-@Controller
-@RequestMapping("/client")
-public class ClientJspController {
-
- @Resource
- private GoodsSecondClassService goodsSecondClassService;
-
- @Resource
- private ConfigService configService;
-
- @Resource
- private HongBaoManageService hongBaoManageService;
-
- @Resource
- private ShamUserService shamUserService;
-
- @Resource
- private TaoBaoCouponService taoBaoCouponService;
-
- @Resource
- private ThreeSaleSerivce threeSaleSerivce;
-
- @Resource
- private UserInfoService userInfoService;
-
- @Resource
- private BusinessSystemService businessSystemService;
-
- @Resource
- private SystemConfigService systemConfigService;
-
- @Resource
- private SystemClientParamsService systemClientParamsService;
-
- @Resource
- private ShareGoodsService shareGoodsService;
-
- @Resource
- private TaoBaoGoodsBriefService taoBaoGoodsBriefService;
-
- @Resource
- private UserInviteRecordService userInviteRecordService;
-
- @Resource
- private RedisManager redisManager;
-
- @Resource
- private TaoBaoUnionConfigService taoBaoUnionConfigService;
-
- @Resource
- private CustomerNameService customerNameService;
-
- @Resource
- private CustomerContentService customerContentService;
-
- private static final String DOWNURL = "http://sj.qq.com/myapp/detail.htm?apkName="
- + Constant.systemCommonConfig.getAndroidPackageName();
-
- private static final String DOWNURL2 = "http://121.42.200.138/apk/fanliquan20180124.apk";
-
- @RequestMapping("coupon")
- public String conpon(Model model) {
- List<TaoBaoCoupon> couponList = taoBaoCouponService.getTaoBaoCouponList("", 1);
- BigDecimal proportion = hongBaoManageService.getFanLiRate();
- String jsonArr = Utils.imgListSize(JsonUtil.getApiCommonGson().toJson(couponList));
- JSONArray jsonArray = JSONArray.fromObject(jsonArr);
- List<TaoBaoCoupon> collection = (List<TaoBaoCoupon>) JSONArray.toCollection(jsonArray, TaoBaoCoupon.class);
- model.addAttribute("couponList", collection);
- model.addAttribute("proportion", proportion);
- return "coupon";
- }
-
- //璇ユ柟娉曚互鍙婂簾寮�
- @Deprecated
- @RequestMapping("findThreeFriendsCount")
- public void findThreeFriendsCount(long id, String callback, PrintWriter out) {
-
- }
-
- //璇ユ柟娉曚互鍙婂簾寮�
- @Deprecated
- @RequestMapping("findThreeFriends")
- public void findThreeFriends(long id, int type, int page, String callback, PrintWriter out) {
-
- }
-
- @RequestMapping(value = "getConpon", method = RequestMethod.POST)
- public void getConpon(int page, PrintWriter out) {
- List<TaoBaoCoupon> taoBaoCouponList = taoBaoCouponService.getTaoBaoCouponList("", page);
- BigDecimal proportion = hongBaoManageService.getFanLiRate();
- JSONObject data = new JSONObject();
- data.put("taoBaoCouponList", Utils.imgListSize(JsonUtil.getApiCommonGson().toJson(taoBaoCouponList)));
- data.put("proportion", proportion);
- out.print(JsonUtil.loadTrueResult(data));
- }
-
- @RequestMapping("share")
- public String getShare(Model model, String uid) {
- String value = configService.get("share_message");
- try {
- if (uid == null) {
- uid = "0";
- }
- String base64String = StringUtil.getBase64String(uid + "");
- String format = MessageFormat.format(value, base64String);
- model.addAttribute("share", format);
- model.addAttribute("down",
- "http://file.sovideo.cn/buxinjie/weixinfriendinvite/index.html?yqm=" + base64String);
- model.addAttribute("shareCode", "閭�璇风爜锛�" + base64String);
- } catch (Exception e) {
- e.printStackTrace();
- }
- return "getcash";
- }
-
- @RequestMapping("shares")
- public String getShares(Model model, String uid) {
- String value = configService.get("share_message");
- try {
- if (uid == null) {
- uid = "0";
- }
- String base64String = StringUtil.getBase64String(uid + "");
- String format = MessageFormat.format(value, base64String);
- model.addAttribute("share", format);
- model.addAttribute("uid", uid);
- } catch (Exception e) {
- e.printStackTrace();
- }
- return "invite";
- }
-
- @RequestMapping(value = "/{uid}")
- public String threeShareRep(@PathVariable String uid, String code, String state, String packages, String platform,
- String ios, HttpSession httpSession, HttpServletRequest request) {
-
- BusinessSystem system = businessSystemService.getBusinessSystem(platform, packages);
- String wxState = (String) httpSession.getAttribute("wxState");
- // 閫氳繃閰嶇疆鍙傛暟鑾峰彇
- String down = DOWNURL2;
-
- SystemClientParams params = systemClientParamsService.getSystemClientParamsBySystemAndKey(system,
- "fenxiao_download_apk_url");
- if (params != null)
- down = params.getValue();
- if ("2".equalsIgnoreCase(ios)) {
- down = DOWNURL;
- }
- if (state == null || !state.equals(wxState)) {// 涓嶆槸寰俊杩斿洖鐨勶紒
- // request.setAttribute("error", "1");
- return "redirect:" + down;
- }
-
- if (code == null) {// 鐢ㄦ埛鍙栨秷浜嗙櫥闄嗭紒
- return "redirect:" + down;
- }
-
- UserInfo inviter = userInfoService.getUserById(Long.parseLong(uid));
- if (inviter == null) {// 娌″緱杩欎釜浜�
- return "redirect:" + down;
- }
- boolean b = userInfoService.inviteWXUserInfo(code, inviter);
- if (!b) { // 缁戝畾澶辫触
- // request.setAttribute("msg", "闈炲父閬楁喚锛屼綘宸查鍙栬繃绾㈠寘锛岃鍕垮啀娆¢鍙栥��");
- return "redirect:" + down;
- }
-
- return "redirect:" + down;
- }
-
- @RequestMapping(value = "/new/{uid}")
- public String threeShareRepNew(@PathVariable String uid, String code, String state, String packages,
- String platform, String ios, HttpSession httpSession, HttpServletRequest request) {
-
- BusinessSystem system = businessSystemService.getBusinessSystem(platform, packages);
- String wxState = (String) httpSession.getAttribute("wxState");
- // 閫氳繃閰嶇疆鍙傛暟鑾峰彇
- String down = DOWNURL2;
-
- SystemClientParams params = systemClientParamsService.getSystemClientParamsBySystemAndKey(system,
- "download_app_url");
- if (params != null)
- down = params.getValue();
-
- if (!state.equals(wxState)) {// 涓嶆槸寰俊杩斿洖鐨勶紒
- // request.setAttribute("error", "1");
- return "redirect:" + down;
- }
-
- // 淇濆瓨閭�璇疯褰�
- userInviteRecordService.saveInviteRecord(code, uid);
-
- return "redirect:" + down;
- }
-
- @RequestMapping("threeShare")
- public String threeShare(HttpServletRequest request, HttpSession session, long uid) {
- String serverName = request.getServerName();
- String contextPath = request.getContextPath();
- UserInfo userInfo = userInfoService.getUserById(uid);
- if (userInfo == null) {
- return "share/error";
- }
-
- try {
- String header = request.getHeader("User-Agent");// MicroMessenger锛氬井淇℃祻瑙堝櫒
- String ios = "ios=1";
- if (header.contains("iPhone")) {
- ios = "ios=2";
- }
- String redirect_uri = "http://" + serverName + contextPath + "/client/" + uid + "?packages="
- + Constant.systemCommonConfig.getAndroidPackageName() + "&platform=ANDROID&" + ios;
- redirect_uri = URLEncoder.encode(redirect_uri, "utf-8");
- long currentTimeMillis = java.lang.System.currentTimeMillis();
- String md5 = StringUtil.Md5(currentTimeMillis + "");
- session.setAttribute("wxState", md5);
- String baseUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + WXLoginUtil.WEXIN_APPID
- + "&redirect_uri=" + redirect_uri + "&response_type=code&scope=snsapi_userinfo&state=" + md5
- + "#wechat_redirect";
- // List<HongBaoMessage> list =
- // shamUserService.findShamThreeSaleInfo();
- request.setAttribute("jumpUrl", baseUrl);
- request.setAttribute("name", userInfo.getNickName());
- request.setAttribute("picture", userInfo.getPortrait());
- // request.setAttribute("list", list);
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- return "share2/yaoqing";
- }
-
- // 鏂扮増鍒嗕韩
- @RequestMapping("threeShareNew")
- public String threeShareNew(HttpServletRequest request, HttpSession session, HttpServletResponse response,
- long uid) {
- String serverName = request.getServerName();
- String contextPath = request.getContextPath();
- UserInfo userInfo = userInfoService.getUserById(uid);
- if (userInfo == null) {
- return "share/error";
- }
-
- try {
- String header = request.getHeader("User-Agent");// MicroMessenger锛氬井淇℃祻瑙堝櫒
- String ios = "ios=1";
- if (header.contains("iPhone")) {
- ios = "ios=2";
- }
- String redirect_uri = "http://" + Constant.wxGZConfig.getLoginHost() + "/"
- + Constant.systemCommonConfig.getProjectName() + "/client/new/" + uid + "?packages="
- + Constant.systemCommonConfig.getAndroidPackageName() + "&platform=ANDROID&" + ios;
- redirect_uri = URLEncoder.encode(redirect_uri, "utf-8");
-
- long currentTimeMillis = java.lang.System.currentTimeMillis();
- String md5 = StringUtil.Md5(currentTimeMillis + "");
- session.setAttribute("wxState", md5);
- String baseUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + WXLoginUtil.WEXIN_APPID
- + "&redirect_uri=" + redirect_uri + "&response_type=code&scope=snsapi_userinfo&state=" + md5
- + "#wechat_redirect";
- response.sendRedirect(baseUrl);
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- return "share2/yaoqing";
- }
-
- @RequestMapping("callBack")
- public void callBack(HttpServletRequest request, PrintWriter out) {
- if (!StringUtil.isNullOrEmpty(request.getParameter("echostr"))) {
- out.print(request.getParameter("echostr"));
- return;
- }
-
- Map<String, String> map = WXUtil.parseXML(request);
- String ghId = map.get("ToUserName");
- if (ghId == null) {
- out.print("");
- return;
- }
- String type = map.get("MsgType");
- if ("event".equalsIgnoreCase(type)) {
- String event = map.get("Event");
- if (event.equalsIgnoreCase("subscribe")) {// 鍏虫敞
- Map<String, String> parmas = new HashMap<>();
- parmas.put("ToUserName", map.get("FromUserName"));
- parmas.put("FromUserName", ghId);
- parmas.put("CreateTime", java.lang.System.currentTimeMillis() / 1000 + "");
- parmas.put("MsgType", "text");
- parmas.put("Content", Constant.wxGZConfig.getWelcomeMsg());
- out.print(WXUtil.loadWXMessage(parmas));
- }
- } else if ("text".equalsIgnoreCase(type)) {
- String content = map.get("Content");
- if (!StringUtil.isNullOrEmpty(content)) {
- try {
- if (request.getSession().getAttribute("search-quan-" + map.get("FromUserName")) == null) {
- request.getSession().setAttribute("search-quan-" + map.get("FromUserName"), "1");
- SearchFilter sf = new SearchFilter();
- sf.setPage(1);
- sf.setPageSize(5);
- sf.setKey(content);
- sf.setQuan(1);
- TaoBaoSearchResult result = TaoKeApiUtil.searchWuLiao(sf);
- if (result == null || result.getTaoBaoGoodsBriefs() == null
- || result.getTaoBaoGoodsBriefs().size() <= 0) {
- Map<String, String> parmas = new HashMap<>();
- parmas.put("ToUserName", map.get("FromUserName"));
- parmas.put("FromUserName", ghId);
- parmas.put("CreateTime", java.lang.System.currentTimeMillis() / 1000 + "");
- parmas.put("MsgType", "text");
- parmas.put("Content", String.format("[寰瑧]鎶辨瓑锛屾病鏈夎兘涓轰綘鎵惧埌鍏充簬銆�%s銆戠殑浼樻儬鍒革紝[鏈烘櫤]浣犲彲浠ヨ瘯璇曞叾浠栧叧閿瘝", content));
- out.print(WXUtil.loadWXMessage(parmas));
- } else {
- String host = HttpUtil.getHost(Constant.wxGZConfig.getH5Url());
- String url = HttpUtil.getShortLink("http://" + host + "/search.html?key=" + content);
- String text = String.format("[寰楁剰]宸茬粡涓轰綘鎵惧埌浜嗗叧浜庛��%s銆戠殑浼樻儬鍒� \n 馃憠 %s", content, url);
- Map<String, String> parmas = new HashMap<>();
- parmas.put("ToUserName", map.get("FromUserName"));
- parmas.put("FromUserName", ghId);
- parmas.put("CreateTime", java.lang.System.currentTimeMillis() / 1000 + "");
- parmas.put("MsgType", "text");
- parmas.put("Content", text);
- out.print(WXUtil.loadWXMessage(parmas));
- }
- }
-
- } finally {
- request.getSession().removeAttribute("search-quan-" + map.get("FromUserName"));
- }
-
- }
-
- }
-
- }
-
- @RequestMapping("shareGoods")
- public void shareGoods(String auctionId, PrintWriter out) {
- TaoBaoGoodsBrief alimama = null;
- try {
- alimama = redisManager.getTaoBaoGoodsBrief(Long.parseLong(auctionId));
- } catch (NumberFormatException e) {
- e.printStackTrace();
- } catch (TaobaoGoodsDownException e) {
- e.printStackTrace();
- }
- if (alimama != null) {
- List<TaoBaoUnionConfig> config = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_FANLI_ANDROID);
- TaoBaoGoodsBrief tb = null;
- try {
- tb = redisManager.getTaoBaoGoodsBrief(Long.parseLong(auctionId));
- } catch (NumberFormatException e) {
- e.printStackTrace();
- } catch (TaobaoGoodsDownException e) {
- e.printStackTrace();
- }
- TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(tb, config.get(0));
- JSONObject data = new JSONObject();
- data.put("tb", GsonUtil.toJsonExpose(taoBaoGoodsBriefExtra));
- if ("1".equalsIgnoreCase(tb.getTkMktStatus())) {// 钀ラ攢璁″垝
- data.put("yxjh", 1);
- } else
- data.put("yxjh", 0);
-
- out.println(JsonUtil.loadTrueResult(data));
- return;
- }
- JsonUtil.loadFalseResult("鍟嗗搧宸蹭笅鏋讹紒");
- }
-
- @RequestMapping("getShareGoodsInfo")
- public void getShareGoodsInfo(HttpServletRequest request, long uid, long id, String sign, PrintWriter out) {
-
- if (!StringUtil.Md5("" + uid + id + Constant.WEBPAGE_SIGN_KEY).equalsIgnoreCase(sign)) {
- out.print(JsonUtil.loadFalseResult(-1, "绛惧悕閿欒"));
- return;
- }
-
- // 娣诲姞鍒嗕韩
- try {
- long startTime = java.lang.System.currentTimeMillis();
- UserShareGoodsHistory userShareGoodsHistory = shareGoodsService.addShareGoodsHistory(uid, id);
- LogHelper.test("鐢熸垚鍒嗕韩鍥剧殑鎬昏�楁椂涓�:" + (java.lang.System.currentTimeMillis() - startTime));
-
- JSONObject data = new JSONObject();
- JSONObject shareData = new JSONObject();
- JSONArray imgArr = new JSONArray();
- String pictures = userShareGoodsHistory.getPictures();
- JSONArray pictureArray = JSONArray.fromObject(pictures);
- for (int i = 0; i < pictureArray.size(); i++) {
- imgArr.add(pictureArray.optString(i));
- }
-
- TaoBaoGoodsBrief goods = redisManager.getTaoBaoGoodsBrief(userShareGoodsHistory.getGoodsId());
-
- shareData.put("type", "2");
- shareData.put("title", goods.getTitle());
- shareData.put("description", goods.getTitle());
- shareData.put("imgs", imgArr);
- try {
- data.put("wx", StringUtil.getBase64String(shareData.toString()));
- data.put("wxcircle", StringUtil.getBase64String(shareData.toString()));
- data.put("tkcode", StringUtil.getBase64String(userShareGoodsHistory.getTkCode()));
- data.put("qq", StringUtil.getBase64String(shareData.toString()));
- data.put("qqzone", StringUtil.getBase64String(shareData.toString()));
- data.put("sina", StringUtil.getBase64String(shareData.toString()));
- data.put("tishi", StringUtil.getBase64String("鍒嗕韩涓�..."));
- data.put("shareGoods", JsonUtil.getSimpleGson().toJson(userShareGoodsHistory));
- JSONObject goodsJSON = new JSONObject();
- goodsJSON.put("title", goods.getTitle());
- goodsJSON.put("zkPrice", goods.getZkPrice());
- // 鏈夊埜
- if (!StringUtil.isNullOrEmpty(goods.getCouponInfo())) {
-
- goodsJSON.put("finalPrice", TaoBaoUtil.getAfterUseCouplePrice(goods));
- }
- data.put("goods", goodsJSON);
-
- String link = String.format("http://%s/%s/client/html/sharegoods/share_detail.html?uid=%s&goodsId=%s",
- Constant.systemCommonConfig.getProjectHost(), Constant.systemCommonConfig.getProjectName(),
- AESUtil.encrypt(uid + ""), id + "");
- try {
- String shortLink = HttpUtil.getShortLink(link);
- data.put("link", shortLink);
- } catch (Exception e) {
- data.put("link", link);
- }
- out.print(JsonUtil.loadTrueResult(data));
- } catch (Exception e) {
- JSONObject rdata = new JSONObject();
- rdata.put("uid", uid);
- rdata.put("id", id);
- LogHelper.errorDetailInfo(e, rdata.toString(), request.getRequestURI());
- out.print(JsonUtil.loadFalseResult(1001, "鏈煡閿欒"));
- }
-
- } catch (ShareGoodsException e1) {
- JSONObject data = new JSONObject();
- data.put("uid", uid);
- data.put("id", id);
- LogHelper.errorDetailInfo(e1, data.toString(), request.getRequestURI());
- out.print(JsonUtil.loadFalseResult(e1.getCode(), e1.getMsg()));
- } catch (Exception e) {
- LogHelper.errorDetailInfo(e);
- }
-
- }
-
- @RequestMapping("getShareGoodsDetail")
- public void getShareGoodsDetail(String uid, long id, String sign, PrintWriter out) {
- // 娣诲姞鍒嗕韩
- uid = AESUtil.decrypt(uid);
- if (StringUtil.isNullOrEmpty(uid)) {
- out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛ID涓嶅瓨鍦�"));
- return;
- }
-
- try {
- UserShareGoodsHistory userShareGoodsHistory = shareGoodsService
- .getShareGoodsHistoryDetail(Long.parseLong(uid), id);
- if (userShareGoodsHistory == null) {
- out.print(JsonUtil.loadFalseResult(2, "鍟嗗搧涓嶅瓨鍦�"));
- return;
- }
-
- TaoBaoGoodsBrief goods = null;
- try {
- goods = redisManager.getTaoBaoGoodsBrief(userShareGoodsHistory.getGoodsId());
- } catch (TaobaoGoodsDownException e) {
- e.printStackTrace();
- }
- JSONObject data = JSONObject.fromObject(JsonUtil.getSimpleGson().toJson(userShareGoodsHistory));
- JSONObject goodsJSON = new JSONObject();
- goodsJSON.put("title", goods.getTitle());
- goodsJSON.put("zkPrice", goods.getZkPrice());
- // 鏈夊埜
- if (!StringUtil.isNullOrEmpty(goods.getCouponInfo())) {
- BigDecimal finalPrice = goods.getZkPrice();
- if (goods.getCouponStartFee().compareTo(goods.getZkPrice()) <= 0
- && goods.getZkPrice().compareTo(goods.getCouponAmount()) >= 0) {
- finalPrice = goods.getZkPrice().subtract(goods.getCouponAmount());
- }
- goodsJSON.put("finalPrice", finalPrice);
- }
- data.put("goods", goodsJSON);
- out.print(JsonUtil.loadTrueResult(data));
- } catch (ShareGoodsException e1) {
- out.print(JsonUtil.loadFalseResult(e1.getCode(), e1.getMsg()));
-
- e1.printStackTrace();
- }
-
- }
-
- // 鑾峰彇甯姪涓績鍒楄〃
-
- @RequestMapping("getHelpList")
- public void getHelpList(PrintWriter out) {
- List<CustomerName> totalList = new ArrayList<>();
- int page = 0;
- List<CustomerName> customerNameList = customerNameService.customerNameList(page, "", 1);
- if (customerNameList != null && customerNameList.size() > 0)
- totalList.addAll(customerNameList);
-
- while (customerNameList != null && customerNameList.size() == Constant.PAGE_SIZE) {
- page++;
- customerNameList = customerNameService.customerNameList(page, "", 1);
- if (customerNameList != null && customerNameList.size() > 0)
- totalList.addAll(customerNameList);
- }
-
- // 鑾峰彇姣忎釜涓嬮潰鐨勮鎯�
- for (CustomerName cn : totalList) {
- List<CustomerContent> contentList = customerContentService.getSecondProblemList(0, "", cn.getId());
- cn.setCustomerContentList(contentList);
- }
- out.print(JsonUtil.loadTrueResult(JsonUtil.getSimpleGson().toJson(totalList)));
- }
-
- @RequestMapping("getHelpDetail")
- public void getHelpDetail(long id, PrintWriter out) {
- List<CustomerName> totalList = new ArrayList<>();
- CustomerContent customerContent = customerContentService.getCustomerContent(id);
- out.print(JsonUtil.loadTrueResult(customerContent.getContent().replace("\n", "<br>")));
- }
-
- /**
- * 鑾峰彇閭�璇锋湁濂栫殑瑙勫垯
- *
- * @param callback
- * @param out
- */
- @RequestMapping("getinviteactivityrules")
- public void getInviteActivityRules(String callback, PrintWriter out) {
- String key = "activityRules"; // key鍊�
- com.yeshi.fanli.entity.system.BusinessSystem system = new BusinessSystem();
- system.setCreatetime(java.lang.System.currentTimeMillis());
- system.setPlatform(1);
- system.setId(4L);
- SystemClientParams values = systemClientParamsService.getSystemClientParamsBySystemAndKey(system, key);
- // 杞崲鎹㈣绗� 缁欏墠绔�
- String valueN = values.getValue();
- String valueBr = valueN.replace("\n", "<br><br>");
- if (!StringUtil.isNullOrEmpty(callback)) {
- out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(valueBr)));
- } else {
- out.print(JsonUtil.loadTrueResult(valueBr));
- }
- }
-
-}
+package com.yeshi.fanli.controller;
+
+import java.io.PrintWriter;
+import java.net.URLEncoder;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+
+import com.yeshi.fanli.entity.SystemEnum;
+import com.yeshi.fanli.util.wx.MyWXLoginUtil;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.yeshi.utils.HttpUtil;
+import org.yeshi.utils.JsonUtil;
+
+import com.yeshi.fanli.entity.bus.share.UserShareGoodsHistory;
+import com.yeshi.fanli.entity.bus.user.UserInfo;
+import com.yeshi.fanli.entity.system.BusinessSystem;
+import com.yeshi.fanli.entity.system.CustomerContent;
+import com.yeshi.fanli.entity.system.CustomerName;
+import com.yeshi.fanli.entity.system.SystemClientParams;
+import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief;
+import com.yeshi.fanli.exception.share.ShareGoodsException;
+import com.yeshi.fanli.log.LogHelper;
+import com.yeshi.fanli.service.inter.config.BusinessSystemService;
+import com.yeshi.fanli.service.inter.config.ConfigService;
+import com.yeshi.fanli.service.inter.config.CustomerContentService;
+import com.yeshi.fanli.service.inter.config.CustomerNameService;
+import com.yeshi.fanli.service.inter.config.SystemClientParamsService;
+import com.yeshi.fanli.service.inter.config.SystemConfigService;
+import com.yeshi.fanli.service.inter.goods.GoodsSecondClassService;
+import com.yeshi.fanli.service.inter.goods.ShareGoodsService;
+import com.yeshi.fanli.service.inter.goods.TaoBaoCouponService;
+import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
+import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
+import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
+import com.yeshi.fanli.service.inter.user.ShamUserService;
+import com.yeshi.fanli.service.inter.user.UserInfoService;
+import com.yeshi.fanli.service.inter.user.UserInviteRecordService;
+import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
+import com.yeshi.fanli.util.AESUtil;
+import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.RedisManager;
+import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.taobao.TaoBaoUtil;
+
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
+
+/**
+ * 瀹㈡埛绔綉椤垫帴鍙d笌寰俊缃戦〉鎺ュ彛
+ *
+ * @author Administrator
+ *
+ */
+
+@Controller
+@RequestMapping("/client")
+public class ClientJspController {
+
+ @Resource
+ private GoodsSecondClassService goodsSecondClassService;
+
+ @Resource
+ private ConfigService configService;
+
+ @Resource
+ private HongBaoManageService hongBaoManageService;
+
+ @Resource
+ private ShamUserService shamUserService;
+
+ @Resource
+ private TaoBaoCouponService taoBaoCouponService;
+
+ @Resource
+ private ThreeSaleSerivce threeSaleSerivce;
+
+ @Resource
+ private UserInfoService userInfoService;
+
+ @Resource
+ private BusinessSystemService businessSystemService;
+
+ @Resource
+ private SystemConfigService systemConfigService;
+
+ @Resource
+ private SystemClientParamsService systemClientParamsService;
+
+ @Resource
+ private ShareGoodsService shareGoodsService;
+
+ @Resource
+ private TaoBaoGoodsBriefService taoBaoGoodsBriefService;
+
+ @Resource
+ private UserInviteRecordService userInviteRecordService;
+
+ @Resource
+ private RedisManager redisManager;
+
+ @Resource
+ private TaoBaoUnionConfigService taoBaoUnionConfigService;
+
+ @Resource
+ private CustomerNameService customerNameService;
+
+ @Resource
+ private CustomerContentService customerContentService;
+
+ private static final String DOWNURL = "http://sj.qq.com/myapp/detail.htm?apkName="
+ + Constant.systemCommonConfig.getAndroidPackageName();
+
+ private static final String DOWNURL2 = "http://121.42.200.138/apk/fanliquan20180124.apk";
+
+ @RequestMapping(value = "/new/{uid}")
+ public String threeShareRepNew(@PathVariable String uid, String code, String state, String packages,
+ String platform, String ios, HttpSession httpSession, HttpServletRequest request) {
+
+ BusinessSystem system = businessSystemService.getBusinessSystem(platform, packages, SystemEnum.blks);
+ String wxState = (String) httpSession.getAttribute("wxState");
+ // 閫氳繃閰嶇疆鍙傛暟鑾峰彇
+ String down = DOWNURL2;
+
+ SystemClientParams params = systemClientParamsService.getSystemClientParamsBySystemAndKey(system,
+ "download_app_url");
+ if (params != null)
+ down = params.getValue();
+
+ if (state!=null&&!state.equals(wxState)) {// 涓嶆槸寰俊杩斿洖鐨勶紒
+ // request.setAttribute("error", "1");
+ return "redirect:" + down;
+ }
+
+ // 淇濆瓨閭�璇疯褰�
+ userInviteRecordService.saveInviteRecord(code, uid);
+
+ return "redirect:" + down;
+ }
+
+ // 鏂扮増鍒嗕韩
+ @RequestMapping("threeShareNew")
+ public String threeShareNew(HttpServletRequest request, HttpSession session, HttpServletResponse response,
+ long uid) {
+ UserInfo userInfo = userInfoService.getUserById(uid);
+ if (userInfo == null) {
+ return "share/error";
+ }
+
+ try {
+ String header = request.getHeader("User-Agent");// MicroMessenger锛氬井淇℃祻瑙堝櫒
+ String ios = "ios=1";
+ if (header.contains("iPhone")) {
+ ios = "ios=2";
+ }
+ String redirect_uri = "http://" + Constant.wxGZConfig.getLoginHost() + "/"
+ + Constant.systemCommonConfig.getProjectName() + "/client/new/" + uid + "?packages="
+ + Constant.systemCommonConfig.getAndroidPackageName() + "&platform=ANDROID&" + ios;
+ redirect_uri = URLEncoder.encode(redirect_uri, "utf-8");
+
+ long currentTimeMillis = java.lang.System.currentTimeMillis();
+ String md5 = StringUtil.Md5(currentTimeMillis + "");
+ session.setAttribute("wxState", md5);
+ String baseUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + MyWXLoginUtil.WEXIN_APPID
+ + "&redirect_uri=" + redirect_uri + "&response_type=code&scope=snsapi_userinfo&state=" + md5
+ + "#wechat_redirect";
+ response.sendRedirect(baseUrl);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ return "share2/yaoqing";
+ }
+
+ @RequestMapping("getShareGoodsInfo")
+ public void getShareGoodsInfo(HttpServletRequest request, long uid, long id, String sign, PrintWriter out) {
+
+ if (!StringUtil.Md5("" + uid + id + Constant.WEBPAGE_SIGN_KEY).equalsIgnoreCase(sign)) {
+ out.print(JsonUtil.loadFalseResult(-1, "绛惧悕閿欒"));
+ return;
+ }
+
+ // 娣诲姞鍒嗕韩
+ try {
+ long startTime = java.lang.System.currentTimeMillis();
+ UserShareGoodsHistory userShareGoodsHistory = shareGoodsService.addShareGoodsHistory(uid, id);
+ LogHelper.test("鐢熸垚鍒嗕韩鍥剧殑鎬昏�楁椂涓�:" + (java.lang.System.currentTimeMillis() - startTime));
+
+ JSONObject data = new JSONObject();
+ JSONObject shareData = new JSONObject();
+ JSONArray imgArr = new JSONArray();
+ String pictures = userShareGoodsHistory.getPictures();
+ JSONArray pictureArray = JSONArray.fromObject(pictures);
+ for (int i = 0; i < pictureArray.size(); i++) {
+ imgArr.add(pictureArray.optString(i));
+ }
+
+ TaoBaoGoodsBrief goods = redisManager.getTaoBaoGoodsBrief(userShareGoodsHistory.getGoodsId());
+
+ shareData.put("type", "2");
+ shareData.put("title", goods.getTitle());
+ shareData.put("description", goods.getTitle());
+ shareData.put("imgs", imgArr);
+ try {
+ data.put("wx", StringUtil.getBase64String(shareData.toString()));
+ data.put("wxcircle", StringUtil.getBase64String(shareData.toString()));
+ data.put("tkcode", StringUtil.getBase64String(userShareGoodsHistory.getTkCode()));
+ data.put("qq", StringUtil.getBase64String(shareData.toString()));
+ data.put("qqzone", StringUtil.getBase64String(shareData.toString()));
+ data.put("sina", StringUtil.getBase64String(shareData.toString()));
+ data.put("tishi", StringUtil.getBase64String("鍒嗕韩涓�..."));
+ data.put("shareGoods", JsonUtil.getSimpleGson().toJson(userShareGoodsHistory));
+ JSONObject goodsJSON = new JSONObject();
+ goodsJSON.put("title", goods.getTitle());
+ goodsJSON.put("zkPrice", goods.getZkPrice());
+ // 鏈夊埜
+ if (!StringUtil.isNullOrEmpty(goods.getCouponInfo())) {
+
+ goodsJSON.put("finalPrice", TaoBaoUtil.getCouponPrice(goods));
+ }
+ data.put("goods", goodsJSON);
+
+ String link = String.format("http://%s/%s/client/html/sharegoods/share_detail.html?uid=%s&goodsId=%s",
+ Constant.systemCommonConfig.getProjectHost(), Constant.systemCommonConfig.getProjectName(),
+ AESUtil.encrypt(uid + ""), id + "");
+ try {
+ String shortLink = HttpUtil.getShortLink(link);
+ data.put("link", shortLink);
+ } catch (Exception e) {
+ data.put("link", link);
+ }
+ out.print(JsonUtil.loadTrueResult(data));
+ } catch (Exception e) {
+ JSONObject rdata = new JSONObject();
+ rdata.put("uid", uid);
+ rdata.put("id", id);
+ LogHelper.errorDetailInfo(e, rdata.toString(), request.getRequestURI());
+ out.print(JsonUtil.loadFalseResult(1001, "鏈煡閿欒"));
+ }
+
+ } catch (ShareGoodsException e1) {
+ JSONObject data = new JSONObject();
+ data.put("uid", uid);
+ data.put("id", id);
+ LogHelper.errorDetailInfo(e1, data.toString(), request.getRequestURI());
+ out.print(JsonUtil.loadFalseResult(e1.getCode(), e1.getMsg()));
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+
+ }
+
+ // 鑾峰彇甯姪涓績鍒楄〃
+
+ @RequestMapping("getHelpList")
+ public void getHelpList(PrintWriter out) {
+ List<CustomerName> totalList = new ArrayList<>();
+ int page = 0;
+ List<CustomerName> customerNameList = customerNameService.customerNameList(page, "", 1);
+ if (customerNameList != null && customerNameList.size() > 0)
+ totalList.addAll(customerNameList);
+
+ while (customerNameList != null && customerNameList.size() == Constant.PAGE_SIZE) {
+ page++;
+ customerNameList = customerNameService.customerNameList(page, "", 1);
+ if (customerNameList != null && customerNameList.size() > 0)
+ totalList.addAll(customerNameList);
+ }
+
+ // 鑾峰彇姣忎釜涓嬮潰鐨勮鎯�
+ for (CustomerName cn : totalList) {
+ List<CustomerContent> contentList = customerContentService.getSecondProblemList(0, "", cn.getId());
+ cn.setCustomerContentList(contentList);
+ }
+ out.print(JsonUtil.loadTrueResult(JsonUtil.getSimpleGson().toJson(totalList)));
+ }
+
+ @RequestMapping("getHelpDetail")
+ public void getHelpDetail(long id, PrintWriter out) {
+ List<CustomerName> totalList = new ArrayList<>();
+ CustomerContent customerContent = customerContentService.getCustomerContent(id);
+ out.print(JsonUtil.loadTrueResult(customerContent.getContent().replace("\n", "<br>")));
+ }
+
+ /**
+ * 鑾峰彇閭�璇锋湁濂栫殑瑙勫垯
+ *
+ * @param callback
+ * @param out
+ */
+ @RequestMapping("getinviteactivityrules")
+ public void getInviteActivityRules(String callback, PrintWriter out) {
+ String key = "activityRules"; // key鍊�
+ com.yeshi.fanli.entity.system.BusinessSystem system = new BusinessSystem();
+ system.setCreatetime(java.lang.System.currentTimeMillis());
+ system.setPlatform(1);
+ system.setId(4L);
+ SystemClientParams values = systemClientParamsService.getSystemClientParamsBySystemAndKey(system, key);
+ // 杞崲鎹㈣绗� 缁欏墠绔�
+ String valueN = values.getValue();
+ String valueBr = valueN.replace("\n", "<br><br>");
+ if (!StringUtil.isNullOrEmpty(callback)) {
+ out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(valueBr)));
+ } else {
+ out.print(JsonUtil.loadTrueResult(valueBr));
+ }
+ }
+
+}
--
Gitblit v1.8.0