排行榜按收益/流水排序;小程序配置与页面资源入库可后台管理

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
XingQue
2026-06-27 01:04:04 +08:00
parent ceaca8bf4d
commit 2c4ad6e13a
15 changed files with 718 additions and 111 deletions

View File

@@ -1,4 +1,4 @@
# shangpin/views.py
# shangpin/views.py
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework import status
@@ -363,6 +363,7 @@ import hashlib
import xml.etree.ElementTree as ET
import requests
from django.conf import settings
from utils.xcx_sys_config import wx_cfg
from rest_framework.views import APIView
from rest_framework.permissions import IsAuthenticated
from rest_framework.response import Response
@@ -479,9 +480,9 @@ class YajinGoumai(APIView):
def generate_wechat_pay_params(self, dingdanid, jine, openid, pay_type):
"""生成微信小程序支付参数"""
# 获取配置
APPID = settings.WEIXIN_APPID
MCHID = settings.WEIXIN_MCHID
KEY = settings.WEIXIN_SHANGHUMIYAO
APPID = wx_cfg.WEIXIN_APPID
MCHID = wx_cfg.WEIXIN_MCHID
KEY = wx_cfg.WEIXIN_SHANGHUMIYAO
# 根据支付类型获取对应的配置
if pay_type == 'yajin':
@@ -629,6 +630,7 @@ from shangpin.models import Czjilu
import xml.etree.ElementTree as ET
import hashlib
from django.conf import settings
from utils.xcx_sys_config import wx_cfg
import logging
logger = logging.getLogger(__name__)
@@ -806,7 +808,7 @@ class YajinHuitiao(View):
# 拼接字符串
sign_string = '&'.join([f"{key}={value}" for key, value in sorted_params if value])
sign_string += f'&key={settings.WEIXIN_SHANGHUMIYAO}'
sign_string += f'&key={wx_cfg.WEIXIN_SHANGHUMIYAO}'
# 计算签名
calculated_sign = hashlib.md5(sign_string.encode('utf-8')).hexdigest().upper()
@@ -1055,9 +1057,9 @@ class JifenBuchong(APIView):
def generate_wechat_pay_params(self, dingdanid, jine, openid, pay_type):
"""生成微信支付参数(完整版,无省略)"""
# 微信支付配置 - 从settings中获取
APPID = settings.WEIXIN_APPID
MCHID = settings.WEIXIN_MCHID
KEY = settings.WEIXIN_SHANGHUMIYAO
APPID = wx_cfg.WEIXIN_APPID
MCHID = wx_cfg.WEIXIN_MCHID
KEY = wx_cfg.WEIXIN_SHANGHUMIYAO
# 根据支付类型获取对应的配置
if pay_type == 'yajin':
@@ -1359,7 +1361,7 @@ class JifenHuitiao(View):
# 拼接字符串
sign_string = '&'.join([f"{key}={value}" for key, value in sorted_params if value])
sign_string += f'&key={settings.WEIXIN_SHANGHUMIYAO}'
sign_string += f'&key={wx_cfg.WEIXIN_SHANGHUMIYAO}'
# 计算签名
calculated_sign = hashlib.md5(sign_string.encode('utf-8')).hexdigest().upper()
@@ -1541,6 +1543,7 @@ import hashlib
import xml.etree.ElementTree as ET
import requests
from django.conf import settings
from utils.xcx_sys_config import wx_cfg
import logging
logger = logging.getLogger(__name__)
@@ -1652,9 +1655,9 @@ class HuiyuanGoumai(APIView):
def generate_wechat_pay_params(self, dingdanid, jine, openid, pay_type):
"""生成微信支付参数(完整版,无省略)"""
# 微信支付配置 - 从settings中获取
APPID = settings.WEIXIN_APPID
MCHID = settings.WEIXIN_MCHID
KEY = settings.WEIXIN_SHANGHUMIYAO
APPID = wx_cfg.WEIXIN_APPID
MCHID = wx_cfg.WEIXIN_MCHID
KEY = wx_cfg.WEIXIN_SHANGHUMIYAO
# 根据支付类型获取对应的配置
if pay_type == 'yajin':
@@ -2198,7 +2201,7 @@ class HuiyuanHuitiao(View):
sorted_params = sorted(params.items(), key=lambda x: x[0])
sign_string = '&'.join([f"{key}={value}" for key, value in sorted_params if value])
sign_string += f'&key={settings.WEIXIN_SHANGHUMIYAO}'
sign_string += f'&key={wx_cfg.WEIXIN_SHANGHUMIYAO}'
calculated_sign = hashlib.md5(sign_string.encode('utf-8')).hexdigest().upper()
return sign == calculated_sign
except Exception as e:
@@ -2228,6 +2231,7 @@ from shangpin.models import Czjilu, Huiyuan, Huiyuangoumai, Gsfenhong
import xml.etree.ElementTree as ET
import hashlib
from django.conf import settings
from utils.xcx_sys_config import wx_cfg
from django.utils import timezone
from datetime import timedelta
import logging
@@ -2560,7 +2564,7 @@ class HuiyuanHuitiao(View):
# 拼接字符串
sign_string = '&'.join([f"{key}={value}" for key, value in sorted_params if value])
sign_string += f'&key={settings.WEIXIN_SHANGHUMIYAO}'
sign_string += f'&key={wx_cfg.WEIXIN_SHANGHUMIYAO}'
# 计算签名
calculated_sign = hashlib.md5(sign_string.encode('utf-8')).hexdigest().upper()
@@ -2763,6 +2767,7 @@ import xml.etree.ElementTree as ET
import requests
from decimal import Decimal
from django.conf import settings
from utils.xcx_sys_config import wx_cfg
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework import status
@@ -2889,9 +2894,9 @@ class ShangjiaChongzhi(APIView):
def generate_wechat_pay_params(self, dingdanid, jine, openid, pay_type):
"""生成微信小程序支付参数"""
# 获取配置
APPID = settings.WEIXIN_APPID
MCHID = settings.WEIXIN_MCHID
KEY = settings.WEIXIN_SHANGHUMIYAO
APPID = wx_cfg.WEIXIN_APPID
MCHID = wx_cfg.WEIXIN_MCHID
KEY = wx_cfg.WEIXIN_SHANGHUMIYAO
# 根据支付类型获取对应的配置
if pay_type == 'shangjia':
@@ -3189,7 +3194,7 @@ class ShangjiaHuitiao(View):
# 拼接字符串
sign_string = '&'.join([f"{key}={value}" for key, value in sorted_params if value])
sign_string += f'&key={settings.WEIXIN_SHANGHUMIYAO}'
sign_string += f'&key={wx_cfg.WEIXIN_SHANGHUMIYAO}'
# 计算签名
calculated_sign = hashlib.md5(sign_string.encode('utf-8')).hexdigest().upper()