| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- <?php
- // +----------------------------------------------------------------------
- // | likeadmin快速开发前后端分离管理后台(PHP版)
- // +----------------------------------------------------------------------
- // | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
- // | 开源版本可自由商用,可去除界面版权logo
- // | gitee下载:https://gitee.com/likeshop_gitee/likeadmin
- // | github下载:https://github.com/likeshop-github/likeadmin
- // | 访问官网:https://www.likeadmin.cn
- // | likeadmin团队 版权所有 拥有最终解释权
- // +----------------------------------------------------------------------
- // | author: likeadminTeam
- // +----------------------------------------------------------------------
- namespace app\api\logic;
- use app\adminapi\logic\property\PropertyHeadLogic;
- use app\adminapi\logic\property\PropertyUserLogic;
- use app\common\model\property\PropertyHead;
- use app\common\model\property\PropertyOrder;
- use app\common\logic\BaseLogic;
- use think\Exception;
- use think\facade\Db;
- use think\facade\Log;
- /**
- * PropertyOrder逻辑
- * Class PropertyOrderLogic
- * @package app\api\logic
- */
- class PropertyOrderLogic extends BaseLogic
- {
- public static function bind(array $params): bool
- {
- // 判断户主是否存在 返回户主id
- $propertyUserId = PropertyUserLogic::getPropertyUserIdByMobile($params);
- Db::startTrans();
- try {
- $property = PropertyHead::where('id',$params['property_head_id'])->findOrEmpty();
- $address = $property['address'];
- if(empty($property)){
- throw new Exception('物业代理不存在');
- }
- $order = PropertyOrder::where(['property_user_id'=>$propertyUserId,'property_head_id'=>$params['property_head_id'],'order_status'=>0,'work_id'=>0])->order('id desc')->findOrEmpty();
- Log::info('物业ID'.$order);
- if($order->isEmpty()){
- PropertyOrder::create([
- 'property_head_id' => $params['property_head_id'],
- 'property_user_id' => $propertyUserId,
- 'remark' => $params['remark']??'',
- 'address' => $address??'',
- 'order_status' => 0,
- 'work_id' => 0,
- ]);
- }
- Db::commit();
- return true;
- } catch (\Exception $e) {
- Db::rollback();
- self::setError($e->getMessage());
- return false;
- }
- }
- /**
- * @notes 添加 - 下物业单
- * @param array $params
- * @return bool
- */
- public static function add(array $params)
- {
- // 判断户主是否存在 返回户主id
- $propertyUserId = PropertyUserLogic::getPropertyUserIdByMobile($params);
- Db::startTrans();
- try {
- $propertyAddress = PropertyHead::where('id',$params['property_head_id'])->value('address');
- $address = $params['address']?(($propertyAddress?$propertyAddress.$params['address']:'')):'';
- $res = PropertyOrder::create([
- 'property_head_id' => $params['property_head_id'],
- 'property_user_id' => $propertyUserId,
- 'remark' => $params['remark']??'',
- 'address' => $address??'',
- 'order_status' => isset($params['order_status'])?$params['order_status']:0,
- 'work_id' => isset($params['work_id'])?$params['work_id']:0,
- ]);
- Db::commit();
- $propertyHeadInfo = PropertyHeadLogic::detail(['id'=>$params['property_head_id']]);
- $propertyUserInfo = PropertyUserLogic::detail(['id'=>$propertyUserId]);
- event('Notice', [
- 'scene_id' => 125,
- 'params' => [
- 'user_id' => 0,
- 'thing2' => $propertyHeadInfo['village_name'],
- 'thing8' => $propertyUserInfo['householder_name'],
- 'phone_number11' => asteriskString($propertyUserInfo['householder_mobile']),
- ]
- ]);
- return $res->id;
- } catch (\Exception $e) {
- Db::rollback();
- self::setError($e->getMessage());
- return false;
- }
- }
- }
|