View Laravel 手动开启事务.php
try { | |
DB::beginTransaction(); | |
DB::commit(); | |
} catch (Exception $e) { | |
Log::error($e->getMessage()); | |
DB::rollBack(); | |
throw new ExceptionBiz($e->getMessage()); | |
} |
View select my xxxx.php
public function fans($userId) | |
{ | |
// 1.1 检查用户是否存在 | |
UserModel::mustExist(['id' => $userId, 'status' => BaseModel::ENABLED], '用户不存在或已被封禁'); | |
// 2.1 查 user_follow 表, 找出跟当前用户相关的记录 | |
$userFollows = UserFollowModel::where(['followed_user_id' => $userId])->paginate(request('pagesize', 20)); | |
// 2.2 查询本次需要查询的 user_id | |
$ids = array_map(function ($item) { |
View Laravel 模型事件订阅者.php
<?php | |
namespace App\Listeners; | |
use Illuminate\Queue\InteractsWithQueue; | |
use Illuminate\Contracts\Queue\ShouldQueue; | |
use App\Common\Models\UserFollowModel; | |
use Illuminate\Support\Facades\Redis; | |
use App\Common\Models\UserModel; | |
use Log; |
View WechatController.php
<?php | |
// +---------------------------------------------------------------------- | |
// | 云阁科技 [ http://yungeio.com ] | |
// +---------------------------------------------------------------------- | |
// | Copyright (c) 2019~x http://yungeio.com All rights reserved. | |
// +---------------------------------------------------------------------- | |
// | Author : hikoqiu <qiuzhaohai@yungeio.com> | |
// +---------------------------------------------------------------------- | |
// | Datetime: 2019-09-20 01:37 | |
// +---------------------------------------------------------------------- |
View wxpay-callback.java
@RequestMapping("callback") | |
public void callback(HttpServletRequest request, HttpServletResponse response) throws Exception { | |
InputStream inputStream = request.getInputStream(); | |
//BufferedReader是包装设计模式,性能更搞 | |
BufferedReader in = new BufferedReader(new InputStreamReader(inputStream,"UTF-8")); | |
StringBuffer sb = new StringBuffer(); | |
String line ; | |
while ((line = in.readLine()) != null){ | |
sb.append(line); |
View HttpUtils.java
import com.google.gson.Gson; | |
import org.apache.http.HttpEntity; | |
import org.apache.http.HttpResponse; | |
import org.apache.http.client.config.RequestConfig; | |
import org.apache.http.client.methods.CloseableHttpResponse; | |
import org.apache.http.client.methods.HttpGet; | |
import org.apache.http.client.methods.HttpPost; | |
import org.apache.http.entity.StringEntity; | |
import org.apache.http.impl.client.CloseableHttpClient; | |
import org.apache.http.impl.client.HttpClients; |
View JwtUtils.java
import io.jsonwebtoken.Claims; | |
import io.jsonwebtoken.Jwts; | |
import io.jsonwebtoken.SignatureAlgorithm; | |
import net.xdclass.xdvideo.domain.User; | |
import java.util.Date; | |
/** | |
* jwt工具类 | |
*/ |
View WXPayUtil.java
import org.w3c.dom.Entity; | |
import org.w3c.dom.Node; | |
import org.w3c.dom.NodeList; | |
import javax.xml.parsers.DocumentBuilder; | |
import javax.xml.parsers.DocumentBuilderFactory; | |
import javax.xml.transform.OutputKeys; | |
import javax.xml.transform.Transformer; | |
import javax.xml.transform.TransformerFactory; | |
import javax.xml.transform.dom.DOMSource; |
View CommonUtils.java
import java.security.MessageDigest; | |
import java.util.UUID; | |
/** | |
* 常用工具类的封装,md5,uuid等 | |
*/ | |
public class CommonUtils { | |
/** |
NewerOlder