Explorar o código

上线测试更改BUG

wangwenju hai 2 semanas
pai
achega
ed959e1efb

+ 23 - 23
LiangZhiYUMao/pages.json

@@ -70,29 +70,29 @@
 			"root": "subpkg-message",
 			"independent": true,
 			"pages": [
-				{
-					"path": "index/index",
-					"style": {
-						"navigationBarTitleText": "消息",
-						"navigationBarBackgroundColor": "#E91E63",
-						"navigationBarTextStyle": "white"
-					}
-				},
-				{
-					"path": "chat/chat",
-					"style": {
-						"navigationBarTitleText": "聊天",
-						"navigationStyle": "custom"
-					}
-				},
-				{
-					"path": "system/system",
-					"style": {
-						"navigationBarTitleText": "系统消息",
-						"navigationBarBackgroundColor": "#E91E63",
-						"navigationBarTextStyle": "white"
-					}
-				}
+				// {
+				// 	"path": "index/index",
+				// 	"style": {
+				// 		"navigationBarTitleText": "消息",
+				// 		"navigationBarBackgroundColor": "#E91E63",
+				// 		"navigationBarTextStyle": "white"
+				// 	}
+				// },
+				// {
+				// 	"path": "chat/chat",
+				// 	"style": {
+				// 		"navigationBarTitleText": "聊天",
+				// 		"navigationStyle": "custom"
+				// 	}
+				// },
+				// {
+				// 	"path": "system/system",
+				// 	"style": {
+				// 		"navigationBarTitleText": "系统消息",
+				// 		"navigationBarBackgroundColor": "#E91E63",
+				// 		"navigationBarTextStyle": "white"
+				// 	}
+				// }
 			]
 		},
 		{

+ 3 - 3
LiangZhiYUMao/pages/activities/detail.vue

@@ -135,7 +135,7 @@
 			// 验证并修正图片URL
 			validateImageUrl(url) {
 				if (!url || url === 'null' || url === 'undefined') {
-					return DEFAULT_IMAGES.activity || 'http://115.190.125.125:9001/static-images/login-bg.png'
+					return DEFAULT_IMAGES.activity || ''
 				}
 
 				let cleanedUrl = String(url).trim()
@@ -145,7 +145,7 @@
 				}
 
 				if (!cleanedUrl) {
-					return DEFAULT_IMAGES.activity || 'http://115.190.125.125:9001/static-images/login-bg.png'
+					return DEFAULT_IMAGES.activity || ''
 				}
 				
 				// 如果是相对路径,添加协议和域名
@@ -159,7 +159,7 @@
 				}
 				
 				// 其他情况返回默认图片
-				return DEFAULT_IMAGES.activity || 'http://115.190.125.125:9001/static-images/login-bg.png'
+				return DEFAULT_IMAGES.activity || ''
 			},
 
 			// 格式化时间

+ 5 - 5
LiangZhiYUMao/pages/index/index.vue

@@ -775,7 +775,7 @@ async loadFunctionGridData() {
 			// 验证和处理图片URL
 			validateImageUrl(url) {
 				if (!url || url === 'null' || url === 'undefined') {
-					return DEFAULT_IMAGES.activity || DEFAULT_IMAGES.banner || 'http://115.190.125.125:9001/static-images/login-bg.png'
+					return DEFAULT_IMAGES.activity || DEFAULT_IMAGES.banner || ''
 				}
 
 				let cleanedUrl = String(url).trim()
@@ -785,7 +785,7 @@ async loadFunctionGridData() {
 				}
 
 				if (!cleanedUrl) {
-					return DEFAULT_IMAGES.activity || DEFAULT_IMAGES.banner || 'http://115.190.125.125:9001/static-images/login-bg.png'
+					return DEFAULT_IMAGES.activity || DEFAULT_IMAGES.banner || ''
 				}
 				
 				// 如果是相对路径,添加协议和域名
@@ -803,19 +803,19 @@ async loadFunctionGridData() {
 				}
 				
 				// 其他情况返回默认图片
-				return DEFAULT_IMAGES.activity || DEFAULT_IMAGES.banner || 'http://115.190.125.125:9001/static-images/login-bg.png'
+				return DEFAULT_IMAGES.activity || DEFAULT_IMAGES.banner || ''
 			},
 
 			getRomanticImage(index = 0) {
 				if (!this.romanticImages || this.romanticImages.length === 0) {
-					return DEFAULT_IMAGES.activity || DEFAULT_IMAGES.banner || 'http://115.190.125.125:9001/static-images/login-bg.png'
+					return DEFAULT_IMAGES.activity || DEFAULT_IMAGES.banner || ''
 				}
 				const idx = Math.abs(Number(index) || 0) % this.romanticImages.length
 				return this.romanticImages[idx]
 			},
 
 			ensureRomanticCover(url, index = 0) {
-				if (!url || url === DEFAULT_IMAGES.activity || url === DEFAULT_IMAGES.banner || url === 'http://115.190.125.125:9001/static-images/login-bg.png') {
+				if (!url || url === DEFAULT_IMAGES.activity || url === DEFAULT_IMAGES.banner || url === '') {
 					return this.getRomanticImage(index)
 				}
 				return url

+ 1 - 1
LiangZhiYUMao/pages/mine/index.vue

@@ -224,7 +224,7 @@
       </view>
       <view class="tabbar-item" @click="switchTab('plaza')">
         <text class="tabbar-icon">💕</text>
-        <text class="tabbar-text">广场</text>
+        <text class="tabbar-text">动态</text>
       </view>
       <view class="tabbar-item" @click="switchTab('recommend')">
         <text class="tabbar-icon">👍</text>

+ 1 - 1
LiangZhiYUMao/pages/mine/my-activities.vue

@@ -26,7 +26,7 @@
 		<!-- 活动列表 -->
 		<view class="activities-list">
 			<view class="activity-card" v-for="activity in filteredActivities" :key="activity.id" @click="goToActivityDetail(activity)">
-				<image :src="activity.coverImage || 'http://115.190.125.125:9001/static-images/login-bg.png'" class="activity-cover" mode="aspectFill"></image>
+				<image :src="activity.coverImage" class="activity-cover" mode="aspectFill"></image>
 				<view class="activity-info">
 					<view class="activity-header">
 						<text class="activity-name">{{ activity.name }}</text>

+ 6 - 1
service/Essential/src/main/java/com/zhentao/controller/ActivityOrderController.java

@@ -26,7 +26,12 @@ public class ActivityOrderController {
     }
 
     @PostMapping("/notify")
-    public String handlePayNotify(@RequestBody String notifyData) throws WxPayException {
+    public String handlePayNotify(@RequestBody(required = true) String notifyData) throws WxPayException {
+        if (notifyData == null || notifyData.trim().isEmpty()) {
+            // 记录日志 + 返回微信要求的XML格式失败响应
+            return "<xml><return_code><![CDATA[FAIL]]></return_code><return_msg><![CDATA[请求体为空]]></return_msg></xml>";
+        }
+
         return activityOrderService.handlePayNotify(notifyData);
     }
 

+ 2 - 2
service/Essential/src/main/java/com/zhentao/controller/AvatarUploadController.java

@@ -25,7 +25,7 @@ public class AvatarUploadController {
     @Autowired
     private UserService userService;
 
-    @Value("${minio.bucket-name}")
+    @Value("${minio.bucketName_acater}")
     private String minioBucketName;
 
     @Value("https://api.zhongruanke.cn/minio/")
@@ -98,7 +98,7 @@ public class AvatarUploadController {
             }
 
             // 7. 生成访问URL
-            String avatarUrl = urlPrefix + fileName;
+            String avatarUrl = urlPrefix + minioBucketName + "/" + fileName;
             System.out.println("生成访问URL: " + avatarUrl);
 
             // 8. 更新数据库中的头像URL

+ 0 - 6
service/Essential/src/main/java/com/zhentao/mapper/ActivityOrderMapper.java

@@ -10,10 +10,4 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface ActivityOrderMapper extends BaseMapper<ActivityOrder> {
 
-    /**
-     * 根据订单号查询订单
-     * @param orderNo 订单号
-     * @return 活动订单
-     */
-    ActivityOrder selectByOrderNo(String orderNo);
 }

+ 2 - 2
service/Essential/src/main/java/com/zhentao/mapper/UserVipMapper.java

@@ -22,8 +22,8 @@ public interface UserVipMapper extends BaseMapper<UserVip> {
     UserVip selectActiveVipByUserId(@Param("userId") Long userId);
 
     @Select(" SELECT * FROM user_vip \n" +
-            "    WHERE user_id = #{userId} \n" +
-            "    AND status = 1 \n" +
+            "    WHERE order_no = #{orderNo} \n" +
+            "    AND status = 0 \n" +
             "    AND end_time > NOW() \n" +
             "    ORDER BY end_time DESC \n" +
             "    LIMIT 1")

+ 8 - 2
service/Essential/src/main/java/com/zhentao/service/impl/ActivityOrderServiceImpl.java

@@ -1,5 +1,6 @@
 package com.zhentao.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.github.binarywang.wxpay.bean.notify.WxPayNotifyResponse;
 import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult;
 import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest;
@@ -90,8 +91,10 @@ public class ActivityOrderServiceImpl implements ActivityOrderService {
         String orderNo = notifyResult.getOutTradeNo();
         String transactionId = notifyResult.getTransactionId();
 
+        QueryWrapper queryWrapper = new QueryWrapper();
+        queryWrapper.eq("order_no",orderNo);
         // 2. 查询待支付订单
-        ActivityOrder order = activityOrderMapper.selectByOrderNo(orderNo);
+        ActivityOrder order = activityOrderMapper.selectOne(queryWrapper);
         if (order == null || order.getStatus() != 0) {
             log.warn("活动订单不存在或已处理:{}", orderNo);
             return WxPayNotifyResponse.fail("订单不存在或已处理");
@@ -127,7 +130,10 @@ public class ActivityOrderServiceImpl implements ActivityOrderService {
 
     @Override
     public ActivityOrder getOrderByOrderNo(String orderNo) {
-        return activityOrderMapper.selectByOrderNo(orderNo);
+        QueryWrapper queryWrapper = new QueryWrapper();
+        queryWrapper.eq("order_no",orderNo);
+        // 2. 查询待支付订单
+        return activityOrderMapper.selectOne(queryWrapper);
     }
 
     private String generateOrderNo() {

+ 2 - 2
service/Essential/src/main/java/com/zhentao/service/impl/CourseOrderServiceImpl.java

@@ -141,7 +141,7 @@ public class CourseOrderServiceImpl implements CourseOrderService {
         request.setBody("课程购买-" + courseName);
         request.setTotalFee(BigDecimal.valueOf(price).multiply(new BigDecimal("100")).intValue());
         request.setSpbillCreateIp("127.0.0.1");
-        request.setNotifyUrl("https://mini.workervip.com/api/course-order/notify");
+        request.setNotifyUrl("https://api.zhongruanke.cn/api/course-order/notify");
         request.setTradeType("JSAPI");
         request.setOpenid(user.getWechatOpenid());
         return request;
@@ -185,7 +185,7 @@ public class CourseOrderServiceImpl implements CourseOrderService {
         payConfig.setAppId(wxConfig.getAppId());
         payConfig.setMchId(wxConfig.getMchId());
         payConfig.setMchKey("7f633cbabd894b4d213bc6edffe3b119");
-        payConfig.setNotifyUrl("https://mini.workervip.com/api/course-order/notify");
+        payConfig.setNotifyUrl("https://api.zhongruanke.cn/api/course-order/notify");
         return payConfig;
     }
 }

+ 3 - 3
service/Essential/src/main/java/com/zhentao/service/impl/VipServiceImpl.java

@@ -705,7 +705,7 @@ public class VipServiceImpl implements VipService {
         userVip.setPaymentAmount(pkg.getCurrentPrice());
         userVip.setPaymentMethod("微信支付");
         userVip.setOrderNo(orderNo);
-        userVip.setStatus(1); // 0-待支付
+        userVip.setStatus(0); // 0-待支付
         userVip.setSource("购买");
         userVip.setCreateTime(LocalDateTime.now());
         userVipMapper.insert(userVip);
@@ -824,7 +824,7 @@ public class VipServiceImpl implements VipService {
         request.setBody(pkg.getPackageName());
         request.setTotalFee(pkg.getCurrentPrice().multiply(new BigDecimal("100")).intValue());
         request.setSpbillCreateIp("127.0.0.1");
-        request.setNotifyUrl("https://mini.workervip.com/api/vip/notify"); // 回调地址
+        request.setNotifyUrl("https://api.zhongruanke.cn/api/vip/notify"); // 回调地址
         request.setTradeType("JSAPI");
         request.setOpenid(user.getWechatOpenid());
         return request;
@@ -871,7 +871,7 @@ public class VipServiceImpl implements VipService {
         payConfig.setAppId(wxConfig.getAppId());
         payConfig.setMchId(wxConfig.getMchId());
         payConfig.setMchKey("7f633cbabd894b4d213bc6edffe3b119");
-        payConfig.setNotifyUrl("https://mini.workervip.com/api/vip/notify");
+        payConfig.setNotifyUrl("https://api.zhongruanke.cn/api/vip/notify");
         return payConfig;
     }