Commit f1fa4c29 authored by christ's avatar christ

Merge branch 'master_dev' of git.shenbd.com:qm-develop/shenbd into ccw

parents a52596d6 7dd96b69
...@@ -16,7 +16,7 @@ class Sms { ...@@ -16,7 +16,7 @@ class Sms {
* @param $param * @param $param
* @return mixed * @return mixed
*/ */
public static function sendSms($mobile,$templateId,$param) { public static function sendSms($mobile, $templateId, $param) {
$params = array (); $params = array ();
$accessKeyId = \Our\SecretKeys::aliYunSmsAppId; $accessKeyId = \Our\SecretKeys::aliYunSmsAppId;
...@@ -68,4 +68,4 @@ class Sms { ...@@ -68,4 +68,4 @@ class Sms {
//return $content; //return $content;
} }
} }
\ No newline at end of file
...@@ -915,11 +915,7 @@ class OrderConfirmUtil { ...@@ -915,11 +915,7 @@ class OrderConfirmUtil {
public function makeOrderSn($pay_id) { public function makeOrderSn($pay_id) {
//记录生成子订单的个数,如果生成多个子订单,该值会累加 //记录生成子订单的个数,如果生成多个子订单,该值会累加
static $num; static $num;
if (empty($num)) { $num = rand(0,99);
$num = 1;
} else {
$num ++;
}
return (date('y',time()) % 9+1) . sprintf('%013d', $pay_id) . sprintf('%02d', $num); return (date('y',time()) % 9+1) . sprintf('%013d', $pay_id) . sprintf('%02d', $num);
} }
......
...@@ -37,6 +37,9 @@ class ImageConst{ ...@@ -37,6 +37,9 @@ class ImageConst{
//商家头像/banner/资质图片存放路径 //商家头像/banner/资质图片存放路径
const storeLabel= 'mall/store/'; const storeLabel= 'mall/store/';
//注册相关图片存放路径
const Register= 'mall/register/';
const advPath = 'mall/adv/'; const advPath = 'mall/adv/';
//商品、商家头像等默认图片路径 //商品、商家头像等默认图片路径
......
...@@ -16,4 +16,40 @@ class SmsTemplateConst{ ...@@ -16,4 +16,40 @@ class SmsTemplateConst{
'code', 'code',
) )
); );
} /**
\ No newline at end of file * 统一内容短信相关参数
*
* User: linqin <358887571@qq.com>
*/
const messageSmsContent = array(
//商户微信支付申请开通通知 尊敬的${storename},我的身边店已成功在微信支付为您申请特约商户号,请您尽快前往预留邮箱进行后续操作。
'mchWxPayOpen' => array(
'templateId'=>'SMS_151547275',
'parameters'=>array(
'storename',
)
),
//商户微信支付申请退回通知 尊敬的${storename},您提供的线上支付材料不合格,退回理由:${reason},请尽快登录商户管理中心处理。
'mchWxPayReturn'=> array(
'templateId'=>'SMS_151547236',
'parameters'=>array(
'storename',
'reason',
)
),
//商户微信支付申请退回通知 尊敬的${storename},我的身边店已在微信支付平台发起授权申请,请您尽快前往微信支付商户平台操作。
'mchWxPayGrant' => array(
'templateId'=>'SMS_151547241',
'parameters'=>array(
'storename',
)
),
//商户微信支付关闭通知 尊敬的${storename},由于您在微信支付商户平台取消对我的身边店的授权,所以平台关闭了您的线上支付功能。
'mchWxPayClose' => array(
'templateId'=>'SMS_151577277',
'parameters'=>array(
'storename',
)
),
);
}
...@@ -165,7 +165,7 @@ class StoreServiceModel extends \Business\AbstractModel{ ...@@ -165,7 +165,7 @@ class StoreServiceModel extends \Business\AbstractModel{
} }
list($storeInfo,$storeLabel) = \DAO\StoreModel::getInstance()->get($storeId); list($storeInfo,$storeLabel) = \DAO\StoreModel::getInstance()->get($storeId);
//资质图片 //展示图片
$detailImg = []; $detailImg = [];
if($storeInfo['store_detail_image']){ if($storeInfo['store_detail_image']){
$storeDetailImg = unserialize($storeInfo['store_detail_image']); $storeDetailImg = unserialize($storeInfo['store_detail_image']);
...@@ -201,7 +201,8 @@ class StoreServiceModel extends \Business\AbstractModel{ ...@@ -201,7 +201,8 @@ class StoreServiceModel extends \Business\AbstractModel{
$returnClass[] = $v['gc_name']; $returnClass[] = $v['gc_name'];
} }
} }
return array('storeName'=>$storeInfo['store_name'],'storeLabel'=>$storeLabel,'fansCount'=>\DAO\FavoritesStoreModel::getInstance()->getFavoritesStoreCountByStoreId($storeId),'clazz'=>$returnClass,'address'=>$address,'storePhone'=>$storeInfo['store_phone'],'openingHours'=>$openingHours,'storeService'=>$storeInfo['store_notice'],"qualificationImage"=>$detailImg); $qualificationPics = $this->getStoreQualification($storeId,$storeInfo['member_id']);
return array('storeName'=>$storeInfo['store_name'],'storeLabel'=>$storeLabel,'fansCount'=>\DAO\FavoritesStoreModel::getInstance()->getFavoritesStoreCountByStoreId($storeId),'clazz'=>$returnClass,'address'=>$address,'storePhone'=>$storeInfo['store_phone'],'openingHours'=>$openingHours,'storeService'=>$storeInfo['store_notice'],"qualificationImage"=>$qualificationPics,'showImage'=>$detailImg);
} }
public function getRecommendGoodsCache($param,$memberId){ public function getRecommendGoodsCache($param,$memberId){
$storeId = intval($param['storeId']); $storeId = intval($param['storeId']);
...@@ -419,7 +420,12 @@ class StoreServiceModel extends \Business\AbstractModel{ ...@@ -419,7 +420,12 @@ class StoreServiceModel extends \Business\AbstractModel{
return true; return true;
} }
public function getStoreQualification($storeId,$memberId) {
$pics = \DAO\Store\QmStoreApplyClassModel::getInstance()->getApplyPicCache($storeId,'file_name');
$join = \DAO\Store\StoreJoininModel::getInstance()->getOneByMemberIdCache($memberId,'business_licence_photo');
$join['business_licence_photo'] && $pics[] =\Our\Common::getStaticFile($join['business_licence_photo'], \Our\ImageConst::Register, 'ossHost');
return \DAO\Store\QmStoreApplyClassModel::getInstance()->addWaterMark($pics);
}
/** /**
* 获取搜索页推荐关键字 * 获取搜索页推荐关键字
* @param $param * @param $param
......
...@@ -62,7 +62,12 @@ class ShortMessageModel { ...@@ -62,7 +62,12 @@ class ShortMessageModel {
return $result; return $result;
} }
/**
* 发送验证码短信
* @param $mobile 手机
* @param $content 内容
* @return bool
*/
public function sendValidCodeSmsForPlatform($mobile,$content){ public function sendValidCodeSmsForPlatform($mobile,$content){
$smsTemplate = \Our\SmsTemplateConst::verifyCodeSmsContent; $smsTemplate = \Our\SmsTemplateConst::verifyCodeSmsContent;
...@@ -76,6 +81,31 @@ class ShortMessageModel { ...@@ -76,6 +81,31 @@ class ShortMessageModel {
return false; return false;
} }
/**
* 发送内容短信
* @param $mobile 手机号
* @param $code 短信代码
* @param $params 参数
* @return bool 操作结果
* User: linqin <358887571@qq.com>
* Date: 2018/11/22 0022
* Time: 下午 4:53
*/
public function sendMessageSmsForPlatform($mobile, $code, $params){
$smsTemplate = \Our\SmsTemplateConst::messageSmsContent;
$template = $smsTemplate[$code];
if($template) {
$templateId = $template['templateId'];
// $param = $template['parameters'];
$result = \AliyunSms\Sms::sendSms($mobile, $templateId, $params);
if($result['status']){
return true;
}
}
return false;
}
/** /**
* 验证验证码是否有效 * 验证验证码是否有效
...@@ -177,4 +207,4 @@ class ShortMessageModel { ...@@ -177,4 +207,4 @@ class ShortMessageModel {
return self::$_instance; return self::$_instance;
} }
} }
\ No newline at end of file
<?php
namespace DAO\Store;
class QmStoreApplyClassModel extends \DAO\AbstractModel
{
/**
* 表名
*
* @var string
*/
protected $_tableName = 'han_qm_store_apply_class';
/**
* 主键
*
* @var string
*/
protected $_primaryKey = 'id';
public function init()
{
}
public function getList($where,$field)
{
$this->setDb();
$data = $this->db->select($field)->from($this->_tableName)->where($where)->fetchAll();
return $data;
}
public function getListByStoreId($storeId,$field) {
$where['store_id'] = $storeId;
return $this->getList($where,$field);
}
public function getApplyPicCache($storeId,$field) {
return \Our\RedisHelper::cachedFunction(\Redis\Db6\StoreRedisModel::getInstance(),array(&$this, 'getApplyPic'),array($storeId,$field),\Our\ApiConst::oneDaySecond,array($storeId));
}
public function getApplyPic($storeId, $field) {
$list = $this->getListByStoreId($storeId,$field);
$pics = [];
if($list) {
foreach ($list as $v) {
if($file_name = unserialize($v['file_name'])) {
if(in_array(substr(strrchr($file_name,'.'),1),\Our\ArrayConst::imageExtensions)){
$pics[] =\Our\Common::getStaticFile($file_name, \Our\ImageConst::Register, 'ossHost');
}
}
}
}
return $pics;
}
public function addWaterMark($pics,$filename = 'watermark.png?x-oss-process=image/resize,P_30') {
$waterPics = [];
if(is_array($pics) && $pics) {
$position = ['g_se','g_nw','g_south','g_north','g_sw','g_ne','g_east','g_west','g_center'];
$pic = base64_encode($filename);
$str = '?x-oss-process=image/resize,w_400';
for($i = 0 ; $i < count($position); $i++) {
$str .= sprintf('/watermark,image_%s,t_90,%s,x_10,y_10',$pic,$position[$i]);
}
foreach ($pics as $v) {
$waterPics[] = $v.$str;
}
}
return $waterPics;
}
/**
* 类实例
*
* @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;
}
}
<?php
namespace DAO\Store;
class StoreJoininModel extends \DAO\AbstractModel
{
/**
* 表名
*
* @var string
*/
protected $_tableName = 'han_store_joinin';
/**
* 主键
*
* @var string
*/
protected $_primaryKey = 'member_id';
public function init()
{
}
public function getOne($where,$field)
{
$this->setDb();
$data = $this->db->select($field)->from($this->_tableName)->where($where)->fetchOne();
return $data;
}
public function getOneByMemberId($memberId,$field) {
$where['member_id'] = $memberId;
return $this->getOne($where,$field);
}
public function getOneByMemberIdCache($memberId,$field) {
return \Our\RedisHelper::cachedFunction(\Redis\Db6\StoreRedisModel::getInstance(),array(&$this, 'getOneByMemberId'),array($memberId,$field),\Our\ApiConst::oneDaySecond,array($memberId));
}
/**
* 类实例
*
* @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;
}
}
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