SkillEnsurePay.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace app\api\model\service;
  3. use think\Model;
  4. class SkillEnsurePay extends Model
  5. {
  6. // 表名
  7. protected $name = 'service_skill_ensure_pay';
  8. // 自动写入时间戳字段
  9. protected $autoWriteTimestamp = 'int';
  10. // 定义时间戳字段名
  11. protected $createTime = 'createtime';
  12. protected $updateTime = 'updatetime';
  13. /**
  14. * 服务者充值保证金升级
  15. * @param $uid
  16. * @return true
  17. * @throws \think\db\exception\DataNotFoundException
  18. * @throws \think\db\exception\ModelNotFoundException
  19. * @throws \think\exception\DbException
  20. */
  21. public static function updateSkillEnsure($uid,$price)
  22. {
  23. EnsureLog::create(['user_id'=>$uid,'money'=>+$price,'memo'=>'服务者充值保证金']);
  24. $skill = Skill::where(['user_id'=>$uid])->field('id,user_id,ensure_id,ensure_price,ensure_name')->find();
  25. $list = SkillEnsure::where(['price'=>['<=',$skill['ensure_price']]])->field('id,name,price,accept_nums')->order('price asc')->select();
  26. if($list)
  27. {
  28. $sumEnsurePrice = self::where(['user_id'=>$uid,'state'=>1])->sum('price');
  29. foreach ($list as $value)
  30. {
  31. if($sumEnsurePrice>=$value['price'])
  32. {
  33. Skill::where(['user_id'=>$uid])->update(['ensure_id'=>$value['id'],'ensure_name'=>$value['name'],'accept_nums'=>$value['accept_nums']]);
  34. }
  35. }
  36. }
  37. return true;
  38. }
  39. public static function reduceSkillEnsure($id)
  40. {
  41. $skill = Skill::where(['id'=>$id])->field('id,user_id,ensure_id,ensure_price,ensure_name')->find();
  42. $skillEnsure = SkillEnsure::where(['price'=>['<=',$skill['ensure_price']]])->field('id,name,price,accept_nums')->order('price desc')->find();
  43. if($skill['ensure_price'] == 0 || !$skillEnsure)
  44. {
  45. Skill::where(['id'=>$id])->update(['ensure_name'=>null,'accept_nums'=>ProjectConfig::getProjectConfig('accept_nums')]);
  46. }else{
  47. Skill::where(['id'=>$id])->update(['ensure_id'=>$skillEnsure['id'],'ensure_name'=>$skillEnsure['name'],'accept_nums'=>$skillEnsure['accept_nums']]);
  48. }
  49. return true;
  50. }
  51. }