correct_takecash.rb 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. # encoding:utf-8
  2. # 提现失败时,手动操作返回余额
  3. module RailsAdmin
  4. module Config
  5. module Actions
  6. class CorrectTakecash < RailsAdmin::Config::Actions::Base
  7. register_instance_option :visible? do
  8. if not bindings[:object].blank?
  9. authorized? && bindings[:object].audit_state == 1 && bindings[:object].pay_state==2
  10. else
  11. authorized?
  12. end
  13. end
  14. # We want the action on members, not the Users collection
  15. register_instance_option :member do
  16. true
  17. end
  18. register_instance_option :link_icon do
  19. 'icon-share'
  20. end
  21. # You may or may not want pjax for your action
  22. register_instance_option :pjax? do
  23. false
  24. end
  25. register_instance_option :controller do
  26. Proc.new do
  27. n = "提现冲正成功。"
  28. if @object.audit_state == 1 && @object.pay_state==2
  29. #先判断是否已经返回余额
  30. rId = @object.order_id + "_COR"
  31. source = "correct"
  32. wxUid = @object.wx_uid
  33. existBalance = CashBalance.where(" source = ? and relate_id = ? and wx_uid = ?", source, rId, wxUid).first
  34. if !existBalance.nil?
  35. n = "已成功返回余额。"
  36. else
  37. #返回余额
  38. @cashBalance = CashBalance.new
  39. @cashBalance.wx_uid = wxUid
  40. @cashBalance.count = @object.count
  41. @cashBalance.source = source
  42. @cashBalance.relate_id = rId
  43. @cashBalance.remark = "提现-冲正"
  44. begin
  45. @cashBalance.save
  46. rescue Exception => e
  47. p "************ correct takecash return cashBalance save fail . #{e.to_s}"
  48. n = "提现冲正失败,请稍后重试!"
  49. end
  50. end
  51. else
  52. n = "此状态不支持操作。"
  53. end
  54. # redirect_to back_or_index, notice: "已审批!"
  55. redirect_to :back, notice: "#{n}"
  56. end
  57. end
  58. end
  59. end
  60. end
  61. end