Renewal.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. <?php
  2. namespace app\user\controller;
  3. use think\Lang;
  4. class Renewal extends UserControl
  5. {
  6. public function _initialize()
  7. {
  8. parent::_initialize(); // TODO: Change the autogenerated stub
  9. Lang::load(APP_PATH . 'admin/lang/' . config('default_lang') . '/db.lang.php');
  10. }
  11. public function index()
  12. {
  13. $condition['user_id'] = session('user_id');
  14. $type = input('get.type');
  15. $nowDate = date('Y-m-d');
  16. if (count($type)) {
  17. if ($type > 0) {
  18. $maturityTime = date('Y-m-d', strtotime ($type . " day"));
  19. $condition['userProduct_maturityTime'] = array('between', array($nowDate, $maturityTime));
  20. } else {
  21. $condition['userProduct_maturityTime'] = array('<', $nowDate);
  22. }
  23. }
  24. $userProduct = model('Userproduct')->getUserProduct($condition);
  25. $fatherProduct = model('product')->getProduct($condition);
  26. $productData = [];
  27. foreach ($fatherProduct as $v) {
  28. $productData[$v->product_id] = $v->product_name;
  29. }
  30. foreach ($userProduct as $key => $v) {
  31. $userProduct[$key]->fatherProduct = $productData[$v->product_pid];
  32. $userProduct[$key]->status = $nowDate > $v->userProduct_maturityTime ? '已过期' : '正常';
  33. }
  34. $this->assign('userProduct', $userProduct);
  35. $this->assign('show_page', $userProduct->render());
  36. $getRenewal = model('renewal')->getRenewal();
  37. $this->assign('renewalType', $getRenewal);
  38. return $this->fetch('index');
  39. }
  40. public function renewal()
  41. {
  42. $userId = session('user_id');
  43. $type = input('post.type');
  44. $userProduct_id = input('post.renewal_id');
  45. $product_id = input('post.product_id');
  46. $product = model('product')->getProductWhere(['product_id'=>$product_id, 'product_status'=>1]);
  47. if(!$product) {
  48. return ["msg"=>"错误:该产品已停售"];
  49. }
  50. $userInfo = model('userinfo')->getInfo($userId);
  51. switch (intval($type)) {
  52. case 1:
  53. $money = $product->product_TypeOne;
  54. break;
  55. case 2:
  56. $money = $product->product_TypeTwo;
  57. break;
  58. case 3:
  59. $money = $product->product_TypeThree;
  60. break;
  61. default:
  62. $money = $product->product_TypeFour;
  63. }
  64. if ($userInfo->userInfo_money >= $money) {
  65. $findRenewal = model('renewal')->findRenewal(['renewal_status'=>1,'renewal_identity'=>$type]);
  66. } else {
  67. return ["msg"=>"错误:您的余额不足"];
  68. }
  69. if (!$findRenewal) {
  70. return ["msg"=>"错误:该期限已不支持购买"];
  71. }
  72. $day = $findRenewal->renewal_day;
  73. $cashMoney = $userInfo->userInfo_money - $money;
  74. /*$model = model('userinfo');
  75. $model->startTrans();*/
  76. $updateUserInfo = model('userinfo')->updateInfo($userId, ['userInfo_money' => $cashMoney]);
  77. $nowDate = date('Y-m-d');
  78. $userProduct = model('Userproduct')->findUserProduct(['userProduct_id' => $userProduct_id]);
  79. $data['userProduct_dayNumber'] = $userProduct->userProduct_dayNumber + $day;
  80. $data['userproduct_identity'] = OrderID();
  81. $data['userProduct_buyTime'] = $nowDate;
  82. /*if ($userProduct->userProduct_maturityTime > $nowDate) {
  83. $data['userProduct_maturityTime'] = date('Y-m-d', strtotime(intval($day) . " day", strtotime($userProduct->userProduct_maturityTime)));
  84. } else {
  85. $data['userProduct_maturityTime'] = date('Y-m-d', strtotime(intval($day) . " day", $nowDate));
  86. }*/
  87. $updateUserProduct = model('Userproduct')->updateUserProduct(['userProduct_id' => $userProduct_id], $data);
  88. // 提交事务
  89. if ($updateUserInfo && $updateUserProduct) {
  90. /*$model->commit();*/
  91. return ["msg" => "续费成功"];
  92. } else {
  93. // 回滚事务
  94. /*$model->rollBack();*/
  95. return ["msg" => "操作失败"];
  96. }
  97. }
  98. }
  99. ?>