| @@ -42,8 +42,11 @@ public interface RemoteTenantService { | |||||
| R<TeTenantPo> tenant(@RequestParam ("phone") String phone, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); | R<TeTenantPo> tenant(@RequestParam ("phone") String phone, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); | ||||
| @GetMapping("/tenant/staff") | |||||
| R<SysEnterpriseStaff> existStaff(@RequestParam ("phone") String phone, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); | |||||
| @GetMapping("/tenant/query-tenant-by-staff-phone") | |||||
| R<TeTenantPo> queryTenantByStaffPhone(@RequestParam ("phone") String phone, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); | |||||
| @GetMapping("/tenant/query-staff-by-phone") | |||||
| R<SysEnterpriseStaff> queryStaff(@RequestParam ("phone") String phone, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); | |||||
| @PostMapping("/tenant/save-staff") | @PostMapping("/tenant/save-staff") | ||||
| @@ -44,13 +44,19 @@ public class RemoteTenantFallbackFactory implements FallbackFactory<RemoteTenant | |||||
| } | } | ||||
| @Override | @Override | ||||
| public R<SysEnterpriseStaff> existStaff(String phone, String source) { | |||||
| public R<TeTenantPo> queryTenantByStaffPhone(String phone, String source) { | |||||
| return null; | |||||
| } | |||||
| @Override | |||||
| public R<SysEnterpriseStaff> queryStaff(String phone, String source) { | |||||
| return R.fail("验证用户手机号失败:" + throwable.getMessage()); | return R.fail("验证用户手机号失败:" + throwable.getMessage()); | ||||
| } | } | ||||
| @Override | @Override | ||||
| public R<SysEnterpriseStaff> saveEnterpriseStaff(SysEnterpriseStaff staff, String source) { | public R<SysEnterpriseStaff> saveEnterpriseStaff(SysEnterpriseStaff staff, String source) { | ||||
| return null; | |||||
| return R.fail("保存员工失败:" + throwable.getMessage()); | |||||
| } | } | ||||
| }; | }; | ||||
| } | } | ||||
| @@ -140,7 +140,7 @@ public class TokenController { | |||||
| @GetMapping("validCode") | @GetMapping("validCode") | ||||
| public R<String> validCode(@RequestParam String phone) { | public R<String> validCode(@RequestParam String phone) { | ||||
| R<SysEnterpriseStaff> staff = tenantService.existStaff(phone, SecurityConstants.INNER); | |||||
| R<SysEnterpriseStaff> staff = tenantService.queryStaff(phone, SecurityConstants.INNER); | |||||
| if (staff.getData() == null) { | if (staff.getData() == null) { | ||||
| return R.fail("手机号不存在,请查验"); | return R.fail("手机号不存在,请查验"); | ||||
| } | } | ||||
| @@ -138,10 +138,11 @@ public class DmStaffController extends BaseController<DmStaffQuery, DmStaffDto, | |||||
| if (dmStaff.getResourceId() != null) { | if (dmStaff.getResourceId() != null) { | ||||
| DmResourcesDto dto = resourcesService.selectById(dmStaff.getResourceId()); | DmResourcesDto dto = resourcesService.selectById(dmStaff.getResourceId()); | ||||
| if (dto != null) { | if (dto != null) { | ||||
| dmStaff.setResourceId(dto.getId()); | |||||
| dmStaff.setAvatar(dto.getUrl()); | |||||
| } | } | ||||
| SysEnterpriseStaff enterpriseStaff = new SysEnterpriseStaff(); | SysEnterpriseStaff enterpriseStaff = new SysEnterpriseStaff(); | ||||
| enterpriseStaff.setPhone(dmStaff.getPhone()); | enterpriseStaff.setPhone(dmStaff.getPhone()); | ||||
| enterpriseStaff.setStaffId(dmStaff.getId()); | |||||
| enterpriseStaff.setTenantId(SecurityContextHolder.getEnterpriseId()); | enterpriseStaff.setTenantId(SecurityContextHolder.getEnterpriseId()); | ||||
| tenantService.saveEnterpriseStaff(enterpriseStaff, SecurityConstants.INNER); | tenantService.saveEnterpriseStaff(enterpriseStaff, SecurityConstants.INNER); | ||||
| } | } | ||||
| @@ -75,13 +75,19 @@ public class WeappController { | |||||
| } | } | ||||
| log.info("微信login返回信息:{}", weChatUserInfo); | log.info("微信login返回信息:{}", weChatUserInfo); | ||||
| R<SysEnterpriseStaff> staff = tenantService.existStaff(weChatUserInfo.getOpenid(), SecurityConstants.INNER); | |||||
| R<SysEnterpriseStaff> staffR = tenantService.queryStaff(weChatUserInfo.getOpenid(), SecurityConstants.INNER); | |||||
| Map<String, Object> map = new HashMap<>(); | Map<String, Object> map = new HashMap<>(); | ||||
| try { | try { | ||||
| map.put("weappAuth", CryptoUtil.encrypt(weChatUserInfo.toString())); | map.put("weappAuth", CryptoUtil.encrypt(weChatUserInfo.toString())); | ||||
| if (staff.getData() != null) { | |||||
| R<LoginUser> loginInfoResult = remoteLoginService.getLoginInfoInnerByPhone(staff.getData().getPhone(), SecurityConstants.INNER); | |||||
| SysEnterpriseStaff staff = staffR.getData(); | |||||
| if (staff != null) { | |||||
| R<LoginUser> loginInfoResult = remoteLoginService.getLoginInfoInnerByPhone(staff.getPhone(), SecurityConstants.INNER); | |||||
| map.putAll(tokenService.createToken(loginInfoResult.getData())); | map.putAll(tokenService.createToken(loginInfoResult.getData())); | ||||
| String token = (String)map.get("access_token"); | |||||
| log.info("信息,token:{}, enterpriseName:{}, source:{}", token, JwtUtil.getEnterpriseName(token),JwtUtil.getSourceName(token)); | |||||
| JSONObject json = staffService.fetchStaffByPhone(staff.getPhone(), Long.valueOf(JwtUtil.getEnterpriseId(token)), JwtUtil.getSourceName(token), SecurityConstants.INNER); | |||||
| map.put("enterpriseName", loginInfoResult.getData().getEnterpriseName()); | |||||
| map.put("staff", json.get("data")); | |||||
| return AjaxResult.success(map); | return AjaxResult.success(map); | ||||
| } | } | ||||
| return AjaxResult.success(map); | return AjaxResult.success(map); | ||||
| @@ -8,6 +8,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | |||||
| select * from te_tenant where id = (select tenant_id from sys_enterprise_staff where (phone = #{phone} or openid = #{phone}) and del_flag = 0 limit 1) | select * from te_tenant where id = (select tenant_id from sys_enterprise_staff where (phone = #{phone} or openid = #{phone}) and del_flag = 0 limit 1) | ||||
| </select> | </select> | ||||
| <select id="selectStaffByPhone" resultType="com.xueyi.tenant.api.tenant.domain.po.SysEnterpriseStaff" parameterType="Object"> | |||||
| select * from sys_enterprise_staff where (phone = #{phone} or openid = #{phone}) and del_flag = 0 limit 1 | |||||
| </select> | |||||
| <update id="updateEntity" parameterType="com.xueyi.tenant.api.tenant.domain.dto.SysEnterpriseStaffDto"> | <update id="updateEntity" parameterType="com.xueyi.tenant.api.tenant.domain.dto.SysEnterpriseStaffDto"> | ||||
| update sys_enterprise_staff | update sys_enterprise_staff | ||||
| <set> | <set> | ||||