瀏覽代碼

管理员工

wushaodong 3 年之前
父節點
當前提交
15fb595bad
共有 9 個文件被更改,包括 16 次插入154 次删除
  1. 0 89
      apps/Alipay.py
  2. 4 4
      apps/account/models.py
  3. 0 1
      apps/api/urls.py
  4. 0 48
      apps/api/views.py
  5. 10 10
      nostone_loan/settings.py
  6. 1 1
      uis/dist/index.html
  7. 0 0
      uis/dist/js/app.fd4540f2.js
  8. 0 0
      uis/dist/js/app.fd4540f2.js.map
  9. 1 1
      wsgi.ini

+ 0 - 89
apps/Alipay.py

@@ -1,89 +0,0 @@
-#coding=utf-8
-import traceback
-from django.conf import settings
-from alipay.aop.api.AlipayClientConfig import AlipayClientConfig
-from alipay.aop.api.DefaultAlipayClient import DefaultAlipayClient
-from alipay.aop.api.domain.AlipayTradePrecreateModel import AlipayTradePrecreateModel
-from alipay.aop.api.domain.AlipayTradeQueryModel import AlipayTradeQueryModel
-from alipay.aop.api.request.AlipayTradePrecreateRequest import AlipayTradePrecreateRequest
-from alipay.aop.api.request.AlipayTradeQueryRequest import AlipayTradeQueryRequest
-from alipay.aop.api.response.AlipayTradePrecreateResponse import AlipayTradePrecreateResponse
-from alipay.aop.api.response.AlipayTradeQueryResponse import AlipayTradeQueryResponse
-
-from utils.exceptions import CustomError
-
-class Alipay():
-    @staticmethod
-    def payUnifiedOrder(payment_no,amount):
-        if amount < 0.01:
-            raise CustomError(u'无效的金额')
-
-        alipay_client_config = AlipayClientConfig()
-
-        try:
-            alipay_client_config.app_id = settings.ALIPAY_SETTING['app_id']
-            alipay_client_config.app_private_key = settings.ALIPAY_SETTING['app_private_key']
-            alipay_client_config.alipay_public_key  = settings.ALIPAY_SETTING['alipay_public_key']
-            notify_url = settings.ALIPAY_SETTING['notify_url']
-        except:
-            raise CustomError(u'没有配置支付宝对接信息')
-
-        alipay_client_config.timeout = 120
-        client = DefaultAlipayClient(alipay_client_config=alipay_client_config)
-
-        model = AlipayTradePrecreateModel()
-        model.out_trade_no = payment_no
-        model.total_amount = amount
-        model.subject = ""
-
-        request = AlipayTradePrecreateRequest(biz_model=model)
-        request.notify_url = notify_url
-
-        try:
-            response_content = client.execute(request)
-        except Exception as e:
-            traceback.print_exc()
-            raise CustomError(str(e))
-        if not response_content:
-            raise CustomError(u'支付宝请求失败!')
-        response = AlipayTradePrecreateResponse()
-        response.parse_response_content(response_content)
-        if not response.is_success():
-            raise CustomError(response.code + "," + response.msg + "," + response.sub_code + "," + response.sub_msg)
-        return response.qr_code
-
-    @staticmethod
-    def queryUnifiedOrder(payment_no):
-        if not payment_no:
-            raise CustomError(u'无效的支付单号')
-
-        alipay_client_config = AlipayClientConfig()
-
-        try:
-            alipay_client_config.app_id = settings.ALIPAY_SETTING['app_id']
-            alipay_client_config.app_private_key = settings.ALIPAY_SETTING['app_private_key']
-            alipay_client_config.alipay_public_key  = settings.ALIPAY_SETTING['alipay_public_key']
-        except:
-            raise CustomError(u'没有配置支付宝对接信息')
-
-        alipay_client_config.timeout = 120
-        client = DefaultAlipayClient(alipay_client_config=alipay_client_config)
-
-        model = AlipayTradeQueryModel()
-        model.out_trade_no = payment_no
-
-        request = AlipayTradeQueryRequest(biz_model=model)
-
-        try:
-            response_content = client.execute(request)
-        except Exception as e:
-            traceback.print_exc()
-            raise CustomError(str(e))
-        if not response_content:
-            raise CustomError(u'支付宝请求失败!')
-        response = AlipayTradeQueryResponse()
-        response.parse_response_content(response_content)
-        if not response.is_success():
-            raise CustomError(response.code + "," + response.msg + "," + response.sub_code + "," + response.sub_msg)
-        return response.buyer_pay_amount
-

+ 4 - 4
apps/account/models.py

@@ -46,7 +46,7 @@ class User(AbstractBaseUser, PermissionsMixin):
         (SELLER, u'业务员'),  # 客户
         (CUSTOMER, u'客户'),  # 客户
     )
-    username = models.CharField(verbose_name=u'用户名', max_length=30, db_index=True,
+    username = models.CharField(verbose_name=u'用户名', max_length=30, db_index=True,unique=True,
                                 help_text=u'不多于20个字符。只能用字母、数字和字符。')
     # password = models.CharField(u'密码', max_length=128, blank=True,)
 
@@ -71,9 +71,9 @@ class User(AbstractBaseUser, PermissionsMixin):
     class Meta:
         db_table = "auth_user"
         verbose_name = u"人员管理"
-        # unique_together = [
-        #     ('username')
-        # ]
+        unique_together = [
+            ('username')
+        ]
         ordering = ['-id']
         default_permissions = ()
         permissions = [

+ 0 - 1
apps/api/urls.py

@@ -5,6 +5,5 @@ from .views import *
 urlpatterns = [
     url(r'^callback_authorize/$', CallbackAuthorize.as_view()),
     url('^(?P<appid>.+)/callback_event/$', CallbackEvent.as_view()),
-    url(r'^alipay_notify/$', AlipayNotifyView.as_view()),
     url(r'^wechat_notify/(?P<appid>.+)/$', WechatNotifyView.as_view()),
 ]

+ 0 - 48
apps/api/views.py

@@ -14,7 +14,6 @@ from utils import response_error, response_ok
 from apps.log.models import BizLog
 from apps.WechatTp.models import WechatTp
 from apps.WechatApplet.models import WechatApplet
-from alipay.aop.api.util.SignatureUtils import verify_with_rsa
 # from apps.WeChatResponse import WechatPayNotify
 
 class CallbackAuthorize(APIView):
@@ -76,53 +75,6 @@ class CallbackEvent(APIView):
             pass
         return HttpResponse('success')
 
-class AlipayNotifyView(APIView):
-    def check_pay(self, params):
-        sign = params.pop('sign', None)
-        params.pop('sign_type')
-        params = sorted(params.items(), key=lambda e: e[0], reverse=False)
-        message = "&".join(u"{}={}".format(k, v) for k, v in params).encode()
-        try:
-            status = verify_with_rsa(settings.ALIPAY_SETTING['alipay_public_key'].encode('utf-8').decode('utf-8'), message,sign)
-            return status
-        except:
-            return False
-
-    def post(self, request):
-        params = request.POST.dict()
-        if not self.check_pay(params):
-            return HttpResponse('')
-
-
-        no = request.POST.get('out_trade_no')
-        app_id = request.POST.get('app_id')
-        notify_type = request.POST.get('notify_type')
-        trade_status = request.POST.get('trade_status')
-        amount = request.POST.get('total_amount')
-
-        if notify_type != 'trade_status_sync':
-            return HttpResponse('')
-
-        if app_id != settings.ALIPAY_SETTING['app_id']:
-            return HttpResponse('')
-
-        try:
-            with transaction.atomic():
-                pay = Pay.getByNo(no)
-                if trade_status == 'TRADE_CLOSED':
-                    pay.payClosed()
-                    BizLog.objects.addnew(None,pay.user, BizLog.INSERT, u'支付取消,pay_no=%s' % no,params)
-
-                if trade_status == 'TRADE_SUCCESS' or trade_status == 'TRADE_FINISHED':
-                    pay.paySuccess(float(amount))
-                    BizLog.objects.addnew(None,pay.user, BizLog.INSERT, u'支付宝支付成功,pay_no=%s' % no,params)
-        except:
-            import traceback
-            traceback.print_exc()
-            return HttpResponse('')
-        return HttpResponse('success')
-
-
 class WechatNotifyView(APIView):
 
     def dispatch(self, request, *args, **kwargs):

+ 10 - 10
nostone_loan/settings.py

@@ -115,16 +115,16 @@ WSGI_APPLICATION = 'nostone_loan.wsgi.application'
 # Database
 # https://docs.djangoproject.com/en/2.2/ref/settings/#databases
 
-DATABASES = {
-    'default': {
-        'ENGINE': 'django.db.backends.mysql',
-        'NAME': 'nostone_loan',
-        'USER': 'root',
-        'PASSWORD': 'nostone@20211224',
-        'HOST': '47.104.66.103',
-        'PORT': '',
-    },
-}
+# DATABASES = {
+#     'default': {
+#         'ENGINE': 'django.db.backends.mysql',
+#         'NAME': 'nostone_loan',
+#         'USER': 'root',
+#         'PASSWORD': 'nostone@20211224',
+#         'HOST': '47.104.66.103',
+#         'PORT': '',
+#     },
+# }
 # ERROR 2026 (HY000): SSL connection error: unknown error number
 # 需要关闭服务器mysql ssl认证  /etc/my.cnf 文件中添加 skip_ssl
 # 配置缓存为redis

+ 1 - 1
uis/dist/index.html

@@ -1 +1 @@
-<!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,initial-scale=1,viewport-fit=cover"><link rel="icon" href="logo.png"><script src="qrcode.min.js"></script><title>诺信通金融</title><link href="css/chunk-5548dce5.79027bda.css" rel="prefetch"><link href="js/chunk-5548dce5.c74e43dc.js" rel="prefetch"><link href="css/app.763151ff.css" rel="preload" as="style"><link href="css/chunk-vendors.754acb04.css" rel="preload" as="style"><link href="js/app.fd4540f2.js" rel="preload" as="script"><link href="js/chunk-vendors.423d661f.js" rel="preload" as="script"><link href="css/chunk-vendors.754acb04.css" rel="stylesheet"><link href="css/app.763151ff.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but nuoxintong doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="js/chunk-vendors.423d661f.js"></script><script src="js/app.fd4540f2.js"></script></body></html>
+<!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,initial-scale=1,viewport-fit=cover"><link rel="icon" href="logo.png"><script src="qrcode.min.js"></script><title>诺信通金融</title><link href="css/chunk-5548dce5.79027bda.css" rel="prefetch"><link href="js/chunk-5548dce5.c74e43dc.js" rel="prefetch"><link href="css/app.763151ff.css" rel="preload" as="style"><link href="css/chunk-vendors.754acb04.css" rel="preload" as="style"><link href="js/app.0e86e137.js" rel="preload" as="script"><link href="js/chunk-vendors.423d661f.js" rel="preload" as="script"><link href="css/chunk-vendors.754acb04.css" rel="stylesheet"><link href="css/app.763151ff.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but nuoxintong doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="js/chunk-vendors.423d661f.js"></script><script src="js/app.0e86e137.js"></script></body></html>

File diff suppressed because it is too large
+ 0 - 0
uis/dist/js/app.fd4540f2.js


File diff suppressed because it is too large
+ 0 - 0
uis/dist/js/app.fd4540f2.js.map


+ 1 - 1
wsgi.ini

@@ -1,5 +1,5 @@
 [uwsgi]
-socket = 0.0.0.0:9023
+socket = 0.0.0.0:9001
 http-keepalive = 1
 chdir = /var/www/nostone_loan
 pythonpath = /var/www/nostone_loan/nostone_loan/

Some files were not shown because too many files changed in this diff