Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
M
my-yaf-project
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
chenchuanwen
my-yaf-project
Commits
1510fb50
Commit
1510fb50
authored
Oct 26, 2018
by
wwccw0591
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
pc
parent
e8b1ce25
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
318 additions
and
47 deletions
+318
-47
ShopkeeperService.php
application/models/Business/Store/ShopkeeperService.php
+37
-29
Member.php
application/models/DAO/Member.php
+3
-2
Seller.php
application/models/DAO/Store/Seller.php
+244
-0
Shopkeeper.php
application/modules/Client/controllers/Shopkeeper.php
+11
-0
User.php
application/modules/Client/controllers/User.php
+20
-13
login.php
public/client/user/login.php
+2
-2
login.php
public/test/user/login.php
+1
-1
No files found.
application/models/Business/Store/ShopkeeperService.php
View file @
1510fb50
...
...
@@ -370,10 +370,10 @@ class ShopkeeperServiceModel extends \Business\AbstractModel
$allQuery
[
'bool'
]
=
array
();
if
(
!
empty
(
$keyword
))
{
$orderState
=
!
empty
(
$orderState
)
?
$orderState
:
false
;
if
(
strlen
(
$keyword
)
==
ApiConst
::
four
)
{
if
(
strlen
(
$keyword
)
==
ApiConst
::
four
)
{
$where
=
'han_order.store_id='
.
$storeId
;
$where
.=
Common
::
format
(
" and SUBSTRING(order_sn,
{
0
}
,
{
1})='{2
}
'"
,
ApiConst
::
positionPickupCodeBeginMysql
,
ApiConst
::
four
,
$keyword
);
}
else
{
$where
.=
Common
::
format
(
" and SUBSTRING(order_sn,
{
0
}
,
{
1})='{2
}
'"
,
ApiConst
::
positionPickupCodeBeginMysql
,
ApiConst
::
four
,
$keyword
);
}
else
{
$where
=
$this
->
getOrderIndexWhere
(
$storeId
,
$keyword
,
$pageIndex
,
$pageSize
,
$orderState
);
}
}
else
{
...
...
@@ -407,7 +407,7 @@ class ShopkeeperServiceModel extends \Business\AbstractModel
public
function
getDiliveryManByStoreId
(
$memberId
)
{
$memberDao
=
\DAO\MemberModel
::
getInstance
();
$memberDao
=
\DAO\MemberModel
::
getInstance
();
$storeId
=
$memberDao
->
getInfo
(
$memberId
,
'store_id'
);
if
(
empty
(
$storeId
))
{
ErrorModel
::
throwException
(
CodeConfigModel
::
emptyStoreId
);
...
...
@@ -451,7 +451,7 @@ class ShopkeeperServiceModel extends \Business\AbstractModel
$this
->
store
=
\Our\RedisHelper
::
cachedFunction
(
\Redis\Db5\OrderRedisModel
::
getInstance
(),
array
(
&
$storeDao
,
'getInfoById'
),
array
(
$this
->
order
[
'storeId'
],
$this
->
storeField
),
\Our\ApiConst
::
oneDaySecond
);
$returnData
=
$this
->
order
;
//配送员信息
$this
->
diliveryman
=
\Our\RedisHelper
::
cachedFunction
(
\Redis\Db5\OrderRedisModel
::
getInstance
(),
array
(
&
$diliverymanDao
,
'findById'
),
array
(
$returnData
[
'diliverymanId'
]),
\Our\ApiConst
::
oneDaySecond
,
array
(
$returnData
[
'diliverymanId'
]));
$this
->
diliveryman
=
\Our\RedisHelper
::
cachedFunction
(
\Redis\Db5\OrderRedisModel
::
getInstance
(),
array
(
&
$diliverymanDao
,
'findById'
),
array
(
$returnData
[
'diliverymanId'
]),
\Our\ApiConst
::
oneDaySecond
,
array
(
$returnData
[
'diliverymanId'
]));
//地址
$returnData
[
'shippingName'
]
=
$orderDao
->
getShippingName
(
$returnData
[
'shippingType'
]);
$returnData
[
'orderMessage'
]
=
$this
->
orderCommon
[
'orderMessage'
];
...
...
@@ -483,14 +483,6 @@ class ShopkeeperServiceModel extends \Business\AbstractModel
$returnData
[
'orderGoods'
]
=
$goodsDao
->
convert
(
$this
->
orderGoodsList
);
return
$returnData
;
}
// public function getOrderDetail($memberId,$orderId){
// $storeId = $this->_getStoreByMemberId($memberId);
// $orderDao = \DAO\Order\OrderModel::getInstance();
// $where['store_id'] = $storeId;
// $where['order_id'] = $orderId;
// $order = $orderDao->getOrderDetail($where);
// return $order;
// }
/**
* 判断是否是店主
...
...
@@ -841,25 +833,41 @@ class ShopkeeperServiceModel extends \Business\AbstractModel
file_put_contents
(
$this
->
baseDir
.
PathConst
::
orderPaymentTimeConf
,
TIMESTAMP
);
}
/**
public
function
sellerLogin
(
$sellerName
)
{
$sellerDao
=
\DAO\Store\SellerModel
::
getInstance
(
DbNameConst
::
masterDBConnectName
);
$sellerInfo
=
$sellerDao
->
getInfoBySellerName
(
$sellerName
);
if
(
$sellerInfo
)
{
$memberDao
=
\DAO\MemberModel
::
getInstance
(
DbNameConst
::
masterDBConnectName
);
$memberInfo
=
$memberDao
->
getInfo
(
$sellerInfo
[
'memberId'
]);
return
$memberInfo
;
}
ErrorModel
::
throwException
(
CodeConfigModel
::
errorUsernameOrPassword
);
}
/**
* 登录业务
*
* @var \Business\User\LoginV2Model
*/
private
static
$_instance
=
null
;
private
static
$_instance
=
null
;
/**
/**
* 单例模式获取类实例
*
* @return \Business\User\LoginV2Model
*/
public
static
function
getInstance
()
{
public
static
function
getInstance
()
{
if
(
!
(
self
::
$_instance
instanceof
self
))
{
self
::
$_instance
=
new
self
();
}
return
self
::
$_instance
;
}
}
}
application/models/DAO/Member.php
View file @
1510fb50
...
...
@@ -25,7 +25,8 @@ class MemberModel extends \DAO\AbstractModel
//有效用户返回数据
private
$memberColumn
=
array
(
'member_id'
,
'member_name'
,
'member_truename'
,
'member_avatar'
,
'member_sex'
,
'member_birthday'
,
'member_mobile'
,
'member_mobile_bind'
,
'member_qq'
,
'member_qqopenid'
,
'member_qqinfo'
,
'member_wxinfo'
,
'member_wxopenid'
,
'member_sinaopenid'
,
'member_sinainfo'
,
'member_points'
,
'member_state'
,
'member_quicklink'
,
'member_exppoints'
,
'store_id'
,
'iswx'
,
'agree_flag'
,
'seller_id'
,
'diliveryman_id'
,
'member_tag_ids'
,
'member_group_ids'
,
'is_teacher'
,
'member_email'
,
'member_email_bind'
,
'is_wxsend'
,
'member_state'
);
private
$memberColumn
=
array
(
'member_id'
,
'member_name'
,
'member_truename'
,
'member_avatar'
,
'member_sex'
,
'member_birthday'
,
'member_mobile'
,
'member_mobile_bind'
,
'member_qq'
,
'member_qqopenid'
,
'member_qqinfo'
,
'member_wxinfo'
,
'member_wxopenid'
,
'member_sinaopenid'
,
'member_sinainfo'
,
'member_points'
,
'member_state'
,
'member_quicklink'
,
'member_exppoints'
,
'store_id'
,
'iswx'
,
'agree_flag'
,
'seller_id'
,
'diliveryman_id'
,
'member_tag_ids'
,
'member_group_ids'
,
'is_teacher'
,
'member_email'
,
'member_email_bind'
,
'is_wxsend'
,
'member_state'
);
public
function
init
()
{
...
...
@@ -220,7 +221,7 @@ class MemberModel extends \DAO\AbstractModel
'storeId'
=>
(
int
)
$member
[
'store_id'
],
'memberAvatarUrl'
=>
$member
[
'memberAvatarUrl'
],
'isWxsend'
=>
$member
[
'is_wxsend'
],
'pushSet'
=>
$member
[
'push_set'
]
,
'pushSet'
=>
$member
[
'push_set'
]
);
}
else
{
$member
=
$this
->
getOneByMemberId
(
$memberId
,
'*'
);
...
...
application/models/DAO/Store/Seller.php
0 → 100644
View file @
1510fb50
<?php
namespace
DAO\Store
;
use
OSS\Common
;
use
Our\ApiConst
;
use
Our\DbNameConst
;
use
Redis\Db6\StoreRedisModel
;
/**
* 店铺数据统计
* @date 2018-5-14
* @author csw
*/
class
SellerModel
extends
\DAO\AbstractModel
{
protected
$redis
;
private
$detailField
=
"seller_id as sellerId,seller_name as sellerName,member_id as memberId,seller_group_id as sellerGroupId,store_id as storeId,is_admin as isAdmin,last_login_time as lastLoginTime,token"
;
/**
* 表名
*
* @var string
*/
protected
$_tableName
=
'han_seller'
;
/**
* 主键
*
* @var string
*/
protected
$_primaryKey
=
'id'
;
public
function
init
()
{
$this
->
setDb
();
}
/**
* 获取店铺统计信息
* @param $where
* @return array
*/
public
function
find
(
$where
)
{
$this
->
setDb
(
$this
->
dbName
);
$data
=
$this
->
db
->
select
(
$this
->
detailField
)
->
from
(
$this
->
_tableName
)
->
where
(
$where
)
->
fetchOne
();
return
$data
;
}
public
function
getInfoBySellerName
(
$sellerName
)
{
$where
[
'seller_name'
]
=
$sellerName
;
return
$this
->
find
(
$where
);
}
public
function
getByStoreIdAndGmtCreate
(
$storeId
,
$gmtCreate
)
{
$where
[
'store_id'
]
=
$storeId
;
$where
[
'gmt_create'
]
=
$gmtCreate
;
$res
=
$this
->
find
(
$where
);
return
$res
;
}
public
function
getById
(
$id
)
{
$where
[
'id'
]
=
$id
;
$res
=
$this
->
find
(
$where
);
return
$res
;
}
/**
* 更新数据
* @param $data
* @param $where
* @return mixed
*/
public
function
update
(
$data
,
$where
)
{
return
$this
->
db
->
update
(
$this
->
_tableName
)
->
where
(
$where
)
->
rows
(
$data
)
->
execute
();
}
/**
* 插入数据
* @param $data
* @return mixed
*/
public
function
insert
(
$data
)
{
return
$this
->
db
->
insert
(
$this
->
_tableName
)
->
rows
(
$data
)
->
execute
();
}
/**
* @param $storeId 店铺id
* @param $field 更新栏目
* @param $value 增加值
* @param $type ,'INC':增加,'DEC':减少
*/
public
function
updateStoreStatisticsToday
(
$storeId
,
$field
,
$value
,
$type
=
'INC'
)
{
$h
=
'todayData'
.
date
(
'Ymd'
);
$key
=
$storeId
;
$this
->
redis
=
StoreRedisModel
::
getInstance
();
$data
=
$this
->
redis
->
tableHGet
(
$h
,
$key
);
$data
[
$field
]
=
$type
==
'INC'
?
$data
[
$field
]
+
$value
:
$data
[
$field
]
-
$value
;
StoreRedisModel
::
tableHSet
(
$h
,
$storeId
,
$data
,
ApiConst
::
oneDaySecond
);
}
public
function
getInfoById
(
$id
,
$field
=
'*'
,
$isField
=
false
)
{
$this
->
setDb
();
$where
[
$this
->
_primaryKey
]
=
$id
;
$store
=
$this
->
db
->
from
(
$this
->
_tableName
)
->
select
(
$field
)
->
where
(
$where
)
->
fetchOne
();
if
(
$isField
)
{
return
$store
[
$isField
];
}
else
{
return
$store
;
}
}
public
function
getInfoByMemberId
(
$memberId
,
$field
=
'*'
,
$isField
=
false
)
{
$this
->
setDb
();
$where
[
'member_id'
]
=
$memberId
;
$store
=
$this
->
db
->
from
(
$this
->
_tableName
)
->
select
(
$field
)
->
where
(
$where
)
->
fetchOne
();
if
(
$isField
)
{
return
$store
[
$isField
];
}
else
{
return
$store
;
}
}
//插入数据大量
public
function
addAllReduce
(
$datas
)
{
$this
->
setDb
(
DbNameConst
::
masterDBConnectName
);
$error
=
0
;
$baseSql
=
"insert into
{
$this
->
_tableName
}
(store_id,order_count,order_total,gmt_create) values"
;
$extentSql
=
" ON DUPLICATE KEY UPDATE order_count=order_goods_count-values(order_goods_count),order_total=order_total-values(order_total)"
;
$insertAllSql
=
$baseSql
;
for
(
$i
=
0
;
$i
<
count
(
$datas
);
$i
++
)
{
$addSql
=
\Our\Common
::
format
(
"(
{
0},{1},{2},{3
}
),"
,
$datas
[
$i
][
'storeId'
],
$datas
[
$i
][
'orderCount'
],
$datas
[
$i
][
'orderTotal'
],
datas
[
$i
][
'gmtCreate'
]);
$insertAllSql
.=
$addSql
;
if
(
$i
%
1000
==
0
&&
$i
!=
0
)
{
$insertAllSql
=
rtrim
(
$insertAllSql
,
','
);
$insertSql
=
$insertAllSql
.
$extentSql
;
$one
=
$this
->
db
->
insert
(
$this
->
_tableName
)
->
query
(
$insertSql
);
if
(
!
$one
)
{
$error
++
;
}
$insertAllSql
=
$baseSql
;
}
}
if
(
$insertAllSql
!=
$baseSql
)
{
$insertAllSql
=
rtrim
(
$insertAllSql
,
','
);
$insertSql
=
$insertAllSql
.
$extentSql
;
$one
=
$this
->
db
->
insert
(
$this
->
_tableName
)
->
query
(
$insertSql
);
if
(
!
$one
)
{
$error
++
;
}
}
if
(
$error
>
0
)
{
$dataJson
=
json_encode
(
$datas
);
throw
new
Exception
(
'插入han_store_member_statistics失败,'
.
$dataJson
,
4
);
}
}
//插入数据大量
public
function
addAll
(
$datas
)
{
$this
->
setDb
(
DbNameConst
::
masterDBConnectName
);
$error
=
0
;
$baseSql
=
"insert into
{
$this
->
_tableName
}
(store_id,order_count,order_total,fav_count,gmt_update,gmt_create) values"
;
$extentSql
=
" ON DUPLICATE KEY UPDATE order_count=order_count+values(order_count),order_total=order_total+values(order_total),fav_count=fav_count+values(fav_count),gmt_update=values(gmt_update)"
;
$insertAllSql
=
$baseSql
;
for
(
$i
=
0
;
$i
<
count
(
$datas
);
$i
++
)
{
$addSql
=
\Our\Common
::
format
(
"(
{
0},{1},{2},{3},{4},'{5
}
'),"
,
$datas
[
$i
][
'storeId'
],
$datas
[
$i
][
'orderCount'
],
$datas
[
$i
][
'orderTotal'
],
$datas
[
$i
][
'favCount'
],
TIMESTAMP
,
date
(
'Y-m-d'
,
TIMESTAMP
));
$insertAllSql
.=
$addSql
;
if
(
$i
%
1000
==
0
&&
$i
!=
0
)
{
$insertAllSql
=
rtrim
(
$insertAllSql
,
','
);
$insertSql
=
$insertAllSql
.
$extentSql
;
$one
=
$this
->
db
->
insert
(
$this
->
_tableName
)
->
query
(
$insertSql
);
if
(
!
$one
)
{
$error
++
;
}
$insertAllSql
=
$baseSql
;
}
}
if
(
$insertAllSql
!=
$baseSql
)
{
$insertAllSql
=
rtrim
(
$insertAllSql
,
','
);
$insertSql
=
$insertAllSql
.
$extentSql
;
$one
=
$this
->
db
->
insert
(
$this
->
_tableName
)
->
query
(
$insertSql
);
if
(
!
$one
)
{
$error
++
;
}
}
if
(
$error
>
0
)
{
$dataJson
=
json_encode
(
$datas
);
throw
new
Exception
(
'插入han_store_statics_day失败,'
.
$dataJson
,
4
);
}
}
/**
* 类实例
*
* @var \DAO\UserModel
*/
private
static
$_instance
=
null
;
/**
* 获取类实例
*
* @return \DAO\UserModel
*/
public
static
function
getInstance
()
{
if
(
!
(
self
::
$_instance
instanceof
self
))
{
self
::
$_instance
=
new
self
();
}
return
self
::
$_instance
;
}
/**
* 获取字段
* @return array
*/
private
function
_getColumns
()
{
return
array
(
'store_id as storeId'
,
'order_count as orderCount'
,
'order_total as orderTotal'
,
'fav_count as favCount'
,
'goods_count as goodsCount'
,
);
}
}
application/modules/Client/controllers/Shopkeeper.php
View file @
1510fb50
...
...
@@ -178,5 +178,16 @@ class ShopkeeperController extends \Our\Controller_AbstractApi {
}
}
/**
* 获得售后列表
*/
public
function
getRefunds
(){
$refundService
=
\Business\Order\RefundServiceModel
::
getInstance
();
$pageIndex
=
$this
->
getPageIndex
();
$pageSize
=
$this
->
getPageSize
();
$res
=
$refundService
->
getList
(
$this
->
memberId
,
$pageIndex
,
$pageSize
);
$this
->
success
(
$res
);
}
}
application/modules/Client/controllers/User.php
View file @
1510fb50
...
...
@@ -29,8 +29,15 @@ class UserController extends \Our\Controller_AbstractIndex {
ErrorModel
::
throwException
(
CodeConfigModel
::
isLogin
);
}
else
{
$data
=
$this
->
req
[
'data'
];
$
mobile
=
$data
[
NameConst
::
mobile
];
$
sellerName
=
$data
[
'sellerName'
];
$password
=
$data
[
NameConst
::
password
];
$shopKeeperServvice
=
\Business\Store\ShopkeeperServiceModel
::
getInstance
();
$seller
=
$shopKeeperServvice
->
sellerLogin
(
$sellerName
);
if
(
!
empty
(
$seller
)){
$mobile
=
$seller
[
'memberMobile'
];
}
else
{
\Error\ErrorModel
::
throwException
(
\Error\CodeConfigModel
::
errorUsernameOrPassword
);
}
if
(
$this
->
memberService
->
checkUserNamePassWord
(
$mobile
,
$password
)){
$member
=
$this
->
memberService
->
getOneByMobileAndPassword
(
$mobile
,
$password
);
//第二步保存扫码会员信息
...
...
@@ -38,18 +45,18 @@ class UserController extends \Our\Controller_AbstractIndex {
if
(
!
$result
){
\Error\ErrorModel
::
throwException
(
\Error\CodeConfigModel
::
saveStoreMemberFailed
);
}
/**
* 合并第三方授权信息
*/
if
(
$member
){
$result
=
$this
->
memberService
->
saveLoginMapping
(
$member
,
$data
);
if
(
!
$result
[
'status'
]){
\Error\ErrorModel
::
throwException
(
\Error\CodeConfigModel
::
loginBindUserInfoFailed
);
}
if
(
isset
(
$result
[
'member'
])
&&
$member
){
$member
=
array_merge
(
$member
,
$result
[
'member'
]);
}
}
//
/**
//
* 合并第三方授权信息
//
*/
//
if($member){
//
$result = $this->memberService->saveLoginMapping($member,$data);
//
if(!$result['status']){
//
\Error\ErrorModel::throwException(\Error\CodeConfigModel::loginBindUserInfoFailed);
//
}
//
if(isset($result['member'])&&$member){
//
$member = array_merge($member,$result['member']);
//
}
//
}
$userToken
=
$this
->
memberService
->
findMbUserTokenByMemberId
(
$member
[
'member_id'
]);
if
(
!
empty
(
$userToken
[
'token'
])){
$this
->
updateOldLoginKey
(
$userToken
[
'token'
]);
...
...
public/client/user/login.php
View file @
1510fb50
...
...
@@ -10,9 +10,9 @@
<body>
<form
action=
"/client/user/login"
method=
"post"
>
用户名:
<input
name=
"data[
mobile]"
value=
"18305954587
"
/><br
/>
用户名:
<input
name=
"data[
sellerName]"
value=
"kkk
"
/><br
/>
密码:
<input
name=
"data[password]"
value=
"123456"
/><br
/>
key:
<input
name=
"data[key]"
value=
"
c2e5e7bfce8a727c7fb6f696bcaa23ac
"
/><br
/>
key:
<input
name=
"data[key]"
value=
"
0f8c97c1ecebe33153e9b75879662680
"
/><br
/>
<input
type=
"submit"
value=
"提交"
>
</form>
</body>
...
...
public/test/user/login.php
100755 → 100644
View file @
1510fb50
...
...
@@ -10,7 +10,7 @@
<body>
<form
action=
"/user/login"
method=
"post"
>
用户名:
<input
name=
"data[
mobil
e]"
value=
"18305954587"
/><br
/>
用户名:
<input
name=
"data[
sellerNam
e]"
value=
"18305954587"
/><br
/>
密码:
<input
name=
"data[password]"
value=
"123456"
/><br
/>
key:
<input
name=
"data[key]"
value=
"c2e5e7bfce8a727c7fb6f696bcaa23ac"
/><br
/>
<input
type=
"submit"
value=
"提交"
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment