Commit a6a12051 by guojuxing

微信接口调用日志

parent 2ae36bd4
......@@ -73,6 +73,16 @@ public interface UserApiService {
ServiceResponse<String> getUserQrcode(Integer userId, Integer enterpriseId);
/**
* 微信接口调用日志
* @param params 接口调用参数
* @param resultMessage 接口调用返回结果
* @param businessModule 业务模块
* @param businessModuleInterface 业务模块接口路由
* @return
*/
ServiceResponse<Void> saveWechatHandleLog(String params, String resultMessage, String businessModule, String businessModuleInterface);
/**
* 获取服务号关注用户信息
* @param openId
* @return
......
package com.gic.auth.dao.mapper;
import com.gic.auth.entity.TabWechatHandleLog;
/**
* 微信接口调用日志
* @ClassName:
* @Description: 

* @author guojuxing

* @date 2021/6/15 10:28 AM

*/
public interface TabWechatHandleLogMapper {
/**
* 插入一条记录
*
* @param record 实体对象
* @return 更新条目数
*/
int insert(TabWechatHandleLog record);
/**
* 动态插入一条记录
*
* @param record 实体对象
* @return 更新条目数
*/
int insertSelective(TabWechatHandleLog record);
/**
* 根据主键查询
*
* @param id 主键
* @return 实体对象
*/
TabWechatHandleLog selectByPrimaryKey(Integer id);
/**
* 根据主键动态更新记录
*
* @param record 实体对象
* @return 更新条目数
*/
int updateByPrimaryKeySelective(TabWechatHandleLog record);
/**
* 根据主键更新记录
*
* @param record 实体对象
* @return 更新条目数
*/
int updateByPrimaryKey(TabWechatHandleLog record);
}
\ No newline at end of file
package com.gic.auth.entity;
import java.util.Date;
/**
* 微信接口调用日志
* @ClassName:
* @Description: 

* @author guojuxing

* @date 2021/6/15 10:20 AM

*/
public class TabWechatHandleLog {
/**
*
*/
private Integer id;
/**
* 接口调用参数
*/
private String params;
/**
* 接口调用返回结果
*/
private String resultMessage;
/**
* 业务模块
*/
private String businessModule;
/**
* 业务模块接口路由
*/
private String businessModuleInterface;
/**
*
*/
private Date createTime;
public Integer getId() {
return id;
}
public TabWechatHandleLog setId(Integer id) {
this.id = id;
return this;
}
public String getParams() {
return params;
}
public TabWechatHandleLog setParams(String params) {
this.params = params;
return this;
}
public String getResultMessage() {
return resultMessage;
}
public TabWechatHandleLog setResultMessage(String resultMessage) {
this.resultMessage = resultMessage;
return this;
}
public String getBusinessModule() {
return businessModule;
}
public TabWechatHandleLog setBusinessModule(String businessModule) {
this.businessModule = businessModule;
return this;
}
public String getBusinessModuleInterface() {
return businessModuleInterface;
}
public TabWechatHandleLog setBusinessModuleInterface(String businessModuleInterface) {
this.businessModuleInterface = businessModuleInterface;
return this;
}
public Date getCreateTime() {
return createTime;
}
public TabWechatHandleLog setCreateTime(Date createTime) {
this.createTime = createTime;
return this;
}
}
\ No newline at end of file
package com.gic.auth.service;
import com.gic.auth.entity.TabWechatHandleLog;
/**
* 微信接口调用日志
* @ClassName:
* @Description: 

* @author guojuxing

* @date 2021/6/15 10:22 AM

*/
public interface WechatHandleLogService {
/**
* 新增日志
* @param record
* @return
*/
int saveWechatHandleLog(TabWechatHandleLog record);
}
package com.gic.auth.service.impl;
import com.gic.auth.dao.mapper.TabWechatHandleLogMapper;
import com.gic.auth.entity.TabWechatHandleLog;
import com.gic.auth.service.WechatHandleLogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
/**
* 微信接口调用日志
* @ClassName:
* @Description: 

* @author guojuxing

* @date 2021/6/15 10:27 AM

*/
@Service("wechatHandleLogService")
public class WechatHandleLogServiceImpl implements WechatHandleLogService{
@Autowired
private TabWechatHandleLogMapper tabWechatHandleLogMapper;
@Override
public int saveWechatHandleLog(TabWechatHandleLog record) {
Date now = new Date();
record.setCreateTime(now);
return tabWechatHandleLogMapper.insert(record);
}
}
......@@ -5,6 +5,7 @@ import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSON;
import com.gic.auth.dto.accountgroup.AccountGroupUnionDTO;
import com.gic.auth.dto.wechat.WechatUserDTO;
import com.gic.enterprise.dto.union.UnionEnterpriseAuthDTO;
......@@ -76,6 +77,8 @@ public class UserApiServiceImpl implements UserApiService {
private UnionEnterpriseAuthApiService unionEnterpriseAuthApiService;
@Autowired
private UserGroupPermissionApiService userGroupPermissionApiService;
@Autowired
private WechatHandleLogService wechatHandleLogService;
@Transactional(rollbackFor = Exception.class)
@Override
......@@ -189,6 +192,16 @@ public class UserApiServiceImpl implements UserApiService {
}
@Override
public ServiceResponse<Void> saveWechatHandleLog(String params, String resultMessage, String businessModule, String businessModuleInterface) {
wechatHandleLogService.saveWechatHandleLog(new TabWechatHandleLog()
.setBusinessModule(businessModule)
.setBusinessModuleInterface(businessModuleInterface)
.setParams(params)
.setResultMessage(resultMessage));
return ServiceResponse.success();
}
@Override
public ServiceResponse<WechatUserDTO> getMemberInfoByOpenId(String openId) {
WechatUserDTO wechatUserDTO = QrcodeUtils.getMemberInfoByOpenId(openId);
if (wechatUserDTO != null) {
......
package com.gic.auth.utils.qrcode;
import com.gic.auth.entity.TabWechatHandleLog;
import com.gic.auth.service.UserApiService;
import com.gic.auth.service.UserService;
import com.gic.auth.service.WechatHandleLogService;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -27,9 +29,16 @@ public class AuditorQrcode implements IQrcode{
private UserApiService userApiService;
@Autowired
private UserService userService;
@Autowired
private WechatHandleLogService wechatHandleLogService;
@Override
public void receiveOpenId(String customParams, String openid) {
wechatHandleLogService.saveWechatHandleLog(new TabWechatHandleLog()
.setBusinessModule("获取openId")
.setBusinessModuleInterface("com.gic.auth.utils.qrcode.AuditorQrcode.receiveOpenId")
.setParams("openid:" + openid + ";customParams:" + customParams));
Integer auditorId = Integer.valueOf(customParams);
TabAuditor auditor = this.auditorService.getAuditor(auditorId);
if (auditor != null) {
......
......@@ -3,6 +3,8 @@ package com.gic.auth.utils.qrcode;
import com.alibaba.fastjson.JSON;
import com.gic.auth.config.Config;
import com.gic.auth.dto.wechat.WechatUserDTO;
import com.gic.auth.entity.TabWechatHandleLog;
import com.gic.auth.service.WechatHandleLogService;
import com.gic.commons.util.EntityUtil;
import com.gic.wechat.business.api.dto.fwh.WeixinUserAuthDTO;
import com.gic.wechat.business.api.service.fwh.WeixinBaseFunService;
......@@ -97,7 +99,15 @@ public class QrcodeUtils {
if (response.isSuccess()) {
//id用于回调查询使用
Integer id = response.getResult();
WechatHandleLogService wechatHandleLogService = ApplicationContextUtils.getBean("wechatHandleLogService");
ServiceResponse<String> serviceResponse = weixinBaseFunService.getTemporaryQRcodeURL(config.getAppkey(), id.toString(), 300);
wechatHandleLogService.saveWechatHandleLog(new TabWechatHandleLog()
.setBusinessModule("获取二维码")
.setBusinessModuleInterface("com.gic.auth.utils.qrcode.QrcodeUtils.getTempQrCodeUrl")
.setParams("appkey:" + config.getAppkey() + ";sceneStr:" + id)
.setResultMessage(JSON.toJSONString(serviceResponse)));
if (serviceResponse.isSuccess()) {
logger.info("临时带参二维码生成成功:{}", serviceResponse.getResult());
return serviceResponse.getResult();
......
package com.gic.auth.utils.qrcode;
import com.gic.auth.entity.TabSysUser;
import com.gic.auth.service.AuditorApiService;
import com.gic.auth.service.AuditorService;
import com.gic.auth.service.UserService;
import com.gic.auth.entity.TabWechatHandleLog;
import com.gic.auth.service.*;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.gic.auth.service.UserApiService;
/**
* 管理员二维码回调
* @ClassName: 

......@@ -27,9 +24,16 @@ public class UserQrcode implements IQrcode{
private UserService userService;
@Autowired
private AuditorApiService auditorApiService;
@Autowired
private WechatHandleLogService wechatHandleLogService;
@Override
public void receiveOpenId(String customParams, String openid) {
wechatHandleLogService.saveWechatHandleLog(new TabWechatHandleLog()
.setBusinessModule("获取openId")
.setBusinessModuleInterface("com.gic.auth.utils.qrcode.UserQrcode.receiveOpenId")
.setParams("openid:" + openid + ";customParams:" + customParams));
TabSysUser user = userService.getUserById(Integer.parseInt(customParams));
if (user != null) {
boolean isRepeat = userService.validOpenidIsRepeat(user.getEnterpriseId(), openid, user.getUserId());
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gic.auth.dao.mapper.TabWechatHandleLogMapper">
<resultMap id="BaseResultMap" type="com.gic.auth.entity.TabWechatHandleLog">
<id column="id" jdbcType="INTEGER" property="id" />
<result column="params" jdbcType="VARCHAR" property="params" />
<result column="result_message" jdbcType="VARCHAR" property="resultMessage" />
<result column="business_module" jdbcType="VARCHAR" property="businessModule" />
<result column="business_module_interface" jdbcType="VARCHAR" property="businessModuleInterface" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
</resultMap>
<sql id="Base_Column_List">
id, params, result_message, business_module, business_module_interface, create_time
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from tab_wechat_handle_log
where id = #{id,jdbcType=INTEGER}
</select>
<insert id="insert" parameterType="com.gic.auth.entity.TabWechatHandleLog">
insert into tab_wechat_handle_log (id, params, result_message,
business_module, business_module_interface,
create_time)
values (#{id,jdbcType=INTEGER}, #{params,jdbcType=VARCHAR}, #{resultMessage,jdbcType=VARCHAR},
#{businessModule,jdbcType=VARCHAR}, #{businessModuleInterface,jdbcType=VARCHAR},
#{createTime,jdbcType=TIMESTAMP})
</insert>
<insert id="insertSelective" parameterType="com.gic.auth.entity.TabWechatHandleLog">
insert into tab_wechat_handle_log
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="params != null">
params,
</if>
<if test="resultMessage != null">
result_message,
</if>
<if test="businessModule != null">
business_module,
</if>
<if test="businessModuleInterface != null">
business_module_interface,
</if>
<if test="createTime != null">
create_time,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=INTEGER},
</if>
<if test="params != null">
#{params,jdbcType=VARCHAR},
</if>
<if test="resultMessage != null">
#{resultMessage,jdbcType=VARCHAR},
</if>
<if test="businessModule != null">
#{businessModule,jdbcType=VARCHAR},
</if>
<if test="businessModuleInterface != null">
#{businessModuleInterface,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.gic.auth.entity.TabWechatHandleLog">
update tab_wechat_handle_log
<set>
<if test="params != null">
params = #{params,jdbcType=VARCHAR},
</if>
<if test="resultMessage != null">
result_message = #{resultMessage,jdbcType=VARCHAR},
</if>
<if test="businessModule != null">
business_module = #{businessModule,jdbcType=VARCHAR},
</if>
<if test="businessModuleInterface != null">
business_module_interface = #{businessModuleInterface,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.gic.auth.entity.TabWechatHandleLog">
update tab_wechat_handle_log
set params = #{params,jdbcType=VARCHAR},
result_message = #{resultMessage,jdbcType=VARCHAR},
business_module = #{businessModule,jdbcType=VARCHAR},
business_module_interface = #{businessModuleInterface,jdbcType=VARCHAR},
create_time = #{createTime,jdbcType=TIMESTAMP}
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
\ No newline at end of file
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