Class: BlsmVdCore::ClearingItem

Inherits:
BaseRecord
  • Object
show all
Defined in:
lib/blsm-vd-core/model/clearing_item.rb

Instance Method Summary collapse

Instance Method Details

#after_clearing_item_changedObject

订单发生变化



60
61
62
63
64
65
# File 'lib/blsm-vd-core/model/clearing_item.rb', line 60

def after_clearing_item_changed
  if @committed_changes && !@committed_changes.empty?
    BlsmVdCore.on_clearing_item_cash_back(self.id) if @committed_changes.has_key?('state') #物流返款等信息
    @committed_changes.clear
  end
end

#express_service_feeObject

物流服务费



12
13
14
15
16
17
# File 'lib/blsm-vd-core/model/clearing_item.rb', line 12

def express_service_fee
  if self.pay_type=='CODPAY'
    return 5
  end
  0
end

#keep_commit_changesObject

发生改变之后,记住状态的变化



55
56
57
# File 'lib/blsm-vd-core/model/clearing_item.rb', line 55

def keep_commit_changes
  @committed_changes = self.changes
end

#marking_confirm(note) ⇒ Object

确认



44
45
46
47
48
49
50
51
# File 'lib/blsm-vd-core/model/clearing_item.rb', line 44

def marking_confirm(note)
  update_params = Hash.new
  update_params[:notes] = note
  update_params[:state] = 'CASH_BACK'
  update_params[:earn_amount] = self.order.jm_profit
  update_params[:real_amount] = ((self.order.toggle_delivery_deposit && self.order.pay_type.to_i==1) ? (self.order.actual_total.to_f+self.order.payment_total.to_f) : self.order.actual_total)
  self.update_attributes(update_params)
end

#marking_refuse(note, reduce_real_amount = 0) ⇒ Object

拒签



28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/blsm-vd-core/model/clearing_item.rb', line 28

def marking_refuse(note, reduce_real_amount = 0)
  update_params = {}
  update_params[:notes] = note
  update_params[:state] = 'CASH_BACK'
  if self.order.toggle_delivery_deposit && self.order.pay_type.to_i==1
    update_params[:real_amount] = self.express_service_fee - (self.earn_amount - self.order_amount) - reduce_real_amount
  else
    update_params[:real_amount] = self.express_service_fee - (self.earn_amount - self.order_amount + self.order.real_shipping_charge * 2) - reduce_real_amount
  end

  update_params.delete(:real_amount) if self.possible_profit < 0.0
  update_params[:rate_of_profit] = 1
  self.update_attributes(update_params)
end

#possible_profitObject

可能的(预计)收入



20
21
22
23
24
25
# File 'lib/blsm-vd-core/model/clearing_item.rb', line 20

def possible_profit
  if self.state=='CASH_BACK'
    return sprintf('%0.2f', (self.real_amount - self.order_amount + self.earn_amount)* self.rate_of_profit - self.express_service_fee).to_f
  end
  sprintf('%0.2f', self.earn_amount * self.rate_of_profit - self.express_service_fee).to_f
end