renkang
2024-12-09 515bad8aa248e41bfb402b949b52e95aec70a992
客户资料 巡检任务业务
已修改13个文件
145 ■■■■ 文件已修改
server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/dao/system/dto/LoginDTO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/dao/system/dto/LoginPhoneDTO.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/dao/system/model/SystemUser.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/service/system/SystemLoginService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/admin_timer/src/main/java/com/doumee/api/WxTokenTimerController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/admin_timer/src/main/java/com/doumee/api/YwTimerController.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractCloudController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/VisitorWebController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java
@@ -16,6 +16,7 @@
import com.doumee.service.system.SystemUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.validation.annotation.Validated;
@@ -157,12 +158,10 @@
    public ApiResponse<String> logout(@RequestHeader(Constants.HEADER_USER_TOKEN) String oldToken){
        try {
             jwtTokenUtil.logout(oldToken);
        }catch (BusinessException e){
            return ApiResponse.failed(e.getCode(),e.getMessage());
        }catch (Exception e){
            e.printStackTrace();
            return ApiResponse.failed(ResponseStatus.SERVER_ERROR);
        }
        return ApiResponse.success(null);
server/system_service/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java
@@ -5,6 +5,7 @@
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.HttpsUtil;
import com.doumee.service.system.SystemLoginService;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import lombok.extern.slf4j.Slf4j;
@@ -36,6 +37,9 @@
    private JwtProperties jwtProperties;
    @Autowired
    private SystemDictDataBiz systemDictDataBiz ;
    @Autowired
    private SystemLoginService systemLoginService;
    /**
     * 生成token令牌
@@ -137,7 +141,7 @@
                HttpsUtil.get(url+"?token="+loginUserInfo.getHkMenuToken(),true);
            }
            redisTemplate.delete(Constants.REDIS_TOKEN_KEY+token);//删除老的token
            systemLoginService.cleanOpenid(loginUserInfo.getId());
        } catch (Exception e) {
            e.printStackTrace();
        }
server/system_service/src/main/java/com/doumee/dao/system/dto/LoginDTO.java
@@ -19,6 +19,10 @@
    @ApiModelProperty(value = "用户名")
    private String username;
    @ApiModelProperty(value = "微信openId")
    private String openid;
    @NotBlank(message = "密码不能为空")
    @ApiModelProperty(value = "密码")
    private String password;
server/system_service/src/main/java/com/doumee/dao/system/dto/LoginPhoneDTO.java
@@ -18,6 +18,12 @@
    @NotBlank(message = "手机号不能为空")
    @ApiModelProperty(value = "手机号")
    private String phone;
    @ApiModelProperty(value = "微信openId")
    private String openid;
    @NotBlank(message = "验证码不能为空")
    @ApiModelProperty(value = "验证码")
    private String code;
server/system_service/src/main/java/com/doumee/dao/system/model/SystemUser.java
@@ -102,6 +102,8 @@
    @ApiModelProperty(value = "是否已删除", hidden = true)
    private Boolean deleted;
    @ApiModelProperty(value = "0 启用 1 禁用")
    private Integer status;
    @ApiModelProperty(value = "企业编码(关联company)")
server/system_service/src/main/java/com/doumee/service/system/SystemLoginService.java
@@ -35,4 +35,6 @@
     * @return
     */
    String loginByUserId(Integer userId);
    void cleanOpenid(Integer userId);
}
server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
@@ -1,6 +1,7 @@
package com.doumee.service.system.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.doumee.config.jwt.JwtTokenUtil;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
@@ -11,6 +12,7 @@
import com.doumee.dao.business.dao.SmsEmailMapper;
import com.doumee.dao.business.model.Company;
import com.doumee.dao.business.model.SmsEmail;
import com.doumee.dao.system.SystemUserMapper;
import com.doumee.dao.system.dto.LoginByOpenidDTO;
import com.doumee.dao.system.dto.LoginDTO;
import com.doumee.dao.system.dto.LoginPhoneDTO;
@@ -50,6 +52,9 @@
    @Autowired
    private SmsEmailMapper smsEmailMapper;
    @Autowired
    private SystemUserMapper systemUserMapper;
    @Lazy
    @Autowired
@@ -83,7 +88,7 @@
        loginLog.setLoginTime(new Date());
        loginLog.setSystemVersion(systemVersion);
        loginLog.setIp(Utils.User_Client.getIP(request));
        loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp()));
//        loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp()));
        loginLog.setPlatform(Utils.User_Client.getPlatform(request));
        loginLog.setClientInfo(Utils.User_Client.getBrowser(request));
        loginLog.setOsInfo(Utils.User_Client.getOS(request));
@@ -124,7 +129,7 @@
        loginLog.setLoginUsername(dto.getUsername());
        loginLog.setLoginTime(new Date());
        loginLog.setSystemVersion(systemVersion);
        loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp()));
//        loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp()));
        if(request!=null&&request.getHeaders()!=null && request.getHeaders().size()>0){
            loginLog.setIp(Utils.User_Client.getIP(request));
            loginLog.setPlatform(Utils.User_Client.getPlatform(request));
@@ -164,6 +169,7 @@
        if(Objects.nonNull(user.getCompanyId())){
            company = companyMapper.selectById(user.getCompanyId());
        }
        dealOpenIdBiz(user,dto.getOpenid());
        // 获取登录用户信息
        List<SystemRole> roles = systemRoleService.findByUserId(user.getId());
        List<SystemPermission> permissions = systemPermissionService.findByUserId(user.getId());
@@ -178,6 +184,21 @@
    }
    private void dealOpenIdBiz(SystemUser user, String openid) {
        if(StringUtils.isNotBlank(openid)){
            //如果openId不为空,绑定该用户openid
            systemUserMapper.update(null,new UpdateWrapper<SystemUser>().lambda()
                    .set(SystemUser::getOpenid,null)
                    .eq(SystemUser::getType,user.getType())
                    .eq(SystemUser::getOpenid,openid)
            );
            systemUserMapper.update(null,new UpdateWrapper<SystemUser>().lambda()
                    .set(SystemUser::getOpenid,openid)
                    .eq(SystemUser::getId,user.getId()));
        }
    }
@@ -187,7 +208,7 @@
        loginLog.setLoginUsername(dto.getPhone());
        loginLog.setLoginTime(new Date());
        loginLog.setSystemVersion(systemVersion);
        loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp()));
//        loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp()));
        if(request!=null&&request.getHeaders()!=null && request.getHeaders().size()>0){
            loginLog.setIp(Utils.User_Client.getIP(request));
            loginLog.setPlatform(Utils.User_Client.getPlatform(request));
@@ -239,6 +260,9 @@
        if(Objects.nonNull(user.getCompanyId())){
            company = companyMapper.selectById(user.getCompanyId());
        }
        dealOpenIdBiz(user,dto.getOpenid());
        // 获取登录用户信息
        List<SystemRole> roles = systemRoleService.findByUserId(user.getId());
        List<SystemPermission> permissions = systemPermissionService.findByUserId(user.getId());
@@ -259,7 +283,7 @@
        loginLog.setLoginUsername(dto.getUsername());
        loginLog.setLoginTime(new Date());
        loginLog.setSystemVersion(systemVersion);
        loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp()));
//        loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp()));
        if(request!=null&&request.getHeaders()!=null && request.getHeaders().size()>0){
            loginLog.setIp(Utils.User_Client.getIP(request));
            loginLog.setPlatform(Utils.User_Client.getPlatform(request));
@@ -289,6 +313,15 @@
    }
    @Override
    public void cleanOpenid(Integer userId){
        systemUserMapper.update(null,new UpdateWrapper<SystemUser>().lambda()
                .set(SystemUser::getOpenid,null)
                .eq(SystemUser::getId,userId)
        );
    }
    /**
     * 内部人员 与 司机 根据code查询openId后进行登录接口
     * @return
@@ -298,7 +331,7 @@
        SystemLoginLog loginLog = new SystemLoginLog();
        loginLog.setLoginTime(new Date());
        loginLog.setSystemVersion(systemVersion);
        loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp()));
//        loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp()));
        loginLog.setServerIp(Utils.Server.getIP());
        // 根据用户名查询用户对象
server/visits/admin_timer/src/main/java/com/doumee/api/WxTokenTimerController.java
@@ -54,7 +54,6 @@
        String url = WXConstant.GET_ACCESS_TOKEN_URL.replace("APPID",appId).replace("APPSECRET",appSecret);
        String response = HttpsUtil.get(url,false);
        JSONObject json = JSONObject.parseObject(response);
        System.out.println(json);
        SystemDictData systemDictData =  systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN);
        if(!Objects.isNull(systemDictData)){
            systemDictData.setCode(json.getString("access_token"));
server/visits/admin_timer/src/main/java/com/doumee/api/YwTimerController.java
@@ -1,7 +1,10 @@
package com.doumee.api;
import com.alibaba.fastjson.JSONObject;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.utils.HttpsUtil;
import com.doumee.core.wx.WXConstant;
import com.doumee.dao.business.model.YwContract;
import com.doumee.service.business.PlatformJobService;
import com.doumee.service.business.YwContractBillService;
@@ -52,18 +55,15 @@
        return ApiResponse.success("定时处理合同过期与执行中");
    }
    public static void main(String[] args) {
        String url = WXConstant.GET_ACCESS_TOKEN_URL.replace("APPID","wx95ac1efb67f0330d")
                .replace("APPSECRET","f228b9e3b49a37b881b51431a483c939");
        String response = HttpsUtil.get(url,false);
        JSONObject json = JSONObject.parseObject(response);
        System.out.println(json);
    }
}
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractCloudController.java
@@ -103,6 +103,7 @@
    public ApiResponse<List<YwContract>> list (@RequestBody YwContract model,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
        return ApiResponse.success(ywContractService.findList(model));
    }
    @ApiOperation("根据退租日期查询账单数据")
    @PostMapping("/findForBills")
    @CloudRequiredPermission("business:ywcontract:query")
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/VisitorWebController.java
@@ -71,6 +71,19 @@
    }
    @ApiOperation(value = "访客微信授权 - 阜宁运维", notes = "访客微信授权获取openId")
    @GetMapping("/ywWxAuthorize")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "code", value = "授权码", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "source", value = "来源:0=司机;1=访客;2=内部员工", required = true)
    })
    public ApiResponse<WxAuthorizeVO> ywWxAuthorize(@RequestParam String code) {
        WxAuthorizeVO wxAuthorizeVO =  memberService.ywWxAuthorize(code);
        return ApiResponse.success("查询成功",wxAuthorizeVO);
    }
    @ApiOperation(value = "查询被访问人信息", notes = "查询被访问人信息")
    @PostMapping("/getVisitedMember")
    public ApiResponse<List<MemberVO>> getVisitedMember(@Valid @RequestBody CheckVisitedDTO checkVisitedDTO) {
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java
@@ -176,6 +176,7 @@
     */
    WxAuthorizeVO wxAuthorize(String code,Integer source);
    WxAuthorizeVO ywWxAuthorize(String code);
    List<MemberVO> getVisitedMember(CheckVisitedDTO checkVisitedDTO);
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -1762,6 +1762,47 @@
    /**
     * 微信授权接口
     * @param code
     * @return
     */
    @Override
    public WxAuthorizeVO ywWxAuthorize(String code){
        if(StringUtils.isBlank(code)){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        String appId = systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_APPID).getCode();
        String appSecret = systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_SECRET).getCode();
        String getTokenUrl = WXConstant.GET_USER_INFO_URL.replace("CODE", code)
                .replace("APPID", appId).replace("SECRET", appSecret);
        JSONObject tokenJson = JSONObject.parseObject(HttpsUtil.get(getTokenUrl,true));
        String openId = "";
        WxAuthorizeVO wxAuthorizeVO = new WxAuthorizeVO();
        if(Objects.nonNull(tokenJson)&&!Objects.isNull(tokenJson.get("access_token"))){
            openId = tokenJson.getString("openid");
        }else{
            if(StringUtils.isBlank(openId)){
                return wxAuthorizeVO;
            }
        }
        wxAuthorizeVO.setOpenid(openId);
        //根据openId 查询用户信息
        SystemUser user = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
                .eq(SystemUser::getOpenid,openId)
                .eq(SystemUser::getDeleted,Boolean.FALSE)
                .last(" limit 1 "));
        if(!Objects.isNull(user)){
            String token = systemLoginService.loginByUserId(user.getId());
            wxAuthorizeVO.setToken(token);
        }
        return wxAuthorizeVO;
    }
    @Override
    public List<MemberVO> getVisitedMember(CheckVisitedDTO checkVisitedDTO){
        List<Member> memberList = memberJoinMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>()