Skip to content

Instantly share code, notes, and snippets.

View skip weibo guide.js
// ==UserScript==
// @name skip weibo guide
// @namespace http://tampermonkey.net/
// @version 0.1
// @description 跳过微博向导
// @author zedlz
// @match https://weibo.com/*
// @grant none
// ==/UserScript==
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;
@diaolizhi
diaolizhi / wxpay-callback.java
Created Jul 16, 2019
微信支付回调接口,接收通知并回复
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);
@diaolizhi
diaolizhi / HttpUtils.java
Created Jul 16, 2019
封装 HTTP 请求(可用户微信登录与支付)
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工具类
*/
@diaolizhi
diaolizhi / WXPayUtil.java
Created Jul 16, 2019
微信支付工具类:Map、XML 的转换,生成、校验 sign
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;
@diaolizhi
diaolizhi / CommonUtils.java
Created Jul 16, 2019
常用工具类:生成 UUID,对 String 进行 MD5 加密
View CommonUtils.java
import java.security.MessageDigest;
import java.util.UUID;
/**
* 常用工具类的封装,md5,uuid等
*/
public class CommonUtils {
/**
@diaolizhi
diaolizhi / IpUtils.java
Last active Jul 16, 2019
获取请求的 ip 地址
View IpUtils.java
import java.net.InetAddress;
import java.net.UnknownHostException;
import javax.servlet.http.HttpServletRequest;
public class IpUtils {
public static String getIpAddr(HttpServletRequest request) {
String ipAddress = null;
try {
ipAddress = request.getHeader("x-forwarded-for");
You can’t perform that action at this time.