提交 23415e7a 作者: zhenjie

公众号用户同步功能

上级 b1a44cd4
......@@ -75,4 +75,6 @@ public class UserAccountVO implements Serializable {
private Integer totalPoints;
@ApiModelProperty(value = "小猪算账电签状态:0否,1是")
private Integer xzAuthStatus;
@ApiModelProperty(value = "是否关注公众号")
private Integer subStatus;
}
......@@ -6,10 +6,7 @@ import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.response.ResultEnum;
import com.mmc.iuav.user.controller.userpoints.config.NumberOfUserPoints;
import com.mmc.iuav.user.controller.userpoints.config.UserPointsEnum;
import com.mmc.iuav.user.dao.CompanyDao;
import com.mmc.iuav.user.dao.CooperationDao;
import com.mmc.iuav.user.dao.RealNameAuthDao;
import com.mmc.iuav.user.dao.UserServiceDao;
import com.mmc.iuav.user.dao.*;
import com.mmc.iuav.user.dao.userpoints.UserPointsDao;
import com.mmc.iuav.user.dao.userpoints.UserPointsDetailsDao;
import com.mmc.iuav.user.dao.xzsz.XzDao;
......@@ -80,6 +77,9 @@ public class UserAccountServiceImpl implements UserAccountService {
@Autowired
private XzDao xzDao;
@Autowired
private UserSubInfoDao userSubInfoDao;
@Override
public UserAccountVO getUserAccountInfoByUnionId(String unionId) {
......@@ -122,6 +122,12 @@ public class UserAccountServiceImpl implements UserAccountService {
if (xzAuthDO != null) {
userAccountVO.setXzAuthStatus(xzAuthDO.getXzAuthStatus());
}
UserSubInfoDO userSubInfoDO = userSubInfoDao.getUserSubInfoByUnionId(userAccountDO.getUnionId());
if (userSubInfoDO != null && userSubInfoDO.getRegStatus().equals(1)) {
userAccountVO.setSubStatus(1);
} else {
userAccountVO.setSubStatus(0);
}
return userAccountVO;
}
......
......@@ -247,7 +247,7 @@ public class WxServiceImpl implements WxService {
public ResultBody sendSubTemplateMsg(WxMsgVO ws) {
String accessToken = null;
try {
accessToken = this.getSubAccessToken();
accessToken = this.getSubStableAccessToken();
String url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + accessToken;
String param = ws.buildTemplateMsg();
String result = HttpHelper.httpPost(url, param);
......@@ -378,7 +378,7 @@ public class WxServiceImpl implements WxService {
@Override
public ResultBody moveSubUserUnionIdToTest() {
String accessToken = this.getSubStableAccessToken();
String url = "https://api.weixin.qq.com/cgi-bin/user/get?access_token=" + accessToken + "&next_openid=" + "oB6kk6tIoPLdaHGVv3oImiCVpyVw";
String url = "https://api.weixin.qq.com/cgi-bin/user/get?access_token=" + accessToken + "&next_openid=" + "oB6kk6obNektxM62mjj9PJHPtcME";
String jsonStr = HttpsRequestUtil.httpsGet(url, null);
log.info("all users:{}", jsonStr);
JSONObject obj = JSONObject.parseObject(jsonStr);
......
<?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">
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mmc.iuav.user.dao.UserSubInfoDao">
<resultMap id="userSubInfoResultMap" type="com.mmc.iuav.user.entity.UserSubInfoDO">
<id property="id" column="id" />
<result property="openId" column="open_id" />
<result property="unionId" column="union_id" />
<result property="nickName" column="nick_name" />
<result property="regStatus" column="reg_status" />
<result property="deleted" column="is_deleted" />
<result property="createTime" column="create_time" />
<result property="updateTime" column="update_time" />
</resultMap>
<resultMap id="userSubInfoResultMap" type="com.mmc.iuav.user.entity.UserSubInfoDO">
<id property="id" column="id"/>
<result property="openId" column="open_id"/>
<result property="unionId" column="union_id"/>
<result property="nickName" column="nick_name"/>
<result property="regStatus" column="reg_status"/>
<result property="deleted" column="is_deleted"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
</resultMap>
<select id="getUserSubInfo" resultMap="userSubInfoResultMap" parameterType="String">
<select id="getUserSubInfo" resultMap="userSubInfoResultMap" parameterType="String">
select u.id,u.open_id,u.union_id,u.nick_name,u.reg_status,
u.is_deleted,u.create_time,u.update_time
from user_sub_info u
where u.open_id = #{openId}
</select>
<select id="getUserSubInfoById" resultMap="userSubInfoResultMap" parameterType="Integer">
<select id="getUserSubInfoById" resultMap="userSubInfoResultMap" parameterType="Integer">
select usi.id,usi.open_id,usi.union_id,usi.nick_name,usi.is_deleted
from user_account ua
inner join user_sub_info usi on usi.union_id=ua.union_id
where usi.is_deleted=0 and ua.is_deleted=0
and ua.user_account_id = #{userAccountId}
</select>
<select id="getUserSubInfoByUnionId" resultMap="userSubInfoResultMap" parameterType="String">
select usi.id,usi.open_id,usi.union_id,usi.nick_name,usi.is_deleted
<select id="getUserSubInfoByUnionId" resultMap="userSubInfoResultMap" parameterType="String">
select usi.id,usi.open_id,usi.union_id,usi.nick_name,usi.is_deleted,usi.reg_status
from user_sub_info usi
where usi.union_id = #{unionId} and usi.is_deleted=0
</select>
<select id="countUserSubInfo" resultType="Integer" parameterType="String">
<select id="countUserSubInfo" resultType="Integer" parameterType="String">
select count(*)
from user_sub_info u
where u.open_id = #{openId} and is_deleted = 0
</select>
<insert id="insertUserSubInfo" useGeneratedKeys="true"
keyProperty="id" parameterType="com.mmc.iuav.user.entity.UserSubInfoDO">
<insert id="insertUserSubInfo" useGeneratedKeys="true"
keyProperty="id" parameterType="com.mmc.iuav.user.entity.UserSubInfoDO">
insert into user_sub_info
(
open_id,union_id,nick_name,reg_status,is_deleted,create_time,update_time
......@@ -53,28 +53,28 @@
#{openId},#{unionId},#{nickName},#{regStatus},#{deleted},#{createTime},#{updateTime}
)
</insert>
<update id="removeUserSubInfo" parameterType="String">
<update id="removeUserSubInfo" parameterType="String">
update user_sub_info
set is_deleted = 1
where open_id = #{openId}
</update>
<update id="updateUserSubInfo"
parameterType="com.mmc.iuav.user.entity.UserSubInfoDO">
update user_sub_info
<set>
<if test="unionId != null and unionId != '' ">
union_id = #{unionId},
</if>
<if test="nickName != null">
nick_name = #{nickName},
</if>
<if test="regStatus != null">
reg_status = #{regStatus},
</if>
</set>
where open_id = #{openId}
</update>
<update id="updateUserSubInfo"
parameterType="com.mmc.iuav.user.entity.UserSubInfoDO">
update user_sub_info
<set>
<if test="unionId != null and unionId != '' ">
union_id = #{unionId},
</if>
<if test="nickName != null">
nick_name = #{nickName},
</if>
<if test="regStatus != null">
reg_status = #{regStatus},
</if>
</set>
where open_id = #{openId}
</update>
</mapper>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论