| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443 |
- <?php
- /**
- * @package merchant
- *
- * @author xaboy
- * @day 2020-04-16
- *
- *
- */
- namespace app\common\repositories\merchant\apply;
- use app\common\dao\merchant\apply\MerchantLakalaApplyDao;
- use app\common\repositories\BaseRepository;
- use app\common\repositories\merchant\order\OrderMerchantRepository;
- use app\common\repositories\store\order\StoreOrderRepository;
- use think\facade\Db;
- use think\facade\Log;
- //use Lakala\src\LakalaBoss;
- //use Lakala\src\AES;
- //use lakala\sdk\com\fds\FdsSdk;
- use Lakala\sdk\FdsSdk;
- /**
- * 拉卡拉商户入网业务申请
- * Class MerchantHaikeApplyRepository
- * @package app\common\repositories\merchant
- * @author ljj
- * @created 2021/2/20 14:28
- */
- class MerchantLakalaApplyRepository extends BaseRepository
- {
- /**
- * MerchantRepository constructor.
- * @param MerchantHaikeApplyDao $dao
- */
- public function __construct(MerchantLakalaApplyDao $dao)
- {
- $this->dao = $dao;
- // FdsSdk::setAppId("6633965341557002240");
- // FdsSdk::setServerUrl("http://47.105.146.241:9510/service/soa");
- // FdsSdk::setApiVersion("3.0");
- // FdsSdk::setDSAKey("/www/wwwroot/renrenxiang/extend/Lakala/cert2/dsa_public_key.cer", "/www/wwwroot/renrenxiang/extend/Lakala/cert2/dsa_private_key.pfx", "PXommGBW9gj0XWSq");
- // FdsSdk::setRSAKey("/www/wwwroot/renrenxiang/extend/Lakala/cert2/rsa_public_key.cer", "/www/wwwroot/renrenxiang/extend/Lakala/cert2/rsa_private_key.pfx", "uqouGAKgs4iuxOkm");
- }
- /**
- * 获取单条订单信息
- */
- public function getOne(string $agent_apply_no)
- {
- $where = ['agent_apply_no' => $agent_apply_no];
- return ($this->dao->getWhere($where));
- }
- /**
- * 创建申请订单lakala 创建会员
- * @return array|\think\Model|null
- * @author ljj
- * @created 2021/2/20 10:45
- * @return mixed
- */
- public function createOrderlakala(array $params)
- {
- // date_default_timezone_set('PRC');
- // $out_member_no = "member0001";
- // require_once '/sdk/com/fds/FdsSdk.php';
- //应用编号,需修改
- $intentionRepository = app()->make(MerchantIntentionApplyRepository::class);
- $intention = $intentionRepository->getOne(['mer_intention_id' => $params['mer_intention_id']]);
- if (!$intention){
- return ['code' => 500, 'msg' => '无申请信息'];
- }
- $province_code=Db::name("user_province")->where("province_id",$intention->province_id)->value("province_code");
- $city_code=Db::name("user_city")->where("city_id",$intention->city_id)->value("city_code");
- $area_code=Db::name("user_area")->where("area_id",$intention->area_id)->value("area_code");
- // $type
- $type=2;
- if ($intention->type==1){
- //企业会员
- $type=3;
- }
- if ($intention->type==3){
- //个人会员
- $type=2;
- }
- if ($intention->type==2){
- //个体工商
- $type=4;
- }
- $param=[
- "out_member_no"=>$intention->merch_no,
- "name"=>$intention->mer_name,
- "address"=>$intention->addr,
- "linkman_name"=>$intention->name,
- "linkman_phone"=>$intention->phone,
- "province_code"=>$province_code,
- "city_code"=>$city_code,
- "area_code"=>$area_code,
- "member_type"=>$type
- ];
- $result = FdsSdk::getService()->createPersonMember($param);
- if ($result["status"]=="OK"){
- $apply=Db::name("merchant_lakala_apply")->where("member_no",$result["result"]["member_no"])->find();
- if (!$apply){
- Db::name("merchant")->where("merch_no",$intention->merch_no)->update([
- "member_no"=>$result["result"]["member_no"]
- ]);
- Db::name("merchant_lakala_apply")->insert(
- [
- "apply_id"=>$intention->mer_intention_id,
- "mer_id"=>$intention->mer_id,
- "mer_name"=>$intention->name,
- "uid"=>$intention->uid,
- "phone"=>$intention->phone,
- "merch_no"=>$intention->merch_no,
- "member_no"=>$result["result"]["member_no"],
- "member_status"=>$result["result"]["member_status"],
- "real_status"=>$result["result"]["real_status"],
- "member_category"=>$result["result"]["member_category"],
- "mobile_bind"=>$result["result"]["mobile_bind"],
- ]
- );
- }else{
- Db::name("merchant_lakala_apply")->where("member_no",$result["result"]["member_no"])->update(
- [
- "apply_id"=>$intention->mer_intention_id,
- "mer_id"=>$intention->mer_id,
- "mer_name"=>$intention->name,
- "uid"=>$intention->uid,
- "phone"=>$intention->phone,
- "merch_no"=>$intention->merch_no,
- "member_no"=>$result["result"]["member_no"],
- "member_status"=>$result["result"]["member_status"],
- "real_status"=>$result["result"]["real_status"],
- "member_category"=>$result["result"]["member_category"],
- "mobile_bind"=>$result["result"]["mobile_bind"]?1:0,
- ]
- );
- }
- return $result;
- }else{
- // if ($result["status"]==400){
- // if (!empty($result["data"]["error_code"]) && $result["data"]["error_code"]=="OP021100"){
- $apply=Db::name("merchant_lakala_apply")->where( "apply_id",$params['mer_intention_id'])->value("member_no");
- if ($apply){
- // $type=2;
- // if ($intention->type==1){
- // //企业会员
- // $type=3;
- // }
- // if ($intention->type==3){
- // //个人会员
- // $type=2;
- // }
- // if ($intention->type==2){
- // //个体工商
- // $type=4;
- // }
- $param=[
- "member_no"=>$apply,
- "out_member_no"=>$intention->merch_no,
- "name"=>$intention->mer_name,
- "address"=>$intention->addr,
- "linkman_name"=>$intention->name,
- "linkman_phone"=>$intention->phone,
- "province_code"=>$province_code,
- "city_code"=>$city_code,
- "area_code"=>$area_code,
- // "member_type"=>$type
- ];
- $result = FdsSdk::getService()->memberUpdate($param);
- return $result;
- }
- }
- // }
- // }
- }
- /**
- * 会员绑定手机号申请
- * @param $params
- */
- public function createMobileMember($params){
- $param=[
- "member_no"=> $params["member_no"],
- "mobile"=>$params["phone"],
- ];
- $result = FdsSdk::getService()->createMobileMember($param);
- if ($result["status"]=="OK"){
- return $result;
- }else{
- return ["res"=>$result,"msg"=>$param] ;
- }
- }
- /**
- * 确认绑定手机号
- * @param $params
- */
- public function createMepdember($params){
- $result = FdsSdk::getService()->createMepdember($params);
- if ($result["status"]=="OK"){
- return $result;
- }else{
- return ["res"=>$result,"msg"=>$params] ;
- }
- }
- /**
- * 企业信息认证
- * @param $params
- */
- public function createCompanyVerify($params,$intention){
- $param=[
- "member_no"=>$params["member_no"],
- "name"=>$params["mer_name"],
- "identity_type"=>1,
- "identity_name"=>$intention["name"],
- "identity_no"=> $intention["idcard_no"],
- // "identity_no"=>$intention["idcard_no"],
- "business_license"=>$intention["credit_code"],
- "business_license_start_date"=>$intention["merc_start_time"],
- "business_license_valid_date"=>$intention["merc_end_time"],
- ];
- $result = FdsSdk::getService()->createCompanyVerify($param);
- if ($result["status"]=="OK"){
- Db::name("merchant_lakala_apply")->where( "member_no",$params["member_no"])->update([
- "member_status"=>$result["result"]["member_status"],
- "real_status"=>$result["result"]["real_status"],
- "mobile_bind"=>$result["result"]["mobile_bind"]?1:0,
- "member_category"=>$result["result"]["member_category"]
- ]);
- return $result;
- }else{
- return ["res"=>$result,"msg"=>$param,"intention"=>$intention] ;
- }
- }
- /**
- * 首笔支付认证_对公卡
- * @param $params
- */
- public function memberBankBind($params,$intention){
- $province_code=Db::name("user_province")->where("province_id",$intention["province_id"])->value("province_code");
- $city_code=Db::name("user_city")->where("city_id",$intention["city_id"])->value("city_code");
- $area_code=Db::name("user_area")->where("area_id",$intention["area_id"])->value("area_code");
- $param=[
- "member_no"=>$params["member_no"],
- "company_name"=>$params["mer_name"],
- "bank_card_no"=>$intention["bank_account"],
- "bank_name"=>$intention["bank_branch"],
- "bank_code"=>$intention["bank_name"],
- "province_code"=>$province_code,
- "city_code"=>$city_code,
- "area_code"=>$area_code,
- ];
- $result = FdsSdk::getService()->memberBankBind($param);
- if ($result["status"]=="OK"){
- return $result;
- }else{
- return ["res"=>$result,"msg"=>$param] ;
- }
- }
- /**
- * 确认绑定银行卡_个人
- * @param $params
- */
- public function memberBankVerify($params){
- $result = FdsSdk::getService()->memberBankVerify($params);
- if ($result["status"]=="OK"){
- return $result;
- }else{
- return ["res"=>$result,"msg"=>$params] ;
- }
- }
- /**
- * 开通商户
- * @param $params
- */
- public function createMerchant($params,$intention){
- $param=[
- "member_no"=>$params["member_no"],
- "channel_type"=>"OPEN_PLATFORM",
- "out_merchant_no"=>$intention["merch_no"],
- "biz_content"=>$intention["desc"],
- "mcc_code"=>"99",
- "back_url"=>"http://app.bjtdba.com/admin",
- "seller_scale"=>0.2,
- "condition"=>"ge",
- ];
- $result = FdsSdk::getService()->createMerchant($param);
- if ($result["status"]=="OK"){
- return $result;
- }else{
- return ["res"=>$result,"msg"=>$param] ;
- }
- }
- /**
- * 开通商户确认
- * @param $param
- * @return bool|mixed|string
- */
- public function createMerchantConfirm($params){
- $result = FdsSdk::getService()->createMerchantConfirm($params);
- if ($result["status"]=="OK"){
- return $result;
- }else{
- return ["res"=>$result,"msg"=>$params] ;
- }
- }
- /**
- * 商户绑定
- * @param $params
- * @return array|bool|mixed|string
- * @throws \think\db\exception\DbException
- */
- public function memberMerchantBind($param){
- $params=[
- "member_no"=>$param["member_no"],
- "channel_merchant_no"=>$param["channel_merchant_no"],
- "merchant_type"=>$param["merchant_type"],
- ];
- $result = FdsSdk::getService()->memberMerchantBind($params);
- if ($result["status"]=="OK"){
- Db::name("merchant_lakala_apply")->where("member_no",$result["result"]["member_no"])->update(["status"=>2]);
- return $result;
- }else{
- return ["res"=>$result,"msg"=>$params] ;
- }
- }
- /**
- * 开通支付账户(URL)
- * @param $params
- * @return array|bool|mixed|string
- * @throws \think\db\exception\DbException
- */
- public function payAccount($param){
- $params=[
- "member_no"=>$param["member_no"],
- ];
- $result = FdsSdk::getService()->payAccount($params);
- if ($result["status"]=="OK"){
- Db::name("merchant_lakala_apply")->where("member_no",$param["member_no"])->update(["status"=>3]);
- return $result;
- }else{
- return ["res"=>$result,"msg"=>$params] ;
- }
- }
- /**
- * 消费
- * @param $params
- * @return array|bool|mixed|string
- * @throws \think\db\exception\DbException
- */
- public function orderConsume($param,$member_no){
- $params=[
- "member_no"=>$member_no,
- "out_order_no"=>$param["order_no"],
- "amount"=>$param["amount"],
- "pay_amount"=>$param["amount"],
- "terminal_ip"=>$this->getRealIP(),
- "order_name"=>"线上订单",
- "split_mode"=>1
- ];
- $result = FdsSdk::getService()->orderConsume($params);
- if ($result["status"]=="OK"){
- return $result;
- }else{
- return ["res"=>$result,"msg"=>$params] ;
- }
- }
- public function getRealIP(){
- $forwarded = request()->header("x-forwarded-for");
- if($forwarded){
- $ip = explode(',',$forwarded)[0];
- }else{
- $ip = request()->ip();
- }
- return $ip;
- }
- // public function createPersMweronMember($params){
- // $intentionRepository = app()->make(MerchantIntentionApplyRepository::class);
- // $intention = $intentionRepository->getOne(['mer_intention_id' => $params['mer_intention_id']]);
- // if (!$intention){
- // return ['code' => 500, 'msg' => '无申请信息'];
- // }
- // //应用编号,需修改
- // FdsSdk::setAppId("6633965341557002240");
- // FdsSdk::setServerUrl("http://47.105.146.241:9510/service/soa");
- // FdsSdk::setApiVersion("3.0");
- // //DSAPublicKeyPath :钱帐通的DSA公钥文件所在目录,需修改
- // //DSAPrivateKeyPath :应用自己的DSA私钥文件所在目录,需修改
- // //DSAPrivateKeyPass :应用自己的DSA私钥密码,需修改
- // FdsSdk::setDSAKey("/www/wwwroot/renrenxiang/extend/Lakala/cert2/dsa_public_key.cer", "/www/wwwroot/renrenxiang/extend/Lakala/cert2/dsa_private_key.pfx", "PXommGBW9gj0XWSq");
- // //RSAPublicKeyPath :钱帐通的RSA公钥文件所在目录,需修改
- // //RSAPrivateKeyPath :应用自己的RSA私钥文件所在目录,需修改
- // //RSAPrivateKeyPass :应用自己的RSA私钥密码,需修改
- // FdsSdk::setRSAKey("/www/wwwroot/renrenxiang/extend/Lakala/cert2/rsa_public_key.cer", "/www/wwwroot/renrenxiang/extend/Lakala/cert2/rsa_private_key.pfx", "uqouGAKgs4iuxOkm");
- // // rsa加密方法
- // // FdsSdk::getService()->rsaEncrypt("332624199001011111");
- // // 外部会员标识,需修改
- // $param=[
- // "member_no"=>$intention->mer_intention_id,
- // "out_merchant_no"=>$intention->merch_no,
- // "back_url"=>"http://app.bjtdba.com/admin",
- // "seller_scale"=>0.2,
- // "merchant_name"=>$intention->mer_name,
- // ];
- // $result = FdsSdk::getService()->createPersMweronMember($param);
- // return $result;
- // }
- /**
- * 拉卡拉入网
- * @param array $datas 商户数据
- * @param $mer_id 商户id
- * @data 2021-2-5
- */
- public function lakalaru($datas,$mer_id){
- }
- /**
- * 拉卡拉取消订单管理
- */
- public function autoCancelOrder($orderId){
- }
- }
|