From ad3ac53da1c3a11a96ae62d790aa61a81b9eab91 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 20 三月 2021 18:47:23 +0800 Subject: [PATCH] 完善APP首页顶部标签栏兼容,初步处理推送 --- src/main/java/com/yeshi/buwan/controller/api/VIPController.java | 89 ++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 84 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/controller/api/VIPController.java b/src/main/java/com/yeshi/buwan/controller/api/VIPController.java index 762c037..2ff98fc 100644 --- a/src/main/java/com/yeshi/buwan/controller/api/VIPController.java +++ b/src/main/java/com/yeshi/buwan/controller/api/VIPController.java @@ -1,6 +1,7 @@ package com.yeshi.buwan.controller.api; import com.google.gson.*; +import com.yeshi.buwan.domain.system.SystemConfig; import com.yeshi.buwan.domain.user.LoginUser; import com.yeshi.buwan.domain.vip.UserVIPInfo; import com.yeshi.buwan.domain.vip.VIPOrderRecord; @@ -8,6 +9,7 @@ import com.yeshi.buwan.domain.vip.VIPPriceType; import com.yeshi.buwan.exception.vip.VIPException; import com.yeshi.buwan.service.inter.LoginUserService; +import com.yeshi.buwan.service.inter.system.SystemConfigService; import com.yeshi.buwan.service.inter.vip.VIPPriceService; import com.yeshi.buwan.service.inter.vip.VIPService; import com.yeshi.buwan.util.*; @@ -21,10 +23,12 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; +import org.yeshi.utils.annotation.RequestSerializableByKey; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.lang.reflect.Type; +import java.util.Date; import java.util.List; import java.util.UUID; @@ -45,6 +49,9 @@ @Resource private VIPPriceService vipPriceService; + + @Resource + private SystemConfigService systemConfigService; @RequestMapping("getVIPPriceList") @@ -71,6 +78,11 @@ userInfoVO.setId(user.getId()); userInfoVO.setNickName(user.getName()); userInfoVO.setPortrait(user.getPortrait()); + if (StringUtil.isNullOrEmpty(userInfoVO.getPortrait())) { + String portrait = systemConfigService.getConfigValueByKeyCache("default_portrait"); + userInfoVO.setPortrait(portrait); + } + if (vipInfo != null && vipInfo.getExpireDate() != null) userInfoVO.setVipExpireTime(vipInfo.getExpireDate().getTime()); root.put("user", new Gson().toJson(userInfoVO)); @@ -78,6 +90,42 @@ List<VIPPrice> vipPriceList = vipPriceService.listValidPrice(); root.put("list", gson.toJson(vipPriceList)); + return JsonUtilV2.loadTrueJson(root.toString()); + } + + + @RequestMapping("getVIPOrderList") + @ResponseBody + public String getVIPOrderList(AcceptData acceptData, String loginUid, int page) { + Gson gson = new GsonBuilder().registerTypeAdapter(VIPPriceType.class, new JsonSerializer<VIPPriceType>() { + @Override + public JsonElement serialize(VIPPriceType value, Type theType, JsonSerializationContext context) { + if (value == null) { + return new JsonPrimitive(""); + } else { + return new JsonPrimitive(value.getName()); + } + } + }).registerTypeAdapter(Date.class, new JsonSerializer<Date>() { + @Override + public JsonElement serialize(Date value, Type theType, JsonSerializationContext context) { + if (value == null) { + return new JsonPrimitive(""); + } else { + return new JsonPrimitive(TimeUtil.getGernalTime(value.getTime(), "yyyy.MM.dd HH:mm")); + } + } + }).create(); + JSONObject root = new JSONObject(); + + List<VIPOrderRecord> list = vipService.listOrderRecord(loginUid, null, page, Constant.pageCount); + for (VIPOrderRecord record : list) { + record.setIpInfo(null); + record.setUpdateTime(null); + } + long count = vipService.countOrderRecord(loginUid, null); + root.put("list", gson.toJson(list)); + root.put("count", count); return JsonUtilV2.loadTrueJson(root.toString()); } @@ -102,7 +150,7 @@ } if (StringUtil.isNullOrEmpty(user.getPhone())) { - return JsonUtilV2.loadFalseJson(10001,"璇风粦瀹氱數璇濆彿鐮�"); + return JsonUtilV2.loadFalseJson(10001, "璇风粦瀹氱數璇濆彿鐮�"); } @@ -115,8 +163,10 @@ VIPOrderRecord record = new VIPOrderRecord(); record.setUid(loginUid); record.setType(vipPrice.getType()); - record.setMoney(vipPrice.getPrice()); + record.setMoney(vipPrice.getActualPrice()); + record.setPayWay(payWay); record.setState(VIPOrderRecord.STATE_NOT_PAY); + record.setIpInfo(IPUtil.getRemotIP(request) + ":" + IPUtil.getRemotePort(request)); try { vipService.addVIPRecord(record); } catch (VIPException e) { @@ -129,12 +179,12 @@ case VIPOrderRecord .PAY_WAY_ALIPAY: { //鐢熸垚鏀粯瀹濇敮浠樿鍗� - String form = VipUtil.getVipChargeAlipayForm(orderNo, record.getMoney()); + String form = VipUtil.getVipChargeAlipayForm(record.getId(), orderNo, record.getMoney()); //鏆傚瓨2鍒嗛挓 String id = StringUtil.Md5(UUID.randomUUID().toString() + "#" + System.currentTimeMillis()); redisManager.cacheCommonString(id, form, 120); org.json.JSONObject data = new org.json.JSONObject(); - data.put("payUrl", "http://api.ysdq.yeshitv.com:8089/BuWan/alipay/printPayForm?formId=" + id); + data.put("payUrl", Constant.HOST + "/BuWan/alipay/printPayForm?formId=" + id); data.put("payWay", payWay); return JsonUtilV2.loadTrueJson(data.toString()); } @@ -144,7 +194,7 @@ .PAY_WAY_WX: { //鐢熸垚寰俊鏀粯璁㈠崟 try { - String payUrl = VipUtil.createWXOrder(ip, orderNo, vipPrice.getPrice(), "褰辫澶у叏VIP-" + vipPrice.getType().getName()); + String payUrl = VipUtil.createWXOrder(record.getId(), ip, orderNo, vipPrice.getActualPrice(), "褰辫澶у叏VIP-" + vipPrice.getType().getName()); org.json.JSONObject data = new org.json.JSONObject(); data.put("payUrl", payUrl); data.put("payWay", payWay); @@ -159,5 +209,34 @@ return JsonUtilV2.loadFalseJson("璇烽�夋嫨鏀粯鏂瑰紡"); } + /** + * 妫�鏌ユ槸鍚︽敮浠� + * + * @param acceptData + * @param loginUid + * @param id + * @return + */ + @RequestMapping("checkPay") + @ResponseBody + @RequestSerializableByKey(key = "'vip-checkPay-'+#id") + public String checkPay(AcceptData acceptData, String loginUid, String id) { + VIPOrderRecord record = vipService.getOrderRecord(id); + if (record == null || !record.getUid().equalsIgnoreCase(loginUid)) { + return JsonUtilV2.loadFalseJson("璁板綍涓嶅瓨鍦�/涓嶆槸鎮ㄧ殑璁㈠崟"); + } + + record = vipService.checkOrderPayState(id); + //鏈敮浠� + if (record != null && record.getState() != VIPOrderRecord.STATE_PAY) { + return JsonUtilV2.loadFalseJson(1, "鏀粯鏈畬鎴�"); + } + + JSONObject data = new JSONObject(); + data.put("money", record.getPayMoney() == null ? record.getMoney() : record.getPayMoney()); + + return JsonUtilV2.loadTrueJson(data.toString()); + } + } -- Gitblit v1.8.0