Membervoucher.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. <?php
  2. namespace app\api\controller;
  3. use think\facade\Lang;
  4. /**
  5. * ============================================================================
  6. *
  7. * ============================================================================
  8. *
  9. * ----------------------------------------------------------------------------
  10. *
  11. * ============================================================================
  12. * 代金券控制器
  13. */
  14. class Membervoucher extends MobileMember
  15. {
  16. public function initialize()
  17. {
  18. parent::initialize(); // TODO: Change the autogenerated stub
  19. Lang::load(base_path() . 'home/lang/' . config('lang.default_lang') . '/voucher.lang.php');
  20. }
  21. /**
  22. * @api {POST} api/Membervoucher/voucher_list 代金卷列表
  23. * @apiVersion 1.0.0
  24. * @apiGroup MemberVoucher
  25. *
  26. * @apiHeader {String} X-DS-KEY 用户授权token
  27. *
  28. * @apiSuccess {String} code 返回码,10000为成功
  29. * @apiSuccess {String} message 返回消息
  30. * @apiSuccess {Object} result 返回数据
  31. * @apiSuccess {Object[]} result.voucher_list 代金卷列表 (返回字段参考voucher表、store表、vouchertemplate表)
  32. * @apiSuccess {Int} result.page_total 总页数
  33. * @apiSuccess {Boolean} result.hasmore 是否有更多 true是false否
  34. */
  35. public function voucher_list()
  36. {
  37. $voucher_model = model('voucher');
  38. $voucher_state = !empty(input('post.voucher_state')) ? input('post.voucher_state') : '';
  39. $voucher_list = $voucher_model->getMemberVoucherList($this->member_info['member_id'], $voucher_state, $this->pagesize);
  40. $result = array_merge(array('voucher_list' => $voucher_list), mobile_page($voucher_model->page_info));
  41. ds_json_encode(10000, '', $result);
  42. }
  43. /**
  44. * @api {POST} api/Membervoucher/voucher_private 私密代金券
  45. * @apiVersion 1.0.0
  46. * @apiGroup MemberVoucher
  47. *
  48. * @apiHeader {String} X-DS-KEY 用户授权token
  49. *
  50. * @apiSuccess {String} code 返回码,10000为成功
  51. * @apiSuccess {String} message 返回消息
  52. * @apiSuccess {Object} result 返回数据
  53. * @apiSuccess {Object[]} result.voucher_private 代金卷列表 (返回字段参考voucher表、store表、vouchertemplate表)
  54. * @apiSuccess {Int} result.page_total 总页数
  55. * @apiSuccess {Boolean} result.hasmore 是否有更多 true是false否
  56. */
  57. public function voucher_private()
  58. {
  59. $voucher_model = model('voucher');
  60. $condition = array();
  61. $condition[] = array('vouchertemplate_id', '=', input('post.vouchertemplate_id'));
  62. $condition[] = array('vouchertemplate_if_private', '=', 1);
  63. $vouchertemplate_info = $voucher_model->getVouchertemplateInfo($condition);
  64. if (!empty($vouchertemplate_info)) {
  65. $vouchertemplate_info['vouchertemplate_startdate'] = date('Y.m.d', $vouchertemplate_info['vouchertemplate_startdate']);
  66. $vouchertemplate_info['vouchertemplate_enddate'] = date('Y.m.d', $vouchertemplate_info['vouchertemplate_enddate']);
  67. $result['vouchertemplate_info'] = $vouchertemplate_info;
  68. ds_json_encode(10000, '', $result);
  69. } else {
  70. ds_json_encode(10001, lang('param_error'));
  71. }
  72. }
  73. /**
  74. * @api {POST} api/Membervoucher/voucher_point 代金券领取
  75. * @apiVersion 1.0.0
  76. * @apiGroup MemberVoucher
  77. *
  78. * @apiHeader {String} X-DS-KEY 用户授权token
  79. *
  80. * @apiParam {String} tid 代金券模板id
  81. *
  82. * @apiSuccess {String} code 返回码,10000为成功
  83. * @apiSuccess {String} message 返回消息
  84. * @apiSuccess {Object} result 返回数据
  85. */
  86. public function voucher_point()
  87. {
  88. $vid = intval(input('post.tid'));
  89. if ($vid <= 0) {
  90. ds_json_encode(10001, lang('param_error'));
  91. }
  92. $voucher_model = model('voucher');
  93. //验证是否可以兑换代金券
  94. $data = $voucher_model->getCanChangeTemplateInfo($vid, $this->member_info['member_id'], $this->member_info['store_id']);
  95. if ($data['state'] == false) {
  96. ds_json_encode(10001, $data['msg']);
  97. }
  98. //添加代金券信息
  99. $data = $voucher_model->exchangeVoucher($data['info'], $this->member_info['member_id'], $this->member_info['member_name']);
  100. if ($data['state'] == true) {
  101. ds_json_encode(10000, $data['msg'], 1);
  102. } else {
  103. ds_json_encode(10001, $data['msg']);
  104. }
  105. }
  106. }