Goodup.php 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294
  1. <?php
  2. namespace app\admin\controller;
  3. use app\BaseController;
  4. use think\App;
  5. use think\facade\Db;
  6. class Goodup extends BaseController
  7. {
  8. public $post="";
  9. public function __construct(App $app)
  10. {
  11. parent::__construct($app);
  12. $this->post=$this->request->post();
  13. }
  14. public function list(){
  15. $page = isset($this->post['page']) && $this->post['page'] !==""? intval($this->post['page']):"1";
  16. $size = isset($this->post['size']) && $this->post['size'] !==""? intval($this->post['size']):"10";
  17. $where =[["is_del","=",0]];
  18. $cat_id = isset($this->post['cat_id']) && $this->post['cat_id'] !=="" ? trim($this->post['cat_id']):"";
  19. if($cat_id!==""){
  20. $where[]=['cat_id',"=",$cat_id];
  21. }
  22. $good_name = isset($this->post['good_name']) && $this->post['good_name'] !=="" ? trim($this->post['good_name']):"";
  23. if($good_name!==""){
  24. $where[]=['good_name',"like","$good_name"];
  25. }
  26. $good_code = isset($this->post['good_code']) && $this->post['good_code'] !=="" ? trim($this->post['good_code']):"";
  27. if($good_code!==""){
  28. $where [] = ['good_code',"like",$good_code];
  29. }
  30. $start = isset($this->post['start']) && $this->post['start']!=="" ? $this->post['start']:"";
  31. if($start!==""){
  32. $where[]=['addtime',">=",date('Y-m-d H:i:s',strtotime($start))];
  33. }
  34. $end = isset($this->post['end']) && $this->post['end']!=="" ? $this->post['end']:"";
  35. if($end!==""){
  36. $where[]=['addtime',"<",date('Y-m-d H:i:s',strtotime($end)+24*3600)];
  37. }
  38. $count = Db::name('good_basic')->where($where)->count();
  39. $total = ceil($count / $size);
  40. $page = $page >= $total ? $total : $page;
  41. $list = Db::name('good_basic')->where($where)->page($page,$size)->order("addtime desc")->select();
  42. return app_show(0,"获取成功",['list'=>$list,'count'=>$count]);
  43. }
  44. public function create(){
  45. $good_name= isset($this->post['good_name'])&&$this->post['good_name']!="" ? trim($this->post['good_name']):"";
  46. if($good_name==""){
  47. return error_show(1004,"商品名称不能为空");
  48. }
  49. $cat_id = isset($this->post['cat_id'])&&$this->post['cat_id']!=""? intval($this->post['cat_id']):"";
  50. if($cat_id==''){
  51. return error_show(1004,"商品分类不能为空");
  52. }
  53. $brandid = isset($this->post['brandid'])&&$this->post['brandid']!=""? intval($this->post['brandid']):"";
  54. if($brandid==''){
  55. return error_show(1004,"商品品牌不能为空");
  56. }
  57. $unit = isset($this->post['unit'])&&$this->post['unit']!=""? trim($this->post['unit']):"";
  58. if($unit==''){
  59. return error_show(1004,"商品单位不能为空");
  60. }
  61. $good_type = isset($this->post['good_type'])&&$this->post['good_type']!=""? intval($this->post['good_type']):"";
  62. if($good_type==''){
  63. return error_show(1004,"参数good_type不能为空");
  64. }
  65. $moq = isset($this->post['moq'])&&$this->post['moq']!=""? trim($this->post['moq']):"";
  66. if($moq==''){
  67. return error_show(1004,"商品起订量不能为空");
  68. }
  69. $is_exclusive = isset($this->post['is_exclusive'])&&$this->post['is_exclusive']!==""? intval($this->post['is_exclusive']):"";
  70. if($is_exclusive===''){
  71. return error_show(1004,"参数is_exclusive不能为空");
  72. }
  73. $customized = isset($this->post['customized'])&&$this->post['customized']!==""? intval($this->post['customized']):"";
  74. if($customized===''){
  75. return error_show(1004,"参数customized不能为空");
  76. }
  77. $tax = isset($this->post['tax'])&&$this->post['tax']!==""? intval($this->post['tax']):"";
  78. if($tax===''){
  79. return error_show(1004,"参数tax不能为空");
  80. }
  81. $supplierNo = isset($this->post['supplierNo'])&&$this->post['supplierNo']!=""? trim($this->post['supplierNo']):"";
  82. if($supplierNo==''){
  83. return error_show(1004,"参数supplierNo不能为空");
  84. }
  85. $is_auth = isset($this->post['is_auth'])&&$this->post['is_auth']!==""? intval($this->post['is_auth']):"";
  86. if($is_auth===''){
  87. return error_show(1004,"参数is_auth不能为空");
  88. }
  89. $auth_img = isset($this->post['auth_img'])&&$this->post['auth_img']!=""? trim($this->post['auth_img']):"";
  90. // if($auth_img==''){
  91. // return error_show(1004,"商品不能为空");
  92. // }
  93. $after_sales = isset($this->post['after_sales'])&&$this->post['after_sales']!=""? trim($this->post['after_sales']):"";
  94. if($after_sales==""){
  95. return error_show(1004,"参数after_sales不能为空");
  96. }
  97. $craft_desc = isset($this->post['craft_desc'])&&$this->post['craft_desc']!=""? trim($this->post['craft_desc']):"";
  98. $good_remark = isset($this->post['good_remark'])&&$this->post['good_remark']!=""? trim($this->post['good_remark']):"";
  99. if($good_remark===""){
  100. return error_show(1004,"参数good_remark不能为空");
  101. }
  102. $weight = isset($this->post['weight'])&&$this->post['weight']!==""? floatval($this->post['weight']):"";
  103. if($weight===""){
  104. return error_show(1004,"参数weight不能为空");
  105. }
  106. $packing_way = isset($this->post['packing_way'])&&$this->post['packing_way']!==""? trim($this->post['packing_way'])
  107. :"";
  108. if($packing_way===""){
  109. return error_show(1004,"参数packing_way不能为空");
  110. }
  111. $packing_size = isset($this->post['packing_size'])&&$this->post['packing_size']!==""? trim($this->post['packing_size']):"";
  112. if($packing_size===""){
  113. return error_show(1004,"参数packing_size不能为空");
  114. }
  115. $packing_spec = isset($this->post['packing_spec'])&&$this->post['packing_spec']!==""? trim($this->post['packing_spec']):"";
  116. if($packing_spec===""){
  117. return error_show(1004,"参数packing_spec不能为空");
  118. }
  119. $packing_weight = isset($this->post['packing_weight'])&&$this->post['packing_weight']!==""? floatval($this->post['packing_weight']):"";
  120. if($packing_weight===""){
  121. return error_show(1004,"参数packing_weight不能为空");
  122. }
  123. $packing_list = isset($this->post['packing_list'])&&$this->post['packing_list']!==""? trim($this->post['packing_list']):"";
  124. if($packing_list===""){
  125. return error_show(1004,"参数packing_list不能为空");
  126. }
  127. $good_bar = isset($this->post['good_bar'])&&$this->post['good_bar']!==""? trim($this->post['good_bar']):"";
  128. $supply_area = isset($this->post['supply_area'])&&$this->post['supply_area']!==""? trim($this->post['supply_area']):"";
  129. if($supply_area===""){
  130. return error_show(1004,"参数supply_area不能为空");
  131. }
  132. $delivery_place = isset($this->post['delivery_place'])&&$this->post['delivery_place']!==""? trim($this->post['delivery_place']):"";
  133. if($delivery_place===""){
  134. return error_show(1004,"参数delivery_place不能为空");
  135. }
  136. $origin_place = isset($this->post['origin_place'])&&$this->post['origin_place']!==""? trim($this->post['origin_place']):"";
  137. if($origin_place===""){
  138. return error_show(1004,"参数origin_place不能为空");
  139. }
  140. $delivery_day = isset($this->post['delivery_day'])&&$this->post['delivery_day']!==""? intval($this->post['delivery_day']):"";
  141. if($delivery_day===""){
  142. return error_show(1004,"参数delivery_day不能为空");
  143. }
  144. $lead_time = isset($this->post['lead_time'])&&$this->post['lead_time']!==""? intval($this->post['lead_time'])
  145. :"0";
  146. // if($lead_time===""){
  147. // return error_show(1004,"参数lead_time不能为空");
  148. // }
  149. $sample_day = isset($this->post['sample_day'])&&$this->post['sample_day']!==""? intval($this->post['sample_day']):"0";
  150. // if($sample_day===""){
  151. // return error_show(1004,"参数sample_day不能为空");
  152. // }
  153. $sample_fee = isset($this->post['sample_fee'])&&$this->post['sample_fee']!==""? floatval($this->post['sample_fee']):"0";
  154. $is_stock = isset($this->post['is_stock'])&&$this->post['is_stock']!==""? intval($this->post['is_stock']):"";
  155. if($is_stock===""){
  156. return error_show(1004,"参数is_stock不能为空");
  157. }
  158. $good_img = isset($this->post['good_img'])&&$this->post['good_img']!==""? trim($this->post['good_img']):"";
  159. if($good_img===""){
  160. return error_show(1004,"参数good_img不能为空");
  161. }
  162. $good_thumb_img = isset($this->post['good_thumb_img'])&&$this->post['good_thumb_img']!==""? trim($this->post['good_thumb_img']):"";
  163. if($good_thumb_img===""){
  164. return error_show(1004,"参数good_thumb_img不能为空");
  165. }
  166. $good_info_img = isset($this->post['good_info_img'])&&!empty($this->post['good_info_img'])? $this->post['good_info_img']:"";
  167. if($good_info_img===""){
  168. return error_show(1004,"参数good_info_img不能为空");
  169. }
  170. $cert_fee = isset($this->post['cert_fee'])&&$this->post['cert_fee']!==""? floatval($this->post['cert_fee']):"0";
  171. $packing_fee = isset($this->post['packing_fee'])&&$this->post['packing_fee']!==""? floatval($this->post['packing_fee']):"0";
  172. $cost_fee = isset($this->post['cost_fee'])&&$this->post['cost_fee']!==""? floatval($this->post['cost_fee']):"0";
  173. $mark_fee = isset($this->post['mark_fee'])&&$this->post['mark_fee']!==""? floatval($this->post['mark_fee']):"0";
  174. $demo_fee = isset($this->post['demo_fee'])&&$this->post['demo_fee']!==""? floatval($this->post['demo_fee']):"0";
  175. $open_fee = isset($this->post['open_fee'])&&$this->post['open_fee']!==""? floatval($this->post['open_fee']):"0";
  176. $noble_metal = isset($this->post['noble_metal'])&&$this->post['noble_metal']!==""? intval($this->post['noble_metal']):"0";
  177. $noble_weight = isset($this->post['noble_weight'])&&$this->post['noble_weight']!==""? floatval($this->post['noble_weight']):"0";
  178. $is_gold_price= isset($this->post['is_gold_price'])&&$this->post['is_gold_price']!==""? intval($this->post['is_gold_price']):"0";
  179. $market_price = isset($this->post['market_price'])&&$this->post['market_price']!==""? floatval($this->post['market_price']):"";
  180. if($market_price===""){
  181. return error_show(1004,"参数market_price不能为空");
  182. }
  183. $nake_price = isset($this->post['nake_price'])&&$this->post['nake_price']!==""? floatval($this->post['nake_price']):"";
  184. if($nake_price===""){
  185. return error_show(1004,"参数nake_price不能为空");
  186. }
  187. $is_step = isset($this->post['is_step'])&&$this->post['is_step']!==""? intval($this->post['is_step']):"";
  188. if($is_step===""){
  189. return error_show(1004,"参数is_step不能为空");
  190. }
  191. $speclist = isset($this->post['speclist'])&&!empty($this->post['speclist'])? $this->post['speclist']:"";
  192. $spucode=makeNo("SPU");
  193. Db::startTrans();
  194. try {
  195. $data=[
  196. "spuCode"=>$spucode,
  197. "good_code"=>'',
  198. "good_name"=>$good_name,
  199. "cat_id"=>$cat_id,
  200. 'brand_id'=>$brandid,
  201. "good_unit"=>$unit,
  202. "good_type"=>$good_type,
  203. "moq"=>$moq,
  204. "is_exclusive"=>$is_exclusive,
  205. "customized"=>$customized,
  206. "tax"=>$tax,
  207. "supplierNo"=>$supplierNo,
  208. "is_auth"=>$is_auth,
  209. "auth_img"=>$auth_img,
  210. "after_sales"=>$after_sales,
  211. "craft_desc"=>$craft_desc,
  212. "good_remark"=>$good_remark,
  213. "weight"=>$weight,
  214. "packing_way"=>$packing_way,
  215. "packing_size"=>$packing_size,
  216. "packing_spec"=>$packing_spec,
  217. "packing_list"=>$packing_list,
  218. "packing_weight"=>$packing_weight,
  219. "good_bar"=>$good_bar,
  220. "supply_area"=>$supply_area,
  221. "delivery_place"=>$delivery_place,
  222. "origin_place"=>$origin_place,
  223. "delivery_day"=>$delivery_day,
  224. "lead_time"=>$lead_time,
  225. "sample_day"=>$sample_day,
  226. "sample_fee"=>$sample_fee,
  227. "good_img"=>$good_img,
  228. "good_thumb_img"=>$good_thumb_img,
  229. "good_info_img"=>$good_info_img,
  230. "cert_fee"=>$cert_fee,
  231. "packing_fee"=>$packing_fee,
  232. "cost_fee"=>$cost_fee,
  233. "mark_fee"=>$mark_fee,
  234. "demo_fee"=>$demo_fee,
  235. "open_fee"=>$open_fee,
  236. "noble_metal"=>$noble_metal,
  237. "noble_weight"=>$noble_weight,
  238. "is_gold_price"=>$is_gold_price,
  239. "market_price"=>$market_price,
  240. "nake_price"=>$nake_price,
  241. "is_step"=>$is_step,
  242. "is_online"=>0,
  243. "status"=>0,
  244. "createrid"=>0,
  245. "creater"=>"",
  246. "addtime"=>date("Y-m-d H:i:s"),
  247. "updatetime"=>date("Y-m-d H:i:s")
  248. ];
  249. $in = Db::name("good_basic")->insert($data);
  250. if($in){
  251. if($speclist!=="" && !empty($speclist)){
  252. $temp=[];
  253. foreach ($speclist as $value){
  254. $lemp=[];
  255. $lemp['spuCode']=$spucode;
  256. $lemp['spec_id'] = $value['spec_id'];
  257. $lemp['spec_value_id'] = $value['spec_value_id'];
  258. $lemp['addtime'] = date("Y-m-d H:i:s");
  259. $lemp['updatetime'] =date("Y-m-d H:i:s");
  260. $temp[]=$lemp;
  261. }
  262. $count = Db::name("good_spec")->insertAll($temp);
  263. if($count!=0){
  264. Db::commit();
  265. return app_show(0,"创建成功",["spuCode"=>$spucode]);
  266. }else{
  267. Db::rollback();
  268. return app_show(1004,"商品规格值创建失败");
  269. }
  270. }else{
  271. Db::commit();
  272. return app_show(0,"创建成功",["spuCode"=>$spucode]);
  273. }
  274. }else{
  275. Db::rollback();
  276. return app_show(1004,"商品创建失败");
  277. }
  278. }catch (\Exception $e){
  279. Db::rollback();
  280. return app_show(1004,$e->getMessage());
  281. }
  282. }
  283. }