From 62a447d89331aee1feae7724c7616aa1bb2cfe79 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 16 十月 2024 14:28:37 +0800 Subject: [PATCH] 将CMQ替换为rabbitmq --- fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserVipController.java | 387 ++++++++++++++++++++++++++++++------------------------- 1 files changed, 210 insertions(+), 177 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserVipController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserVipController.java index e176147..c80990c 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserVipController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserVipController.java @@ -1,177 +1,210 @@ -package com.yeshi.fanli.controller.client.v1; - -import java.io.IOException; -import java.io.PrintWriter; -import java.lang.reflect.Type; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.multipart.MultipartHttpServletRequest; -import org.yeshi.utils.JsonUtil; -import org.yeshi.utils.entity.FileUploadResult; -import org.yeshi.utils.tencentcloud.COSManager; - -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.google.gson.JsonElement; -import com.google.gson.JsonPrimitive; -import com.google.gson.JsonSerializationContext; -import com.google.gson.JsonSerializer; -import com.yeshi.fanli.entity.accept.AcceptData; -import com.yeshi.fanli.entity.bus.user.vip.GiveVIPApplyInfo; -import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum; -import com.yeshi.fanli.exception.ParamsException; -import com.yeshi.fanli.exception.user.vip.GiveVIPApplyInfoException; -import com.yeshi.fanli.service.inter.user.invite.ThreeSaleDetailService; -import com.yeshi.fanli.service.inter.user.vip.GiveVIPApplyInfoService; -import com.yeshi.fanli.service.inter.user.vip.UserVipConfigService; -import com.yeshi.fanli.util.Constant; -import com.yeshi.fanli.util.FilePathEnum; -import com.yeshi.fanli.util.StringUtil; -import com.yeshi.fanli.util.TimeUtil; -import com.yeshi.fanli.util.factory.user.vip.GiveVIPApplyInfoRecordVOFactory; -import com.yeshi.fanli.vo.user.vip.GiveVIPApplyInfoRecordVO; - -import net.sf.json.JSONObject; - -/** - * 浼氬憳 - * @author Administrator - * - */ -@Controller -@RequestMapping("api/v1/user/vip") -public class UserVipController { - - // 浼氬憳鐢宠 - @Resource - private GiveVIPApplyInfoService giveVIPApplyInfoService; - - @Resource - private UserVipConfigService userVipConfigService; - - @Resource - private ThreeSaleDetailService threeSaleDetailService; - - @RequestMapping(value = "applyVip") - public void applyVip(AcceptData acceptData, GiveVIPApplyInfo info, String callback, PrintWriter out) { - // TODO 鏌ヨ寮�閫氫汉鏄惁涓轰粬鐨勪笅绾� - - try { - info = giveVIPApplyInfoService.addGiveVIPApplyInfo(info); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鐢宠鎴愬姛")); - } catch (ParamsException e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇峰皢淇℃伅濉啓瀹屾暣")); - } catch (GiveVIPApplyInfoException e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); - } - } - - // 鎻愪氦鐢宠淇℃伅 - @RequestMapping(value = "uploadApplyInfo") - public void uploadApplyInfo(AcceptData acceptData, GiveVIPApplyInfo info, String callback, - HttpServletRequest request, PrintWriter out) { - - if (StringUtil.isNullOrEmpty(info.getId())) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢宠ID涓虹┖")); - return; - } - - GiveVIPApplyInfo oldInfo = giveVIPApplyInfoService.selectByPrimaryKey(info.getId()); - if (oldInfo == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢宠璁板綍涓嶅瓨鍦�")); - return; - } - - if (oldInfo.getState() != GiveVIPApplyInfo.STATE_NO_INFO) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璧勬枡浠ュ強鎻愪氦")); - return; - } - - List<MultipartFile> files = new ArrayList<MultipartFile>(); - // 鏈夋枃浠� - if (request instanceof MultipartHttpServletRequest) { - MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; - Map<String, MultipartFile> fileMap = multipartRequest.getFileMap(); - for (String key : fileMap.keySet()) { - MultipartFile file = fileMap.get(key); - files.add(file); - } - } - - // 淇濆瓨鎴愬姛鍚庡啀涓婁紶鏂囦欢 - if (files.size() > 0) { - List<String> imgList = new ArrayList<>(); - for (MultipartFile file : files) { - String fileName = info.getSourceUid() + "_" + System.currentTimeMillis() + "_" - + file.getOriginalFilename(); - fileName = FilePathEnum.vipApply.getPath() + fileName; - try { - FileUploadResult result = COSManager.getInstance().uploadFile(file.getInputStream(), fileName); - imgList.add(result.getUrl()); - } catch (IOException e) { - e.printStackTrace(); - } - } - // 璁剧疆鍥剧墖 - if (imgList.size() > 0) - info.setImgList(imgList); - info.setState(GiveVIPApplyInfo.STATE_NOT_VERIFY); - giveVIPApplyInfoService.updateGiveVIPApplyInfo(info); - } - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("璧勬枡鎻愪氦鎴愬姛")); - } - - @RequestMapping(value = "getApplyRecordList") - public void getApplyRecordList(AcceptData acceptData, Long uid, int page, String callback, PrintWriter out) { - if (uid == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); - return; - } - - if (Constant.IS_TEST) { - page = 1; - } - List<GiveVIPApplyInfo> list = giveVIPApplyInfoService.listByTargetUid(uid, page, Constant.PAGE_SIZE); - long count = giveVIPApplyInfoService.countByTargetUid(uid); - String uploadInfoLink = userVipConfigService.getValueByKey("apply_vip_upload_info_link"); - String vipLink = userVipConfigService.getValueByKey("vip_link"); - - List<GiveVIPApplyInfoRecordVO> recordList = new ArrayList<>(); - for (GiveVIPApplyInfo info : list) { - recordList.add(GiveVIPApplyInfoRecordVOFactory.create(info, uploadInfoLink, vipLink)); - } - - GsonBuilder gb = new GsonBuilder().registerTypeAdapter(java.util.Date.class, new JsonSerializer<Date>() { - - public JsonElement serialize(Date arg0, Type arg1, JsonSerializationContext arg2) { - return new JsonPrimitive(TimeUtil.getGernalTime(arg0.getTime(), "yyyy.MM.dd HH:mm")); - } - }).registerTypeAdapter(UserLevelEnum.class, new JsonSerializer<UserLevelEnum>() { - - public JsonElement serialize(UserLevelEnum arg0, Type arg1, JsonSerializationContext arg2) { - return new JsonPrimitive(arg0.getName()); - } - }); - - Gson gson = gb.create(); - - if (Constant.IS_TEST) { - count = 100; - } - - JSONObject data = new JSONObject(); - data.put("list", gson.toJson(recordList)); - data.put("count", count); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - } - -} +package com.yeshi.fanli.controller.client.v1; + +import java.io.IOException; +import java.io.PrintWriter; +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.yeshi.utils.JsonUtil; +import org.yeshi.utils.entity.FileUploadResult; +import org.yeshi.utils.tencentcloud.COSManager; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonElement; +import com.google.gson.JsonPrimitive; +import com.google.gson.JsonSerializationContext; +import com.google.gson.JsonSerializer; +import com.yeshi.fanli.entity.accept.AcceptData; +import com.yeshi.fanli.entity.bus.user.ThreeSaleDetail; +import com.yeshi.fanli.entity.bus.user.vip.GiveVIPApplyInfo; +import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum; +import com.yeshi.fanli.exception.ParamsException; +import com.yeshi.fanli.exception.user.vip.GiveVIPApplyInfoException; +import com.yeshi.fanli.service.inter.user.invite.ThreeSaleDetailService; +import com.yeshi.fanli.service.inter.user.vip.GiveVIPApplyInfoService; +import com.yeshi.fanli.service.inter.user.vip.UserVipConfigService; +import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.FilePathEnum; +import com.yeshi.fanli.util.StringUtil; +import org.yeshi.utils.TimeUtil; +import com.yeshi.fanli.util.factory.user.vip.GiveVIPApplyInfoRecordVOFactory; +import com.yeshi.fanli.vo.user.vip.GiveVIPApplyInfoRecordVO; + +import net.sf.json.JSONObject; + +/** + * 浼氬憳 + * @author Administrator + * + */ +@Controller +@RequestMapping("api/v1/user/vip") +public class UserVipController { + + // 浼氬憳鐢宠 + @Resource + private GiveVIPApplyInfoService giveVIPApplyInfoService; + + @Resource + private UserVipConfigService userVipConfigService; + + @Resource + private ThreeSaleDetailService threeSaleDetailService; + + @RequestMapping(value = "applyVip") + public void applyVip(AcceptData acceptData, GiveVIPApplyInfo info, String callback, PrintWriter out) { + // 鏌ヨ寮�閫氫汉鏄惁涓轰粬鐨勪笅绾� + ThreeSaleDetail detail = threeSaleDetailService.getByBossUidAndWorkerUid(info.getSourceUid(), + info.getTargetUid()); + if (detail == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ョ敤鎴蜂笉鏄偍鐨勭矇涓�")); + return; + } + + try { + info = giveVIPApplyInfoService.addGiveVIPApplyInfo(info); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鐢宠鎴愬姛")); + } catch (ParamsException e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇峰皢淇℃伅濉啓瀹屾暣")); + } catch (GiveVIPApplyInfoException e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); + } + } + + @RequestMapping(value = "getApplyInfo") + public void getApplyInfo(AcceptData acceptData, String id, Long uid, String callback, PrintWriter out) { + if (StringUtil.isNullOrEmpty(id)) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇蜂笂浼爄d")); + return; + } + + GiveVIPApplyInfo info = giveVIPApplyInfoService.selectByPrimaryKey(id); + if (info == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢宠淇℃伅涓嶅瓨鍦�")); + return; + } + + // 鏌ヨ寮�閫氫汉鏄惁涓轰粬鐨勪笅绾� + ThreeSaleDetail detail = threeSaleDetailService.getByBossUidAndWorkerUid(info.getSourceUid(), + info.getTargetUid()); + if (detail == null && info.getTargetUid().longValue() != uid) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ョ敤鎴蜂笉鏄偍鐨勭矇涓�")); + return; + } + + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(JsonUtil.getSimpleGson().toJson(info))); + + } + + // 鎻愪氦鐢宠淇℃伅 + @RequestMapping(value = "uploadApplyInfo") + public void uploadApplyInfo(AcceptData acceptData, GiveVIPApplyInfo info, String callback, + HttpServletRequest request, PrintWriter out) { + + if (StringUtil.isNullOrEmpty(info.getId())) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢宠ID涓虹┖")); + return; + } + + GiveVIPApplyInfo oldInfo = giveVIPApplyInfoService.selectByPrimaryKey(info.getId()); + if (oldInfo == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢宠璁板綍涓嶅瓨鍦�")); + return; + } + + if (oldInfo.getState() != GiveVIPApplyInfo.STATE_NO_INFO) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璧勬枡浠ュ強鎻愪氦")); + return; + } + + List<MultipartFile> files = new ArrayList<MultipartFile>(); + // 鏈夋枃浠� + if (request instanceof MultipartHttpServletRequest) { + MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; + Map<String, MultipartFile> fileMap = multipartRequest.getFileMap(); + for (String key : fileMap.keySet()) { + MultipartFile file = fileMap.get(key); + files.add(file); + } + } + + // 淇濆瓨鎴愬姛鍚庡啀涓婁紶鏂囦欢 + if (files.size() > 0) { + List<String> imgList = new ArrayList<>(); + for (MultipartFile file : files) { + String fileName = info.getSourceUid() + "_" + System.currentTimeMillis() + "_" + + file.getOriginalFilename(); + fileName = FilePathEnum.vipApply.getPath() + fileName; + try { + FileUploadResult result = COSManager.getInstance().uploadFile(file.getInputStream(), fileName); + imgList.add(result.getUrl()); + } catch (IOException e) { + e.printStackTrace(); + } + } + // 璁剧疆鍥剧墖 + if (imgList.size() > 0) + info.setImgList(imgList); + info.setState(GiveVIPApplyInfo.STATE_NOT_VERIFY); + + } + giveVIPApplyInfoService.updateGiveVIPApplyInfo(info); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("璧勬枡鎻愪氦鎴愬姛")); + } + + @RequestMapping(value = "getApplyRecordList") + public void getApplyRecordList(AcceptData acceptData, Long uid, int page, String callback, PrintWriter out) { + if (uid == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); + return; + } + + if (Constant.IS_TEST) { + page = 1; + } + List<GiveVIPApplyInfo> list = giveVIPApplyInfoService.listBySourceUid(uid, page, Constant.PAGE_SIZE); + long count = giveVIPApplyInfoService.countBySourceUid(uid); + String uploadInfoLink = userVipConfigService.getValueByKey("apply_vip_upload_info_link"); + String vipLink = userVipConfigService.getValueByKey("vip_link"); + + List<GiveVIPApplyInfoRecordVO> recordList = new ArrayList<>(); + for (GiveVIPApplyInfo info : list) { + recordList.add(GiveVIPApplyInfoRecordVOFactory.create(info, uploadInfoLink, vipLink)); + } + + GsonBuilder gb = new GsonBuilder().registerTypeAdapter(java.util.Date.class, new JsonSerializer<Date>() { + + public JsonElement serialize(Date arg0, Type arg1, JsonSerializationContext arg2) { + return new JsonPrimitive(TimeUtil.getGernalTime(arg0.getTime(), "yyyy.MM.dd HH:mm")); + } + }).registerTypeAdapter(UserLevelEnum.class, new JsonSerializer<UserLevelEnum>() { + + public JsonElement serialize(UserLevelEnum arg0, Type arg1, JsonSerializationContext arg2) { + return new JsonPrimitive(arg0.getName()); + } + }); + + Gson gson = gb.create(); + + // if (Constant.IS_TEST) { + // count = 100; + // } + + JSONObject data = new JSONObject(); + data.put("list", gson.toJson(recordList)); + data.put("count", count); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + } + +} -- Gitblit v1.8.0