Offpayarea.php 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <?php
  2. namespace app\common\model;
  3. use think\facade\Db;
  4. /**
  5. * ============================================================================
  6. * DSMall多用户商城
  7. * ============================================================================
  8. * 版权所有 2014-2028 长沙德尚网络科技有限公司,并保留所有权利。
  9. * 网站地址: http://www.csdeshang.com
  10. * ----------------------------------------------------------------------------
  11. * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用 .
  12. * 不允许对程序代码以任何形式任何目的的再发布。
  13. * ============================================================================
  14. * 数据层模型
  15. */
  16. class Offpayarea extends BaseModel
  17. {
  18. /**
  19. * 增加某店铺设置
  20. * @access public
  21. * @author csdeshang
  22. * @param array $data 参数内容
  23. * @return bool
  24. */
  25. public function addOffpayarea($data)
  26. {
  27. return Db::name('offpayarea')->insert($data);
  28. }
  29. /**
  30. * 取得某店铺设置
  31. * @access public
  32. * @author csdeshang
  33. * @param array $condition 条件
  34. * @return array
  35. */
  36. public function getOffpayareaInfo($condition)
  37. {
  38. return Db::name('offpayarea')->where($condition)->find();
  39. }
  40. /**
  41. * 更新某店铺设置
  42. * @access public
  43. * @author csdeshang
  44. * @param array $condition 条件
  45. * @param array $data 数据
  46. * @return bool
  47. */
  48. public function editOffpayarea($condition, $data)
  49. {
  50. return Db::name('offpayarea')->where($condition)->update($data);
  51. }
  52. /**
  53. * 某县级地区是否支持货到付款
  54. * @access public
  55. * @author csdeshang
  56. * @param int $area_id 地区ID
  57. * @param int $store_id 店铺ID(目前只会传平台店铺)
  58. * @return bool
  59. */
  60. public function checkSupportOffpay($area_id, $store_id)
  61. {
  62. if (empty($area_id)) return false;
  63. $area = $this->getOffpayareaInfo(array('store_id' => $store_id));
  64. if (!empty($area['area_id'])) {
  65. $area_id_array = unserialize($area['area_id']);
  66. } else {
  67. $area_id_array = array();
  68. }
  69. if (empty($area_id_array)) {
  70. $area_id_array = array();
  71. }
  72. return in_array($area_id, $area_id_array) ? true : false;
  73. }
  74. /**
  75. * 某县级地区是否支持货到付款(多个店铺)
  76. * @access public
  77. * @author csdeshang
  78. * @param int $area_id 地区ID
  79. * @param array $store_ids 店铺IDs
  80. * @return array
  81. */
  82. public function checkSupportOffpayBatch($area_id, array $store_ids)
  83. {
  84. if (empty($area_id))
  85. return array_fill($store_ids, false);
  86. $area = Db::name('offpayarea')->where('store_id','in',$store_ids)->select()->toArray();
  87. $area = ds_change_arraykey($area, 'store_id');
  88. $ret = array();
  89. foreach ($store_ids as $sid) {
  90. $ret[$sid] = false;
  91. if (empty($area[$sid]['area_id']))
  92. continue;
  93. $area_id_array = unserialize($area[$sid]['area_id']);
  94. if (!is_array($area_id_array))
  95. continue;
  96. if (!in_array($area_id, $area_id_array))
  97. continue;
  98. $ret[$sid] = true;
  99. }
  100. return $ret;
  101. }
  102. }