Browse Source

判断关注公众号

master
zhizhi wu 3 years ago
parent
commit
43129eafc2
  1. 2
      ptos_tall/src/main/java/com/ccsens/ptos_tall/bean/dto/UserDto.java
  2. 9
      ptos_tall/src/main/java/com/ccsens/ptos_tall/persist/dao/WxOfficialDao.java
  3. 18
      ptos_tall/src/main/java/com/ccsens/ptos_tall/service/WxUserService.java
  4. 14
      ptos_tall/src/main/resources/mapper_dao/WxOfficialDao.xml

2
ptos_tall/src/main/java/com/ccsens/ptos_tall/bean/dto/UserDto.java

@ -73,6 +73,6 @@ public class UserDto {
@ApiModel("公众号的设备id")
public static class Official{
@ApiModelProperty("设备id")
private Long id;
private Long appId;
}
}

9
ptos_tall/src/main/java/com/ccsens/ptos_tall/persist/dao/WxOfficialDao.java

@ -1,6 +1,7 @@
package com.ccsens.ptos_tall.persist.dao;
import com.ccsens.ptos_tall.bean.po.WxOfficial;
import com.ccsens.ptos_tall.bean.vo.UserVo;
import com.ccsens.ptos_tall.persist.mapper.WxOfficialMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@ -17,4 +18,12 @@ public interface WxOfficialDao extends WxOfficialMapper {
* @return 公众号信息
*/
WxOfficial getByEquipmentId(@Param("equipmentId") String equipmentId);
/**
* 查询用户是否关注公众号
* @param appId 公众号appID
* @param userId 用户ID
* @return 关注状态 则未关注
*/
UserVo.UserOfficial getUserOfficial(@Param("appId") Long appId, @Param("userId") Long userId);
}

18
ptos_tall/src/main/java/com/ccsens/ptos_tall/service/WxUserService.java

@ -178,12 +178,18 @@ public class WxUserService implements IWxUserService {
public UserVo.UserOfficial getByOfficialId(Long userId, UserDto.Official param) {
UserVo.UserOfficial userOfficial = new UserVo.UserOfficial();
//根据用户id和公众号id查询关联信息
WxOfficialUserExample wxOfficialUserExample = new WxOfficialUserExample();
wxOfficialUserExample.createCriteria().andUserIdEqualTo(userId).andOfficialIdEqualTo(param.getId());
List<WxOfficialUser> wxOfficialUsers = wxOfficialUserMapper.selectByExample(wxOfficialUserExample);
if(CollectionUtil.isNotEmpty(wxOfficialUsers)){
userOfficial.setUserId(wxOfficialUsers.get(0).getUserId());
userOfficial.setStatus(wxOfficialUsers.get(0).getAttentionStatus());
// WxOfficialUserExample wxOfficialUserExample = new WxOfficialUserExample();
// wxOfficialUserExample.createCriteria().andUserIdEqualTo(userId).andOfficialIdEqualTo(param.getId());
// List<WxOfficialUser> wxOfficialUsers = wxOfficialUserMapper.selectByExample(wxOfficialUserExample);
// if(CollectionUtil.isNotEmpty(wxOfficialUsers)){
// userOfficial.setUserId(wxOfficialUsers.get(0).getUserId());
// userOfficial.setStatus(wxOfficialUsers.get(0).getAttentionStatus());
// }
UserVo.UserOfficial official = wxOfficialDao.getUserOfficial(param.getAppId(), userId);
if (official == null) {
userOfficial.setUserId(userId);
} else {
userOfficial = official;
}
return userOfficial;
}

14
ptos_tall/src/main/resources/mapper_dao/WxOfficialDao.xml

@ -15,4 +15,18 @@
and e.rec_status = 0
and e.id = #{equipmentId}
</select>
<select id="getUserOfficial" resultType="com.ccsens.ptos_tall.bean.vo.UserVo$UserOfficial">
SELECT
u.user_id,
u.attention_status AS STATUS
FROM
t_wx_official o,
t_wx_official_user u
WHERE
o.id = u.official_id
AND o.app_id = #{appId}
AND u.user_id = #{userId}
AND o.rec_status = 0
AND u.rec_status = 0
</select>
</mapper>
Loading…
Cancel
Save