ShopEnsurePay.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. namespace app\api\model\service;
  3. use think\Model;
  4. class ShopEnsurePay extends Model
  5. {
  6. // 表名
  7. protected $name = 'service_shop_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 updateShopEnsure($uid,$price)
  22. {
  23. EnsureLog::create(['user_id'=>$uid,'money'=>'+'.$price,'type'=>1,'memo'=>'商户充值保证金']);
  24. $shop = Shop::where(['user_id'=>$uid])->field('id,user_id,ensure_id,ensure_price,ensure_name')->find();
  25. $list = ShopEnsure::where(['price'=>['<=',$shop['ensure_price']]])->field('id,name,price,accept_nums,service_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. Shop::where(['user_id'=>$uid])->update(['ensure_id'=>$value['id'],'ensure_name'=>$value['name'],'accept_nums'=>$value['accept_nums'],'service_nums'=>$value['service_nums']]);
  34. }
  35. }
  36. }
  37. return true;
  38. }
  39. public static function reduceShopEnsure($id)
  40. {
  41. $shop = Shop::where(['id'=>$id])->field('id,user_id,ensure_id,ensure_price,ensure_name')->find();
  42. $shopEnsure = ShopEnsure::where(['price'=>['<=',$shop['ensure_price']]])->field('id,name,price,accept_nums,service_nums')->order('price desc')->find();
  43. if($shop['ensure_price'] == 0 || empty($shopEnsure))
  44. {
  45. Shop::where(['id'=>$id])->update(['ensure_name'=>null,'accept_nums'=>ProjectConfig::getProjectConfig('shop_accept_nums'),'service_nums'=>ProjectConfig::getProjectConfig('service_nums')]);
  46. }else{
  47. Shop::where(['id'=>$id])->update(['ensure_id'=>$shopEnsure['id'],'ensure_name'=>$shopEnsure['name'],'accept_nums'=>$shopEnsure['accept_nums'],'service_nums'=>$shopEnsure['service_nums']]);
  48. }
  49. return true;
  50. }
  51. }