Merge branch 'master' into lxq

¥解释此合并的必要性,尤其是将一个更新后的上游分支
This commit is contained in:
liuxiaoquan 2023-03-17 16:49:23 +08:00
commit 9d486fc375
20 changed files with 269 additions and 140 deletions

5
\

@ -1,5 +0,0 @@
合并分支:更新
# 请输入一个提交信息以解释此合并的必要性,尤其是将一个更新后的上游分支
# 合并到主题分支。
#
# 以 '#' 开头的行将被忽略,而且空提交说明将会终止提交。

@ -36,21 +36,28 @@ class SupplyBrokerage extends BaseController
$param = get_params();
$where = [];
$list = $this->model->getSupplyBrokerageList($where,$param);
$list = $this->model->with(['merchant', 'supplyChain', 'level'])->order('id desc')->select(); // 只读取来源为供应链小组的订单
$total = $this->model->count();
foreach ($list as $k =>$v){
$list[$k]['fa_supply_chain_id'] = Db::table('fa_supply_team')->where('id',$v['fa_supply_chain_id'])->value('name');
$list[$k]['mer_id'] = Db::connect('shop')->table('eb_merchant')->where('mer_id',$v['mer_id'])->value('mer_name');
$list[$k]['user_id'] = Db::table('fa_szxc_information_usermsg')->where('user_id',$v['user_id'])->value('name');
// $list[$k]['fa_supply_chain_id'] = Db::table('fa_supply_team')->where('id',$v['fa_supply_chain_id'])->value('name');
// $list[$k]['mer_id'] = Db::connect('shop')->table('eb_merchant')->where('mer_id',$v['mer_id'])->value('mer_name');
// $list[$k]['user_id'] = Db::table('fa_szxc_information_usermsg')->where('user_id',$v['user_id'])->value('name');
if($v['status'] == 1){
$list[$k]['status'] = '成功';
}else{
$list[$k]['status'] = '待分佣';
}
$list[$k]['supply_level_id'] = Db::table('fa_supply_level')->where('id',$v['supply_level_id'])->value('name');
$list[$k]['supply_userId'] = Db::table('cms_admin')->where('id',$v['supply_userId'])->value('nickname');
// $list[$k]['supply_level_id'] = Db::table('fa_supply_level')->where('id',$v['supply_level_id'])->value('name');
// $list[$k]['supply_userId'] = Db::table('cms_admin')->where('id',$v['supply_team_id'])->value('nickname');
}
return table_assign(0, '', $list);
$result = ['total' => $total, 'data' => $list];
return table_assign(0, '', $result);
}
else{
return view();

@ -15,6 +15,7 @@ use app\admin\validate\SupplyTeamValidate;
use think\exception\ValidateException;
use think\facade\Db;
use think\facade\View;
use app\admin\model\Admin;
class SupplyTeam extends BaseController
@ -36,13 +37,17 @@ class SupplyTeam extends BaseController
$param = get_params();
$where = [];
$list = $this->model->getSupplyTeamList($where,$param);
foreach ($list as $k =>$v){
$list[$k]['area_id'] = Db::table('fa_geo_area')->where('area_id',$v['area_id'])->value('area_name');
$list[$k]['supply_level_id'] = Db::table('fa_supply_level')->where('id',$v['supply_level_id'])->value('name');
$list[$k]['user_id'] = Db::table('fa_szxc_information_usermsg')->where('user_id',$v['user_id'])->value('name');
}
return table_assign(0, '', $list);
$list = $this->model->with('level')->select();
$total = $this->model->count();
// $list = $this->model->getSupplyTeamList($where,$param);
// foreach ($list as $k =>$v){
// $list[$k]['area_id'] = Db::table('fa_geo_area')->where('area_id',$v['parent_code'])->value('area_name');
// $list[$k]['supply_level_id'] = Db::table('fa_supply_level')->where('id',$v['supply_level_id'])->value('name');
// $list[$k]['user_id'] = Db::table('fa_szxc_information_usermsg')->where('user_id',$v['user_id'])->value('name');
// }
$result = ['total' => $total, 'data' => $list];
return table_assign(0, '', $result);
}
else{
return view();
@ -56,7 +61,7 @@ class SupplyTeam extends BaseController
{
if (request()->isAjax()) {
$param = get_params();
// 检验完整性
try {
validate(SupplyTeamValidate::class)->check($param);
@ -65,14 +70,49 @@ class SupplyTeam extends BaseController
return to_assign(1, $e->getError());
}
$userAdmin = Db::table('fa_szxc_information_useraddress')->where('admin_id', $param['user_id'])->find();
$parent_code = '';
// 验证用户级别,获取对应的区域代码
switch ($userAdmin['auth_range']) {
case 1:
// 单独处理
$parent_code = $userAdmin['village_code']; // 村
break;
case 2:
// 单独处理
$parent_code = $userAdmin['street_id']; // 乡镇
break;
case 3:
// 单独处理
$parent_code = $userAdmin['area_id']; // 区县
break;
case 4:
// 单独处理
$parent_code = Db::table('fa_szxc_information_useraddress')->where('admin_id', $userAdmin['area_id'])->value('city_code'); // 市级
break;
}
$param['auth_range'] = $userAdmin['auth_range']; // 市区线级别
$param['parent_code'] = $parent_code; // 所属区域代码
$this->model->addSupplyTeam($param);
}else{
$geo_area = Db::table('fa_geo_area')->where('city_code',510500)->select();
View::assign('geo_area', $geo_area);
$level = Db::table('fa_supply_level')->select();
$level = Db::table('fa_supply_level')->whereNotIn('id', [1])->select();
View::assign('level', $level);
//获取用户信息
$this->users = Db::table('fa_szxc_information_usermsg')->where('status',1)->field('user_id,name')->select();
$this->users = Db::table('fa_szxc_information_useraddress')
->alias('a')
->where('a.status',1)
->whereNotIn('a.id', [1])
->leftJoin ('nk_lihaink_cn.cms_admin b', 'a.admin_id = b.id')
->field('b.id, b.username, b.nickname, a.admin_id, a.street_id, a.area_id, a.village_id, a.village_code, a.brigade_id')
->select();
View::assign('users', $this->users);
return view();
}

@ -560,6 +560,18 @@ class User extends BaseController
// 'village_id' => $params['village_id'] != '' ? $village['village_id'] : 0,
// 'admin_id' => $admin['id'],
// ];
$phone = Db::table('fa_szxc_information_usermsg')->where('user_id', $params['id'])->value('phone');
// 如果为工作人员 == 服务小组采购人员
if($params['group_id'] == 3)
{
Db::connect('shop')->table('eb_user')->where('phone', $phone)->update(['fa_supply_team_id' => 1]); // 默认分佣比例 1 为小组服务
}else{
Db::connect('shop')->table('eb_user')->where('phone', $phone)->update(['fa_supply_team_id' => null]); // 如果不是工作人员,则去除分佣
}
if ($admin) {
Db::startTrans();
try {

@ -141,7 +141,9 @@ class Merchant extends BaseController
}else{
$total = StoreOrderModel::count();
$list = StoreOrderModel::with(['merchant'])->select();
$list = StoreOrderModel::with(['merchant', 'user'])
->where('source', 1) // 只读取来源为供应链小组的订单
->select();
View::assign('url', $this->url);
View::assign('list', $list);

@ -0,0 +1,25 @@
<?php
/**
* @copyright Copyright (c) 2021 勾股工作室
* @license https://opensource.org/licenses/Apache-2.0
* @link https://www.gougucms.com
*/
namespace app\admin\model;
use think\facade\Db;
use think\model;
/**
*
* 商城用户表
*
*/
class ShopUser extends Model
{
protected $connection = 'shop';
// 设置当前模型对应的完整数据表名称
protected $table = 'eb_user';
protected $pk = 'uid';
}

@ -59,6 +59,6 @@
*/
public function user()
{
return $this->hasOne(Merchant::class, 'mer_id', 'mer_id');
return $this->hasOne(ShopUser::class, 'uid', 'uid');
}
}

@ -11,6 +11,35 @@ class SupplyBrokerage extends Model
// 设置当前模型对应的完整数据表名称
protected $table = 'fa_supply_brokerage';
/**
* 关联商户
*
*/
public function merchant()
{
return $this->hasOne(Merchant::class, 'mer_id', 'mer_id');
}
/**
*
* 关联供应链团队
*
*/
public function supplyChain()
{
return $this->hasOne(SupplyChain::class, 'id', 'fa_supply_chain_id');
}
/**
*
* 关联分佣等级
*
*/
public function level()
{
return $this->hasOne(SupplyLevel::class, 'id', 'supply_level_id');
}
/**
* 获取分页列表
* @param $where
@ -20,7 +49,7 @@ class SupplyBrokerage extends Model
{
$rows = empty($param['limit']) ? get_config('app . page_size') : $param['limit'];
$order = empty($param['order']) ? 'id desc' : $param['order'];
$list = self::where($where)->field('id,supply_sn,mer_id,fa_supply_chain_id,order_sn,order_id,user_info,user_id,supply_userId,pay_price,brokerage_price,brokerage_rate,status,supply_level_id,group_user,create_time')->order($order)->paginate($rows, false, ['query' => $param]);
$list = self::where($where)->field('id,supply_sn,mer_id,fa_supply_chain_id,order_sn,order_id,user_info,user_id,supply_team_id,pay_price,brokerage_price,brokerage_rate,status,supply_level_id,group_user,create_time')->order($order)->paginate($rows, false, ['query' => $param]);
return $list;
}

@ -6,6 +6,7 @@
*/
namespace app\admin\model;
use think\model;
class SupplyLevel extends Model
{
// 设置当前模型对应的完整数据表名称

@ -10,6 +10,17 @@ class SupplyTeam extends Model
{
// 设置当前模型对应的完整数据表名称
protected $table = 'fa_supply_team';
/**
*
* 关联分佣等级
*
*/
public function level()
{
return $this->hasOne(SupplyLevel::class, 'id', 'supply_level_id');
}
/**
* 获取分页列表
* @param $where
@ -17,10 +28,13 @@ class SupplyTeam extends Model
*/
public function getSupplyTeamList($where, $param)
{
$rows = empty($param['limit']) ? get_config('app . page_size') : $param['limit'];
$order = empty($param['order']) ? 'id desc' : $param['order'];
$list = self::where($where)->field('id,name,lng,lat,area_id,brokerage,withdraw_brokerage,free_brokerage,supply_level_id,user_id')->order($order)->paginate($rows, false, ['query' => $param]);
return $list;
$rows = empty($param['limit']) ? get_config('app . page_size') : $param['limit'];
$order = empty($param['order']) ? 'id desc' : $param['order'];
$list = self::where($where)->field('id,name,lng,lat,parent_code,brokerage,withdraw_brokerage,free_brokerage,supply_level_id,user_id')
->order($order)
->paginate($rows, false, ['query' => $param]);
return $list;
}
/**

@ -14,10 +14,6 @@ class SupplyTeamValidate extends Validate
'name' => 'require',
'lng' => 'require',
'lat' => 'require',
'area_id' => 'require',
'brokerage' => 'require',
'withdraw_brokerage' => 'require',
'free_brokerage' => 'require',
'supply_level_id' => 'require',
'user_id' => 'require',
];
@ -26,10 +22,6 @@ class SupplyTeamValidate extends Validate
'name.require' => '后台供应链团队分组名称不能为空',
'lng.require' => '经度不能为空',
'lat.require' => '维度不能为空',
'area_id.require' => '区县ID不能为空',
'brokerage.require' => '团队分佣金额不能为空',
'withdraw_brokerage.require' => '团队分佣已提现金额不能为空',
'free_brokerage.require' => '分佣冻结金额不能为空',
'supply_level_id.require' => '团队所属等级不能为空',
'user_id.require' => '团队后台负责人ID不能为空',
];

@ -12,12 +12,6 @@
<table class="layui-hide" id="supply_brokerage" lay-filter="supply_brokerage"></table>
</div>
<!--<script type="text/html" id="toolbarDemo">-->
<!-- <div class="layui-btn-container">-->
<!-- <span class="layui-btn layui-btn-sm" lay-event="add" data-title="添加供应链团队佣金记录表">+ 添加供应链团队佣金记录表</span>-->
<!-- </div>-->
<!--</script>-->
<script type="text/html" id="barDemo">
<div class="layui-btn-group"><a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="read">查看</a><a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a></div>
</script>
@ -49,19 +43,27 @@
width: 80
},{
field: 'supply_sn',
title: '供应链佣金流水号',
title: '流水号',
align: 'center',
width: 100
},{
field: 'mer_id',
title: '商户',
align: 'center',
width: 100
width: 100,
templet: function (d)
{
return d.merchant.mer_name;
}
},{
field: 'fa_supply_chain_id',
title: '供应链团队',
align: 'center',
width: 100
width: 100,
templet: function (d)
{
return d.supplyChain.name;
}
},{
field: 'order_sn',
title: '订单编号',
@ -99,19 +101,18 @@
width: 100
},{
field: 'brokerage_rate',
title: '分佣比例',
title: '分佣等级',
align: 'center',
width: 100
width: 300,
templet: function (d)
{
return d.level.name + ',分佣比例:' + d.level.rate + '%';
}
},{
field: 'status',
title: '分佣状态',
align: 'center',
width: 100
},{
field: 'supply_level_id',
title: '分佣等级',
align: 'center',
width: 100
},{
field: 'group_user',
title: '用户组',

@ -14,7 +14,7 @@
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-container">
<span class="layui-btn layui-btn-sm" lay-event="add" data-title="添加供应链团队角色">+ 添加供应链团队角色</span>
<span class="layui-btn layui-btn-sm" lay-event="add" data-title="添加分佣比例">+ 添加分佣比例</span>
</div>
</script>
@ -33,7 +33,7 @@
var table = layui.table,tool = layui.tool, form = layui.form;
layui.pageTable = table.render({
elem: '#supply_level',
title: '供应链团队角色列表',
title: '角色分佣',
toolbar: '#toolbarDemo',
url: '/admin/supply_level/datalist',
page: true,
@ -51,19 +51,16 @@
field: 'name',
title: '角色名称',
align: 'center',
width: 100
},{
field: 'rate',
title: '分佣比例',
align: 'center',
width: 100
},
{
fixed: 'right',
field: 'right',
title: '操作',
toolbar: '#barDemo',
width: 136,
align: 'center'
}
]

@ -17,25 +17,11 @@
<h3 class="pb-3">新建供应链分组</h3>
<table class="layui-table layui-table-form">
<tr>
<td >后台供应链团队分组名称<font>*</font></td>
<td colspan="6"><input type="text" name="name" lay-verify="required" lay-reqText="请完善后台供应链团队分组名称" value="" autocomplete="off" placeholder="请输入后台供应链团队分组名称" class="layui-input"></td>
<td >团队分组名称<font>*</font></td>
<td colspan="6"><input type="text" name="name" lay-verify="required" lay-reqText="请完善团队分组名称" value="" autocomplete="off" placeholder="请输入团队分组名称" class="layui-input"></td>
</tr>
<tr><td class="layui-td-gray-2">区县ID<font>*</font></td>
<td>
<select name="area_id" lay-verify="required" lay-reqText="请完善区县ID">
<option value="">请选择</option>
{volist name='geo_area' id='vo'}
<option value="{$vo.area_id}" >{$vo.area_name}</option>
{/volist}
</select>
</td><td class="layui-td-gray-2">团队分佣金额<font>*</font></td>
<td><input type="text" name="brokerage" lay-verify="required" lay-reqText="请完善团队分佣金额" value="" autocomplete="off" placeholder="请输入团队分佣金额" class="layui-input"></td><td class="layui-td-gray-2">团队分佣已提现金额<font>*</font></td>
<td><input type="text" name="withdraw_brokerage" lay-verify="required" lay-reqText="请完善团队分佣已提现金额" value="" autocomplete="off" placeholder="请输入团队分佣已提现金额" class="layui-input"></td>
</tr>
<tr><td class="layui-td-gray-2">分佣冻结金额<font>*</font></td>
<td><input type="text" name="free_brokerage" lay-verify="required" lay-reqText="请完善分佣冻结金额" value="" autocomplete="off" placeholder="请输入分佣冻结金额" class="layui-input"></td>
<td class="layui-td-gray-2">团队所属等级<font>*</font></td>
<tr>
<td class="layui-td-gray-2">团队所属等级<font>*</font></td>
<td>
<select name="supply_level_id" lay-verify="required" lay-reqText="请完善团队所属等级">
<option value="">请选择</option>
@ -44,16 +30,18 @@
{/volist}
</select>
</td>
<td class="layui-td-gray-2">团队后台负责人ID<font>*</font></td>
<td>
<select name="user_id" lay-verify="required" lay-reqText="请完善团队后台负责人ID">
<option value="">请选择</option>
{volist name='users' id='vo'}
<option value="{$vo.user_id}" >{$vo.name}</option>
{/volist}
</select>
</td>
</tr>
</tr>
<tr>
<td class="layui-td-gray-2">供应链后台团队负责人<font>*</font></td>
<td>
<select name="user_id" lay-verify="required" lay-reqText="供应链后台团队负责人">
<option value="">请选择</option>
{volist name='users' id='vo'}
<option value="{$vo.id}" >{$vo.username}|{$vo.nickname}</option>
{/volist}
</select>
</td>
</tr>
<tr>
<td class="layui-td-gray">坐标</td>
<td colspan="6">
@ -77,14 +65,13 @@
<script src="/static/assets/js/addrHelper.js"></script>
<script>
var moduleInit = ['tool'];
function gouguInit() {
var form = layui.form, tool = layui.tool;
// 打开坐标拾取器
addrHelper.render({
key: "QNXBZ-GUKEX-I5Q4Q-THKU6-233DK-7ZBG7", //必传腾讯地图api key 申请方法见https://lbs.qq.com/webApi/javascriptGL/glGuide/glBasic
key: "E4PBZ-ZBBRQ-AXS5C-GUM37-BGQM3-4UFR3", //必传腾讯地图api key 申请方法见https://lbs.qq.com/webApi/javascriptGL/glGuide/glBasic
el: '#map', //必选项,渲染容器
lat: 28.913318, //可选项,初始化纬度
lng: 105.437753, //可选项初始化经度28.913318,105.437753
@ -95,8 +82,12 @@
created: function () { //可选项,地图被创建后回调
},
});
//监听提交
form.on('submit(webform)', function (data) {
console.log($('.lng').text());
console.log($('.lat').text());
data.field.lng = $('.lng').text();
data.field.lat = $('.lat').text();
if (data.field.lng == '') {

@ -33,7 +33,7 @@
var table = layui.table,tool = layui.tool, form = layui.form;
layui.pageTable = table.render({
elem: '#supply_team',
title: '供应链分组列表',
title: '供应链分组',
toolbar: '#toolbarDemo',
url: '/admin/supply_team/datalist',
page: true,
@ -49,10 +49,46 @@
width: 80
},{
field: 'name',
title: '后台供应链团队分组名称',
title: '分组名称',
align: 'center',
width: 100
},{
field: 'supply_level_id',
title: '分佣等级',
align: 'center',
width: 300,
templet: function (d)
{
return d.level.name + ',分佣比例:' + d.level.rate + '%';
}
},{
field: 'user_id',
title: '后台负责人',
align: 'center',
width: 100
},{
field: 'parent_code',
title: '市/区县/镇/村',
align: 'center',
width: 100
},{
field: 'brokerage',
title: '分佣金额',
align: 'center',
width: 100
},{
field: 'free_brokerage',
title: '冻结金额',
align: 'center',
width: 100
},{
field: 'withdraw_brokerage',
title: '已提现金额',
align: 'center',
width: 100
},{
field: 'lng',
title: '经度',
align: 'center',
@ -62,36 +98,6 @@
title: '维度',
align: 'center',
width: 100
},{
field: 'area_id',
title: '区县ID',
align: 'center',
width: 100
},{
field: 'brokerage',
title: '团队分佣金额',
align: 'center',
width: 100
},{
field: 'withdraw_brokerage',
title: '团队分佣已提现金额',
align: 'center',
width: 100
},{
field: 'free_brokerage',
title: '分佣冻结金额',
align: 'center',
width: 100
},{
field: 'supply_level_id',
title: '团队所属等级',
align: 'center',
width: 100
},{
field: 'user_id',
title: '团队后台负责人ID',
align: 'center',
width: 100
},
{
fixed: 'right',

@ -115,14 +115,35 @@
align: 'center',
width:150,
},{
field: 'uid',
field: 'supply_chain_price',
title: '佣金金额',
align: 'center',
width:120,
},{
field: 'supply_chain_rate',
title: '佣金比例',
align: 'center',
width:120,
templet: function (d)
{
return d.supply_chain_rate + '%';
}
}
// ,{
// field: 'uid',
// title: '用户',
// align: 'center',
// templet: function (d)
// {
// var html = d.uid;
// return html;
// },
// width:150,
// }
,{
field: 'real_name',
title: '用户',
align: 'center',
templet: function (d)
{
var html = d.uid;
return html;
},
width:150,
},{
field: 'paid',

@ -91,7 +91,7 @@ class ArticleComment extends BaseController{
->where('vote_id', $vote_id)->where('status', 1)->where('type',3)->page($page)->limit(20)->select();
return $this->apiSuccess('ok',['list1'=>$select,'list2'=>$select_type2,'list3'=>$select_type3]);
}
public function OneList($vote_id=1,$page=1) {
public function one_list($vote_id=1,$page=1) {
$select=Db::table('fa_article_comment')
->withAttr('user_info',function ($data,$value){
$find=Db::table('fa_user')->where('id',$value['user_id'])->field('nickname,avatar')->find();

@ -17,7 +17,7 @@ class Village extends BaseController
* @var array
*/
protected $middleware = [
Auth::class => ['except' => ['get_list','get_ranking_list','get_detail','get_json','get_village','thumbs_up','get_ranking_town','get_town_list'] ]
Auth::class => ['except' => ['get_list','get_ranking_list','get_detail','get_json','get_village','get_ranking_town','get_town_list'] ]
];
/**

@ -216,17 +216,6 @@ class MerchantIntention extends Model
$store_service_data['create_time'] = date('Y-m-d H:i:s');
Db::connect('shop')->table('eb_store_service')->insert($store_service_data);
// topservice
$top_store_service['mer_id'] = 0;
$top_store_service['uid'] = $intention['uid'];
$top_store_service['avatar'] = 'https://lihai001.oss-cn-chengdu.aliyuncs.com/def/1b716202302251108516996.png';
$top_store_service['nickname'] = $intention['mer_name'];
$top_store_service['account'] = $intention['phone'];
$top_store_service['pwd'] = password_hash('123456', PASSWORD_BCRYPT);;
$top_store_service['status'] = 1;
$top_store_service['is_open'] = 1;
$top_store_service['phone'] = $intention['phone'];
$top_store_service['create_time'] = date('Y-m-d H:i:s');
Db::connect('shop')->table('eb_store_service')->insert($top_store_service);
// 暂不开通通知
// Queue::push(SendSmsJob::class, ['tempId' => 'APPLY_MER_SUCCESS', 'id' => $smsData]);

@ -0,0 +1,7 @@
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
</IfModule>