lidongdong
2022-11-18 97bb97c13ad63c40a8baf73b0f5e08d93c0e7559
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/LoginApi.java
@@ -2,7 +2,8 @@
import javax.annotation.Resource;
import org.apache.commons.lang3.StringUtils;
import com.panzhihua.common.constants.Constants;
import com.panzhihua.common.utlis.RSAUtils;
import org.springframework.util.ObjectUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
@@ -23,19 +24,26 @@
import com.panzhihua.common.model.vos.community.ComActVO;
import com.panzhihua.common.model.vos.community.ComMngStructAreaVO;
import com.panzhihua.common.model.vos.user.SysUserAgreementVO;
import com.panzhihua.common.model.vos.user.UuLoginVO;
import com.panzhihua.common.service.auth.TokenService;
import com.panzhihua.common.service.community.CommunityService;
import com.panzhihua.common.service.user.UserService;
import com.panzhihua.common.validated.PutGroup;
import cn.binarywang.wx.miniapp.api.WxMaQrcodeService;
import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
import cn.hutool.core.codec.Base64;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.error.WxErrorException;
import java.util.HashMap;
import java.util.Map;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
@@ -86,8 +94,12 @@
        if (ObjectUtils.isEmpty(unionid)) {
            unionid = "无";
        }
        userService.addOrUpdate(openid, sessionKey, unionid);
        return tokenService.loginApplets(openid);
        userService.addOrUpdate(openid, sessionKey, unionid,this.getAppId());
        return tokenService.loginApplets(openid,this.getAppId());
    }
    @PostMapping("/loginTest")
    public R loginTest(@RequestBody LoginRequest loginRequest){
        return tokenService.loginApplets(loginRequest.getCode(),this.getAppId());
    }
    @ApiOperation(value = "H5登录", response = LoginReturnVO.class)
@@ -127,7 +139,7 @@
        R r1 = userService.getUserInfoByUnionId(unionId);
        if (R.isOk(r1)) {
            LoginUserInfoVO loginUserInfoVO = JSONObject.parseObject(JSONObject.toJSONString(r1.getData()), LoginUserInfoVO.class);
            return tokenService.loginApplets(loginUserInfoVO.getOpenid());
            return tokenService.loginApplets(loginUserInfoVO.getOpenid(),this.getAppId());
        }
        return r1;
    }
@@ -162,8 +174,8 @@
        if (ObjectUtils.isEmpty(unionid)) {
            unionid = "无";
        }
        userService.addOrUpdate(openid, sessionKey, unionid);
        return tokenService.loginApplets(openid);
        userService.addOrUpdate(openid, sessionKey, unionid,this.getAppId());
        return tokenService.loginApplets(openid,this.getAppId());
    }
    @ApiOperation(value = "维护用户基本信息(昵称、性别、头像)")
@@ -297,6 +309,58 @@
    @GetMapping("useragreement")
    public R userAgreement() {
        int type = 1;
        return userService.userAgreement(type);
        return userService.userAgreement(type,this.getAppId());
    }
    @ApiOperation("uu洗车登录")
    @PostMapping("uuLogin")
    public R uuLogin(@RequestBody UuLoginVO uuLoginVO){
        return userService.uuLogin(uuLoginVO);
    }
    @ApiOperation("uu洗车获取小程序码")
    @ApiImplicitParam(name = "couponId", value = "优惠券id", required = true)
    @GetMapping("uu/getQRCode")
    public R uuLogin(@RequestParam("couponId") String couponId) {
        try {
            //i小懒
            WxMaQrcodeService wsCodeService = wxMaConfiguration.getMaService("wx98d62711dfbd8425").getQrcodeService();
            byte[] bytes = wsCodeService.createWxaCodeUnlimitBytes("couponId=" + couponId,
                "pages/user/getCoupon/getCoupon", true, "release", 30, true, null, false);
            String res = String.format("data:image/png;base64,%s", Base64.encode(bytes));
            //花城
            WxMaQrcodeService uuCodeService = wxMaConfiguration.getMaService("wx118de8a734d269f0").getQrcodeService();
            byte[] hcBytes = uuCodeService.createWxaCodeUnlimitBytes("couponId=" + couponId,
                    "packageD/pages/user/getCoupon/getCoupon", true, "release", 30, true, null, false);
            String hcRes = String.format("data:image/png;base64,%s", Base64.encode(hcBytes));
            Map<String,String> retMap = new HashMap<>();
            retMap.put("ixiaolan",res);
            retMap.put("huacheng",hcRes);
            return R.ok(retMap);
        } catch (Exception e) {
            log.error("generate QRCode failed:" + e.getMessage());
            return R.fail("generate QRCode failed");
        }
    }
    @ApiOperation("天府通办登录")
    @PostMapping("tfLogin")
    public R tfLogin(@RequestBody UuLoginVO uuLoginVO){
        try {
            uuLoginVO.setMobile(RSAUtils.decrypt(uuLoginVO.getMobile(), Constants.PRIVATE_KEY));
            //测试是否能正常添加用户
        } catch (Exception e) {
            e.printStackTrace();
            return R.fail();
        }
        userService.tfLogin(uuLoginVO);
        R r=tokenService.tfLogin(uuLoginVO.getMobile(),"Huacheng@123","wx118de8a734d269f0");
        return r;
    }
    @ApiOperation("用户授权")
    @GetMapping("/accept")
    public R accept(){
        return userService.accept(this.getUserId());
    }
}