@ -9,6 +9,7 @@ import com.kiisoo.ic.login.enums.LoginEnum;
import com.kiisoo.ic.login.service.LoginService ;
import com.kiisoo.ic.store.entity.PoiStoreStaff ;
import com.kiisoo.ic.store.mapper.PoiStoreStaffDOMapper ;
import com.kiisoo.ic.store.mapper.PrivilageCpUserStoreDOMapper ;
import com.kiisoo.ic.system.entity.PrivilageAccountDO ;
import com.kiisoo.ic.system.entity.PrivilageRoleDO ;
import com.kiisoo.ic.system.entity.PrivilageUserDO ;
@ -55,6 +56,11 @@ public class LoginServiceImpl implements LoginService {
* /
private final PrivilageUserDOMapper privilageUserDOMapper ;
/ * *
* 用 户 mapper
* /
private final PrivilageCpUserStoreDOMapper privilageCpUserStoreDOMapper ;
/ * *
* 角 色 mapper
* /
@ -78,12 +84,13 @@ public class LoginServiceImpl implements LoginService {
@Autowired
public LoginServiceImpl ( PrivilageAccountDOMapper privilageAccountDOMapper , PrivilageUserDOMapper privilageUserDOMapper ,
PrivilageRoleDOMapper privilageRoleDOMapper , QWMailListManageService qwMailListManageService ,
PoiStoreStaffDOMapper poiStoreStaffDOMapper ) {
PoiStoreStaffDOMapper poiStoreStaffDOMapper ,PrivilageCpUserStoreDOMapper privilageCpUserStoreDOMapper ) {
this . privilageAccountDOMapper = privilageAccountDOMapper ;
this . privilageUserDOMapper = privilageUserDOMapper ;
this . privilageRoleDOMapper = privilageRoleDOMapper ;
this . qwMailListManageService = qwMailListManageService ;
this . poiStoreStaffDOMapper = poiStoreStaffDOMapper ;
this . privilageCpUserStoreDOMapper = privilageCpUserStoreDOMapper ;
}
@ -257,6 +264,79 @@ public class LoginServiceImpl implements LoginService {
return loginBean ;
}
@Override
public LoginBean cpUserIdLogin ( String cpUserId ) {
//查询账号
QueryWrapper < PrivilageAccountDO > accountQw = new QueryWrapper < > ( ) ;
accountQw . eq ( "login" , cpUserId ) ;
accountQw . eq ( "type" , AccountEnum . ACCOUNT_TYPE_QYWX . getType ( ) ) ;
List < PrivilageAccountDO > mobileAccounts = privilageAccountDOMapper . selectList ( accountQw ) ;
Long userId = null ;
if ( CollectionUtils . isNotEmpty ( mobileAccounts ) ) {
userId = mobileAccounts . get ( 0 ) . getUserId ( ) ;
} else {
Long storeId = privilageCpUserStoreDOMapper . selectOneByCpUserId ( cpUserId ) ;
if ( null = = storeId ) {
return new LoginBean ( Constants . ERROR_USER_NO_PERMISSION ) ;
}
PoiStoreStaff poiStoreStaff = poiStoreStaffDOMapper . selectShopManagerDetailByShop ( storeId ) ;
if ( null = = poiStoreStaff ) {
return new LoginBean ( Constants . ERROR_USER_NO_PERMISSION ) ;
}
//无账号则绑定账号
PrivilageUserDO privilageUserDO = privilageUserDOMapper . selectById ( poiStoreStaff . getUserId ( ) ) ;
if ( null ! = privilageUserDO ) {
userId = privilageUserDO . getId ( ) ;
PrivilageAccountDO privilageAccountDO = new PrivilageAccountDO ( ) ;
privilageAccountDO . setLogin ( cpUserId ) ;
privilageAccountDO . setStatus ( 1 ) ;
privilageAccountDO . setUserId ( userId ) ;
privilageAccountDO . setType ( AccountEnum . ACCOUNT_TYPE_QYWX . getType ( ) ) ;
int insert = privilageAccountDOMapper . insert ( privilageAccountDO ) ;
if ( insert = = 0 ) {
return new LoginBean ( Constants . ERROR_SYSTEM ) ;
}
} else {
return new LoginBean ( Constants . ERROR_ROLE_NO_PERMISSION ) ;
}
}
LoginBean loginBean = new LoginBean ( ) ;
Map < String , Object > selectAccountMap = new HashMap < > ( ) ;
PrivilageUserDO privilageUserDO = privilageUserDOMapper . selectById ( userId ) ;
// 用户不存在
if ( null = = privilageUserDO ) {
return new LoginBean ( Constants . ERROR_USER_NO_PERMISSION ) ;
}
PrivilageAccountDO result = privilageAccountService . getAccountByUserId ( userId ) ;
// 该账号已暂停,请联系店长
if ( null ! = result & & result . getStatus ( ) . equals ( 2 ) ) {
return new LoginBean ( com . kiisoo . ic . constants . Constants . ERROR_ACCOUNT_STOP ) ;
}
PrivilageRoleDO roleDO = privilageRoleDOMapper . selectRoleName ( userId ) ;
Long storeId = privilageUserDOMapper . selectStoreIdByUserId ( userId ) ;
Map < String , Object > loginInfoMap = new HashMap < > ( ) ;
//成功设置信息
loginBean . setUserName ( privilageUserDO . getName ( ) ) ;
loginBean . setUserId ( privilageUserDO . getId ( ) ) ;
loginBean . setRoleId ( privilageUserDO . getId ( ) ) ;
loginBean . setRoleCode ( roleDO . getCode ( ) ) ;
loginBean . setStoreId ( storeId ) ;
if ( StringUtils . isNotBlank ( roleDO . getCode ( ) ) & & ! MINI_ROLE_CODE . contains ( roleDO . getCode ( ) ) ) {
return new LoginBean ( Constants . ERROR_ROLE_NO_PERMISSION ) ;
}
loginBean . setLogin ( cpUserId ) ;
loginInfoMap . put ( "code" , LoginEnum . LOGIN_SUCCEED . getCode ( ) ) ;
loginBean . setLoginInfo ( loginInfoMap ) ;
return loginBean ;
}
@Override
public void bindQywxUserIdByUserId ( Long userId , String qywxUserId ) {
Map < String , Object > selectAccountMap = new HashMap < > ( ) ;