497 509
         if user_coupon.has_used:
498 510
             return response(CouponStatusCode.COUPON_HAS_USED)
499
-        elif user_coupon.is_coupon_admin_writeoff:
511
+        elif user_coupon.is_coupon_admin_writeoff and not is_maintenance:
500 512
             return response(CouponStatusCode.COUPON_PERMISSION_DENIED)
501
-        elif not user_coupon.has_expired:
513
+        elif user_coupon.has_expired:
514
+            return response(CouponStatusCode.COUPON_EXPIRED)   
515
+    except UserCouponInfo.DoesNotExist:
516
+        return response(CouponStatusCode.COUPON_NOT_FOUND)
517
+    
518
+    user_coupon.has_used = True
519
+    user_coupon.used_at = tc.utc_datetime()
520
+
521
+    if is_maintenance:
522
+        try:
523
+            maintenance = MaintenancemanInfo.objects.get(brand_id=brand.brand_id, user_id=user.user_id,  status=True)
524
+            user_coupon.admin_id = maintenance.maintenance_id
525
+            user_coupon.admin_name = maintenance.maintenance_name
526
+            user_coupon.save()
527
+        except:
528
+            return response(400001, 'MaintenancemanInfo Not Found', u'维修员不存在')
529
+    else:
530
+        try:
531
+            clerk = SaleclerkInfo.objects.get(brand_id=brand.brand_id, unionid=user.unionid, status=True)
502 532
             user_coupon.clerk_id = clerk.clerk_id
503 533
             user_coupon.clerk_name = clerk.clerk_name
504 534
             user_coupon.distributor_id = clerk.distributor_id
505 535
             user_coupon.distributor_name = clerk.distributor_name
506
-            user_coupon.has_used = True
507
-            user_coupon.used_at = tc.utc_datetime()
508 536
             user_coupon.save()
509
-        else:
510
-            return response(CouponStatusCode.COUPON_EXPIRED)
511
-    except UserCouponInfo.DoesNotExist:
512
-        return response(CouponStatusCode.COUPON_NOT_FOUND)
537
+        except SaleclerkInfo.DoesNotExist:
538
+            return response(SaleclerkStatusCode.CLERK_NOT_FOUND)
513 539
 
514 540
     return response(200, 'Write Off Coupon Success', u'劵核销成功')
515 541
 

pai2 - Gogs: Go Git Service

拍爱

Brightcells: d38cc6ceb2 Add multi openid for UserInfo & Change create order support miniapp 9 ans auparavant
..
migrations 9e4ac4fd3b Add admin_status for GroupUserInfo 9 ans auparavant
__init__.py e184e7dd5b add api group_create/group_join 10 ans auparavant
admin.py 2dee545a5e Add some list_filter for GroupUserInfo 9 ans auparavant
grouppage_views.py 840173dc6b Filter photo_id use photo_id field in group_photo_detail 9 ans auparavant
groupuser_views.py 1ecd4f276f Remove status code NO_XX_PERMISSION 9 ans auparavant
lensman_views.py d38cc6ceb2 Add multi openid for UserInfo & Change create order support miniapp 9 ans auparavant
models.py e38c2defaf Upload photo to qiniu 9 ans auparavant
serializers.py f72ccb1875 isort import 10 ans auparavant
tests.py fabef63211 set line_length=200 for isort 10 ans auparavant
tourguidegroup_views.py e38c2defaf Upload photo to qiniu 9 ans auparavant
tourguidegroupadmin_views.py 9e4ac4fd3b Add admin_status for GroupUserInfo 9 ans auparavant
tourguidegroupuser_views.py 8483f90163 Return group info for api tgu_group_user_is_joined_api 9 ans auparavant
views.py e38c2defaf Upload photo to qiniu 9 ans auparavant