Przeglądaj źródła

Merge remote-tracking branch 'origin/master'

林海涛 1 rok temu
rodzic
commit
6f2a2c1ecd
36 zmienionych plików z 80 dodań i 24 usunięć
  1. 12 1
      app/api/controller/IndexController.php
  2. 4 3
      app/api/controller/UserCouponController.php
  3. 14 4
      app/api/logic/ServiceOrderLogic.php
  4. 8 2
      app/api/logic/UserCouponLogic.php
  5. 5 0
      app/common/model/coupon/CouponRules.php
  6. 5 0
      app/common/model/coupon/UserCoupon.php
  7. 0 14
      app/common/model/user/User.php
  8. 12 0
      app/workerapi/controller/MasterWorkerController.php
  9. BIN
      public/company/favicon.ico
  10. 0 0
      public/company/index.html
  11. 0 0
      public/company/static/css/app.9fb40884.css
  12. 0 0
      public/company/static/css/chunk-0a46ae24.25904567.css
  13. 0 0
      public/company/static/css/chunk-22cea610.3c7f5ad9.css
  14. 1 0
      public/company/static/css/chunk-3a3f5ca1.a0795925.css
  15. 1 0
      public/company/static/css/chunk-630a64ed.9a9361c6.css
  16. 1 0
      public/company/static/css/chunk-76b44394.554d5f4d.css
  17. 0 0
      public/company/static/css/chunk-elementUI.598f9d8d.css
  18. 0 0
      public/company/static/css/chunk-libs.3dfb7769.css
  19. BIN
      public/company/static/fonts/element-icons.535877f5.woff
  20. BIN
      public/company/static/fonts/element-icons.732389de.ttf
  21. BIN
      public/company/static/img/404.a57b6f31.png
  22. BIN
      public/company/static/img/404_cloud.0f4bc32b.png
  23. 0 0
      public/company/static/js/app.9e1ec3cc.js
  24. 7 0
      public/company/static/js/chunk-0293d332.487b653d.js
  25. 0 0
      public/company/static/js/chunk-040f49dc.5d0d2805.js
  26. 0 0
      public/company/static/js/chunk-0a46ae24.e3f68632.js
  27. 0 0
      public/company/static/js/chunk-2234693e.d0d0625f.js
  28. 1 0
      public/company/static/js/chunk-22cea610.b348b14f.js
  29. 1 0
      public/company/static/js/chunk-2d0a4b90.2b55f733.js
  30. 0 0
      public/company/static/js/chunk-3626b32b.d6b1b3cc.js
  31. 0 0
      public/company/static/js/chunk-3a3f5ca1.b88055c8.js
  32. 1 0
      public/company/static/js/chunk-630a64ed.d05debed.js
  33. 0 0
      public/company/static/js/chunk-76b44394.7c299849.js
  34. 0 0
      public/company/static/js/chunk-elementUI.4e06b13e.js
  35. 0 0
      public/company/static/js/chunk-fe5b4d7e.12502ae9.js
  36. 7 0
      public/company/static/js/chunk-libs.654bdb34.js

+ 12 - 1
app/api/controller/IndexController.php

@@ -16,6 +16,7 @@ namespace app\api\controller;
 
 
 use app\api\logic\IndexLogic;
+use app\common\model\dict\DictData;
 use think\response\Json;
 
 
@@ -28,7 +29,7 @@ class IndexController extends BaseApiController
 {
 
 
-    public array $notNeedLogin = ['index', 'config', 'policy', 'decorate'];
+    public array $notNeedLogin = ['index', 'config', 'policy', 'decorate','customerPhone'];
 
 
     /**
@@ -62,6 +63,16 @@ class IndexController extends BaseApiController
         return $this->data($result);
     }
 
+    /**
+     * 客服电话
+     * @return \think\response\Json
+     */
+    public function customerPhone()
+    {
+        $result = DictData::where(['type_value' => 'customer_support'])->column('value', 'name');
+        return $this->data($result);
+    }
+
 
     /**
      * @notes 政策协议

+ 4 - 3
app/api/controller/UserCouponController.php

@@ -35,10 +35,11 @@ class UserCouponController extends BaseApiController
             'user_id'=>$this->userId
         ]);
         $result = UserCouponLogic::add($params);
-        if (false !== $result) {
-            return $this->success('领取成功'.implode('\n',$result), [], 1, 1);
+        if(!empty($result)){
+            return $this->fail(implode(',',$result));
+        }else{
+            return $this->success('领取成功', [], 1, 1);
         }
-        return $this->fail(UserCouponLogic::getError());
     }
 
 

+ 14 - 4
app/api/logic/ServiceOrderLogic.php

@@ -62,12 +62,12 @@ class ServiceOrderLogic extends BaseLogic
 
             //优惠券验证
             if(!empty($params['coupon_id'])){
-                $user_coupon = UserCoupon::where(['coupon_id'=>$params['coupon_id'],'user_id'=>$params['user_id'],'voucher_status'=>0])
+                $user_coupon = UserCoupon::where(['id'=>$params['coupon_id'],'user_id'=>$params['user_id'],'voucher_status'=>0])
                     ->where('voucher_count','>',0)
                     ->where('expire_time','>=',time())
                     ->where('begin_use','<',time())
                     ->findOrEmpty();
-                if(empty($user_coupon)){
+                if($user_coupon->isEmpty()){
                    throw new Exception('该优惠券无法使用');
                 }
                 if($goods['goods_payment_type'] == GoodsEnum::ISGOODS_PAYMENT_TYPE and $order_amount<$user_coupon['amount_require']){
@@ -79,11 +79,21 @@ class ServiceOrderLogic extends BaseLogic
                 //优惠券折扣
                 if($user_coupon['mold_type'] == 1){
                     //按比例折扣
-                    $order_coupon_amount = range($order_amount*(1-$user_coupon['discount_ratio']),2);
+                    if($user_coupon['discount_ratio']>=1){
+                        throw new Exception('优惠券有误,请联系客服');
+                    }
+                    $order_coupon_amount = intval($order_amount*(1-$user_coupon['discount_ratio']));
                 }else{
                     $order_coupon_amount = $user_coupon['amount'];
                 }
-                $order_amount = ($order_coupon_amount>$user_coupon['max_deductible_price'])?($order_amount-$user_coupon['max_deductible_price']):($order_amount-$order_coupon_amount);
+                if(!empty($user_coupon['max_deductible_price'])){
+                    $order_amount = ($order_coupon_amount>$user_coupon['max_deductible_price'])?($order_amount-$user_coupon['max_deductible_price']):($order_amount-$order_coupon_amount);
+                }else{
+                    $order_amount = $order_amount-$order_coupon_amount;
+                }
+                $user_coupon->voucher_status = 1;
+                $user_coupon->voucher_count = $user_coupon->voucher_count-1;
+                $user_coupon->save();
             }
 
             //生成服务工单

+ 8 - 2
app/api/logic/UserCouponLogic.php

@@ -6,6 +6,7 @@ use app\common\model\coupon\CouponRules;
 use app\common\model\coupon\UserCoupon;
 use think\db\Query;
 use think\db\Where;
+use think\Exception;
 use think\facade\Db;
 
 /**
@@ -33,6 +34,7 @@ class UserCouponLogic extends BaseLogic
                 }
                 if($v->remaining_count <= 0 ){
                     $errMsgArr[] = $v->event_name .'数量不足';
+                    continue;
                 }
                 if($userCoupon->where('coupon_id',$v->id)->count()){
                     $errMsgArr[] = $v->event_name . '已领取';
@@ -56,7 +58,9 @@ class UserCouponLogic extends BaseLogic
                     'server_category_name' => $v->server_category_name
                 ];
             }
-            CouponRules::updateWhenCase($updateData);
+            if(!empty($updateData)){
+                CouponRules::updateWhenCase($updateData);
+            }
             if(!empty($createData)){
                 (new UserCoupon())->saveAll($createData);
             }
@@ -88,7 +92,7 @@ class UserCouponLogic extends BaseLogic
                     $query->where(' expire_time >'. (time()-86400*7));
                 })
                 ->field(['id','code','amount','amount_require','begin_use','voucher_status','discount_ratio','event_name','expire_time','max_deductible_price','server_category_name','mold_type'])
-                ->append(['voucher_status_text'])
+                ->append(['voucher_status_text','discount_ratio_text'])
                 ->order(['id' => 'desc'])
                 ->select()
                 ->toArray();
@@ -125,6 +129,7 @@ class UserCouponLogic extends BaseLogic
                 $query->where('goods_category_id',$params['goods_category_id']);
             }])->where('remaining_count','>',0)
                 ->where('voucher_status',1)
+                ->append(['discount_ratio_text'])
                 ->order(['id' => 'desc'])
                 ->field(['code','amount','amount_require','discount_ratio','server_category_name',
                     'event_name','expire_time','max_deductible_price','mold_type',])
@@ -154,6 +159,7 @@ class UserCouponLogic extends BaseLogic
             }])->where('user_id',$params['user_id'])
                 ->where('voucher_count','>',0)
                 ->where('voucher_status',0)
+                ->append(['discount_ratio_text'])
                 ->where('amount_require','<=',$params['amount'])
                 ->visible(['id','amount','amount_require','begin_use','discount_ratio','event_name','expire_time','max_deductible_price','server_category_name','mold_type'])
                 ->select()->toArray();

+ 5 - 0
app/common/model/coupon/CouponRules.php

@@ -38,4 +38,9 @@ class CouponRules extends BaseModel
     {
         return $this->hasMany(CouponCategory::class, 'coupon_id', 'goods_category_id');
     }
+
+    public function getDiscountRatioTextAttr($value,$data)
+    {
+        return !empty($data['discount_ratio'])?$data['discount_ratio']*10:'';
+    }
 }

+ 5 - 0
app/common/model/coupon/UserCoupon.php

@@ -36,4 +36,9 @@ class UserCoupon extends BaseModel
         return $status[$data['voucher_status']] ?? '';
     }
 
+    public function getDiscountRatioTextAttr($value,$data)
+    {
+        return !empty($data['discount_ratio'])?$data['discount_ratio']*10:'';
+    }
+
 }

+ 0 - 14
app/common/model/user/User.php

@@ -122,20 +122,6 @@ class User extends BaseModel
     }
 
 
-    /**
-     * @notes 获取器-性别描述
-     * @param $value
-     * @param $data
-     * @return string|string[]
-     * @author 段誉
-     * @date 2022/9/7 15:15
-     */
-    public function getSexAttr($value, $data)
-    {
-        return UserEnum::getSexDesc($value);
-    }
-
-
     /**
      * @notes 登录时间
      * @param $value

+ 12 - 0
app/workerapi/controller/MasterWorkerController.php

@@ -2,6 +2,7 @@
 
 namespace app\workerapi\controller;
 
+use app\common\model\dict\DictData;
 use app\workerapi\logic\LoginLogic;
 use app\workerapi\logic\MasterWorkerInfoLogic;
 use app\workerapi\logic\MasterWorkerLogic;
@@ -11,6 +12,7 @@ use app\workerapi\validate\MasterWokerValidate;
 
 class MasterWorkerController extends BaseApiController
 {
+    public array $notNeedLogin = ['customerPhone'];
 
     /**
      * @notes 修改密码
@@ -105,4 +107,14 @@ class MasterWorkerController extends BaseApiController
         $result = MasterWorkerInfoLogic::bankAccountInfo($this->userId);
         return $this->data($result);
     }
+
+    /**
+     * 客服电话
+     * @return \think\response\Json
+     */
+    public function customerPhone()
+    {
+        $result = DictData::where(['type_value' => 'customer_support'])->column('value', 'name');
+        return $this->data($result);
+    }
 }

BIN
public/company/favicon.ico


Plik diff jest za duży
+ 0 - 0
public/company/index.html


Plik diff jest za duży
+ 0 - 0
public/company/static/css/app.9fb40884.css


+ 0 - 0
public/company/static/css/chunk-0a46ae24.25904567.css


Plik diff jest za duży
+ 0 - 0
public/company/static/css/chunk-22cea610.3c7f5ad9.css


+ 1 - 0
public/company/static/css/chunk-3a3f5ca1.a0795925.css

@@ -0,0 +1 @@
+@supports(-webkit-mask:none) and (not (cater-color:#fff)){.login-container .el-input input{color:#fff}}.login-container .el-input{display:inline-block;height:47px;width:85%}.login-container .el-input input{background:transparent;border:0;-webkit-appearance:none;border-radius:0;padding:12px 5px 12px 15px;color:#fff;height:47px;caret-color:#fff}.login-container .el-input input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #283443 inset!important;box-shadow:inset 0 0 0 1000px #283443!important;-webkit-text-fill-color:#fff!important}.login-container .el-form-item{border:1px solid hsla(0,0%,100%,.1);background:rgba(0,0,0,.1);border-radius:5px;color:#454545}.login-container[data-v-a3e6e64e]{min-height:100%;width:100%;background-color:#2d3a4b;overflow:hidden}.login-container .login-form[data-v-a3e6e64e]{position:relative;width:520px;max-width:100%;padding:160px 35px 0;margin:0 auto;overflow:hidden}.login-container .tips[data-v-a3e6e64e]{font-size:14px;color:#fff;margin-bottom:10px}.login-container .tips span[data-v-a3e6e64e]:first-of-type{margin-right:16px}.login-container .svg-container[data-v-a3e6e64e]{padding:6px 5px 6px 15px;color:#889aa4;vertical-align:middle;width:30px;display:inline-block}.login-container .title-container[data-v-a3e6e64e]{position:relative}.login-container .title-container .title[data-v-a3e6e64e]{font-size:26px;color:#eee;margin:0 auto 40px auto;text-align:center;font-weight:700}.login-container .show-pwd[data-v-a3e6e64e]{position:absolute;right:10px;top:7px;font-size:16px;color:#889aa4;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}

+ 1 - 0
public/company/static/css/chunk-630a64ed.9a9361c6.css

@@ -0,0 +1 @@
+.dashboard-container[data-v-3e145b52]{margin:30px}.dashboard-text[data-v-3e145b52]{font-size:30px;line-height:46px}

+ 1 - 0
public/company/static/css/chunk-76b44394.554d5f4d.css

@@ -0,0 +1 @@
+.my-uploade-file .file-container[data-v-0b14a6b5]{position:relative;float:left;margin-left:1%;display:inline-block}.my-uploade-file .file[data-v-0b14a6b5]{width:200px;height:200px;display:block}.my-uploade-file .actions[data-v-0b14a6b5]{position:absolute;top:82%;right:12%;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.my-uploade-file .file-container:hover>.actions .el-button[data-v-0b14a6b5]{display:block}.my-uploade-file .file-container .actions>.el-button[data-v-0b14a6b5]{margin-left:5px;display:none}.my-uploade-file .file-container .actions .el-button[data-v-0b14a6b5]{display:none}

Plik diff jest za duży
+ 0 - 0
public/company/static/css/chunk-elementUI.598f9d8d.css


Plik diff jest za duży
+ 0 - 0
public/company/static/css/chunk-libs.3dfb7769.css


BIN
public/company/static/fonts/element-icons.535877f5.woff


BIN
public/company/static/fonts/element-icons.732389de.ttf


BIN
public/company/static/img/404.a57b6f31.png


BIN
public/company/static/img/404_cloud.0f4bc32b.png


Plik diff jest za duży
+ 0 - 0
public/company/static/js/app.9e1ec3cc.js


Plik diff jest za duży
+ 7 - 0
public/company/static/js/chunk-0293d332.487b653d.js


Plik diff jest za duży
+ 0 - 0
public/company/static/js/chunk-040f49dc.5d0d2805.js


Plik diff jest za duży
+ 0 - 0
public/company/static/js/chunk-0a46ae24.e3f68632.js


Plik diff jest za duży
+ 0 - 0
public/company/static/js/chunk-2234693e.d0d0625f.js


+ 1 - 0
public/company/static/js/chunk-22cea610.b348b14f.js

@@ -0,0 +1 @@
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-22cea610"],{"26fc":function(t,s,a){t.exports=a.p+"company/static/img/404_cloud.0f4bc32b.png"},"8cdb":function(t,s,a){"use strict";a.r(s);var c=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"wscn-http404-container"},[a("div",{staticClass:"wscn-http404"},[t._m(0),a("div",{staticClass:"bullshit"},[a("div",{staticClass:"bullshit__oops"},[t._v("OOPS!")]),t._m(1),a("div",{staticClass:"bullshit__headline"},[t._v(t._s(t.message))]),a("div",{staticClass:"bullshit__info"},[t._v("Please check that the URL you entered is correct, or click the button below to return to the homepage.")]),a("a",{staticClass:"bullshit__return-home",attrs:{href:""}},[t._v("Back to home")])])])])},e=[function(){var t=this,s=t.$createElement,c=t._self._c||s;return c("div",{staticClass:"pic-404"},[c("img",{staticClass:"pic-404__parent",attrs:{src:a("a36b"),alt:"404"}}),c("img",{staticClass:"pic-404__child left",attrs:{src:a("26fc"),alt:"404"}}),c("img",{staticClass:"pic-404__child mid",attrs:{src:a("26fc"),alt:"404"}}),c("img",{staticClass:"pic-404__child right",attrs:{src:a("26fc"),alt:"404"}})])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"bullshit__info"},[t._v("All rights reserved "),a("a",{staticStyle:{color:"#20a0ff"},attrs:{href:"https://wallstreetcn.com",target:"_blank"}},[t._v("wallstreetcn")])])}],i={name:"Page404",computed:{message:function(){return"The webmaster said that you can not enter this page..."}}},l=i,n=(a("dd53"),a("2877")),r=Object(n["a"])(l,c,e,!1,null,"c095f994",null);s["default"]=r.exports},a36b:function(t,s,a){t.exports=a.p+"company/static/img/404.a57b6f31.png"},b0a8:function(t,s,a){},dd53:function(t,s,a){"use strict";a("b0a8")}}]);

+ 1 - 0
public/company/static/js/chunk-2d0a4b90.2b55f733.js

@@ -0,0 +1 @@
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0a4b90"],{"083e":function(n,t,e){"use strict";e.r(t);var a=function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("div",{staticClass:"my-dict-value"},[n._l(n.options,(function(t){return[t.value===n.val?e("span",[n._v(n._s(t.name))]):n._e()]}))],2)},l=[],s={props:["options","type"],data:function(){return{val:0}},watch:{type:{handler:function(n,t){this.val=n}}}},u=s,c=e("2877"),i=Object(c["a"])(u,a,l,!1,null,null,null);t["default"]=i.exports}}]);

Plik diff jest za duży
+ 0 - 0
public/company/static/js/chunk-3626b32b.d6b1b3cc.js


Plik diff jest za duży
+ 0 - 0
public/company/static/js/chunk-3a3f5ca1.b88055c8.js


+ 1 - 0
public/company/static/js/chunk-630a64ed.d05debed.js

@@ -0,0 +1 @@
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-630a64ed"],{"30fb":function(t,a,e){"use strict";e("7148")},7148:function(t,a,e){},9406:function(t,a,e){"use strict";e.r(a);var n=function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("div",{staticClass:"dashboard-container"},[e("div",{staticClass:"dashboard-text"},[t._v("name: "+t._s(t.name))])])},s=[],c=e("5530"),i=e("2f62"),o={name:"Dashboard",computed:Object(c["a"])({},Object(i["b"])(["name"]))},r=o,u=(e("30fb"),e("2877")),b=Object(u["a"])(r,n,s,!1,null,"3e145b52",null);a["default"]=b.exports}}]);

Plik diff jest za duży
+ 0 - 0
public/company/static/js/chunk-76b44394.7c299849.js


Plik diff jest za duży
+ 0 - 0
public/company/static/js/chunk-elementUI.4e06b13e.js


Plik diff jest za duży
+ 0 - 0
public/company/static/js/chunk-fe5b4d7e.12502ae9.js


Plik diff jest za duży
+ 7 - 0
public/company/static/js/chunk-libs.654bdb34.js


Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików