Commit 0dcdff26 by guojuxing

管理员增加接口:根据openId查询

parent 06bd993a
......@@ -127,10 +127,11 @@ public interface AuditorApiService {
* @Description:
* @author zhiwj
* @param openid
* @param enterpriseId
* @return com.gic.api.base.commons.ServiceResponse<com.gic.auth.dto.AuditorDTO>
* @throws
*/
ServiceResponse<AuditorDTO> getAuditorByOpenid(String openid);
ServiceResponse<AuditorDTO> getAuditorByOpenid(String openid, Integer enterpriseId);
/**
* delRelByProjectItemId
......
......@@ -95,8 +95,9 @@ public interface TabAuditorMapper {
* @Description:
* @author zhiwj
* @param openid
* @param enterpriseId
* @return com.gic.auth.entity.TabAuditor
* @throws
*/
TabAuditor getAuditorByOpenid(@Param("openid") String openid);
TabAuditor getAuditorByOpenid(@Param("openid") String openid, @Param("enterpriseId") Integer enterpriseId);
}
\ No newline at end of file
......@@ -215,4 +215,21 @@ public interface TabSysUserMapper {
* @throws
*/
List<TabSysUser> listGicUser(@Param("enterpriseId")Integer enterpriseId, @Param("isGic") Integer isGic);
/**
* 查询
* @param openId
* @return
*/
TabSysUser getUserByOpenId(@Param("openId") String openId, @Param("enterpriseId") Integer enterpriseId);
/**
* 统计商户下个数
* @param enterpriseId
* @param openid
* @param userId
* @return
*/
int countOpenid(@Param("enterpriseId") Integer enterpriseId, @Param("openid") String openid,
@Param("userId") Integer userId);
}
\ No newline at end of file
......@@ -137,8 +137,9 @@ public interface AuditorService {
* @Description:
* @author zhiwj
* @param openid
* @param enterpriseId
* @return com.gic.auth.entity.TabAuditor
* @throws
*/
TabAuditor getAuditorByOpenid(String openid);
TabAuditor getAuditorByOpenid(String openid, Integer enterpriseId);
}
......@@ -50,6 +50,23 @@ public interface UserService {
TabSysUser getUserById(Integer userId);
/**
* 商户下openId不能重复
* @param enterpriseId
* @param openid
* @param userId
* @return
*/
boolean validOpenidIsRepeat(Integer enterpriseId, String openid, Integer userId);
/**
* 根据openId查询
* @param openId
* @param enterpriseId
* @return
*/
TabSysUser getUserByOpenId(String openId, Integer enterpriseId);
/**
* 手机号码是否重复
* @param userId
* @param phone
......
......@@ -136,7 +136,7 @@ public class AuditorServiceImpl implements AuditorService {
}
@Override
public TabAuditor getAuditorByOpenid(String openid) {
return tabAuditorMapper.getAuditorByOpenid(openid);
public TabAuditor getAuditorByOpenid(String openid, Integer enterpriseId) {
return tabAuditorMapper.getAuditorByOpenid(openid, enterpriseId);
}
}
......@@ -72,6 +72,20 @@ public class UserServiceImpl implements UserService {
}
@Override
public boolean validOpenidIsRepeat(Integer enterpriseId, String openid, Integer userId) {
int count = tabSysUserMapper.countOpenid(enterpriseId, openid, userId);
if (count > 0) {
return true;
}
return false;
}
@Override
public TabSysUser getUserByOpenId(String openId, Integer enterpriseId) {
return tabSysUserMapper.getUserByOpenId(openId, enterpriseId);
}
@Override
public boolean isPhoneRepeat(Integer userId, String phone, Integer enterpriseId) {
int count = tabSysUserMapper.countByPhone(phone, userId, enterpriseId);
if (count > 0) {
......
......@@ -118,13 +118,7 @@ public class AuditorApiServiceImpl implements AuditorApiService {
auditorProjectItemRelService.addOrUpdateRel(auditorDTO.getEnterpriseId(), auditorDTO.getAuditorId(), auditorDTO.getProjectItemList());
// 受审组
auditorAuditedGroupRelService.addOrUpdateRel(auditorDTO.getEnterpriseId(), auditorDTO.getAuditorId(), auditorDTO.getAuditedGroupIdList());
// 查询二维码
TabAuditor auditor = auditorService.getAuditor(auditorDTO.getAuditorId());
String tempQrCodeUrl = null;
if (StringUtils.isBlank(auditor.getOpenid())) {
tempQrCodeUrl = QrcodeUtils.getTempQrCodeUrl(QrcodeTypeEnum.AUDITOR.getCode(), auditorDTO.getAuditorId(), auditor.getEnterpriseId());
}
return ServiceResponse.success(tempQrCodeUrl);
return ServiceResponse.success();
}
private boolean validProjectItemIsNotExist(List<Integer> projectItemList) {
......@@ -257,13 +251,32 @@ public class AuditorApiServiceImpl implements AuditorApiService {
}
@Override
public ServiceResponse<AuditorDTO> getAuditorByOpenid(String openid) {
TabAuditor auditor = this.auditorService.getAuditorByOpenid(openid);
public ServiceResponse<AuditorDTO> getAuditorByOpenid(String openid, Integer enterpriseId) {
TabAuditor auditor = this.auditorService.getAuditorByOpenid(openid, enterpriseId);
if (auditor != null) {
//如果查询到数据
AuditorDTO auditorDTO = EntityUtil.changeEntityByJSON(AuditorDTO.class, auditor);
setUserInfo(Arrays.asList(auditorDTO));
//
if (!Objects.equals(openid, auditorDTO.getOpenid())) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "openId:" + openid + "错误");
}
return EnterpriseServiceResponse.success(auditorDTO);
} else {
//如果查询不到,则去查询用户列表
TabSysUser user = userService.getUserByOpenId(openid, enterpriseId);
if (user != null) {
TabAuditor auditorByUserId = auditorService.getAuditorByUserId(user.getEnterpriseId(), user.getUserId());
if (auditorByUserId != null) {
//如果有值,则数据正确
AuditorDTO auditorDTO = EntityUtil.changeEntityByJSON(AuditorDTO.class, auditorByUserId);
auditorDTO.setOpenid(user.getOpenId());
auditorDTO.setPhone(user.getPhoneNumber());
auditorDTO.setAuditorName(user.getUserName());
return EnterpriseServiceResponse.success(auditorDTO);
}
}
return EnterpriseServiceResponse.failure(ErrorCode.NOTEXISTS);
}
}
......
package com.gic.auth.utils.qrcode;
import com.gic.auth.entity.TabSysUser;
import com.gic.auth.service.UserService;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -19,9 +21,19 @@ public class UserQrcode implements IQrcode{
private static Logger logger = LogManager.getLogger(UserQrcode.class);
@Autowired
private UserApiService userApiService;
@Autowired
private UserService userService;
@Override
public void receiveOpenId(String customParams, String openid) {
userApiService.updateUserOpenId(Integer.parseInt(customParams), openid);
TabSysUser user = userService.getUserById(Integer.parseInt(customParams));
if (user != null) {
boolean isRepeat = userService.validOpenidIsRepeat(user.getEnterpriseId(), openid, user.getUserId());
if (isRepeat) {
logger.warn("receiveOpenid失败,商户:{}下,存在重复的openid:{}", user.getEnterpriseId(), openid);
} else {
userApiService.updateUserOpenId(Integer.parseInt(customParams), openid);
}
}
}
}
......@@ -210,6 +210,7 @@
</if>
</where>
and is_use = 1
and enterprise_id = #{enterpriseId}
and delete_flag = ${@com.gic.auth.constant.DeleteFlagConstants@NORMAL_STATUS}
limit 1
</select>
......
......@@ -447,4 +447,23 @@
</if>
order by create_time desc
</select>
<select id="getUserByOpenId" resultMap="BaseResultMap">
select <include refid="Base_Column_List"></include>
from tab_sys_user
where delete_flag = ${@com.gic.auth.constant.DeleteFlagConstants@NORMAL_STATUS}
and open_id = #{openId}
and enterprise_id = #{enterpriseId}
limit 1
</select>
<select id="countOpenid" resultType="int">
select count(1) from tab_sys_user
where delete_flag = ${@com.gic.auth.constant.DeleteFlagConstants@NORMAL_STATUS}
and enterprise_id = #{enterpriseId}
<if test="userId != null">
and user_id &lt;&gt; #{userId}
</if>
and open_id = #{openId}
</select>
</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