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 @@ ...@@ -21,7 +21,7 @@
<bean class="com.gic.haoban.common.ext.LoggerLevelListen" id="loggerLevelListen"> <bean class="com.gic.haoban.common.ext.LoggerLevelListen" id="loggerLevelListen">
<constructor-arg index="0" value="haoban-manage-service"/> <constructor-arg index="0" value="haoban-manage-service"/>
</bean> </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" <dubbo:service interface="com.gic.haoban.manage.api.service.ApplicationApiService" ref="applicationApiServiceImpl"
timeout="10000"/> timeout="10000"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.TestApiService" ref="testServiceImpl" 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; ...@@ -37,16 +37,17 @@ import com.gic.haoban.common.utils.AuthWebRequestUtil;
import com.gic.haoban.common.utils.EntityUtil; import com.gic.haoban.common.utils.EntityUtil;
import com.gic.haoban.common.utils.HaobanResponse; import com.gic.haoban.common.utils.HaobanResponse;
import com.gic.haoban.manage.api.dto.EnterpriseDetailDTO; 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.StaffDTO;
import com.gic.haoban.manage.api.dto.WxApplicationDTO; import com.gic.haoban.manage.api.dto.WxApplicationDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseDTO; 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.StaffApiService;
import com.gic.haoban.manage.api.service.WxApplicationApiService; import com.gic.haoban.manage.api.service.WxApplicationApiService;
import com.gic.haoban.manage.api.service.WxEnterpriseApiService; import com.gic.haoban.manage.api.service.WxEnterpriseApiService;
import com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService; import com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService;
import com.gic.haoban.manage.web.config.Config; import com.gic.haoban.manage.web.config.Config;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode; 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.haoban.manage.web.vo.WebLoginVO;
import com.gic.redis.data.util.RedisUtil; import com.gic.redis.data.util.RedisUtil;
import com.gic.wechat.api.dto.qywx.UserDTO; import com.gic.wechat.api.dto.qywx.UserDTO;
...@@ -79,7 +80,9 @@ public class LoginController extends WebBaseController { ...@@ -79,7 +80,9 @@ public class LoginController extends WebBaseController {
@Autowired @Autowired
private ClerkService clerkService; private ClerkService clerkService;
@Autowired @Autowired
private EnterpriseService enterpriseService ; private EnterpriseService enterpriseService;
@Autowired
private HaobanUserApiService haobanUserApiService;
/** /**
* 企微后台登录 * 企微后台登录
...@@ -95,21 +98,22 @@ public class LoginController extends WebBaseController { ...@@ -95,21 +98,22 @@ public class LoginController extends WebBaseController {
UserDTO wxUser = JSON.parseObject(userJson, UserDTO.class); UserDTO wxUser = JSON.parseObject(userJson, UserDTO.class);
logger.info("企微登录user={}", JSON.toJSONString(wxUser)); logger.info("企微登录user={}", JSON.toJSONString(wxUser));
String corpId = wxUser.getCorpid(); String corpId = wxUser.getCorpid();
if(StringUtils.isBlank(corpId)) { if (StringUtils.isBlank(corpId)) {
logger.info("企微登录失败auth_code={}", auth_code); logger.info("企微登录失败auth_code={}", auth_code);
return this.fail("auth_code解析失败,corpId is null"); return this.fail("auth_code解析失败,corpId is null");
} }
WxEnterpriseDTO wxEnterprise = wxEnterpriseApiService.getEnterpriseBycorpId(corpId); WxEnterpriseDTO wxEnterprise = wxEnterpriseApiService.getEnterpriseBycorpId(corpId);
if(null == wxEnterprise) { if (null == wxEnterprise) {
logger.info("微信企业不存在corpId={}", corpId); logger.info("微信企业不存在corpId={}", corpId);
return this.fail("微信企业不存在,corpId="+corpId); return this.fail("微信企业不存在,corpId=" + corpId);
} }
logger.info("企微登录wxenterprise={}", JSON.toJSONString(wxEnterprise)); logger.info("企微登录wxenterprise={}", JSON.toJSONString(wxEnterprise));
String wxEnterpriseId = wxEnterprise.getWxEnterpriseId() ; String wxEnterpriseId = wxEnterprise.getWxEnterpriseId();
StaffDTO loginStaff = staffApiService.selectByUserIdAndEnterpriseId(wxUser.getUserid(),wxEnterpriseId); StaffDTO loginStaff = staffApiService.selectByUserIdAndEnterpriseId(wxUser.getUserid(), wxEnterpriseId);
if (loginStaff == null) { if (loginStaff == null) {
staffApiService.wxFristAdd(JSON.toJSONString(wxUser), wxEnterprise.getWxEnterpriseId()); 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)); logger.info("企微登录staff={}", JSON.toJSONString(loginStaff));
if (loginStaff == null) { if (loginStaff == null) {
...@@ -120,17 +124,18 @@ public class LoginController extends WebBaseController { ...@@ -120,17 +124,18 @@ public class LoginController extends WebBaseController {
logger.info("未配置手机号,staffId ={}", loginStaff.getStaffId()); logger.info("未配置手机号,staffId ={}", loginStaff.getStaffId());
return this.fail("登录失败,未配置手机号"); 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)) { if (CollectionUtils.isEmpty(list)) {
logger.info("企微下无管理GIC商户"); logger.info("企微下无管理GIC商户");
return this.fail("企微下无管理GIC商户"); return this.fail("企微下无管理GIC商户");
} }
String gicEnterpriseId = list.get(0).getEnterpriseId(); String gicEnterpriseId = list.get(0).getEnterpriseId();
String code = this.doLogin(wxEnterpriseId, gicEnterpriseId, loginPhoneNumber, "gic", response); String code = this.doLogin(wxEnterpriseId, gicEnterpriseId, loginPhoneNumber, "gic", response);
if(StringUtils.isNotBlank(code)) { if (StringUtils.isNotBlank(code)) {
return this.fail(this.errMessage(code)) ; return this.fail(this.errMessage(code));
}else { } else {
return this.success(null) ; return this.success(null);
} }
} }
...@@ -139,23 +144,24 @@ public class LoginController extends WebBaseController { ...@@ -139,23 +144,24 @@ public class LoginController extends WebBaseController {
*/ */
@IgnoreLogin @IgnoreLogin
@RequestMapping("yw-login") @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 // 判断是否存在random
Object o = RedisUtil.getCache(random); Object o = RedisUtil.getCache(random);
if (o == null) { if (o == null) {
return resultResponse(HaoBanErrCode.ERR_4); return resultResponse(HaoBanErrCode.ERR_4);
} }
if(StringUtils.isAnyBlank(gicEnterpriseId,wxEnterpriseId)) { if (StringUtils.isAnyBlank(gicEnterpriseId, wxEnterpriseId)) {
return this.fail("微信企业和gic商户参数为空") ; return this.fail("微信企业和gic商户参数为空");
} }
String gicSuperPhone = clerkService.getSuperAdminPhoneNumber(gicEnterpriseId); String gicSuperPhone = clerkService.getSuperAdminPhoneNumber(gicEnterpriseId);
logger.info("好办运维登录商户id={},超管手机={}", gicEnterpriseId, gicSuperPhone); logger.info("好办运维登录商户id={},超管手机={}", gicEnterpriseId, gicSuperPhone);
if(StringUtils.isBlank(gicSuperPhone)) { if (StringUtils.isBlank(gicSuperPhone)) {
return this.fail("商户超管的手机号未配置") ; return this.fail("商户超管的手机号未配置");
} }
String code = this.doLogin(wxEnterpriseId, gicEnterpriseId, gicSuperPhone, "yw", response); String code = this.doLogin(wxEnterpriseId, gicEnterpriseId, gicSuperPhone, "yw", response);
if (StringUtils.isNotBlank(code)) { if (StringUtils.isNotBlank(code)) {
return this.fail(this.errMessage(code)) ; return this.fail(this.errMessage(code));
} }
return null; return null;
} }
...@@ -177,21 +183,26 @@ public class LoginController extends WebBaseController { ...@@ -177,21 +183,26 @@ public class LoginController extends WebBaseController {
JSONObject jsonObject = JSONObject.parseObject(o); JSONObject jsonObject = JSONObject.parseObject(o);
String gicEnterpriseId = jsonObject.getString("enterpriseId"); String gicEnterpriseId = jsonObject.getString("enterpriseId");
String loginPhoneNumber = jsonObject.getString("phoneNumber"); String loginPhoneNumber = jsonObject.getString("phoneNumber");
List<WxEnterpriseDTO> wxEnterpriseList = wxEnterpriseRelatedApiService.listWxEnterpriseByEid(gicEnterpriseId,loginPhoneNumber); List<WxEnterpriseDTO> wxEnterpriseList = wxEnterpriseRelatedApiService.listWxEnterpriseByEid(gicEnterpriseId,
loginPhoneNumber);
if (CollectionUtils.isEmpty(wxEnterpriseList)) { if (CollectionUtils.isEmpty(wxEnterpriseList)) {
logger.info("查询好办企业列表null,gicEnterpriseId={},loginPhoneNumber={}", gicEnterpriseId,loginPhoneNumber); logger.info("查询好办企业列表null,gicEnterpriseId={},loginPhoneNumber={}", gicEnterpriseId, loginPhoneNumber);
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; 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)) { if (!wxIdList.contains(wxEnterpriseId)) {
logger.info("无进去此好办企业的权限={}", 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; return model;
} }
String errorCode = this.doLogin(wxEnterpriseId, gicEnterpriseId, loginPhoneNumber, "gic", response); String errorCode = this.doLogin(wxEnterpriseId, gicEnterpriseId, loginPhoneNumber, "gic", response);
if (StringUtils.isNotBlank(errorCode)) { 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 model;
} }
return null; return null;
...@@ -232,6 +243,16 @@ public class LoginController extends WebBaseController { ...@@ -232,6 +243,16 @@ public class LoginController extends WebBaseController {
}else { }else {
webLoginDTO = EntityUtil.changeEntityByJSON(WebLoginDTO.class, staff); 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.setWxEnterpriseId(wxEnterpriseId);
webLoginDTO.setEnterpriseId(gicEnterpriseId); webLoginDTO.setEnterpriseId(gicEnterpriseId);
// 导购id // 导购id
...@@ -265,18 +286,18 @@ public class LoginController extends WebBaseController { ...@@ -265,18 +286,18 @@ public class LoginController extends WebBaseController {
} }
private String errMessage(String code) { private String errMessage(String code) {
if(code.equals("1000")) { if (code.equals("1000")) {
return "系统异常" ; return "系统异常";
}else if(code.equals("1001")) { } else if (code.equals("1001")) {
return "系统异常" ; return "您还不是好办的管理员,请在 GIC 后台绑定好办企业后再登录";
}else if(code.equals("1002")) { } else if (code.equals("1002")) {
return "系统异常" ; return "通过手机号查询staff表,查询不到";
}else if(code.equals("1003")) { } else if (code.equals("1003")) {
return "系统异常" ; return "通过手机号查询clerk,查询不到";
}else if(code.equals("1004")) { } else if (code.equals("1004")) {
return "系统异常" ; return "企微应用未授权";
}else { } else {
return "系统异常" ; return "系统异常";
} }
} }
...@@ -286,16 +307,16 @@ public class LoginController extends WebBaseController { ...@@ -286,16 +307,16 @@ public class LoginController extends WebBaseController {
@RequestMapping("get-login-info") @RequestMapping("get-login-info")
public HaobanResponse getLoginInfo() { public HaobanResponse getLoginInfo() {
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser(); WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
logger.info("当前登录信息={}",JSON.toJSON(loginUser)); logger.info("当前登录信息={}", JSON.toJSON(loginUser));
WebLoginVO vo = EntityUtil.changeEntityByOrika(WebLoginVO.class, loginUser) ; WebLoginVO vo = EntityUtil.changeEntityByOrika(WebLoginVO.class, loginUser);
return this.success(vo) ; return this.success(vo);
} }
@RequestMapping("get-login-session") @RequestMapping("get-login-session")
@IgnoreLogin @IgnoreLogin
public HaobanResponse getLoginSession() { public HaobanResponse getLoginSession() {
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser(); WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
return this.success(loginUser) ; return this.success(loginUser);
} }
/** /**
...@@ -304,23 +325,23 @@ public class LoginController extends WebBaseController { ...@@ -304,23 +325,23 @@ public class LoginController extends WebBaseController {
@RequestMapping("enterprise-is-over") @RequestMapping("enterprise-is-over")
public HaobanResponse enterpriseIsOver(String enterpriseId) { public HaobanResponse enterpriseIsOver(String enterpriseId) {
if (StringUtils.isEmpty(enterpriseId)) { if (StringUtils.isEmpty(enterpriseId)) {
return this.fail("企业ID空") ; return this.fail("企业ID空");
} }
EnterpriseDTO enterprise = this.enterpriseService.getEnterpriseById(enterpriseId); EnterpriseDTO enterprise = this.enterpriseService.getEnterpriseById(enterpriseId);
if(null == enterprise) { if (null == enterprise) {
return this.fail("gic商户查询不到") ; return this.fail("gic商户查询不到");
} }
String token = AuthWebRequestUtil.getToken(); String token = AuthWebRequestUtil.getToken();
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser(); WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
if(null == loginUser) { if (null == loginUser) {
return this.fail("用户未登录") ; return this.fail("用户未登录");
} }
logger.info("切换商户,登录信息={},enterpriseId",JSON.toJSONString(loginUser),enterpriseId); logger.info("切换商户,登录信息={},enterpriseId", JSON.toJSONString(loginUser), enterpriseId);
String phoneNumber = loginUser.getPhoneNumber() ; String phoneNumber = loginUser.getPhoneNumber();
ClerkDTO clerk = clerkService.getUserByPhoneNumber(phoneNumber, enterpriseId); ClerkDTO clerk = clerkService.getUserByPhoneNumber(phoneNumber, enterpriseId);
if (clerk == null) { if (clerk == null) {
logger.info("切换商户失败,gic账号不存在,eid={},phone={}", enterpriseId, phoneNumber); logger.info("切换商户失败,gic账号不存在,eid={},phone={}", enterpriseId, phoneNumber);
return this.fail("切换商户失败,gic账号不存在") ; return this.fail("切换商户失败,gic账号不存在");
} }
loginUser.setEnterpriseId(enterpriseId); loginUser.setEnterpriseId(enterpriseId);
loginUser.setClerkId(clerk.getClerkId()); loginUser.setClerkId(clerk.getClerkId());
...@@ -331,9 +352,9 @@ public class LoginController extends WebBaseController { ...@@ -331,9 +352,9 @@ public class LoginController extends WebBaseController {
AuthWebRequestUtil.setSessionUser(loginUser); AuthWebRequestUtil.setSessionUser(loginUser);
AuthWebRequestUtil.setAppLoginUser(token, loginUser); AuthWebRequestUtil.setAppLoginUser(token, loginUser);
boolean flag = wxEnterpriseApiService.enterpriseIsOver(enterpriseId); boolean flag = wxEnterpriseApiService.enterpriseIsOver(enterpriseId);
if(flag) { if (flag) {
logger.info("切换商户失败,商户已过期,eid={},phone={}", enterpriseId, phoneNumber); logger.info("切换商户失败,商户已过期,eid={},phone={}", enterpriseId, phoneNumber);
return this.fail("切换商户失败,商户已过期") ; return this.fail("切换商户失败,商户已过期");
} }
return resultResponse(HaoBanErrCode.ERR_1, false); return resultResponse(HaoBanErrCode.ERR_1, false);
} }
...@@ -356,21 +377,23 @@ public class LoginController extends WebBaseController { ...@@ -356,21 +377,23 @@ public class LoginController extends WebBaseController {
JSONObject jsonObject = JSONObject.parseObject(o); JSONObject jsonObject = JSONObject.parseObject(o);
String wxEnterpriseId = jsonObject.getString("wxEnterpriseId"); String wxEnterpriseId = jsonObject.getString("wxEnterpriseId");
String gicEnterpriseId = jsonObject.getString("enterpriseId"); String gicEnterpriseId = jsonObject.getString("enterpriseId");
String phoneNumber = jsonObject.getString("phoneNumber") ; String phoneNumber = jsonObject.getString("phoneNumber");
logger.info("选择企微列表,gicEnterpriseId={},phoneNumber={}",gicEnterpriseId,phoneNumber); logger.info("选择企微列表,gicEnterpriseId={},phoneNumber={}", gicEnterpriseId, phoneNumber);
if(StringUtils.isAnyBlank(gicEnterpriseId,phoneNumber)) { if (StringUtils.isAnyBlank(gicEnterpriseId, phoneNumber)) {
return this.fail("商户id和手机号为空") ; return this.fail("商户id和手机号为空");
} }
// 判断商户 // 判断商户
List<WxEnterpriseDTO> wxEnterpriseList = wxEnterpriseRelatedApiService.listWxEnterpriseByEid(gicEnterpriseId,phoneNumber); List<WxEnterpriseDTO> wxEnterpriseList = wxEnterpriseRelatedApiService.listWxEnterpriseByEid(gicEnterpriseId,
phoneNumber);
if (CollectionUtils.isEmpty(wxEnterpriseList)) { if (CollectionUtils.isEmpty(wxEnterpriseList)) {
logger.info("查询微信企业列表空,gicEnterpriseId={},phoneNumber={}",gicEnterpriseId,phoneNumber); logger.info("查询微信企业列表空,gicEnterpriseId={},phoneNumber={}", gicEnterpriseId, phoneNumber);
return this.fail("您还不是好办的管理员,请在 GIC 后台绑定好办企业后再登录"); 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 (StringUtils.isNotBlank(wxEnterpriseId)) {
if(!wxIdList.contains(wxEnterpriseId)) { if (!wxIdList.contains(wxEnterpriseId)) {
logger.info("无权限,wxEnterpriseId={}",wxEnterpriseId); logger.info("无权限,wxEnterpriseId={}", wxEnterpriseId);
return this.fail("您还不是好办的管理员,请在 GIC 后台绑定好办企业后再登录"); return this.fail("您还不是好办的管理员,请在 GIC 后台绑定好办企业后再登录");
} }
List<WxEnterpriseDTO> collect = wxEnterpriseList.stream() List<WxEnterpriseDTO> collect = wxEnterpriseList.stream()
......
...@@ -569,6 +569,9 @@ public class StaffController extends WebBaseController { ...@@ -569,6 +569,9 @@ public class StaffController extends WebBaseController {
} }
} }
String staffId = login.getStaffId() ; String staffId = login.getStaffId() ;
if(StringUtils.isBlank(staffId)) {
return false ;
}
StaffDTO staff = this.staffApiService.selectById(staffId) ; StaffDTO staff = this.staffApiService.selectById(staffId) ;
if(openUserIds.contains(staff.getWxUserId()) || openUserIds.contains(staff.getWxOpenUseId())) { if(openUserIds.contains(staff.getWxUserId()) || openUserIds.contains(staff.getWxOpenUseId())) {
return true ; return true ;
......
...@@ -222,15 +222,13 @@ public class WxEnterpriseController extends WebBaseController { ...@@ -222,15 +222,13 @@ public class WxEnterpriseController extends WebBaseController {
} }
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = login.getWxEnterpriseId(); String wxEnterpriseId = login.getWxEnterpriseId();
String staffId = login.getStaffId();
String staffName = login.getStaffName();
WxEnterpriseRelationDetailDTO detailDTO = new WxEnterpriseRelationDetailDTO(); WxEnterpriseRelationDetailDTO detailDTO = new WxEnterpriseRelationDetailDTO();
detailDTO.setWxEnterpriseRelatedId(bindQo.getWxEnterpriseRelatedId()); detailDTO.setWxEnterpriseRelatedId(bindQo.getWxEnterpriseRelatedId());
detailDTO.setEnterpriseId(bindQo.getEnterpriseId()); detailDTO.setEnterpriseId(bindQo.getEnterpriseId());
detailDTO.setWxEnterpriseId(wxEnterpriseId); detailDTO.setWxEnterpriseId(wxEnterpriseId);
detailDTO.setStaffId(staffId); detailDTO.setStaffId(null);
detailDTO.setStaffName(staffName); detailDTO.setStaffName(null);
detailDTO.setMemberOpenCardFlag(bindQo.getMemberOpenCardFlag()); detailDTO.setMemberOpenCardFlag(bindQo.getMemberOpenCardFlag());
detailDTO.setWxEnterpriseType(bindQo.getWxEnterpriseType()); detailDTO.setWxEnterpriseType(bindQo.getWxEnterpriseType());
List<StoreOrGroupInfoDTO> storeOrGroupInfoDTOS = JSONObject.parseArray(bindQo.getRelations(), StoreOrGroupInfoDTO.class); List<StoreOrGroupInfoDTO> storeOrGroupInfoDTOS = JSONObject.parseArray(bindQo.getRelations(), StoreOrGroupInfoDTO.class);
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
<dubbo:protocol name="dubbo" port="30009"/> <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.RightService" id="rightService" timeout="10000"/>
<dubbo:reference interface="com.gic.clerk.api.service.UserService" id="userService" 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" <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