Commit 60c0ca61 by 徐高华

好办管理员

parent 9be970aa
package com.gic.haoban.manage.api.dto;
import java.io.Serializable ;
public class HaobanUserDTO implements Serializable{
private static final long serialVersionUID = 773911689944500L;
/**关联id*/
private String userId;
/**wx企业Id*/
private String wxEnterpriseId;
/**电话*/
private String phoneNumber;
/**状态1正常0删除*/
private int statusFlag = 1;
/**创建时间*/
private java.util.Date createTime;
/**修改时间*/
private java.util.Date updateTime;
/**默认gic商户*/
private String defaultGicEid;
public void setUserId(String userId){
this.userId = userId;
}
public String getUserId(){
return userId;
}
public void setWxEnterpriseId(String wxEnterpriseId){
this.wxEnterpriseId = wxEnterpriseId;
}
public String getWxEnterpriseId(){
return wxEnterpriseId;
}
public void setPhoneNumber(String phoneNumber){
this.phoneNumber = phoneNumber;
}
public String getPhoneNumber(){
return phoneNumber;
}
public void setStatusFlag(int statusFlag){
this.statusFlag = statusFlag;
}
public int getStatusFlag(){
return statusFlag;
}
public void setCreateTime(java.util.Date createTime){
this.createTime = createTime;
}
public java.util.Date getCreateTime(){
return createTime;
}
public void setUpdateTime(java.util.Date updateTime){
this.updateTime = updateTime;
}
public java.util.Date getUpdateTime(){
return updateTime;
}
public void setDefaultGicEid(String defaultGicEid){
this.defaultGicEid = defaultGicEid;
}
public String getDefaultGicEid(){
return defaultGicEid;
}
}
\ No newline at end of file
package com.gic.haoban.manage.api.service;
import com.gic.haoban.manage.api.dto.HaobanUserDTO;
/**
*
* @ClassName: HaobanUserApiService
* @Description: TODO(这里用一句话描述这个类的作用)
* @author xugh
* @date 2022年5月20日 下午4:39:46
*
*/
public interface HaobanUserApiService {
/**
* 新增
* @Title: insert
* @Description: TODO
* @Param @param TabHaobanUser
*/
public HaobanUserDTO insert(HaobanUserDTO tabHaobanUser);
/**
* 通过主键查询
* @Title: selectById
* @Description: TODO
* @Param @param id
* @Param @return
* @Return TabHaobanUser
* @Throws
*/
public HaobanUserDTO selectByPhone(String wxEnterpriseId, String phone);
public void updateDefaultGicEid(String userId, String gicEnterpriseId);
}
\ No newline at end of file
package com.gic.haoban.manage.service.dao.mapper;
import org.apache.ibatis.annotations.Param;
import com.gic.haoban.manage.service.entity.TabHaobanUser;
/**
*
* @ClassName: TabHaobanUserDao
* @Description: TODO
* @Author 徐高华
* @Date 2022年05月20日 16:45:32
* @Modify
* @CopyRight 杭州
*/
public interface TabHaobanUserMapper {
/**
* 新增
* @Title: insert
* @Description: TODO
* @Param @param TabHaobanUser
*/
public void insert(TabHaobanUser tabHaobanUser);
/**
* 通过主键查询
* @Title: selectById
* @Description: TODO
* @Param @param id
* @Param @return
* @Return TabHaobanUser
* @Throws
*/
public TabHaobanUser selectByPhone(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("phone") String phone);
void updateDefaultGicEid(@Param("userId") String userId, @Param("gicEid") String gicEid);
}
\ No newline at end of file
package com.gic.haoban.manage.service.entity;
import java.io.Serializable ;
public class TabHaobanUser implements Serializable{
private static final long serialVersionUID = 773911689944500L;
/**关联id*/
private String userId;
/**wx企业Id*/
private String wxEnterpriseId;
/**电话*/
private String phoneNumber;
/**状态1正常0删除*/
private int statusFlag = 1;
/**创建时间*/
private java.util.Date createTime;
/**修改时间*/
private java.util.Date updateTime;
/**默认gic商户*/
private String defaultGicEid;
public void setUserId(String userId){
this.userId = userId;
}
public String getUserId(){
return userId;
}
public void setWxEnterpriseId(String wxEnterpriseId){
this.wxEnterpriseId = wxEnterpriseId;
}
public String getWxEnterpriseId(){
return wxEnterpriseId;
}
public void setPhoneNumber(String phoneNumber){
this.phoneNumber = phoneNumber;
}
public String getPhoneNumber(){
return phoneNumber;
}
public void setStatusFlag(int statusFlag){
this.statusFlag = statusFlag;
}
public int getStatusFlag(){
return statusFlag;
}
public void setCreateTime(java.util.Date createTime){
this.createTime = createTime;
}
public java.util.Date getCreateTime(){
return createTime;
}
public void setUpdateTime(java.util.Date updateTime){
this.updateTime = updateTime;
}
public java.util.Date getUpdateTime(){
return updateTime;
}
public void setDefaultGicEid(String defaultGicEid){
this.defaultGicEid = defaultGicEid;
}
public String getDefaultGicEid(){
return defaultGicEid;
}
}
\ No newline at end of file
package com.gic.haoban.manage.service.service ;
import com.gic.haoban.manage.api.dto.HaobanUserDTO;
/**
*
* @ClassName: HaobanUserApiService
* @Description: TODO(这里用一句话描述这个类的作用)
* @author xugh
* @date 2022年5月20日 下午4:39:46
*
*/
public interface HaobanUserService {
/**
* 新增
* @Title: insert
* @Description: TODO
* @Param @param TabHaobanUser
*/
public HaobanUserDTO insert(HaobanUserDTO tabHaobanUser) ;
/**
* 通过主键查询
* @Title: selectById
* @Description: TODO
* @Param @param id
* @Param @return
* @Return TabHaobanUser
* @Throws
*/
public HaobanUserDTO selectByPhone(String wxEnterpriseId , String phone) ;
public void updateDefaultGicEid(String userId, String gicEnterpriseId);
}
\ No newline at end of file
package com.gic.haoban.manage.service.service.impl;
import java.util.Date;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.ToolUtil;
import com.gic.haoban.manage.api.dto.HaobanUserDTO;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanUserMapper;
import com.gic.haoban.manage.service.entity.TabHaobanUser;
import com.gic.haoban.manage.service.service.HaobanUserService;
@Service
public class HaobanUserServiceImpl implements HaobanUserService {
@Autowired
private TabHaobanUserMapper tabHaobanUserMapper;
@Override
public HaobanUserDTO insert(HaobanUserDTO dto) {
if (StringUtils.isAnyBlank(dto.getWxEnterpriseId(), dto.getPhoneNumber())) {
return null;
}
HaobanUserDTO oldUser = this.selectByPhone(dto.getWxEnterpriseId(), dto.getPhoneNumber());
if (null != oldUser) {
return oldUser;
}
dto.setUserId(ToolUtil.randomUUID());
TabHaobanUser user = EntityUtil.changeEntity(TabHaobanUser.class, dto);
user.setCreateTime(new Date());
user.setUpdateTime(new Date());
user.setStatusFlag(1);
this.tabHaobanUserMapper.insert(user);
return dto;
}
@Override
public HaobanUserDTO selectByPhone(String wxEnterpriseId, String phone) {
TabHaobanUser user = this.tabHaobanUserMapper.selectByPhone(wxEnterpriseId, phone);
if (null != user) {
return EntityUtil.changeEntity(HaobanUserDTO.class, user);
}
return null;
}
@Override
public void updateDefaultGicEid(String staffid, String gicEnterpriseId) {
this.tabHaobanUserMapper.updateDefaultGicEid(staffid, gicEnterpriseId);
}
}
package com.gic.haoban.manage.service.service.out.impl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.gic.haoban.manage.api.dto.HaobanUserDTO;
import com.gic.haoban.manage.api.service.HaobanUserApiService;
import com.gic.haoban.manage.service.service.HaobanUserService;
@Service("haobanUserApiService")
public class HaobanUserApiServiceImpl implements HaobanUserApiService {
@Autowired
private HaobanUserService haobanUserService;
@Override
public HaobanUserDTO insert(HaobanUserDTO tabHaobanUser) {
return this.haobanUserService.insert(tabHaobanUser);
}
@Override
public HaobanUserDTO selectByPhone(String wxEnterpriseId, String phone) {
return this.haobanUserService.selectByPhone(wxEnterpriseId, phone);
}
@Override
public void updateDefaultGicEid(String userId, String gicEnterpriseId) {
this.haobanUserService.updateDefaultGicEid(userId, gicEnterpriseId);
}
}
......@@ -21,7 +21,7 @@
<bean class="com.gic.haoban.common.ext.LoggerLevelListen" id="loggerLevelListen">
<constructor-arg index="0" value="haoban-manage-service"/>
</bean>
<dubbo:service interface="com.gic.haoban.manage.api.service.HaobanUserApiService" ref="haobanUserApiService" timeout="10000"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.ApplicationApiService" ref="applicationApiServiceImpl"
timeout="10000"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.TestApiService" ref="testServiceImpl" timeout="10000"/>
......
<?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.haoban.manage.service.dao.mapper.TabHaobanUserMapper">
<resultMap type="com.gic.haoban.manage.service.entity.TabHaobanUser" id="result-map-tabHaobanUser">
<result column="user_id" property="userId"/>
<result column="wx_enterprise_id" property="wxEnterpriseId"/>
<result column="phone_number" property="phoneNumber"/>
<result column="status_flag" property="statusFlag"/>
<result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/>
<result column="default_gic_eid" property="defaultGicEid"/>
</resultMap>
<sql id="Base_Column_List">
user_id,
wx_enterprise_id,
phone_number,
status_flag,
create_time,
update_time,
default_gic_eid
</sql>
<!-- ===================== 新增 ======================== -->
<insert id="insert" parameterType="tabHaobanUser" useGeneratedKeys="true" keyProperty="id">
<![CDATA[
INSERT INTO tab_haoban_user(
user_id,
wx_enterprise_id,
phone_number,
status_flag,
create_time,
update_time,
default_gic_eid
)VALUES(
#{userId,jdbcType=CHAR},
#{wxEnterpriseId,jdbcType=VARCHAR},
#{phoneNumber,jdbcType=VARCHAR},
#{statusFlag,jdbcType=INTEGER},
#{createTime,jdbcType=TIMESTAMP},
#{updateTime,jdbcType=TIMESTAMP},
#{defaultGicEid,jdbcType=VARCHAR}
)
]]>
</insert>
<update id="updateDefaultGicEid">
update tab_haoban_user set default_gic_eid = #{gicEid} where user_id = #{userId}
</update>
<!-- ============ 查询=============-->
<select id="selectByPhone" resultMap="result-map-tabHaobanUser">
SELECT * FROM tab_haoban_user WHERE wx_enterprise_id=#{wxEnterpriseId} and phone_number=#{phone}
</select>
</mapper>
\ No newline at end of file
......@@ -37,16 +37,17 @@ import com.gic.haoban.common.utils.AuthWebRequestUtil;
import com.gic.haoban.common.utils.EntityUtil;
import com.gic.haoban.common.utils.HaobanResponse;
import com.gic.haoban.manage.api.dto.EnterpriseDetailDTO;
import com.gic.haoban.manage.api.dto.HaobanUserDTO;
import com.gic.haoban.manage.api.dto.StaffDTO;
import com.gic.haoban.manage.api.dto.WxApplicationDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseDTO;
import com.gic.haoban.manage.api.service.HaobanUserApiService;
import com.gic.haoban.manage.api.service.StaffApiService;
import com.gic.haoban.manage.api.service.WxApplicationApiService;
import com.gic.haoban.manage.api.service.WxEnterpriseApiService;
import com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService;
import com.gic.haoban.manage.web.config.Config;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
import com.gic.haoban.manage.web.vo.StaffVO;
import com.gic.haoban.manage.web.vo.WebLoginVO;
import com.gic.redis.data.util.RedisUtil;
import com.gic.wechat.api.dto.qywx.UserDTO;
......@@ -79,7 +80,9 @@ public class LoginController extends WebBaseController {
@Autowired
private ClerkService clerkService;
@Autowired
private EnterpriseService enterpriseService ;
private EnterpriseService enterpriseService;
@Autowired
private HaobanUserApiService haobanUserApiService;
/**
* 企微后台登录
......@@ -95,21 +98,22 @@ public class LoginController extends WebBaseController {
UserDTO wxUser = JSON.parseObject(userJson, UserDTO.class);
logger.info("企微登录user={}", JSON.toJSONString(wxUser));
String corpId = wxUser.getCorpid();
if(StringUtils.isBlank(corpId)) {
if (StringUtils.isBlank(corpId)) {
logger.info("企微登录失败auth_code={}", auth_code);
return this.fail("auth_code解析失败,corpId is null");
}
WxEnterpriseDTO wxEnterprise = wxEnterpriseApiService.getEnterpriseBycorpId(corpId);
if(null == wxEnterprise) {
if (null == wxEnterprise) {
logger.info("微信企业不存在corpId={}", corpId);
return this.fail("微信企业不存在,corpId="+corpId);
return this.fail("微信企业不存在,corpId=" + corpId);
}
logger.info("企微登录wxenterprise={}", JSON.toJSONString(wxEnterprise));
String wxEnterpriseId = wxEnterprise.getWxEnterpriseId() ;
StaffDTO loginStaff = staffApiService.selectByUserIdAndEnterpriseId(wxUser.getUserid(),wxEnterpriseId);
String wxEnterpriseId = wxEnterprise.getWxEnterpriseId();
StaffDTO loginStaff = staffApiService.selectByUserIdAndEnterpriseId(wxUser.getUserid(), wxEnterpriseId);
if (loginStaff == null) {
staffApiService.wxFristAdd(JSON.toJSONString(wxUser), wxEnterprise.getWxEnterpriseId());
loginStaff = staffApiService.selectByUserIdAndEnterpriseId(wxUser.getUserid(),wxEnterprise.getWxEnterpriseId());
loginStaff = staffApiService.selectByUserIdAndEnterpriseId(wxUser.getUserid(),
wxEnterprise.getWxEnterpriseId());
}
logger.info("企微登录staff={}", JSON.toJSONString(loginStaff));
if (loginStaff == null) {
......@@ -120,17 +124,18 @@ public class LoginController extends WebBaseController {
logger.info("未配置手机号,staffId ={}", loginStaff.getStaffId());
return this.fail("登录失败,未配置手机号");
}
List<EnterpriseDetailDTO> list = this.wxEnterpriseRelatedApiService.listEnterpriseByWxEnterpriseId(wxEnterpriseId,loginPhoneNumber,true);
List<EnterpriseDetailDTO> list = this.wxEnterpriseRelatedApiService
.listEnterpriseByWxEnterpriseId(wxEnterpriseId, loginPhoneNumber, true);
if (CollectionUtils.isEmpty(list)) {
logger.info("企微下无管理GIC商户");
return this.fail("企微下无管理GIC商户");
}
String gicEnterpriseId = list.get(0).getEnterpriseId();
String code = this.doLogin(wxEnterpriseId, gicEnterpriseId, loginPhoneNumber, "gic", response);
if(StringUtils.isNotBlank(code)) {
return this.fail(this.errMessage(code)) ;
}else {
return this.success(null) ;
if (StringUtils.isNotBlank(code)) {
return this.fail(this.errMessage(code));
} else {
return this.success(null);
}
}
......@@ -139,23 +144,24 @@ public class LoginController extends WebBaseController {
*/
@IgnoreLogin
@RequestMapping("yw-login")
public HaobanResponse ywLogin(String wxEnterpriseId, String gicEnterpriseId , String random,HttpServletResponse response) {
public HaobanResponse ywLogin(String wxEnterpriseId, String gicEnterpriseId, String random,
HttpServletResponse response) {
// 判断是否存在random
Object o = RedisUtil.getCache(random);
if (o == null) {
return resultResponse(HaoBanErrCode.ERR_4);
}
if(StringUtils.isAnyBlank(gicEnterpriseId,wxEnterpriseId)) {
return this.fail("微信企业和gic商户参数为空") ;
if (StringUtils.isAnyBlank(gicEnterpriseId, wxEnterpriseId)) {
return this.fail("微信企业和gic商户参数为空");
}
String gicSuperPhone = clerkService.getSuperAdminPhoneNumber(gicEnterpriseId);
logger.info("好办运维登录商户id={},超管手机={}", gicEnterpriseId, gicSuperPhone);
if(StringUtils.isBlank(gicSuperPhone)) {
return this.fail("商户超管的手机号未配置") ;
if (StringUtils.isBlank(gicSuperPhone)) {
return this.fail("商户超管的手机号未配置");
}
String code = this.doLogin(wxEnterpriseId, gicEnterpriseId, gicSuperPhone, "yw", response);
if (StringUtils.isNotBlank(code)) {
return this.fail(this.errMessage(code)) ;
return this.fail(this.errMessage(code));
}
return null;
}
......@@ -177,21 +183,26 @@ public class LoginController extends WebBaseController {
JSONObject jsonObject = JSONObject.parseObject(o);
String gicEnterpriseId = jsonObject.getString("enterpriseId");
String loginPhoneNumber = jsonObject.getString("phoneNumber");
List<WxEnterpriseDTO> wxEnterpriseList = wxEnterpriseRelatedApiService.listWxEnterpriseByEid(gicEnterpriseId,loginPhoneNumber);
List<WxEnterpriseDTO> wxEnterpriseList = wxEnterpriseRelatedApiService.listWxEnterpriseByEid(gicEnterpriseId,
loginPhoneNumber);
if (CollectionUtils.isEmpty(wxEnterpriseList)) {
logger.info("查询好办企业列表null,gicEnterpriseId={},loginPhoneNumber={}", gicEnterpriseId,loginPhoneNumber);
ModelAndView model = new ModelAndView(new RedirectView("/haoban-3/#/gic-error?errorCode=1001", false, false));
logger.info("查询好办企业列表null,gicEnterpriseId={},loginPhoneNumber={}", gicEnterpriseId, loginPhoneNumber);
ModelAndView model = new ModelAndView(
new RedirectView("/haoban-3/#/gic-error?errorCode=1001", false, false));
return model;
}
List<String> wxIdList = wxEnterpriseList.stream().map(dto->dto.getWxEnterpriseId()).collect(Collectors.toList()) ;
List<String> wxIdList = wxEnterpriseList.stream().map(dto -> dto.getWxEnterpriseId())
.collect(Collectors.toList());
if (!wxIdList.contains(wxEnterpriseId)) {
logger.info("无进去此好办企业的权限={}", wxEnterpriseId);
ModelAndView model = new ModelAndView(new RedirectView("/haoban-3/#/gic-error?errorCode=1001", false, false));
ModelAndView model = new ModelAndView(
new RedirectView("/haoban-3/#/gic-error?errorCode=1001", false, false));
return model;
}
String errorCode = this.doLogin(wxEnterpriseId, gicEnterpriseId, loginPhoneNumber, "gic", response);
if (StringUtils.isNotBlank(errorCode)) {
ModelAndView model = new ModelAndView(new RedirectView("/haoban-3/#/gic-error?errorCode="+errorCode, false, false));
ModelAndView model = new ModelAndView(
new RedirectView("/haoban-3/#/gic-error?errorCode=" + errorCode, false, false));
return model;
}
return null;
......@@ -232,6 +243,16 @@ public class LoginController extends WebBaseController {
}else {
webLoginDTO = EntityUtil.changeEntityByJSON(WebLoginDTO.class, staff);
}
HaobanUserDTO hbUser = new HaobanUserDTO() ;
hbUser.setWxEnterpriseId(wxEnterpriseId);
hbUser.setPhoneNumber(loginPhoneNumber);
hbUser = this.haobanUserApiService.insert(hbUser) ;
if(hbUser==null) {
logger.info("查询staff表不存在,gicEnterpriseId:{},loginPhoneNumber={}", gicEnterpriseId);
return "1002" ;
}
webLoginDTO.setHanbaoUserId(hbUser.getUserId());
webLoginDTO.setWxEnterpriseId(wxEnterpriseId);
webLoginDTO.setEnterpriseId(gicEnterpriseId);
// 导购id
......@@ -265,18 +286,18 @@ public class LoginController extends WebBaseController {
}
private String errMessage(String code) {
if(code.equals("1000")) {
return "系统异常" ;
}else if(code.equals("1001")) {
return "系统异常" ;
}else if(code.equals("1002")) {
return "系统异常" ;
}else if(code.equals("1003")) {
return "系统异常" ;
}else if(code.equals("1004")) {
return "系统异常" ;
}else {
return "系统异常" ;
if (code.equals("1000")) {
return "系统异常";
} else if (code.equals("1001")) {
return "您还不是好办的管理员,请在 GIC 后台绑定好办企业后再登录";
} else if (code.equals("1002")) {
return "通过手机号查询staff表,查询不到";
} else if (code.equals("1003")) {
return "通过手机号查询clerk,查询不到";
} else if (code.equals("1004")) {
return "企微应用未授权";
} else {
return "系统异常";
}
}
......@@ -286,16 +307,16 @@ public class LoginController extends WebBaseController {
@RequestMapping("get-login-info")
public HaobanResponse getLoginInfo() {
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
logger.info("当前登录信息={}",JSON.toJSON(loginUser));
WebLoginVO vo = EntityUtil.changeEntityByOrika(WebLoginVO.class, loginUser) ;
return this.success(vo) ;
logger.info("当前登录信息={}", JSON.toJSON(loginUser));
WebLoginVO vo = EntityUtil.changeEntityByOrika(WebLoginVO.class, loginUser);
return this.success(vo);
}
@RequestMapping("get-login-session")
@IgnoreLogin
public HaobanResponse getLoginSession() {
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
return this.success(loginUser) ;
return this.success(loginUser);
}
/**
......@@ -304,23 +325,23 @@ public class LoginController extends WebBaseController {
@RequestMapping("enterprise-is-over")
public HaobanResponse enterpriseIsOver(String enterpriseId) {
if (StringUtils.isEmpty(enterpriseId)) {
return this.fail("企业ID空") ;
return this.fail("企业ID空");
}
EnterpriseDTO enterprise = this.enterpriseService.getEnterpriseById(enterpriseId);
if(null == enterprise) {
return this.fail("gic商户查询不到") ;
if (null == enterprise) {
return this.fail("gic商户查询不到");
}
String token = AuthWebRequestUtil.getToken();
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
if(null == loginUser) {
return this.fail("用户未登录") ;
if (null == loginUser) {
return this.fail("用户未登录");
}
logger.info("切换商户,登录信息={},enterpriseId",JSON.toJSONString(loginUser),enterpriseId);
String phoneNumber = loginUser.getPhoneNumber() ;
logger.info("切换商户,登录信息={},enterpriseId", JSON.toJSONString(loginUser), enterpriseId);
String phoneNumber = loginUser.getPhoneNumber();
ClerkDTO clerk = clerkService.getUserByPhoneNumber(phoneNumber, enterpriseId);
if (clerk == null) {
logger.info("切换商户失败,gic账号不存在,eid={},phone={}", enterpriseId, phoneNumber);
return this.fail("切换商户失败,gic账号不存在") ;
return this.fail("切换商户失败,gic账号不存在");
}
loginUser.setEnterpriseId(enterpriseId);
loginUser.setClerkId(clerk.getClerkId());
......@@ -331,9 +352,9 @@ public class LoginController extends WebBaseController {
AuthWebRequestUtil.setSessionUser(loginUser);
AuthWebRequestUtil.setAppLoginUser(token, loginUser);
boolean flag = wxEnterpriseApiService.enterpriseIsOver(enterpriseId);
if(flag) {
if (flag) {
logger.info("切换商户失败,商户已过期,eid={},phone={}", enterpriseId, phoneNumber);
return this.fail("切换商户失败,商户已过期") ;
return this.fail("切换商户失败,商户已过期");
}
return resultResponse(HaoBanErrCode.ERR_1, false);
}
......@@ -356,21 +377,23 @@ public class LoginController extends WebBaseController {
JSONObject jsonObject = JSONObject.parseObject(o);
String wxEnterpriseId = jsonObject.getString("wxEnterpriseId");
String gicEnterpriseId = jsonObject.getString("enterpriseId");
String phoneNumber = jsonObject.getString("phoneNumber") ;
logger.info("选择企微列表,gicEnterpriseId={},phoneNumber={}",gicEnterpriseId,phoneNumber);
if(StringUtils.isAnyBlank(gicEnterpriseId,phoneNumber)) {
return this.fail("商户id和手机号为空") ;
String phoneNumber = jsonObject.getString("phoneNumber");
logger.info("选择企微列表,gicEnterpriseId={},phoneNumber={}", gicEnterpriseId, phoneNumber);
if (StringUtils.isAnyBlank(gicEnterpriseId, phoneNumber)) {
return this.fail("商户id和手机号为空");
}
// 判断商户
List<WxEnterpriseDTO> wxEnterpriseList = wxEnterpriseRelatedApiService.listWxEnterpriseByEid(gicEnterpriseId,phoneNumber);
List<WxEnterpriseDTO> wxEnterpriseList = wxEnterpriseRelatedApiService.listWxEnterpriseByEid(gicEnterpriseId,
phoneNumber);
if (CollectionUtils.isEmpty(wxEnterpriseList)) {
logger.info("查询微信企业列表空,gicEnterpriseId={},phoneNumber={}",gicEnterpriseId,phoneNumber);
logger.info("查询微信企业列表空,gicEnterpriseId={},phoneNumber={}", gicEnterpriseId, phoneNumber);
return this.fail("您还不是好办的管理员,请在 GIC 后台绑定好办企业后再登录");
}
List<String> wxIdList = wxEnterpriseList.stream().map(dto->dto.getWxEnterpriseId()).collect(Collectors.toList()) ;
List<String> wxIdList = wxEnterpriseList.stream().map(dto -> dto.getWxEnterpriseId())
.collect(Collectors.toList());
if (StringUtils.isNotBlank(wxEnterpriseId)) {
if(!wxIdList.contains(wxEnterpriseId)) {
logger.info("无权限,wxEnterpriseId={}",wxEnterpriseId);
if (!wxIdList.contains(wxEnterpriseId)) {
logger.info("无权限,wxEnterpriseId={}", wxEnterpriseId);
return this.fail("您还不是好办的管理员,请在 GIC 后台绑定好办企业后再登录");
}
List<WxEnterpriseDTO> collect = wxEnterpriseList.stream()
......
......@@ -569,6 +569,9 @@ public class StaffController extends WebBaseController {
}
}
String staffId = login.getStaffId() ;
if(StringUtils.isBlank(staffId)) {
return false ;
}
StaffDTO staff = this.staffApiService.selectById(staffId) ;
if(openUserIds.contains(staff.getWxUserId()) || openUserIds.contains(staff.getWxOpenUseId())) {
return true ;
......
......@@ -222,15 +222,13 @@ public class WxEnterpriseController extends WebBaseController {
}
WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = login.getWxEnterpriseId();
String staffId = login.getStaffId();
String staffName = login.getStaffName();
WxEnterpriseRelationDetailDTO detailDTO = new WxEnterpriseRelationDetailDTO();
detailDTO.setWxEnterpriseRelatedId(bindQo.getWxEnterpriseRelatedId());
detailDTO.setEnterpriseId(bindQo.getEnterpriseId());
detailDTO.setWxEnterpriseId(wxEnterpriseId);
detailDTO.setStaffId(staffId);
detailDTO.setStaffName(staffName);
detailDTO.setStaffId(null);
detailDTO.setStaffName(null);
detailDTO.setMemberOpenCardFlag(bindQo.getMemberOpenCardFlag());
detailDTO.setWxEnterpriseType(bindQo.getWxEnterpriseType());
List<StoreOrGroupInfoDTO> storeOrGroupInfoDTOS = JSONObject.parseArray(bindQo.getRelations(), StoreOrGroupInfoDTO.class);
......
......@@ -15,6 +15,7 @@
<dubbo:protocol name="dubbo" port="30009"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.HaobanUserApiService" id="haobanUserApiService" timeout="10000"/>
<dubbo:reference interface="com.gic.clerk.api.service.RightService" id="rightService" timeout="10000"/>
<dubbo:reference interface="com.gic.clerk.api.service.UserService" id="userService" timeout="10000"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.StaffApiService" id="staffApiService"
......
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