CardStock.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com
  8. * =========================================================
  9. */
  10. namespace addon\giftcard\model;
  11. use app\model\BaseModel;
  12. use think\facade\Db;
  13. /**
  14. * 库存 销量
  15. */
  16. class CardStock extends BaseModel
  17. {
  18. /**
  19. * 增加库存 减少销量
  20. * @param $param
  21. */
  22. public function incStock($param)
  23. {
  24. $condition = array (
  25. [ "id", "=", $param[ "card_id" ] ]
  26. );
  27. $num = $param[ "num" ];
  28. $card_info = model("giftcard")->getInfo($condition, "id,card_count,card_name");
  29. if (empty($card_info))
  30. return $this->error(-1, $card_info[ "card_name" ] . "不存在!");
  31. //编辑库存 销量
  32. model("giftcard")->setInc($condition, "card_count", $num);
  33. model("giftcard")->setDec($condition, "sale_num", $num);
  34. return $this->success();
  35. }
  36. /**
  37. * 判断库存
  38. * @param $param
  39. */
  40. public function checkStock($param)
  41. {
  42. $num = $param[ "num" ];
  43. $condition = array (
  44. [ "id", "=", $param[ "card_id" ] ]
  45. );
  46. $card_info = Db::name("giftcard")->where($condition)->field("id,card_count,card_name")->lock(true)->find();
  47. if (empty($card_info)) {
  48. return $this->error();
  49. }
  50. if ($card_info[ "card_count" ] < $num) {
  51. return $this->error('', $card_info[ "card_name" ] . "库存不足!");
  52. }
  53. return $this->success();
  54. }
  55. /**
  56. * 减少库存
  57. * @param $param
  58. */
  59. public function decStock($param)
  60. {
  61. $num = $param[ "num" ];
  62. $condition = array (
  63. [ "id", "=", $param[ "card_id" ] ]
  64. );
  65. $card_info = Db::name("giftcard")->where($condition)->field("id,card_count,card_name")->lock(true)->find();
  66. if (empty($card_info)) {
  67. return $this->error();
  68. }
  69. if ($card_info[ "card_count" ] < $num) {
  70. return $this->error('', $card_info[ "card_name" ] . "库存不足!");
  71. }
  72. //编辑库存 销量
  73. model("giftcard")->setDec($condition, "card_count", $num);
  74. model("giftcard")->setInc($condition, "sale_num", $num);
  75. return $this->success();
  76. }
  77. }