12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043 |
- <?php
- namespace app\abutment\controller;
- use app\admin\model\ActionLog;
- use app\admin\model\ChangeLog;
- use app\admin\model\ProcessOrder;
- use app\BaseController;
- use think\facade\Db;
- //商品模块
- class Good extends BaseController
- {
- //获取商品列表
- public function list()
- {
- $this->post = $this->request->filter('trim')->post();
- $page = isset($this->post['page']) && $this->post['page'] !== "" ? intval($this->post['page']) : "1";
- $size = isset($this->post['size']) && $this->post['size'] !== "" ? intval($this->post['size']) : "10";
- $where = [["gb.is_del", "=", 0]];
- $condit = [["a.is_del", "=", 0]];
- $cat_id = isset($this->post['cat_id']) && $this->post['cat_id'] !== "" ? intval($this->post['cat_id']) : "";
- if ($cat_id !== "") {
- $cat_ids = catChild($cat_id);
- $where[] = ['gb.cat_id', "in", $cat_ids];
- $condit[] = ['a.cat_id', "in", $cat_ids];
- }
- $good_name = isset($this->post['good_name']) && $this->post['good_name'] !== "" ? trim($this->post['good_name']) : "";
- if ($good_name !== "") {
- $where[] = ['gb.good_name', "like", "%$good_name%"];
- $condit[] = ['a.good_name', "like", "%$good_name%"];
- }
- $spucode = isset($this->post['spucode']) && $this->post['spucode'] !== "" ? trim($this->post['spucode']) : "";
- if ($spucode !== "") {
- $where[] = ['gb.spuCode', "like", "%$spucode%"];
- $condit[] = ['a.spuCode', "like", "%$spucode%"];
- }
- $good_type = isset($this->post['good_type']) && $this->post['good_type'] !== "" ? trim($this->post['good_type']) : "";
- if ($good_type !== "") {
- $where[] = ['gb.good_type', "=", $good_type];
- $condit[] = ['a.good_type', "=", $good_type];
- }
- $companyNo = isset($this->post['companyNo']) && $this->post['companyNo'] !== "" ? trim($this->post['companyNo']) : "";
- if ($companyNo !== "") {
- $where[] = ['gb.companyNo', "like", "%$companyNo%"];
- $condit[] = ['a.companyNo', "like", "%$companyNo%"];
- }
- $supplierNo = isset($this->post['supplierNo']) && $this->post['supplierNo'] !== "" ? trim($this->post['supplierNo']) : "";
- if ($supplierNo !== "") {
- $where[] = ['gb.supplierNo', "like", "%$supplierNo%"];
- $condit[] = ['a.supplierNo', "like", "%$supplierNo%"];
- }
- $supplier = isset($this->post['supplier']) && $this->post['supplier'] !== "" ? trim($this->post['supplier']) : "";
- if ($supplier !== "") {
- $suppliernos = Db::name("supplier")->where([["name", "like", "%$supplier%"]])->column("code");
- $where[] = ['gb.supplierNo', "in", $suppliernos];
- $condit[] = ['a.supplierNo', "in", $suppliernos];
- }
- $company = isset($this->post['company']) && $this->post['company'] !== "" ? trim($this->post['company']) : "";
- if ($company !== "") {
- $companyNos = Db::name("business")->where([["company", "like", "%$company%"]])->column("companyNo");
- $where[] = ['gb.companyNo', "in", $companyNos];
- $condit[] = ['a.companyNo', "in", $companyNos];
- }
- $brandid = isset($this->post['brandid']) && $this->post['brandid'] !== "" ? intval($this->post['brandid']) : "";
- if ($brandid !== "") {
- $where[] = ['gb.brand_id', "=", $brandid];
- $condit[] = ['a.brand_id', "=", $brandid];
- }
- $status = isset($this->post['status']) && $this->post['status'] !== "" ? intval($this->post['status']) : "";
- if ($status !== "") {
- $where[] = ['gb.status', "=", $status];
- $condit[] = ['a.status', "=", $status];
- }
- $is_stock = isset($this->post['is_stock']) && $this->post['is_stock'] !== "" ? intval($this->post['is_stock']) : '';
- if ($is_stock !== '') {
- $where[] = ['gb.is_stock', "=", $is_stock];
- }
- $start = isset($this->post['start']) && $this->post['start'] !== "" ? $this->post['start'] : "";
- if ($start !== "") {
- $where[] = ['gb.addtime', ">=", date('Y-m-d H:i:s', strtotime($start))];
- $condit[] = ['a.addtime', ">=", date('Y-m-d H:i:s', strtotime($start))];
- }
- $end = isset($this->post['end']) && $this->post['end'] !== "" ? $this->post['end'] : "";
- if ($end !== "") {
- $where[] = ['gb.addtime', "<", date('Y-m-d H:i:s', strtotime($end) + 24 * 3600)];
- $condit[] = ['a.addtime', "<", date('Y-m-d H:i:s', strtotime($end) + 24 * 3600)];
- }
- $isonline = isset($this->post['isonline']) && $this->post['isonline'] !== "" ? $this->post['isonline'] : "";
- if ($isonline !== "") {
- $condit[] = ['b.exam_status', "=", 6];
- // if($isonline==1){
- // $condit[] =['b.exam_status',"=",6];
- // }else{
- // $condit[] =['b.exam_status',"<>",6];
- // }
- $sta = Db::name("good_basic")
- ->alias("a")
- ->leftJoin("good_platform b", "a.spuCode=b.spuCode")
- ->where($condit)
- ->group("a.spuCode")
- ->column('a.spuCode');
- if ($isonline == 1) $where[] = ["gb.spuCode", "in", $sta];
- else $where[] = ["gb.spuCode", "not in", $sta];
- }
- // $token = isset($this->post['token']) ? trim($this->post['token']) : "";
- // if($token==""){
- // return json_show(101,'token不能为空');
- // }
- // $apply_id =GetUserInfo($token);
- // if(empty($apply_id)||$apply_id['code']!=0){
- // return json_show(102,"申请人数据不存在");
- // }
- $rm = $this->request->user['uid'];//isset($apply_id["data"]['id']) ? $apply_id["data"]['id'] : "";
- $where[] = ['gb.createrid', "=", $rm];
- // if($rm!=''){
- // $useinfo = Db::name("user_role")->where(['uid'=>$rm,"status"=>1,"is_del"=>0])->find();
- // if($useinfo==false){
- // return json_show(1002,"未找到用户角色权限");
- // }
- // $check = checkRole($useinfo['roleid'],115);
- // if($check){
- // $where[]=['gb.createrid', "=" ,$rm];
- // }
- // }
- // $role=$this->checkRole();
- // if(!empty($role['write'])){
- // $where[]=["gb.createrid","in",$role['write']];
- // }
- $company_name = isset($this->post['company_name']) && $this->post['company_name'] !== "" ? trim($this->post['company_name']) : "";
- if ($company_name !== "") $where[] = ["gb.createrid", 'in', get_company_item_user_by_name($company_name)];
- $count = Db::name('good_basic')->alias('gb')->where($where)->count();
- $total = ceil($count / $size);
- $page = $page >= $total ? $total : $page;
- $list = Db::name('good_basic')
- ->alias('gb')
- ->field('gb.*,u.itemid')
- ->leftJoin("depart_user u", "u.uid=gb.createrid AND u.is_del=0")
- ->where($where)
- ->page($page, $size)
- ->order("addtime desc")
- ->select()
- ->toArray();
- $data = [];
- //查询一下这些spucode是否在平台上成功上线
- $exam_statuss = Db::name('good_platform')
- ->whereIn('spuCode', array_column($list, 'spuCode'))
- ->where(['is_del' => 0, 'exam_status' => 6])//exam_status==6表示上线审核成功
- ->column('id', 'spuCode');
- $exam_status_yz = Db::name('platform_youzan')
- ->whereIn('spuCode', array_column($list, 'spuCode'))
- ->where(['is_del' => 0, 'exam_status' => 6])//exam_status==6表示上线审核成功
- ->column('id', 'spuCode');
- foreach ($list as $value) {
- $value["cat_info"] = made($value['cat_id'], []);
- $brand = Db::name("brand")->where(["id" => $value['brand_id']])->find();
- $value["brand_name"] = isset($brand['brand_name']) ? $brand['brand_name'] : "";
- $unit = Db::name("unit")->where(["id" => $value['good_unit']])->find();
- $value['unit'] = isset($unit['unit']) ? $unit['unit'] : "";
- $company = Db::name("business")->where(["companyNo" => $value['companyNo']])->find();
- $value['company'] = isset($company['company']) ? $company['company'] : "";
- $supplier = Db::name("supplier")->where(['code' => $value['supplierNo']])->find();
- $value['supplier_name'] = isset($supplier['name']) ? $supplier['name'] : "";
- $value['exclusive'] = makeExcluse($value['is_exclusive']);
- $value['noble_name'] = isset($value['noble_metal']) && $value['noble_metal'] != 0 ? $this->noble[$value['noble_metal']] : "";
- //如果一个spucode在任意平台上线,那么就视为它上线,即手动把它的is_online值改为1
- if (isset($exam_statuss[$value['spuCode']]) || isset($exam_status_yz[$value['spuCode']])) $value['is_online'] = 1;
- $value['company_name'] = implode('/', array_column(GetPart($value['itemid']), 'name'));
- $data[] = $value;
- }
- return json_show(0, "获取成功", ['list' => $data, 'count' => $count]);
- }
- //创建商品
- public function createGood()
- {
- $this->post = $this->request->filter('trim')->post();
- $good_name = isset($this->post['good_name']) && $this->post['good_name'] != "" ? trim($this->post['good_name']) : "";
- if ($good_name == "") {
- return json_show(1004, "商品名称不能为空");
- }
- $cat_id = isset($this->post['cat_id']) && $this->post['cat_id'] != "" ? intval($this->post['cat_id']) : "";
- if ($cat_id == '') {
- return json_show(1004, "商品分类不能为空");
- }
- $brandid = isset($this->post['brandid']) && $this->post['brandid'] != "" ? intval($this->post['brandid']) : "";
- if ($brandid == '') {
- return json_show(1004, "商品品牌不能为空");
- }
- $unit = isset($this->post['unit']) && $this->post['unit'] != "" ? trim($this->post['unit']) : "";
- if ($unit == '') {
- return json_show(1004, "商品单位不能为空");
- }
- $good_type = isset($this->post['good_type']) && $this->post['good_type'] !== "" ? intval($this->post['good_type'])
- : "";
- if ($good_type === '') {
- return json_show(1004, "参数good_type不能为空");
- }
- $moq = 0;
- $customized = 0;
- if ($good_type == 1) {
- $moq = isset($this->post['moq']) && $this->post['moq'] !== "" ? intval($this->post['moq']) : "";
- if ($moq === '') {
- return json_show(1004, "定制商品起订量不能为空");
- }
- $customized = isset($this->post['customized']) && $this->post['customized'] !== "" ? intval($this->post['customized']) : "";
- if ($customized === '') {
- return json_show(1004, "参数customized不能为空");
- }
- }
- $is_exclusive = isset($this->post['is_exclusive']) && $this->post['is_exclusive'] !== "" ? intval($this->post['is_exclusive']) : "";
- if ($is_exclusive === '') {
- return json_show(1004, "参数is_exclusive不能为空");
- }
- $tax = isset($this->post['tax']) && $this->post['tax'] !== "" ? intval($this->post['tax']) : "";
- if ($tax === '') {
- return json_show(1004, "参数tax不能为空");
- }
- $supplierNo = isset($this->post['supplierNo']) && $this->post['supplierNo'] != "" ? trim($this->post['supplierNo']) : "";
- if ($supplierNo == '') {
- return json_show(1004, "参数supplierNo不能为空");
- }
- $good_size = isset($this->post['good_size']) && $this->post['good_size'] != "" ? trim($this->post['good_size']) : "";
- if ($good_size == '') {
- return json_show(1004, "参数good_size不能为空");
- }
- $company_id = isset($this->post['company_id']) && $this->post['company_id'] != "" ? trim($this->post['company_id']) : "";
- if ($company_id == '') {
- return json_show(1004, "参数company_id不能为空");
- }
- $is_auth = isset($this->post['is_auth']) && $this->post['is_auth'] !== "" ? intval($this->post['is_auth']) : "";
- if ($is_auth === '') {
- return json_show(1004, "参数is_auth不能为空");
- }
- $auth_img = isset($this->post['auth_img']) && $this->post['auth_img'] != "" ? trim($this->post['auth_img']) : "";
- // if($auth_img==''){
- // return json_show(1004,"商品不能为空");
- // }
- $after_sales = isset($this->post['after_sales']) && $this->post['after_sales'] != "" ? trim($this->post['after_sales']) : "";
- if ($after_sales == "") {
- return json_show(1004, "参数after_sales不能为空");
- }
- $craft_desc = isset($this->post['craft_desc']) && $this->post['craft_desc'] != "" ? trim($this->post['craft_desc']) : "";
- $good_remark = isset($this->post['good_remark']) && $this->post['good_remark'] != "" ? trim($this->post['good_remark']) : "";
- if ($good_remark === "") {
- return json_show(1004, "参数good_remark不能为空");
- }
- $weight = isset($this->post['weight']) && $this->post['weight'] !== "" ? floatval($this->post['weight']) : "";
- if ($weight === "") {
- return json_show(1004, "参数weight不能为空");
- }
- $packing_way = isset($this->post['packing_way']) && $this->post['packing_way'] !== "" ? trim($this->post['packing_way']) : "";
- if ($packing_way === "") {
- return json_show(1004, "参数packing_way不能为空");
- }
- $packing_size = isset($this->post['packing_size']) && $this->post['packing_size'] !== "" ? trim($this->post['packing_size']) : "";
- if ($packing_size === "") {
- return json_show(1004, "参数packing_size不能为空");
- }
- $packing_spec = isset($this->post['packing_spec']) && $this->post['packing_spec'] !== "" ? trim($this->post['packing_spec']) : "";
- if ($packing_spec === "") {
- return json_show(1004, "参数packing_spec不能为空");
- }
- $packing_weight = isset($this->post['packing_weight']) && $this->post['packing_weight'] !== "" ? floatval($this->post['packing_weight']) : "";
- if ($packing_weight === "") {
- return json_show(1004, "参数packing_weight不能为空");
- }
- $packing_list = isset($this->post['packing_list']) && $this->post['packing_list'] !== "" ? trim($this->post['packing_list']) : "";
- if ($packing_list === "") {
- return json_show(1004, "参数packing_list不能为空");
- }
- $good_bar = isset($this->post['good_bar']) && $this->post['good_bar'] !== "" ? trim($this->post['good_bar']) : "";
- $supply_area = isset($this->post['supply_area']) && $this->post['supply_area'] !== "" ? intval($this->post['supply_area']) : "";
- if ($supply_area === "") {
- return json_show(1004, "参数supply_area不能为空");
- }
- $delivery_place = isset($this->post['delivery_place']) && $this->post['delivery_place'] !== "" ? trim($this->post['delivery_place']) : "";
- if ($delivery_place === "") {
- return json_show(1004, "参数delivery_place不能为空");
- }
- $origin_place = isset($this->post['origin_place']) && $this->post['origin_place'] !== "" ? trim($this->post['origin_place']) : "";
- if ($origin_place === "") {
- return json_show(1004, "参数origin_place不能为空");
- }
- $delivery_day = isset($this->post['delivery_day']) && $this->post['delivery_day'] !== "" ? intval($this->post['delivery_day']) : "";
- if ($delivery_day === "") {
- return json_show(1004, "参数delivery_day不能为空");
- }
- $lead_time = isset($this->post['lead_time']) && $this->post['lead_time'] !== "" ? intval($this->post['lead_time']) : "0";
- $cgd_gold_price = isset($this->post['cgd_gold_price']) && $this->post['cgd_gold_price'] !== "" ? floatval($this->post['cgd_gold_price']) : "0";
- // if($lead_time===""){
- // return json_show(1004,"参数lead_time不能为空");
- // }
- $sample_day = isset($this->post['sample_day']) && $this->post['sample_day'] !== "" ? intval($this->post['sample_day']) : "0";
- // if($sample_day===""){
- // return json_show(1004,"参数sample_day不能为空");
- // }
- $sample_fee = isset($this->post['sample_fee']) && $this->post['sample_fee'] !== "" ? floatval($this->post['sample_fee']) : "0";
- $is_stock = isset($this->post['is_stock']) && $this->post['is_stock'] !== "" ? intval($this->post['is_stock']) : "";
- if ($is_stock === "") {
- return json_show(1004, "参数is_stock不能为空");
- }
- // $stock_moq=0 ;//库存品备库起订量; 如果是0 表示无限制;
- $stock_moq = isset($this->post['stock_moq']) && $this->post['stock_moq'] !== "" ? intval($this->post['stock_moq']) : "0";
- if ($is_stock == 1 && $stock_moq == 0) {
- return json_show(1004, "库存品备库起订量不能为零");
- }
- $is_diff = isset($this->post['is_diff']) && $this->post['is_diff'] !== "" ? intval($this->post['is_diff']) : "0";
- $good_img = isset($this->post['good_img']) && $this->post['good_img'] != "" ? trim($this->post['good_img']) : "";
- $config = isset($this->post['config']) && $this->post['config'] !== "" ? trim($this->post['config']) : "";
- $other_config = isset($this->post['other_config']) && $this->post['other_config'] !== "" ? trim($this->post['other_config']) : "";
- if ($good_img === "") {
- return json_show(1004, "参数good_img不能为空");
- }
- $good_thumb_img = isset($this->post['good_thumb_img']) && $this->post['good_thumb_img'] !== "" ? trim($this->post['good_thumb_img']) : "";
- if ($good_thumb_img === "") {
- return json_show(1004, "参数good_thumb_img不能为空");
- }
- $good_info_img = isset($this->post['good_info_img']) && $this->post['good_info_img'] != "" ? trim($this->post['good_info_img']) : "";
- if ($good_info_img === "") {
- return json_show(1004, "参数good_info_img不能为空");
- }
- $cert_fee = isset($this->post['cert_fee']) && $this->post['cert_fee'] !== "" ? floatval($this->post['cert_fee']) : "0";
- $packing_fee = isset($this->post['packing_fee']) && $this->post['packing_fee'] !== "" ? floatval($this->post['packing_fee']) : "0";
- $cost_fee = isset($this->post['cost_fee']) && $this->post['cost_fee'] !== "" ? floatval($this->post['cost_fee']) : "0";
- $mark_fee = isset($this->post['mark_fee']) && $this->post['mark_fee'] !== "" ? floatval($this->post['mark_fee']) : "0";
- $demo_fee = isset($this->post['demo_fee']) && $this->post['demo_fee'] !== "" ? floatval($this->post['demo_fee']) : "0";
- $open_fee = isset($this->post['open_fee']) && $this->post['open_fee'] !== "" ? floatval($this->post['open_fee']) : "0";
- $noble_metal = isset($this->post['noble_metal']) && $this->post['noble_metal'] !== "" ? intval($this->post['noble_metal']) : "0";
- $noble_weight = isset($this->post['noble_weight']) && $this->post['noble_weight'] !== "" ? floatval($this->post['noble_weight']) : "0";
- $is_gold_price = isset($this->post['is_gold_price']) && $this->post['is_gold_price'] !== "" ? intval($this->post['is_gold_price']) : "0";
- $market_price = isset($this->post['market_price']) && $this->post['market_price'] !== "" ? floatval($this->post['market_price']) : "";
- if ($market_price === "") {
- return json_show(1004, "参数market_price不能为空");
- }
- $nake_price = isset($this->post['nake_price']) && $this->post['nake_price'] !== "" ? floatval($this->post['nake_price']) : "0";
- // $is_step = isset($this->post['is_step'])&&$this->post['is_step']!==""? intval($this->post['is_step']):"";
- // if($is_step===""){
- // return json_show(1004,"参数is_step不能为空");
- // }
- $speclist = isset($this->post['speclist']) && !empty($this->post['speclist']) ? $this->post['speclist'] : "";
- $good_ladder = isset($this->post['good_ladder']) && !empty($this->post['good_ladder']) ? $this->post['good_ladder'] : "";
- // if($is_step==1 && $good_ladder==""){
- // return json_show(1004,"启用阶梯,阶梯价不能为空");
- // }
- $is_support_barter = isset($this->post['is_support_barter']) && $this->post['is_support_barter'] !== "" ? intval($this->post['is_support_barter']) : 1;
- // $token = isset($this->post['token'])&& $this->post['token']!='' ? trim($this->post['token']):"";
- // if($token==''){
- // return json_show(105,"参数token不能为空");
- // }
- // $user =GetUserInfo($token);
- // if(empty($user)||$user['code']!=0){
- // return json_show(1002,"创建人数据不存在");
- // }
- $createrid = $this->request->user['uid']; //isset($user["data"]['id']) ? $user["data"]['id'] : "";
- $creater = $this->request->user['nickname'];//isset($user["data"]['nickname']) ? $user["data"]['nickname'] : "";
- $spucode = makeNo("SKU");
- Db::startTrans();
- try {
- $data = [
- "spuCode" => $spucode,
- "good_code" => '',
- "good_name" => $good_name,
- "cat_id" => $cat_id,
- 'brand_id' => $brandid,
- "good_unit" => $unit,
- "good_type" => $good_type,
- "moq" => $moq,
- "is_exclusive" => $is_exclusive,
- "customized" => $customized,
- "companyNo" => $company_id,
- "tax" => $tax,
- "supplierNo" => $supplierNo,
- "good_size" => $good_size,
- "is_auth" => $is_auth,
- "is_stock" => $is_stock,
- "auth_img" => $auth_img,
- "after_sales" => $after_sales,
- "craft_desc" => $craft_desc,
- "good_remark" => $good_remark,
- "weight" => $weight,
- "packing_way" => $packing_way,
- "packing_size" => $packing_size,
- "packing_spec" => $packing_spec,
- "packing_list" => $packing_list,
- "packing_weight" => $packing_weight,
- "good_bar" => $good_bar,
- "supply_area" => $supply_area,
- "delivery_place" => $delivery_place,
- "origin_place" => $origin_place,
- "delivery_day" => $delivery_day,
- "lead_time" => $lead_time,
- "sample_day" => $sample_day,
- "sample_fee" => $sample_fee,
- "good_img" => $good_img,
- "good_thumb_img" => $good_thumb_img,
- "good_info_img" => $good_info_img,
- "cert_fee" => $cert_fee,
- "packing_fee" => $packing_fee,
- "cost_fee" => $cost_fee,
- "mark_fee" => $mark_fee,
- "demo_fee" => $demo_fee,
- "open_fee" => $open_fee,
- "noble_metal" => $noble_metal,
- "cgd_gold_price" => $cgd_gold_price,
- "noble_weight" => $noble_weight,
- "is_gold_price" => $is_gold_price,
- "market_price" => $market_price,
- "nake_price" => $nake_price,
- "is_diff" => $is_diff,
- "config" => $config,
- "other_config" => $other_config,
- "field_change" => '',
- "is_step" => count($good_ladder) > 1 ? 1 : 0,//如果阶梯价个数大于1,说明启用阶梯价
- "is_online" => 0,
- "stock_moq" => $stock_moq,
- "status" => 0,
- "createrid" => $createrid,
- "creater" => $creater,
- "addtime" => date("Y-m-d H:i:s"),
- "updatetime" => date("Y-m-d H:i:s"),
- 'is_support_barter' => $is_support_barter
- ];
- $in = Db::name("good_basic")->insertGetId($data);
- if ($in) {
- if ($speclist !== "" && !empty($speclist)) {
- $temp = [];
- foreach ($speclist as $value) {
- $lemp = [];
- $lemp['spuCode'] = $spucode;
- $lemp['spec_id'] = $value['spec_id'];
- $lemp['spec_value_id'] = $value['spec_value_id'];
- $lemp['addtime'] = date("Y-m-d H:i:s");
- $lemp['updatetime'] = date("Y-m-d H:i:s");
- $temp[] = $lemp;
- }
- $count = Db::name("good_spec")->insertAll($temp);
- if ($count == 0) {
- Db::rollback();
- return json_show(1004, "商品规格值创建失败");
- }
- }
- $catinfo = Db::name("cat")->where(["id" => $cat_id])->find();
- $budget = isset($catinfo['order_rate']) ? $catinfo['order_rate'] / 100 : 0;
- $top_cat_id = made($cat_id);//获取所有分类
- $top_cat_id = isset($top_cat_id[0]['id']) ? $top_cat_id[0]['id'] : 0;//获取顶级分类id
- if ($good_ladder !== "" && !empty($good_ladder)) {
- $temp = [];
- foreach ($good_ladder as $value) {
- $lemp = [];
- $lemp['spuCode'] = $spucode;
- $lemp['min_num'] = $value['min_num'];
- $lemp['nake_fee'] = $value['nake_fee'];
- $lemp['cost_fee'] = $value['cost_fee'];
- $lemp['delivery_fee'] = $value['delivery_fee'];
- $lemp['cert_fee'] = $value['cert_fee'];
- $lemp['mark_fee'] = $value['mark_fee'];
- $lemp['package_fee'] = $value['package_fee'];
- $lemp['other_fee'] = $value['other_fee'];
- if ($is_gold_price == 1 && $top_cat_id == 6) {
- //$is_gold_price==1 表示启用实时金价,cat_id==6表示贵金属
- $gold = Db::name("gold_price1")->where(["type" => $noble_metal, "status" => 1, "is_del" => 0])->order("addtime desc")->find();
- //$lemp['nake_total'] = $noble_weight * $gold['price'] + $value['cost_fee'] * $noble_weight + $value['mark_fee'] + $value['package_fee'] + $value['cert_fee'] + $value['nake_fee'] + $value['delivery_fee'] + $value['other_fee'];
- //成本合计=贵金属重量*供应商采购金价 + 工艺费*贵金属重量+加标费+包装费+证书费+成本裸价+运费+其他费用
- //成本总计启用实时金价时,采用供应商实时金价
- $lemp['nake_total'] = $noble_weight * $gold['price'] + $value['cost_fee'] * $noble_weight +
- $value['mark_fee'] + $value['package_fee'] + $value['cert_fee'] + $value['nake_fee'] + $value['delivery_fee'] + $value['other_fee'];
- } else {
- $lemp['nake_total'] = $value['nake_fee'] + $value['delivery_fee'] + $value['cert_fee'] + $value['mark_fee'] + $value['package_fee'] + $value['other_fee'];
- }
- $lemp['creater_id'] = $createrid;
- $lemp['creater'] = $creater;
- $lemp['is_del'] = 0;
- $lemp['addtime'] = date("Y-m-d H:i:s");
- $lemp['updatetime'] = date("Y-m-d H:i:s");
- $temp[] = $lemp;
- }
- $count = Db::name("good_nake")->insertAll($temp);
- if ($count == 0) {
- Db::rollback();
- return json_show(1004, "商品规格值创建失败");
- }
- }
- //修改状态,添加待办
- ActionLog::logAdd(['id' => $createrid, 'nickname' => $creater], [
- "order_code" => $spucode,//咨询单详情编号
- "status" => 0,//这里的status是之前的值
- "action_remark" => '',//备注
- "action_type" => "create"//新建create,编辑edit,更改状态status
- ], "SPCB", 0, $data);
- ProcessOrder::AddProcess(['id' => $createrid, 'nickname' => $creater], [
- "order_type" => 'SPCB',
- "order_code" => $spucode,//咨询单详情编号
- "order_id" => $in,
- "order_status" => 0, "before_status" => 0
- ]);
- Db::commit();
- return json_show(0, "创建成功", ["spuCode" => $spucode]);
- } else {
- Db::rollback();
- return json_show(1004, "商品创建失败");
- }
- } catch (\Exception $e) {
- Db::rollback();
- return json_show(1004, $e->getMessage());
- }
- }
- //修改商品基础信息
- public function updateGoodBasicsInfo()
- {
- $this->post = $this->request->filter('trim')->post();
- $supcode = isset($this->post['spuCode']) && $this->post['spuCode'] != "" ? trim($this->post['spuCode']) : "";
- if ($supcode == "") {
- return json_show(1004, "参数spuCode不能为空");
- }
- $data = Db::name("good_basic")->where(["spuCode" => $supcode, "is_del" => 0])->find();
- if ($data == false) {
- return json_show(1004, "未找到商品数据");
- }
- $is_down = Db::name("good_platform")->where(["spuCode" => $supcode, "is_del" => 0])->where("exam_status", "<>", 8)->find();
- if ($is_down != false) {
- return json_show(1004, "存在未下线商品数据");
- }
- $good_name = isset($this->post['good_name']) && $this->post['good_name'] != "" ? trim($this->post['good_name']) : "";
- if ($good_name == "") {
- return json_show(1004, "商品名称不能为空");
- }
- $cat_id = isset($this->post['cat_id']) && $this->post['cat_id'] != "" ? intval($this->post['cat_id']) : "";
- if ($cat_id == '') {
- return json_show(1004, "商品分类不能为空");
- }
- $brandid = isset($this->post['brandid']) && $this->post['brandid'] != "" ? intval($this->post['brandid']) : "0";
- // if($brandid==''){
- // return json_show(1004,"商品品牌不能为空");
- // }
- $unit = isset($this->post['unit']) && $this->post['unit'] != "" ? trim($this->post['unit']) : "";
- if ($unit == '') {
- return json_show(1004, "商品单位不能为空");
- }
- $good_type = isset($this->post['good_type']) && $this->post['good_type'] !== "" ? intval($this->post['good_type']) : "";
- if ($good_type === '') {
- return json_show(1004, "参数good_type不能为空");
- }
- $moq = 0;
- $customized = 0;
- if ($good_type == 1) {
- $moq = isset($this->post['moq']) && $this->post['moq'] !== "" ? intval($this->post['moq']) : "";
- if ($moq === '') {
- return json_show(1004, "定制商品起订量不能为空");
- }
- $customized = isset($this->post['customized']) && $this->post['customized'] !== "" ? intval($this->post['customized']) : "";
- if ($customized === '') {
- return json_show(1004, "参数customized不能为空");
- }
- }
- $is_exclusive = isset($this->post['is_exclusive']) && $this->post['is_exclusive'] !== "" ? intval($this->post['is_exclusive']) : "";
- if ($is_exclusive === '') {
- return json_show(1004, "参数is_exclusive不能为空");
- }
- // $customized = isset($this->post['customized'])&&$this->post['customized']!==""? intval($this->post['customized']):"";
- // if($customized===''){
- // return json_show(1004,"参数customized不能为空");
- // }
- $tax = isset($this->post['tax']) && $this->post['tax'] !== "" ? intval($this->post['tax']) : "";
- if ($tax === '') {
- return json_show(1004, "参数tax不能为空");
- }
- $supplierNo = isset($this->post['supplierNo']) && $this->post['supplierNo'] != "" ? trim($this->post['supplierNo']) : "";
- if ($supplierNo == '') {
- return json_show(1004, "参数supplierNo不能为空");
- }
- $good_size = isset($this->post['good_size']) && $this->post['good_size'] != "" ? trim($this->post['good_size']) : "";
- if ($good_size == '') {
- return json_show(1004, "参数good_size不能为空");
- }
- $company_id = isset($this->post['company_id']) && $this->post['company_id'] != "" ? trim($this->post['company_id']) : "";
- if ($company_id == '') {
- return json_show(1004, "参数company_id不能为空");
- }
- $is_auth = isset($this->post['is_auth']) && $this->post['is_auth'] !== "" ? intval($this->post['is_auth']) : "";
- if ($is_auth === '') {
- return json_show(1004, "参数is_auth不能为空");
- }
- $auth_img = isset($this->post['auth_img']) && $this->post['auth_img'] != "" ? trim($this->post['auth_img']) : "";
- // if($auth_img==''){
- // return json_show(1004,"商品不能为空");
- // }
- $after_sales = isset($this->post['after_sales']) && $this->post['after_sales'] != "" ? trim($this->post['after_sales']) : "";
- if ($after_sales == "") {
- return json_show(1004, "参数after_sales不能为空");
- }
- $craft_desc = isset($this->post['craft_desc']) && $this->post['craft_desc'] != "" ? trim($this->post['craft_desc']) : "";
- $good_remark = isset($this->post['good_remark']) && $this->post['good_remark'] != "" ? trim($this->post['good_remark']) : "";
- if ($good_remark === "") {
- return json_show(1004, "参数good_remark不能为空");
- }
- $weight = isset($this->post['weight']) && $this->post['weight'] !== "" ? floatval($this->post['weight']) : "";
- if ($weight === "") {
- return json_show(1004, "参数weight不能为空");
- }
- $packing_way = isset($this->post['packing_way']) && $this->post['packing_way'] !== "" ? trim($this->post['packing_way']) : "";
- if ($packing_way === "") {
- return json_show(1004, "参数packing_way不能为空");
- }
- $packing_size = isset($this->post['packing_size']) && $this->post['packing_size'] !== "" ? trim($this->post['packing_size']) : "";
- if ($packing_size === "") {
- return json_show(1004, "参数packing_size不能为空");
- }
- $packing_spec = isset($this->post['packing_spec']) && $this->post['packing_spec'] !== "" ? trim($this->post['packing_spec']) : "";
- if ($packing_spec === "") {
- return json_show(1004, "参数packing_spec不能为空");
- }
- $packing_weight = isset($this->post['packing_weight']) && $this->post['packing_weight'] !== "" ? floatval($this->post['packing_weight']) : "";
- if ($packing_weight === "") {
- return json_show(1004, "参数packing_weight不能为空");
- }
- $packing_list = isset($this->post['packing_list']) && $this->post['packing_list'] !== "" ? trim($this->post['packing_list']) : "";
- if ($packing_list === "") {
- return json_show(1004, "参数packing_list不能为空");
- }
- $good_bar = isset($this->post['good_bar']) && $this->post['good_bar'] !== "" ? trim($this->post['good_bar']) : "";
- $supply_area = isset($this->post['supply_area']) && $this->post['supply_area'] !== "" ? intval($this->post['supply_area']) : "";
- if ($supply_area === "") {
- return json_show(1004, "参数supply_area不能为空");
- }
- $delivery_place = isset($this->post['delivery_place']) && $this->post['delivery_place'] !== "" ? $this->post['delivery_place'] : "";
- if ($delivery_place === "") {
- return json_show(1004, "参数delivery_place不能为空");
- }
- $origin_place = isset($this->post['origin_place']) && $this->post['origin_place'] !== "" ? $this->post['origin_place'] : "";
- if ($origin_place === "") {
- return json_show(1004, "参数origin_place不能为空");
- }
- $delivery_day = isset($this->post['delivery_day']) && $this->post['delivery_day'] !== "" ? intval($this->post['delivery_day']) : "";
- if ($delivery_day === "") {
- return json_show(1004, "参数delivery_day不能为空");
- }
- $lead_time = isset($this->post['lead_time']) && $this->post['lead_time'] !== "" ? intval($this->post['lead_time']) : "0";
- // if($lead_time===""){
- // return json_show(1004,"参数lead_time不能为空");
- // }
- $sample_day = isset($this->post['sample_day']) && $this->post['sample_day'] !== "" ? intval($this->post['sample_day']) : "0";
- // if($sample_day===""){
- // return json_show(1004,"参数sample_day不能为空");
- // }
- // $sample_fee = isset($this->post['sample_fee'])&&$this->post['sample_fee']!==""? floatval
- //($this->post['sample_fee']):"0";
- $config = isset($this->post['config']) && $this->post['config'] !== "" ? trim($this->post['config']) : "";
- $other_config = isset($this->post['other_config']) && $this->post['other_config'] !== "" ? trim($this->post['other_config']) : "";
- $is_diff = isset($this->post['is_diff']) && $this->post['is_diff'] !== "" ? intval($this->post['is_diff']) : "0";
- $is_stock = isset($this->post['is_stock']) && $this->post['is_stock'] !== "" ? intval($this->post['is_stock']) : "0";
- $stock_moq = isset($this->post['stock_moq']) && $this->post['stock_moq'] !== "" ? intval($this->post['stock_moq']) : "0";
- if ($is_stock == 1 && $stock_moq == 0) {
- return json_show(1004, "库存品备库起订量不能为零");
- }
- $good_img = isset($this->post['good_img']) && $this->post['good_img'] != "" ? trim($this->post['good_img']) : "";
- if ($good_img === "") {
- return json_show(1004, "参数good_img不能为空");
- }
- $good_thumb_img = isset($this->post['good_thumb_img']) && $this->post['good_thumb_img'] !== "" ? trim($this->post['good_thumb_img']) : "";
- if ($good_thumb_img === "") {
- return json_show(1004, "参数good_thumb_img不能为空");
- }
- $good_info_img = isset($this->post['good_info_img']) && !empty($this->post['good_info_img']) ? trim($this->post['good_info_img']) : "";
- if ($good_info_img === "") {
- return json_show(1004, "参数good_info_img不能为空");
- }
- $count = Db::name("good_nake")->where(["spuCode" => $supcode, "is_del" => 0])->count();
- $speclist = isset($this->post['speclist']) && !empty($this->post['speclist']) ? $this->post['speclist'] : "";
- $uid = $this->request->user['uid'];
- $nickname = $this->request->user['nickname'];
- Db::startTrans();
- try {
- $temp = [
- "good_name" => $good_name,
- "cat_id" => $cat_id,
- 'brand_id' => $brandid,
- "good_unit" => $unit,
- "good_type" => $good_type,
- "companyNo" => $company_id,
- "moq" => $moq,
- "is_exclusive" => $is_exclusive,
- "customized" => $customized,
- "tax" => $tax,
- "supplierNo" => $supplierNo,
- "is_auth" => $is_auth,
- "good_size" => $good_size,
- "auth_img" => $auth_img,
- "after_sales" => $after_sales,
- "craft_desc" => $craft_desc,
- "good_remark" => $good_remark,
- "weight" => $weight,
- "packing_way" => $packing_way,
- "packing_size" => $packing_size,
- "packing_spec" => $packing_spec,
- "packing_list" => $packing_list,
- "packing_weight" => $packing_weight,
- "good_bar" => $good_bar,
- "supply_area" => $supply_area,
- "delivery_place" => $delivery_place,
- "origin_place" => $origin_place,
- "delivery_day" => $delivery_day,
- "lead_time" => $lead_time,
- "sample_day" => $sample_day,
- "is_diff" => $is_diff,
- 'is_stock' => $is_stock,
- "config" => $config,
- "other_config" => $other_config,
- "good_img" => $good_img,
- "stock_moq" => $stock_moq,
- "good_thumb_img" => $good_thumb_img,
- "good_info_img" => $good_info_img,
- "status" => $count > 0 ? 2 : 1,
- "updatetime" => date("Y-m-d H:i:s")
- ];
- $field = array_diff_assoc($temp, $data);
- $temp['field_change'] = empty($field) ? "" : json_encode(array_keys($field));
- $up = Db::name("good_basic")->where(["spuCode" => $supcode, "is_del" => 0])->save($temp);
- $timp = array_diff($temp, $data);
- $json = json_encode($timp, JSON_UNESCAPED_UNICODE);
- $jsp = json_encode($data, JSON_UNESCAPED_UNICODE);
- if ($up) {
- ChangeLog::logAdd(3, $data['spuCode'], $jsp, $json, c, $this->post);
- if ($speclist !== "" && !empty($speclist)) {
- foreach ($speclist as $value) {
- $lemp = [];
- isset($value["id"]) && $value["id"] != '' ? $lemp['id'] = $value['id'] : "";
- $lemp['spuCode'] = $supcode;
- $lemp['spec_id'] = $value['spec_id'];
- $lemp['spec_value_id'] = $value['spec_value_id'];
- $lemp['is_del'] = isset($value['is_del']) ? $value['is_del'] : 0;
- isset($value["id"]) && $value["id"] != '' ? "" : $lemp['addtime'] = date("Y-m-d H:i:s");
- $lemp['updatetime'] = date("Y-m-d H:i:s");
- $count = Db::name("good_spec")->save($lemp);
- if ($count == false) {
- Db::rollback();
- return json_show(1004, "商品规格值修改失败");
- }
- }
- }
- //修改状态,添加待办
- ActionLog::logAdd(['id' => $uid, 'nickname' => $nickname], [
- "order_code" => $supcode,//咨询单详情编号
- "status" => $data['status'],//这里的status是之前的值
- "action_remark" => '',//备注
- "action_type" => "edit"//新建create,编辑edit,更改状态status
- ], "SPCB", $temp['status'], $data);
- ProcessOrder::AddProcess(['id' => $uid, 'nickname' => $nickname], [
- "order_type" => 'SPCB',
- "order_code" => $supcode,//咨询单详情编号
- "order_id" => $data['id'],
- "order_status" => $temp['status'], "before_status" => $data['status']
- ]);
- Db::commit();
- return json_show(0, "更新成功");
- } else {
- Db::rollback();
- return json_show(1005, "更新失败");
- }
- } catch (\Exception $e) {
- Db::rollback();
- return json_show(1004, $e->getMessage());
- }
- }
- //修改商品价格信息
- public function updateGoodPriceInfo()
- {
- $this->post = $this->request->filter('trim')->post();
- $supcode = isset($this->post['spuCode']) && $this->post['spuCode'] != "" ? trim($this->post['spuCode']) : "";
- if ($supcode == "") {
- return json_show(1004, "参数spuCode不能为空");
- }
- $datas = Db::name("good_basic")->where(["spuCode" => $supcode, "is_del" => 0])->find();
- if ($datas == false) {
- return json_show(1004, "未找到商品数据");
- }
- $is_down = Db::name("good_platform")
- ->where(["spuCode" => $supcode, "is_del" => 0])
- ->where("exam_status", "<>", 8)
- ->find();
- if ($is_down != false) {
- return json_show(1004, "存在未下线商品数据");
- }
- $cert_fee = isset($this->post['cert_fee']) && $this->post['cert_fee'] !== "" ? floatval($this->post['cert_fee']) : "0";
- $packing_fee = isset($this->post['packing_fee']) && $this->post['packing_fee'] !== "" ? floatval($this->post['packing_fee']) : "0";
- $cost_fee = isset($this->post['cost_fee']) && $this->post['cost_fee'] !== "" ? floatval($this->post['cost_fee']) : "0";
- $mark_fee = isset($this->post['mark_fee']) && $this->post['mark_fee'] !== "" ? floatval($this->post['mark_fee']) : "0";
- $demo_fee = isset($this->post['demo_fee']) && $this->post['demo_fee'] !== "" ? floatval($this->post['demo_fee']) : "0";
- $open_fee = isset($this->post['open_fee']) && $this->post['open_fee'] !== "" ? floatval($this->post['open_fee']) : "0";
- $sample_fee = isset($this->post['sample_fee']) && $this->post['sample_fee'] !== "" ? floatval($this->post['sample_fee']) : "0";
- $noble_metal = isset($this->post['noble_metal']) && $this->post['noble_metal'] !== "" ? intval($this->post['noble_metal']) : "0";
- $noble_weight = isset($this->post['noble_weight']) && $this->post['noble_weight'] !== "" ? floatval($this->post['noble_weight']) : "0";
- $is_gold_price = isset($this->post['is_gold_price']) && $this->post['is_gold_price'] !== "" ? intval($this->post['is_gold_price']) : "0";
- $market_price = isset($this->post['market_price']) && $this->post['market_price'] !== "" ? floatval($this->post['market_price']) : "";
- $cgd_gold_price = isset($this->post['cgd_gold_price']) && $this->post['cgd_gold_price'] !== "" ? floatval($this->post['cgd_gold_price']) : "0";
- if ($market_price === "") {
- return json_show(1004, "参数market_price不能为空");
- }
- $nake_price = isset($this->post['nake_price']) && $this->post['nake_price'] !== "" ? floatval($this->post['nake_price']) : "";
- // $is_step = isset($this->post['is_step'])&&$this->post['is_step']!==""? intval($this->post['is_step']):"";
- // if($is_step===""){
- // return json_show(1004,"参数is_step不能为空");
- // }
- $good_ladder = isset($this->post['good_ladder']) && !empty($this->post['good_ladder']) ? $this->post['good_ladder'] : "";
- // if($is_step==1 && $good_ladder==""){
- // return json_show(1004,"启用阶梯,阶梯价不能为空");
- // }
- $data = [
- "cert_fee" => $cert_fee,
- "packing_fee" => $packing_fee,
- "cost_fee" => $cost_fee,
- "mark_fee" => $mark_fee,
- "demo_fee" => $demo_fee,
- "open_fee" => $open_fee,
- "sample_fee" => $sample_fee,
- "noble_metal" => $noble_metal,
- "noble_weight" => $noble_weight,
- "is_gold_price" => $is_gold_price,
- "market_price" => $market_price,
- "nake_price" => $nake_price,
- "cgd_gold_price" => $cgd_gold_price,
- "is_step" => count($good_ladder) > 1 ? 1 : 0,
- "status" => "3",
- "updatetime" => date("Y-m-d H:i:s")
- ];
- $field = array_diff_assoc($data, $datas);
- $data['field_change'] = empty($field) ? "" : json_encode(array_keys($field));
- $uid = $this->request->user['uid'];
- $nickname = $this->request->user['nickname'];
- Db::startTrans();
- try {
- $up = Db::name("good_basic")->where(["spuCode" => $supcode, "is_del" => 0])->save($data);
- $temp = array_diff($data, $datas);
- $json = json_encode($temp, JSON_UNESCAPED_UNICODE);
- $jsp = json_encode($datas, JSON_UNESCAPED_UNICODE);
- if ($up) {
- ChangeLog::logAdd(3, $datas['spuCode'], $jsp, $json, ['id' => $uid, 'nickname' => $nickname], $this->post);
- //修改状态,添加待办
- ActionLog::logAdd(['id' => $uid, 'nickname' => $nickname], [
- "order_code" => $supcode,//咨询单详情编号
- "status" => $datas['status'],//这里的status是之前的值
- "action_remark" => '',//备注
- "action_type" => "edit"//新建create,编辑edit,更改状态status
- ], "SPCB", $data['status'], $data);
- ProcessOrder::AddProcess(['id' => $uid, 'nickname' => $nickname], [
- "order_type" => 'SPCB',
- "order_code" => $supcode,//咨询单详情编号
- "order_id" => $datas['id'],
- "order_status" => $data['status'], "before_status" => $datas['status']
- ]);
- // $online = Db::name("good_platform")->where(["spuCode"=>$supcode,"is_del"=>0])->find();
- // if($online){
- // $onup = Db::name("good_platform")->where(["spuCode"=>$supcode,"is_del"=>0])->save
- // (["exam_status"=>2,"updatetime"=>date("Y-m-d H:i:s")]);
- // if($onup==false){
- // Db::rollback();
- // return json_show(1004,"商品规成本修改失败");
- // }
- // //修改状态,添加待办
- // ActionLog::logAdd(['id'=>$uid,'nickname'=>$nickname], [
- // "order_code" =>$online['skuCode'],//咨询单详情编号
- // "status" => $online['exam_status'],//这里的status是之前的值
- // "action_remark" => '',//备注
- // "action_type" => "edit"//新建create,编辑edit,更改状态status
- // ], "SPSX",2,["exam_status"=>2,"updatetime"=>date("Y-m-d H:i:s")]);
- //
- // ProcessOrder::AddProcess(['id'=>$uid,'nickname'=>$nickname], [
- // "order_type" => 'SPSX',
- // "order_code" => $online['skuCode'],//咨询单详情编号
- // "order_id" => $online['id'],
- // "order_status" =>2,"before_status"=>$online['exam_status']
- // ]);
- // }
- if ($good_ladder !== "" && !empty($good_ladder)) {
- // $user =GetUserInfo($this->post['token']);
- foreach ($good_ladder as $value) {
- $lemp = [];
- isset($value["id"]) && $value["id"] != '' ? $lemp['id'] = $value['id'] : "";
- $lemp['spuCode'] = $supcode;
- $lemp['min_num'] = $value['min_num'];
- $lemp['nake_fee'] = $value['nake_fee'];
- $lemp['cost_fee'] = $value['cost_fee'];
- $lemp['delivery_fee'] = $value['delivery_fee'];
- $lemp['cert_fee'] = $value['cert_fee'];
- $lemp['mark_fee'] = $value['mark_fee'];
- $lemp['package_fee'] = $value['package_fee'];
- $lemp['other_fee'] = $value['other_fee'];
- $top_cat_id = made($datas['cat_id']);//获取所有分类
- $top_cat_id = isset($top_cat_id[0]['id']) ? $top_cat_id[0]['id'] : 0;//获取顶级分类id
- if ($is_gold_price == 1 && $top_cat_id == 6) {
- //$gold =Db::name("gold_price1")->where(["type"=>$noble_metal,"status"=>1,"is_del"=>0])
- // ->order("addtime desc")->find();
- //$lemp['nake_total'] =$noble_weight*$gold['price'] + $value['cost_fee']*$noble_weight+$value['mark_fee']+$value['package_fee']+$value['cert_fee']+$value['nake_fee']+$value['delivery_fee']+$value['other_fee'];
- //成本合计=贵金属重量*供应商采购金价 + 工艺费*贵金属重量+加标费+包装费+证书费+成本裸价+运费+其他费用
- //成本总计启用实时金价时,采用供应商实时金价
- $lemp['nake_total'] = $noble_weight * $cgd_gold_price + $value['cost_fee'] * $noble_weight +
- $value['mark_fee'] + $value['package_fee'] + $value['cert_fee'] + $value['nake_fee'] + $value['delivery_fee'] + $value['other_fee'];
- } else {
- $lemp['nake_total'] = $value['nake_fee'] + $value['delivery_fee'] + $value['cert_fee'] + $value['mark_fee'] + $value['package_fee'] + $value['other_fee'];
- }
- $lemp['is_del'] = isset($value['is_del']) ? $value['is_del'] : 0;
- $lemp['creater_id'] = $uid;
- $lemp['creater'] = $nickname;
- isset($value["id"]) && $value["id"] != '' ? "" : $lemp['addtime'] = date("Y-m-d H:i:s");
- $lemp['updatetime'] = date("Y-m-d H:i:s");
- $count = Db::name("good_nake")->save($lemp);
- if ($count == false) {
- Db::rollback();
- return json_show(1004, "商品规成本修改失败");
- }
- }
- }
- Db::commit();
- return json_show(0, "更新成功");
- } else {
- Db::rollback();
- return json_show(1005, "更新失败");
- }
- } catch (\Exception $e) {
- Db::rollback();
- return json_show(1005, $e->getMessage());
- }
- }
- //获取商品详情
- public function read()
- {
- $this->post = $this->request->filter('trim')->post();
- $supcode = isset($this->post['spuCode']) && $this->post['spuCode'] != "" ? trim($this->post['spuCode']) : "";
- if ($supcode == "") {
- return json_show(1004, "参数spuCode不能为空");
- }
- $data = Db::name("good_basic")->where(["spuCode" => $supcode, "is_del" => 0])->find();
- if ($data == false) {
- return json_show(1004, "未找到商品数据");
- }
- $unit = Db::name("unit")->where(["id" => $data['good_unit']])->find();
- $data['unit'] = isset($unit['unit']) ? $unit['unit'] : '';
- $data['cat_info'] = made($data['cat_id'], []);
- $spec = Db::name("good_spec")->where(["spuCode" => $supcode, "is_del" => 0])->select()->toArray();
- $supplier = Db::name("supplier")->where(["code" => $data['supplierNo']])->find();
- $data['supplierName'] = isset($supplier['name']) ? $supplier['name'] : "";
- $supplier = Db::name("supplier")->where(["code" => $data['supplierNo']])->find();
- $data['supplierName'] = isset($supplier['name']) ? $supplier['name'] : "";
- $company = Db::name("business")->where(["companyNo" => $data['companyNo']])->find();
- $data['company'] = isset($company['company']) ? $company['company'] : "";
- $data['field_change'] = $data['field_change'] != '' ? json_decode($data['field_change']) : "";
- if ($data['brand_id'] != 0) {
- $brand = Db::name("brand")->where(["id" => $data['brand_id']])->find();
- $data["brand_name"] = isset($brand['brand_name']) ? $brand['brand_name'] : "";
- } else {
- $data["brand_name"] = "";
- $data["brand_id"] = "";
- }
- $excluse = makeExcluse($data['is_exclusive']);
- $data['exclusive'] = $excluse;
- $data['noble_name'] = isset($data['noble_metal']) && $data['noble_metal'] != 0 ? $this->noble[$data['noble_metal']] : "";
- $data["good_info_img"] = $data['good_info_img'] != "" ? $data['good_info_img'] : '';
- $data["good_img"] = $data['good_img'] != "" ? $data['good_img'] : [];
- $gold = [];
- if ($data['is_gold_price'] == 1) {
- $gold = Db::name("gold_price1")->where(["type" => $data['noble_metal'], "status" => 1, "is_del" => 0])->order("addtime desc")->find();
- }
- $data['gold_price'] = isset($gold["price"]) ? $gold["price"] : 0;
- $speclist = [];
- if (!empty($spec)) {
- foreach ($spec as $value) {
- $temp = [];
- $temp['id'] = $value['id'];
- $temp['spuCode'] = $value['spuCode'];
- $temp['spec_id'] = $value['spec_id'];
- $temp['spec_value_id'] = $value['spec_value_id'];
- $temp['is_del'] = $value['is_del'];
- $sp = Db::name("specs")->where(["id" => $value['spec_id']])->find();
- $temp['spec_name'] = isset($sp["spec_name"]) ? $sp["spec_name"] : "";
- $spv = Db::name("spec_value")->where(["id" => $value['spec_value_id']])->find();
- $temp['spec_value'] = isset($spv["spec_value"]) ? $spv["spec_value"] : "";
- $speclist[] = $temp;
- }
- }
- $data["speclist"] = empty($speclist) ? [] : $speclist;
- // $nake=[];
- $nakelist = Db::name("good_nake")->where(['spuCode' => $supcode, "is_del" => 0])->select()->toArray();
- // $catinfo = Db::name("cat")->where(["id"=>$data['cat_id']])->find();
- // $budget = isset($catinfo['order_rate']) ? $catinfo['order_rate']/100:0;
- $nakearry = [];
- if (!empty($nakelist)) {
- foreach ($nakelist as $value) {
- $nakearry[] = $value;
- }
- }
- $data["nakelist"] = $nakearry;
- return json_show(0, "获取成功", $data);
- }
- }
|