Commit 1510fb50 authored by wwccw0591's avatar wwccw0591

pc

parent e8b1ce25
......@@ -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);
}
/**
* 登录业务
*
* @var \Business\User\LoginV2Model
*/
private static $_instance = null;
/**
* 单例模式获取类实例
*
* @return \Business\User\LoginV2Model
*/
public static function getInstance()
public function sellerLogin($sellerName)
{
if (!(self::$_instance instanceof self)) {
self::$_instance = new self();
$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);
return self::$_instance;
}
/**
* 登录业务
*
* @var \Business\User\LoginV2Model
*/
private
static $_instance = null;
/**
* 单例模式获取类实例
*
* @return \Business\User\LoginV2Model
*/
public
static function getInstance()
{
if (!(self::$_instance instanceof self)) {
self::$_instance = new self();
}
return self::$_instance;
}
}
......@@ -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, '*');
......
<?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',
);
}
}
......@@ -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);
}
}
......@@ -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']);
......
......@@ -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>
......
......@@ -10,7 +10,7 @@
<body>
<form action="/user/login" method="post">
用户名:<input name="data[mobile]" value="18305954587"/><br />
用户名:<input name="data[sellerName]" value="18305954587"/><br />
密码:<input name="data[password]" value="123456"/><br />
key:<input name="data[key]" value="c2e5e7bfce8a727c7fb6f696bcaa23ac"/><br />
<input type="submit" value="提交">
......
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 to comment