SiteDetail.php 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. <?php
  2. declare (strict_types = 1);
  3. namespace app\model\api;
  4. use library\basic\BaseModel;
  5. use think\db\exception\DbException;
  6. use think\facade\Db;
  7. use think\Model;
  8. /**
  9. * @mixin \think\Model
  10. */
  11. class SiteDetail extends BaseModel
  12. {
  13. private $config = [
  14. 'commission' => array('code' => "分站佣金", "content" => "{user}用户采购,订单号:{order_id},订单单数:{count},可获取佣金{money}元(其中产品佣金:{pro_money}元,快递佣金:{exp_money}元)。"),
  15. 'difference' => array('code'=>'分站差价','content'=>'平台{sitename},{user}用户采购,订单单数:{count},可获取快递佣金:{money}元'),
  16. 'tx' => array("code" => "分站提现", "content" => "你在{time}进行提现操作,提现金额:{money}元。"),
  17. ];
  18. /**
  19. * 佣金推广
  20. * @param $money
  21. * @param $uid
  22. * @param $param
  23. * @param $sassid 平台ID
  24. */
  25. public function commission($money,$sassid,$order_id,$param){
  26. try {
  27. self::beginTrans();
  28. $content = $this->TplParam($this->config['commission']['content'], $param);
  29. $post['v'] = $money;
  30. $post['code'] = 'commission';
  31. $post['order_id'] = $order_id;
  32. $post['title'] = $this->config['commission']['code'];
  33. $post['content'] = $content;
  34. $post['type'] = 1;
  35. $post['sassid'] = $sassid;
  36. $post['time'] = time();
  37. $post['money'] = (new Site)->where('sassid', $sassid)->value('money') + $money;
  38. $this->insert($post);
  39. $bool = Db::name("site")->where('sassid',$sassid)->inc('money',floatval($money))->update();
  40. self::commitTrans();
  41. if($bool > 0) {
  42. return true;
  43. } else {
  44. return false;
  45. }
  46. }catch (DbException $db){
  47. self::rollbackTrans();
  48. return false;
  49. }
  50. }
  51. /**
  52. * 分站差价
  53. * @param $money
  54. * @param $uid
  55. * @param $param
  56. * @param $sassid 平台ID
  57. */
  58. public function difference($money,$sassid,$order_id,$param){
  59. try {
  60. self::beginTrans();
  61. $content = $this->TplParam($this->config['difference']['content'], $param);
  62. $post['v'] = $money;
  63. $post['code'] = 'difference';
  64. $post['order_id'] = $order_id;
  65. $post['title'] = $this->config['difference']['code'];
  66. $post['content'] = $content;
  67. $post['type'] = 1;
  68. $post['sassid'] = $sassid;
  69. $post['time'] = time();
  70. $post['money'] = (new Site)->where('sassid', $sassid)->value('money') + $money;
  71. $this->insert($post);
  72. $bool = Db::name("site")->where('sassid',$sassid)->inc('money',floatval($money))->update();
  73. self::commitTrans();
  74. if($bool > 0) {
  75. return true;
  76. } else {
  77. return false;
  78. }
  79. }catch (DbException $db){
  80. self::rollbackTrans();
  81. return false;
  82. }
  83. }
  84. /**
  85. * 提现
  86. * @param $money
  87. * @param $uid
  88. * @param $param
  89. * @param $sassid 平台ID
  90. */
  91. public function tx($money,$sassid,$param = []){
  92. try {
  93. self::beginTrans();
  94. $content = $this->TplParam($this->config['tx']['content'], $param);
  95. $post['v'] = $money;
  96. $post['code'] = 'tx';
  97. $post['order_id'] = '';
  98. $post['title'] = $this->config['tx']['code'];
  99. $post['content'] = $content;
  100. $post['type'] = 2;
  101. $post['sassid'] = $sassid;
  102. $post['time'] = time();
  103. $post['money'] = (new Site)->where('sassid', $sassid)->value('money') - $money;
  104. $this->insert($post);
  105. //echo $this->getLastSql();
  106. $bool = Db::name("site")->where('sassid',$sassid)->dec('money',floatval($money))->update();
  107. self::commitTrans();
  108. if($bool > 0) {
  109. return true;
  110. } else {
  111. return false;
  112. }
  113. }catch (DbException $db){
  114. var_dump($db->getMessage());
  115. self::rollbackTrans();
  116. return false;
  117. }
  118. }
  119. /**
  120. * 转义的模板信息
  121. */
  122. private function TplParam($content) {
  123. $data = func_get_args();
  124. foreach ($data[1] as $k => $v) {
  125. $content = str_replace('{' . $k . '}', $v, $content);
  126. }
  127. return $content;
  128. }
  129. }