From 4114e871bcb3dce771b6aed64a1027d0bbb95ca6 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 16 五月 2019 15:28:37 +0800 Subject: [PATCH] 增加动态用户 --- fanli/src/main/java/com/yeshi/fanli/controller/client/DynamicRecommendController.java | 422 ++------------------------------------------------- 1 files changed, 23 insertions(+), 399 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/DynamicRecommendController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/DynamicRecommendController.java index e529895..7d18465 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/DynamicRecommendController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/DynamicRecommendController.java @@ -1,12 +1,9 @@ package com.yeshi.fanli.controller.client; -import java.io.IOException; import java.io.PrintWriter; -import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import java.util.Map; -import java.util.UUID; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -15,37 +12,22 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.multipart.commons.CommonsMultipartFile; import org.yeshi.utils.JsonUtil; import org.yeshi.utils.taobao.TbImgUtil; -import org.yeshi.utils.tencentcloud.COSManager; -import com.taobao.api.ApiException; import com.yeshi.fanli.entity.accept.AcceptData; -import com.yeshi.fanli.entity.bus.recommend.DynamicRecommend; -import com.yeshi.fanli.entity.bus.recommend.RecommendDetails; -import com.yeshi.fanli.entity.bus.recommend.RecommendReply; -import com.yeshi.fanli.entity.bus.user.UserInfo; -import com.yeshi.fanli.entity.taobao.RelateGoods; import com.yeshi.fanli.entity.taobao.SearchFilter; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult; -import com.yeshi.fanli.service.MaskKeyService; +import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetail; import com.yeshi.fanli.service.inter.config.ConfigService; -import com.yeshi.fanli.service.inter.goods.RecommendDetailsService; -import com.yeshi.fanli.service.inter.goods.RecommendReplyService; import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService; import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService; -import com.yeshi.fanli.service.inter.user.DynamicRecommendService; +import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService; import com.yeshi.fanli.service.inter.user.UserInfoService; -import com.yeshi.fanli.util.Constant; -import com.yeshi.fanli.util.GsonUtil; -import com.yeshi.fanli.util.MoneyBigDecimalUtil; 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 net.sf.json.JSONObject; @@ -57,25 +39,16 @@ private HongBaoManageService hongBaoManageService; @Resource - private DynamicRecommendService dynamicRecommendService; - - @Resource - private RecommendDetailsService recommendDetailsService; - - @Resource - private RecommendReplyService recommendReplyService; - - @Resource private UserInfoService userInfoService; - - @Resource - private MaskKeyService maskKeyService; @Resource private ConfigService configService; @Resource private TaoBaoUnionConfigService taoBaoUnionConfigService; + + @Resource + private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService; /** * 鑾峰彇鍟嗗搧淇℃伅 @@ -91,6 +64,7 @@ TaoBaoGoodsBrief tb = null; String URL_REGEX = "(((http|https)://)|(www\\.))[a-zA-Z0-9\\._-]+\\.[a-zA-Z]{2,6}(:[0-9]{1,4})?(/[a-zA-Z0-9\\&%_\\./-~-]*)?"; + Pattern p = Pattern.compile(URL_REGEX); Matcher matcher = p.matcher(url); if (!matcher.find()) {// 涓嶅寘鍚摼鎺� @@ -178,6 +152,11 @@ if (!matcher.find()) {// 涓嶅寘鍚摼鎺� // 鍟嗗搧璇︽儏 // 鍙戠幇 + // 娌℃湁閾炬帴锛屾爣棰樿繃闀夸篃涓嶅鐞� + if (text.length() > 50) { + out.print(JsonUtil.loadFalseResult("鍊艰繃闀�")); + return; + } SearchFilter sf = new SearchFilter(); sf.setKey(text); @@ -196,6 +175,18 @@ return; } } + + // 鏌ヨ澶ф窐瀹㈡爣棰� + List<DaTaoKeDetail> list = daTaoKeGoodsDetailService.listByDtitle(text); + if (list != null && list.size() > 0) { + root.put("type", 2); + JSONObject data = new JSONObject(); + data.put("title", list.get(0).getdTitle()); + root.put("data", data); + out.print(JsonUtil.loadTrueResult(root)); + return; + } + out.print(JsonUtil.loadFalseResult("鏆備笉鏀寔璇ョ被鍨嬶紒")); return; } @@ -256,373 +247,6 @@ root.put("data", data); out.print(JsonUtil.loadTrueResult(root)); - } - - /** - * 鍙戝竷鎴戠殑鎺ㄨ崘 - * - * @param acceptData - * @param dynamicRecommend - * 鎺ㄨ崘淇℃伅 - * @param files - * 涓婁紶鐨勫浘鐗� - * @param out - */ - @RequestMapping(value = "makePublic", method = RequestMethod.POST) - public void makePublic(AcceptData acceptData, DynamicRecommend dynamicRecommend, String order, - @RequestParam(value = "files", required = false) CommonsMultipartFile[] files, PrintWriter out) { - if (dynamicRecommend == null) { - out.print(JsonUtil.loadFalseResult("dynamicRecommend涓嶈兘涓虹┖")); - return; - } - if (dynamicRecommend.getUserInfo() == null) { - out.print(JsonUtil.loadFalseResult("uid涓嶈兘涓虹┖")); - return; - } - if (dynamicRecommend.getReason() == null || "".equals(dynamicRecommend.getReason().trim())) { - out.print(JsonUtil.loadFalseResult("鎺ㄨ崘鐞嗙敱涓嶈兘涓虹┖")); - return; - } - if (dynamicRecommend.getUrl() == null || "".equals(dynamicRecommend.getUrl().trim())) { - out.print(JsonUtil.loadFalseResult("url涓嶈兘涓虹┖")); - return; - } - if (dynamicRecommend.getAuctionId() == null) { - out.print(JsonUtil.loadFalseResult("鍟嗗搧ID涓嶈兘涓虹┖")); - return; - } - if ((dynamicRecommend.getuPicUrl() == null || "".equals(dynamicRecommend.getuPicUrl().trim())) - && files == null) { - out.print(JsonUtil.loadFalseResult("璇烽�夋嫨涓�寮犲浘鐗�")); - return; - } - String URL_REGEX = "(((http|https)://)|(www\\.))[a-zA-Z0-9\\._-]+\\.[a-zA-Z]{2,6}(:[0-9]{1,4})?(/[a-zA-Z0-9\\&%_\\./-~-]*)?"; - - Pattern p = Pattern.compile(URL_REGEX); - Matcher matcher = p.matcher(dynamicRecommend.getUrl()); - if (!matcher.find()) { - out.print(JsonUtil.loadFalseResult("鏆備笉鏀寔璇ョ被鍨嬶紒")); - return; - } - String url = matcher.group(); - dynamicRecommend.setUrl(url); - if (files != null) { - COSManager cosManager = COSManager.getInstance(); - String paths = ""; - for (CommonsMultipartFile file : files) { - try { - String filename = file.getOriginalFilename(); - int index = filename.lastIndexOf("."); - String type = filename.substring(index); - String filePath = cosManager - .uploadFile(file.getInputStream(), UUID.randomUUID().toString().replace("-", "") + type) - .getUrl(); - paths += "," + filePath; - } catch (IOException e) { - e.printStackTrace(); - out.println(JsonUtil.loadFalseResult("涓婁紶鍥剧墖澶辫触")); - return; - } - } - paths = paths.replaceFirst(",", ""); - String getuPicUrl = dynamicRecommend.getuPicUrl(); - if (getuPicUrl != null) { - getuPicUrl = getuPicUrl.replaceAll(",", ""); - } - if (getuPicUrl == null || "".equals(getuPicUrl.trim())) { - dynamicRecommend.setuPicUrl(paths); - } else { - - // int i = getuPicUrl.lastIndexOf(","); - String[] split = paths.split(","); - int orderBy = 1; - if (!StringUtil.isNullOrEmpty(order)) { - orderBy = Integer.parseInt(order); - } - List<String> list = new ArrayList<String>(); - for (String pic : split) { - if (!"".equals(pic.trim())) - list.add(pic); - } - list.add(orderBy - 1, getuPicUrl); - String pics = ""; - int ii = 0; - for (String pic : list) { - if (ii == 0) { - pics = pic; - } else { - pics += "," + pic; - } - ii++; - } - dynamicRecommend.setuPicUrl(pics); - // if(i==-1 || (i>0 && i==getuPicUrl.length()-1)){ - // }else{ - // dynamicRecommend.setuPicUrl(getuPicUrl+","+paths); - // } - - } - } else { - String uPicUrl = dynamicRecommend.getuPicUrl(); - int lastIndex = uPicUrl.lastIndexOf(","); - if (lastIndex > 0) { - uPicUrl = uPicUrl.substring(0, lastIndex); - dynamicRecommend.setuPicUrl(uPicUrl); - } - } - TaoBaoGoodsBrief taoBaoGoodsBrief = null; - taoBaoGoodsBrief = TaoBaoUtil.isAlimama(dynamicRecommend.getAuctionId()); - if (taoBaoGoodsBrief == null) { - taoBaoGoodsBrief = TaoBaoUtil.parsePhoneTmAndTb(dynamicRecommend.getAuctionId()); - dynamicRecommend.setHongbao(new BigDecimal(0)); - } else { - SearchFilter filter = new SearchFilter(); - filter.setKey(String.format(TaoBaoUtil.TB_URL, dynamicRecommend.getAuctionId())); - TaoBaoSearchResult search = TaoBaoUtil.search(filter); - List<TaoBaoGoodsBrief> taoBaoGoodsBriefs = search.getTaoBaoGoodsBriefs(); - if (taoBaoGoodsBriefs.size() == 0) { - out.println(JsonUtil.loadFalseResult("鍙戝竷澶辫触,鍟嗗搧宸蹭笅鏋�")); - return; - } - taoBaoGoodsBrief = taoBaoGoodsBriefs.get(0); - String proportion = hongBaoManageService.get(Constant.HONGBAO_GOODS_PROPORTION); - BigDecimal tkRate = taoBaoGoodsBrief.getTkRate(); - BigDecimal zkPrice = taoBaoGoodsBrief.getZkPrice(); - BigDecimal tkp = new BigDecimal(proportion).divide(BigDecimal.valueOf(100)) - .multiply(tkRate.divide(BigDecimal.valueOf(100))); - BigDecimal hongbao = MoneyBigDecimalUtil.mul(zkPrice, tkp); - dynamicRecommend.setHongbao(hongbao); - } - String title = taoBaoGoodsBrief.getTitle(); - int type = taoBaoGoodsBrief.getUserType(); - dynamicRecommend.setGname(title); - dynamicRecommend.setZkPrice(taoBaoGoodsBrief.getZkPrice()); - dynamicRecommend.setgPicUrl(taoBaoGoodsBrief.getPictUrl()); - dynamicRecommend.setType(0); - dynamicRecommend.setCreatetime(System.currentTimeMillis()); - if (type == 0) { // tb - dynamicRecommend.setGoodsType(1); // tb - } else { - dynamicRecommend.setGoodsType(2); // 澶╃尗 - } - String reason = dynamicRecommend.getReason(); - reason = maskKeyService.maskAction(reason); - dynamicRecommend.setReason(reason); - long makePublic = dynamicRecommendService.makePublic(dynamicRecommend); - if (makePublic > 0) { - JSONObject data = new JSONObject(); - data.put("auctionId", makePublic); - out.println(JsonUtil.loadTrueResult(data)); - } else { - out.println(JsonUtil.loadFalseResult("鍙戝竷澶辫触")); - } - } - - /** - * 鑾峰彇鎺ㄨ崘鍟嗗搧鍒楄〃 - * - * @param page - * @param out - */ - @RequestMapping(value = "getDynamicRecommendList", method = RequestMethod.POST) - public void getDynamicRecommendList(AcceptData acceptData, int page, long uid, PrintWriter out) { - if (page <= 0) { - page = 1; - } - List<DynamicRecommend> list = dynamicRecommendService.getDynamicRecommendList(uid, page); - int count = dynamicRecommendService.getCount(); - int fcount = 0; - for (DynamicRecommend dynamicRecommend : list) { - fcount = recommendReplyService.getCount(dynamicRecommend.getId()); - dynamicRecommend.setReplyCount(fcount); - } - JSONObject data = new JSONObject(); - data.put("list", GsonUtil.toJsonByUserAp(list)); - data.put("count", count); - out.print(JsonUtil.loadTrueResult(data)); - } - - /** - * 鑾峰彇鎴戠殑鎺ㄨ崘 - * - * @param page - * @param uid - * @param out - */ - @RequestMapping(value = "getMyDynamicRecommendList", method = RequestMethod.POST) - public void getMyDynamicRecommendList(AcceptData acceptData, int page, long uid, PrintWriter out) { - if (page <= 0) { - page = 1; - } - List<DynamicRecommend> list = dynamicRecommendService.getMyDynamicRecommendList(uid, page); - int count = dynamicRecommendService.getCount(uid); - JSONObject data = new JSONObject(); - data.put("list", GsonUtil.toJsonByUserAp(list)); - data.put("count", count); - out.print(JsonUtil.loadTrueResult(data)); - } - - /** - * 鑾峰彇鎺ㄨ崘鍟嗗搧璇︽儏 - * - * @param drid - * @param uid - * @param out - */ - @RequestMapping(value = "recommendDetails", method = RequestMethod.POST) - public void recommendDetails(AcceptData acceptData, long drid, long uid, PrintWriter out) { - DynamicRecommend recommend = dynamicRecommendService.getDynamicRecommend(drid, uid); - if (recommend == null) { - out.print(JsonUtil.loadFalseResult("涓嶅瓨鍦�")); - return; - } - RecommendDetails recommendDetails = recommendDetailsService.getRecommendDetails(drid, uid); - if (recommendDetails == null) { - out.print(JsonUtil.loadFalseResult("涓嶅瓨鍦�")); - return; - } - // int count = recommendReplyService.getCount(drid); - JSONObject data = new JSONObject(); - // data.put("rcount", count); - recommendDetails.setDynamicRecommend(recommend); - data.put("recommendDetails", GsonUtil.toJsonByUserAp(recommendDetails)); - List<RelateGoods> list = new ArrayList<RelateGoods>(); - try { - list = TaoKeApiUtil.getRelateGoodsList(Long.parseLong(recommend.getAuctionId())); - List<String> tbImg = TaoBaoUtil.getTbImg(recommend.getAuctionId()); - data.put("tbImgs", tbImg); - } catch (NumberFormatException e) { - e.printStackTrace(); - } catch (ApiException e) { - e.printStackTrace(); - } - data.put("relateGoodsList", list); - String url = configService.get("recommend_details"); - url = url + "?drid=" + drid; - data.put("shareUrl", url); - String uPicUrls = recommend.getuPicUrl(); - String sharePic = uPicUrls.split(",")[0]; - data.put("sharePic", sharePic); - out.print(JsonUtil.loadTrueResult(data)); - } - - /** - * 鑾峰彇鎺ㄨ崘鍟嗗搧鍏ㄩ儴璇勪环 - * - * @param drid - * 鎺ㄨ崘id - * @param uid - * 鐢ㄦ埛id - * @param page - * 椤垫暟 - * @param out - */ - @RequestMapping(value = "recommendReplys", method = RequestMethod.POST) - public void recommendReplys(AcceptData acceptData, long drid, int page, PrintWriter out) { - int uid = 0; - List<RecommendReply> recommendReplys = recommendReplyService.getRecommendReplys(drid, uid, page); - int count = recommendReplyService.getCount(drid); - JSONObject data = new JSONObject(); - data.put("count", count); - data.put("recommendReplys", GsonUtil.toJsonByUserAp(recommendReplys)); - out.print(JsonUtil.loadTrueResult(data)); - } - - /** - * 璇勪环 - * - * @param drid - * 鎺ㄨ崘id - * @param uid - * 鐢ㄦ埛id - * @param content - * 璇勪环鍐呭 - * @param out - */ - @RequestMapping(value = "replys", method = RequestMethod.POST) - public void replys(AcceptData acceptData, long drid, long uid, String content, PrintWriter out) { - - if (uid == 0) { - out.print(JsonUtil.loadFalseResult("涓嶅瓨鍦ㄨ鐢ㄦ埛")); - return; - } - List<UserInfo> userList = userInfoService.getUserListByUid(uid); - - if (userList.size() == 0) { - out.print(JsonUtil.loadFalseResult("涓嶅瓨鍦ㄨ鐢ㄦ埛")); - return; - } - UserInfo userInfo = userList.get(0); - content = maskKeyService.maskAction(content); - int state = recommendReplyService.replys(drid, userInfo, content); - if (state == 0) { - JSONObject data = new JSONObject(); - data.put("user", JsonUtil.getApiCommonGson().toJson(userInfo)); - out.print(JsonUtil.loadTrueResult(data)); - } else if (state == 1) { - out.print(JsonUtil.loadFalseResult("涓嶅瓨鍦ㄨ鐢ㄦ埛")); - return; - } else if (state == 2) { - out.print(JsonUtil.loadFalseResult("涓嶅瓨鍦ㄨ鎺ㄨ崘")); - return; - } - } - - /** - * 瀵瑰晢鍝佽繘琛岀殑鎶曠エ锛屽�间笌涓嶅�� - * - * @param drid - * 鎺ㄨ崘id - * @param uid - * 鐢ㄦ埛id - * @param type - * 0锛氬�� 1.涓嶅�� - * @param out - * - */ - @RequestMapping(value = "voteGoods", method = RequestMethod.POST) - public void voteGoods(AcceptData acceptData, long drid, long uid, int type, PrintWriter out) { - int state = recommendDetailsService.vote(drid, uid, type); - if (state == 0) { - out.print(JsonUtil.loadTrueResult("")); - } else if (state == 1) { - out.print(JsonUtil.loadFalseResult("涓嶅瓨鍦ㄨ鎺ㄨ崘")); - return; - } else if (state == 2) { - out.print(JsonUtil.loadFalseResult("涓嶅瓨鍦ㄨ鐢ㄦ埛")); - return; - } - } - - @RequestMapping(value = "deleteDynamicRecommend", method = RequestMethod.POST) - public void deleteDynamicRecommend(AcceptData acceptData, String ids, PrintWriter out) { - if (ids == null) { - out.print(JsonUtil.loadFalseResult("id涓嶈兘涓虹┖")); - return; - } - String[] idArr = ids.split(","); - for (String id : idArr) { - dynamicRecommendService.delete(Long.parseLong(id)); - } - out.print(JsonUtil.loadTrueResult("")); - } - - @RequestMapping(value = "islike", method = RequestMethod.POST) - public void islike(AcceptData acceptData, long drid, long uid, int type, PrintWriter out) { - if (type == 0) { - dynamicRecommendService.addlike(drid, uid); - } else { - dynamicRecommendService.removelike(drid, uid); - } - out.print(JsonUtil.loadTrueResult("")); - } - - @RequestMapping(value = "getMyLikes", method = RequestMethod.POST) - public void getMyLikes(AcceptData acceptData, long uid, int page, PrintWriter out) { - List<DynamicRecommend> list = dynamicRecommendService.getMyLikeRecommends(uid, page); - JSONObject data = new JSONObject(); - data.put("list", GsonUtil.toJsonByUserAp(list)); - out.print(JsonUtil.loadTrueResult(data)); } } -- Gitblit v1.8.0