Commit 6a117665 by 杨树贤

Merge branch 'master' of http://119.23.72.7/semour/semour_admin

parents ac83deaf f052feb7
...@@ -83,7 +83,12 @@ class OrderApiController extends BaseController ...@@ -83,7 +83,12 @@ class OrderApiController extends BaseController
} }
return response()->json(["code"=>0,"msg"=>"ok","data"=>["list"=>$orderInfo["orderItemList"]],"count"=>count($orderInfo["orderItemList"] )]);
return response()->json(["code"=>0,"msg"=>"ok","data"=>[
"list"=>$orderInfo["orderItemList"],
"order_amount"=>decimal_number_format_usd($orderInfo["order_amount"]),
"return_order_amount"=>decimal_number_format_usd($orderInfo["order_amount"]),
],"count"=>count($orderInfo["orderItemList"] )]);
} }
...@@ -116,13 +121,22 @@ class OrderApiController extends BaseController ...@@ -116,13 +121,22 @@ class OrderApiController extends BaseController
$params = $request->all(); $params = $request->all();
$order_id = arrayGet($params,"order_id",0,"intval"); $order_id = arrayGet($params,"order_id",0,"intval");
$orderItems = arrayGet($params,"order_items","","trim"); $orderItems = arrayGet($params,"order_items","","trim");
$order_remark = arrayGet($params,"order_remark","","trim");
$validator = Validator::make($params, [ $validator = Validator::make($params, [
'order_id' => 'required', 'order_id' => 'required',
'order_items.*.order_items_id' => 'required', 'order_items.*.order_items_id' => 'required',
'order_items.*.goods_price' => 'required|gt:0',
'order_items.*.goods_number' => 'required|gt:0',
'order_items.*.return_goods_price' => 'gt:0',
'order_items.*.return_goods_number' => 'gt:0',
'order_items' => 'required', 'order_items' => 'required',
], [ ], [
'order_id.required' => admin_trans("order.validator.order_id_required"), 'order_id.required' => admin_trans("order.validator.order_id_required"),
'order_items.required' => admin_trans("order.validator.order_items_required"), 'order_items.required' => admin_trans("order.validator.order_items_required"),
'order_items.*.goods_price.gt' => admin_trans("order.validator.goods_price.gt"),
'order_items.*.goods_number.gt' => admin_trans("order.validator.goods_number.gt"),
'order_items.*.return_goods_price.gt' => admin_trans("order.validator.return_goods_price.gt"),
'order_items.*.return_goods_number.gt' => admin_trans("order.validator.return_goods_number.gt"),
], [ ], [
// 'order_id' => '订单id', // 'order_id' => '订单id',
...@@ -134,9 +148,46 @@ class OrderApiController extends BaseController ...@@ -134,9 +148,46 @@ class OrderApiController extends BaseController
throw new InvalidRequestException($err_msg); throw new InvalidRequestException($err_msg);
} }
OrderService::editOrderItems($order_id,$orderItems); OrderService::editOrderItems($order_id,$orderItems,$order_remark);
return $this->setSuccess();
}
public function editOrderAdress(Request $request){
$reqParams = $request->all();
$validator = Validator::make($reqParams, [
'order_id' => 'required',
'order_address_type' => 'required',
], [
'order_id.required' => admin_trans("order.validator.order_id_required"),
'order_address_type.required' => admin_trans("order.validator.order_address.required"),
], []);
if ($validator->fails()) {
$errors = $validator->errors()->toArray();
$err_msg = ValidatorMsg::getMsg($errors);
throw new InvalidRequestException($err_msg);
}
$order_id = arrayGet($reqParams,"order_id",0,"intval");
$data["order_address_type"] = arrayGet($reqParams,"order_address_type",0,"intval");
$data["shipping_name"] = arrayGet($reqParams,"shipping_name","","trim");
$data["shipping_sn"] = arrayGet($reqParams,"shipping_sn","","trim");
$data["consignee"] = arrayGet($reqParams,"consignee","","trim");
$data["company_name"] = arrayGet($reqParams,"company_name","","trim");
$data["email"] = arrayGet($reqParams,"email","","trim");
$data["phone"] = arrayGet($reqParams,"phone","","trim");
$data["country"] = arrayGet($reqParams,"country",0,"intval");
$data["country_name"] = arrayGet($reqParams,"country_name","","trim");
$data["province"] = arrayGet($reqParams,"province","","trim");
$data["city"] = arrayGet($reqParams,"city","","trim");
$data["detail_address"] = arrayGet($reqParams,"detail_address","","trim");
OrderService::editOrderAdress($order_id,$data);
return $this->setSuccess(); return $this->setSuccess();
} }
public function editOrderSettlement(Request $request){
}
} }
...@@ -34,7 +34,7 @@ class UserController extends AdminController ...@@ -34,7 +34,7 @@ class UserController extends AdminController
$grid->disableRefreshButton(); $grid->disableRefreshButton();
$grid->disableBatchDelete(); $grid->disableBatchDelete();
// $grid->disableCreateButton(); // $grid->disableCreateButton();
$grid->model()->orderBy("id", "desc"); $grid->model()->orderBy("id", "desc")->rule(\App\Models\User::$ruleViewList, 'sale_id');
UserService::userListListField($grid); UserService::userListListField($grid);
UserService::userListTool($grid); UserService::userListTool($grid);
UserService::userListActions($grid); UserService::userListActions($grid);
......
...@@ -27,7 +27,7 @@ class CreateUser extends \Dcat\Admin\Support\LazyRenderable ...@@ -27,7 +27,7 @@ class CreateUser extends \Dcat\Admin\Support\LazyRenderable
$form->disableCreatingCheck(); $form->disableCreatingCheck();
$form->row(function (Form\Row $form) { $form->row(function (Form\Row $form) {
$form->width(4)->text('company_name')->required(); $form->width(4)->text('company_name')->required();
$form->width(4)->text('user_sn'); $form->width(4)->text('user_sn')->disable();
}); });
$form->row(function (Form\Row $form) { $form->row(function (Form\Row $form) {
$form->width(4)->text('first_name')->required(); $form->width(4)->text('first_name')->required();
......
...@@ -85,6 +85,7 @@ class OrderService extends BaseService ...@@ -85,6 +85,7 @@ class OrderService extends BaseService
public static function orderIitemList($order_id=0){ public static function orderIitemList($order_id=0){
} }
//取消订单
public static function cancelOrder($order_id=0){ public static function cancelOrder($order_id=0){
(new self)->startTransaction(); (new self)->startTransaction();
try{ try{
...@@ -100,8 +101,8 @@ class OrderService extends BaseService ...@@ -100,8 +101,8 @@ class OrderService extends BaseService
//修改订单明细数量价格
public static function editOrderItems($order_id,$orderItems){ public static function editOrderItems($order_id,$orderItems,$order_remark){
(new self)->startTransaction(); (new self)->startTransaction();
try{ try{
// $orderItemids = Arr::pluck($orderItems,"order_items_id"); // $orderItemids = Arr::pluck($orderItems,"order_items_id");
...@@ -130,7 +131,9 @@ class OrderService extends BaseService ...@@ -130,7 +131,9 @@ class OrderService extends BaseService
$createOrEdit = false; $createOrEdit = false;
if(!empty($returnItems)){ if(!empty($returnItems)){
foreach($insertReturnItemData as $field=>$val){ foreach($insertReturnItemData as $field=>$val){
if(!in_array($val["type"],[1,2]) || !$val["return_goods_number"] || !$val["return_goods_price"]){
continue;
}
if(empty($returnItems[$field]) || $returnItems[$field] != $val){ if(empty($returnItems[$field]) || $returnItems[$field] != $val){
$createOrEdit = true;//新增 $createOrEdit = true;//新增
break; break;
...@@ -144,6 +147,14 @@ class OrderService extends BaseService ...@@ -144,6 +147,14 @@ class OrderService extends BaseService
//修改订单总金额 //修改订单总金额
self::pullOrderAmount($order_id); self::pullOrderAmount($order_id);
//修改订单备注
if($order_remark){
Order::updateOrder(["order_id"=>$order_id],[
"order_remark"=>$order_remark,
]);
}
}catch (\Throwable $e){ }catch (\Throwable $e){
(new self)->rollBackTransaction(); (new self)->rollBackTransaction();
throw new InvalidRequestException(sprintf("%s:%s",admin_trans("order.return_msg.50003"),$e->getMessage())); throw new InvalidRequestException(sprintf("%s:%s",admin_trans("order.return_msg.50003"),$e->getMessage()));
...@@ -152,7 +163,7 @@ class OrderService extends BaseService ...@@ -152,7 +163,7 @@ class OrderService extends BaseService
(new self)->commitTransaction(); (new self)->commitTransaction();
} }
//拉取订单明细金额 回写订单主表
public static function pullOrderAmount($order_id=0){ public static function pullOrderAmount($order_id=0){
$amount = OrderItem::getOrderTotalAmount($order_id); $amount = OrderItem::getOrderTotalAmount($order_id);
Order::updateOrder(["order_id"=>$order_id],[ Order::updateOrder(["order_id"=>$order_id],[
...@@ -160,4 +171,42 @@ class OrderService extends BaseService ...@@ -160,4 +171,42 @@ class OrderService extends BaseService
]); ]);
} }
/**
* Notes:
* User: sl
* Date: 2022-11-18 10:52
* @param $reqParams
*/
public static function editOrderAdress($order_id,$data){
return OrderAddress::updateOrCreate([
"order_id"=>$order_id,
"order_address_type"=>$data["order_address_type"],
],[
"shipping_name"=>$data["shipping_name"],
"shipping_sn"=>$data["shipping_sn"],
"consignee"=>$data["consignee"],
"company_name"=>$data["company_name"],
"email"=>$data["email"],
"phone"=>$data["phone"],
"country"=>$data["country"],
"country_name"=>$data["country_name"],
"province"=>$data["province"],
"city"=>$data["city"],
"detail_address"=>$data["detail_address"],
"create_time"=>time(),
"update_time"=>time(),
]);
}
public static function changeOrderSales($userids,$sale_id){
}
//获取订单退款总金额
public static function getOrderReturnAmount($order_id = 0)
{
}
} }
<?php
/**
* Created by PhpStorm.
* User: duwenjun
* Date: 2021/8/25
* Time: 5:33 PM
*/
namespace App\Admin\Service;
use App\Http\Caches\PermCache;
use App\Http\Models\Cms\UserInfoModel;
use App\Models\Cms\CmsUser;
use App\Models\Cms\CmsUserDepartmentModel;
use Illuminate\Support\Facades\Log;
class PermService
{
const SELF_SYSTEM_NAME = "深贸后台";
// 获取指定用户下级所有人员
public static function getSubUserId($userId)
{
$sub_user_ids = [];
array_unshift($sub_user_ids, $userId); // 将当前用户添加到数组
$user_info = CmsUser::getInfoByUserId($userId);
if (empty($user_info) || !$user_info['department_id']) {
return $sub_user_ids;
}
// 获取所有下级部门
$department_ids = self::_getDepartmentIds($user_info['department_id']);
// 获取下级部门的人员
$sub_user_ids = CmsUser::getUserIdsByDepartmentIds($department_ids);
return array_unique($sub_user_ids);
}
// 获取查询的部门id,查询销售和采购部门下所有子部门的ids
// 这里要使用循环的查询方法,如果改部门下面还有子部门,那么一并查询,最终合并用户子部门id集
public static function _getDepartmentIds($top_department_id)
{
$all_department_ids = $next_department_ids = [$top_department_id];
while ($next_department_ids) {
$next_department_ids = CmsUserDepartmentModel::getDepartmentIdsParrentIds($next_department_ids);
$all_department_ids = array_merge($all_department_ids, $next_department_ids);
}
return $all_department_ids;
}
}
...@@ -97,13 +97,13 @@ class UserService ...@@ -97,13 +97,13 @@ class UserService
try { try {
DB::beginTransaction(); DB::beginTransaction();
$userData = [ $userData = [
"company_name" => $params["company_name"], "company_name" => $params["company_name"] ?? "",
"user_sn" => $params["user_sn"], "user_sn" => $params["user_sn"] ?? "",
"first_name" => $params["first_name"], "first_name" => $params["first_name"] ?? "",
"last_name" => $params["last_name"], "last_name" => $params["last_name"] ?? "",
"phone" => $params["phone"], "phone" => $params["phone"] ?? "",
"email" => $params["email"], "email" => $params["email"] ?? "",
"name" => $params["email"], "name" => $params["email"] ?? "",
"reg_source" => User::REG_SOURCE_MANUAL, "reg_source" => User::REG_SOURCE_MANUAL,
"remark" => $params["remark"] ?? "", "remark" => $params["remark"] ?? "",
"password" => "", "password" => "",
...@@ -114,6 +114,8 @@ class UserService ...@@ -114,6 +114,8 @@ class UserService
"update_time" => time(), "update_time" => time(),
]; ];
$userId = User::insertData($userData); $userId = User::insertData($userData);
$userSn = self::generateSn($userId);
User::updateById($userId, ["user_sn" => $userSn]);
foreach ($params['user_address_list'] as $address) { foreach ($params['user_address_list'] as $address) {
if ($address['_remove_']) { if ($address['_remove_']) {
...@@ -162,6 +164,12 @@ class UserService ...@@ -162,6 +164,12 @@ class UserService
} }
} }
public static function generateSn($userId)
{
$id = str_pad($userId, 6, 0, STR_PAD_LEFT);
return 'SU' . $id;
}
public static function transferUser($ids, $saleId) public static function transferUser($ids, $saleId)
{ {
try { try {
...@@ -178,6 +186,8 @@ class UserService ...@@ -178,6 +186,8 @@ class UserService
"sale_name" => $saleInfo["name"], "sale_name" => $saleInfo["name"],
]; ];
User::updateByIdArr($userIds, $update); User::updateByIdArr($userIds, $update);
InquiryService::batchUpdateSalesId($saleId, $userIds);
OrderService::changeOrderSales($userIds,$saleId,$saleInfo["name"]);
DB::commit(); DB::commit();
} catch (\Throwable $throwable) { } catch (\Throwable $throwable) {
......
...@@ -27,6 +27,8 @@ Route::group([ ...@@ -27,6 +27,8 @@ Route::group([
Route::get('/api/orderList', '\App\Admin\Controllers\Api\OrderApiController@orderList');//订单详情获取明细数据 Route::get('/api/orderList', '\App\Admin\Controllers\Api\OrderApiController@orderList');//订单详情获取明细数据
Route::get('/api/orderDownloadShow', '\App\Admin\Controllers\Api\OrderApiController@orderDownloadShow');//订单下载 Route::get('/api/orderDownloadShow', '\App\Admin\Controllers\Api\OrderApiController@orderDownloadShow');//订单下载
Route::match(['get', 'post'],'/api/order/editOrderItems', '\App\Admin\Controllers\Api\OrderApiController@editOrderItems');//订单修改明细数据 Route::match(['get', 'post'],'/api/order/editOrderItems', '\App\Admin\Controllers\Api\OrderApiController@editOrderItems');//订单修改明细数据
Route::match(['get', 'post'],'/api/order/editOrderAdress', '\App\Admin\Controllers\Api\OrderApiController@editOrderAdress');//修改订单收货地址账单地址
Route::match(['get', 'post'],'/api/order/editOrderSettlement', '\App\Admin\Controllers\Api\OrderApiController@editOrderSettlement');//修改订单结算信息
}); });
......
<?php
namespace App\Models;
use App\Admin\Service\PermService;
use Illuminate\Database\Eloquent\Model;
class BaseModel extends Model
{ /*
* 权限
*/
public function scopeRule($query, $viewList,$adminUser="sale_id")
{
$nowSaleId = getAdminUserId();
// if ($nowSaleId == 1000) {
// return $query;
// }
//查看所有
if (checkPerm($viewList[0])) {
return $query;
}
//查看下级
if (checkPerm($viewList[1])) { //查看下级的权限//获取用户部门下的所有用户
$userIds = PermService::getSubUserId($nowSaleId);
if (!empty($userIds)) {
return $query->whereIn($adminUser, $userIds);
}
}
$query = $query->where($adminUser, $nowSaleId);
return $query;
}
}
...@@ -22,4 +22,23 @@ class CmsUser extends Model ...@@ -22,4 +22,23 @@ class CmsUser extends Model
$res = self::whereIn('department_id', $departmentIds)->get(); $res = self::whereIn('department_id', $departmentIds)->get();
return ($res) ? $res->toArray() : []; return ($res) ? $res->toArray() : [];
} }
// 根据部门ID获取用户
public static function getUserIdsByDepartmentIds($department_ids = [], $field=[], $status='')
{
$res = self::whereIn('department_id', $department_ids);
if ($status !== '') {
$res = $res->where('status', $status);
}
if (!$field) {
$res = $res->pluck('userId');
} else {
$res = $res->select($field)->get();
}
return ($res) ? $res->toArray() : [];
}
} }
...@@ -17,6 +17,8 @@ class Order extends Model ...@@ -17,6 +17,8 @@ class Order extends Model
protected $primaryKey = 'order_id'; protected $primaryKey = 'order_id';
protected $guarded = ['order_id']; //设置字段黑名单
public $timestamps = false; public $timestamps = false;
public static $STATUS_WAIT_AUDIT = 1;//待审核 public static $STATUS_WAIT_AUDIT = 1;//待审核
......
...@@ -15,6 +15,7 @@ class OrderAddress extends Model ...@@ -15,6 +15,7 @@ class OrderAddress extends Model
protected $table = 'order_address'; protected $table = 'order_address';
protected $primaryKey = 'order_address_id'; protected $primaryKey = 'order_address_id';
protected $guarded = ['order_address_id']; //设置字段黑名单
public $timestamps = false; public $timestamps = false;
...@@ -37,4 +38,6 @@ class OrderAddress extends Model ...@@ -37,4 +38,6 @@ class OrderAddress extends Model
} }
...@@ -14,6 +14,7 @@ class OrderItem extends Model ...@@ -14,6 +14,7 @@ class OrderItem extends Model
protected $table = 'order_items'; protected $table = 'order_items';
protected $primaryKey = 'rec_id'; protected $primaryKey = 'rec_id';
protected $guarded = ['rec_id']; //设置字段黑名单
public $timestamps = false; public $timestamps = false;
......
...@@ -14,6 +14,7 @@ class OrderPrice extends Model ...@@ -14,6 +14,7 @@ class OrderPrice extends Model
protected $table = 'order_price'; protected $table = 'order_price';
protected $primaryKey = 'price_id'; protected $primaryKey = 'price_id';
protected $guarded = ['price_id']; //设置字段黑名单
public $timestamps = false; public $timestamps = false;
......
...@@ -31,7 +31,9 @@ class OrderReturnItems extends Model ...@@ -31,7 +31,9 @@ class OrderReturnItems extends Model
public static function getOrderReturnTotalAmount($order_id){
}
......
...@@ -26,7 +26,7 @@ use Illuminate\Database\Eloquent\Model; ...@@ -26,7 +26,7 @@ use Illuminate\Database\Eloquent\Model;
* @property $created_time 创建时间 * @property $created_time 创建时间
* @property $update_time 更新时间 * @property $update_time 更新时间
*/ */
class User extends Model class User extends BaseModel
{ {
use HasDateTimeFormatter; use HasDateTimeFormatter;
protected $table = 'users'; protected $table = 'users';
...@@ -39,6 +39,13 @@ class User extends Model ...@@ -39,6 +39,13 @@ class User extends Model
const ACCOUNT_PROPERTIES_PERSONAL = 1; const ACCOUNT_PROPERTIES_PERSONAL = 1;
const ACCOUNT_PROPERTIES_ENTERPRISE = 2; const ACCOUNT_PROPERTIES_ENTERPRISE = 2;
//查看权限
public static $ruleViewList = [
self::SEM_USER_VIEW_ALL, //查看所有
self::SEM_USER_VIEW_SUB,//查看下级
];
const SEM_USER_VIEW_ALL = "sem_user_viewAllList";//查看所有
const SEM_USER_VIEW_SUB = "sem_user_viewSubList";//查看下级
public static function insertData($data) public static function insertData($data)
{ {
......
...@@ -329,7 +329,7 @@ function getAdminUser() ...@@ -329,7 +329,7 @@ function getAdminUser()
*/ */
function getAdminUserId() function getAdminUserId()
{ {
$admin = request()->get("user"); $admin = request()->user;
if (!$admin) { if (!$admin) {
throw new \App\Exceptions\InvalidRequestException("没找到登录相关信息,请先登录~_~"); throw new \App\Exceptions\InvalidRequestException("没找到登录相关信息,请先登录~_~");
} }
......
...@@ -32,6 +32,21 @@ return [ ...@@ -32,6 +32,21 @@ return [
"validator"=>[ "validator"=>[
'order_id_required' => '订单id必填', 'order_id_required' => '订单id必填',
'order_items_required' => '订单明细数据错误', 'order_items_required' => '订单明细数据错误',
'goods_price' => [
"gt"=>"商品单价不能小于0"
],
'goods_number' => [
"gt"=>"商品数量不能小于0"
],
'return_goods_price' => [
"gt"=>"售后单价不能小于0"
],
'return_goods_number' => [
"gt"=>"售后数量不能小于0"
],
'order_address_type' => [
"required"=>"订单地址类型是必须的"
],
], ],
'options' => [ 'options' => [
"status"=>[ "status"=>[
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment