adminInfo)['root']; $userId = (request()->adminInfo)['user_id']; if ($root && !empty($params['user_id'])) { $userId = $params['user_id']; } Db::startTrans(); try { Land::create([ 'user_id' => $userId, 'title' => $params['title'], 'address' => $params['address'], 'total_area' => $params['total_area'], 'residual_area' => $params['total_area'], 'province_code' => $params['province_code'], 'province_name' => $params['province_name'], 'city_code' => $params['city_code'], 'city_name' => $params['city_name'], 'county_code' => $params['county_code'], 'county_name' => $params['county_name'], 'town_code' => $params['town_code'], 'town_name' => $params['town_name'], 'village_code' => $params['village_code'], 'village_name' => $params['village_name'], 'group_code' => $params['group_code'], 'group_name' => $params['group_name'], 'master_name' => $params['master_name'], 'master_phone' => $params['master_phone'], // 'pic' => json_encode($params['pic']), ]); Db::commit(); return true; } catch (\Exception $e) { Db::rollback(); self::setError($e->getMessage()); return false; } } /** * @notes 编辑 * @param array $params * @return bool * @author likeadmin * @date 2023/11/22 16:35 */ public static function edit(array $params): bool { $root = (request()->adminInfo)['root']; $userId = (request()->adminInfo)['user_id']; if ($root && !empty($params['user_id'])) { $userId = $params['user_id']; } $land = Land::findOrEmpty($params['id'])->toArray(); $newArea = $params['total_area'] - ($land['total_area'] - $land['residual_area']); Db::startTrans(); try { Land::where('id', $params['id'])->update([ 'user_id' => $userId, 'title' => $params['title'], 'address' => $params['address'], 'total_area' => $params['total_area'], 'residual_area' => $newArea, 'province_code' => $params['province_code'], 'province_name' => $params['province_name'], 'city_code' => $params['city_code'], 'city_name' => $params['city_name'], 'county_code' => $params['county_code'], 'county_name' => $params['county_name'], 'town_code' => $params['town_code'], 'town_name' => $params['town_name'], 'village_code' => $params['village_code'], 'village_name' => $params['village_name'], 'group_code' => $params['group_code'], 'group_name' => $params['group_name'], 'master_name' => $params['master_name'], 'master_phone' => $params['master_phone'], // 'pic' => json_encode($params['pic']), ]); $productIdArray = Db::name('product')->alias('p') ->where('lp.land_id', $params['id']) ->leftJoin('land_product lp','lp.product_id = p.id') ->field('p.*') ->column('p.id'); Db::name('product')->whereIn('id', $productIdArray)->update(['user_id'=>$userId]); $deviceIdArray = Db::name('device')->alias('d') ->whereIn('pd.product_id', $productIdArray) ->leftJoin('product_device pd','pd.device_id = d.id') ->field('d.*') ->column('d.id'); Db::name('device')->whereIn('id', $deviceIdArray)->update(['user_id'=>$userId]); Db::commit(); return true; } catch (\Exception $e) { Db::rollback(); self::setError($e->getMessage()); return false; } } public function datas($params): array { $userWhere = []; if (!empty($params['user_id'])) { $userWhere['user_id'] = $params['user_id']; } if (!request()->adminInfo['root'] && request()->adminInfo['user_id']) { $userWhere['user_id'] = request()->adminInfo['user_id']; } $field = ['id', 'user_id', 'title', 'address', 'total_area', 'residual_area', 'province_code', 'province_name', 'city_code', 'city_name', 'county_code', 'county_name', 'town_code', 'town_name', 'village_code', 'village_name', 'group_code', 'group_name', 'master_name', 'master_phone', 'pic']; $lists = Land::where($userWhere) ->limit(0, 100) ->field($field) ->order('id desc') ->select()->toArray(); foreach ($lists as &$item) { $item['landinfo'] = 'ID:' . $item['id'] . ' / 名称:' . $item['title']; } return $lists; } /** * @notes 删除 * @param array $params * @return bool * @author likeadmin * @date 2023/11/22 16:35 */ public static function delete(array $params): bool { return Land::destroy($params['id']); } /** * @notes 获取详情 * @param $params * @return array * @author likeadmin * @date 2023/11/22 16:35 */ public static function detail($params): array { return Land::findOrEmpty($params['id'])->toArray(); } public static function bind($params): bool { $root = (request()->adminInfo)['root']; $userId = (request()->adminInfo)['user_id']; if ($root && !empty($params['user_id'])) { $userId = $params['user_id']; } if (!empty($params['id'])) { $land = Land::findOrEmpty($params['id'])->toArray(); $userId = $land['user_id'] ?? 0; } Db::startTrans(); try { Db::name('product')->where('id', $params['product_id'])->update([ 'user_id' => $userId, 'status' => 2 ]); Db::name('land_product')->where('land_id', $params['id'])->delete(); Db::name('land_product')->where('product_id', $params['product_id'])->delete(); Db::name('land_product')->insert([ 'land_id' => $params['id'], 'product_id' => $params['product_id'], 'create_time' => time(), 'update_time' => time() ]); Db::commit(); return true; } catch (\Exception $e) { Db::rollback(); self::setError($e->getMessage()); return false; } } }