Pu Zhibing
2024-12-13 73b750200f25df08aa64124da49e7461f9de6653
UserNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
@@ -150,7 +150,7 @@
                templateCode = "c230a6b92504473c97c17741e1cc0b9d";//修改密码
                break;
        }
        aLiSendSms.sendSms(phone, "SMS_147415322", "{\"code\":\"" + authCode + "\"}");
        aLiSendSms.sendSms(phone, "SMS_467580138", "{\"code\":\"" + authCode + "\"}");
//        HuaWeiSMSUtil.sendSms("[\"" + authCode + "\"]", phone, "8822061324669", templateCode);
//        String sData = aLiSendSms.sendSms(phone, templateCode, "{\"code\":\"" + authCode + "\"}");
////        JSONObject jsonObject = JSON.parseObject(sData);
@@ -223,6 +223,7 @@
            userInfo.setConsumption(0D);
            userInfo.setBalance(0D);
            userInfo.setState(1);
            userInfo.setAvatar("http://bao-weiqing.oss-cn-hangzhou.aliyuncs.com/img/ad02d59ae74342359270f62a024fa9c6.png");
            //用户所属企业
            if(null != registAreaCode){
@@ -231,6 +232,9 @@
                userInfo.setRegistAreaCode(registAreaCode);
            }
            this.insert(userInfo);
            addnewCoupoun(phone,userInfo);
            this.addCoupon(userInfo);//添加优惠券
@@ -264,6 +268,119 @@
        smsrecordService.saveData(1, phone, code, "短信验证码【" + code + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!");
        return ResultUtil.success(loginWarpper);
    }
    @Override
    public ResultUtil<LoginWarpper> captchaLogin1(String phone) throws Exception {
        Integer frequency = loginFailures.get(phone);
        Long time = loginTime.get(phone);
        if(null != time && System.currentTimeMillis() < (time + 300000) && null != frequency && frequency >= 5){
            return ResultUtil.error("暂时无法登录,请5分钟后重试!");
        }
        if(null != time && System.currentTimeMillis() >= (time + 300000)){
            frequency = 0;
            loginFailures.put(phone, frequency);
        }
        UserInfo userInfo = userInfoMapper.queryByPhone(phone);
        if(null == userInfo){
            userInfo = new UserInfo();
            userInfo.setPhone(phone);
            userInfo.setPassWord(ShiroKit.md5("", salt));
            userInfo.setNickName(this.getDefaultName());
            userInfo.setIsAuth(1);
            userInfo.setConsumption(0D);
            userInfo.setBalance(0D);
            userInfo.setState(1);
            userInfo.setAvatar("http://bao-weiqing.oss-cn-hangzhou.aliyuncs.com/img/ad02d59ae74342359270f62a024fa9c6.png");
            this.insert(userInfo);
            addnewCoupoun(phone,userInfo);
            this.addCoupon(userInfo);//添加优惠券
            UserInfo finalUserInfo = userInfo;
            new Thread(new Runnable() {
                @Override
                public void run() {
                    if(pushMinistryOfTransport){
                        //上传数据
                        pushMinistryOfTransportUtil.baseInfoPassenger(finalUserInfo.getId());
                    }
                }
            }).start();
        }
        if(userInfo.getState() == 2){
            return ResultUtil.error("账号被冻结");
        }
        //调用单点登录的逻辑
        this.singlePointLogin(userInfo.getId(),"Applets");
        String token = this.getToken(userInfo, "","Applets");
        LoginWarpper loginWarpper = new LoginWarpper();
        loginWarpper.setId(userInfo.getId());
        loginWarpper.setToken(token);
        loginWarpper.setAppid(UUIDUtil.getRandomCode());
        loginWarpper.setEmergencyContact(userInfo.getEmergencyContact());
        loginWarpper.setEmergencyContactNumber(userInfo.getEmergencyContactNumber());
        return ResultUtil.success(loginWarpper);
    }
    @Autowired
    private ITActivityGeneralizationService activityGeneralizationService;
    @Autowired
    private ISysCouponRecordService sysCouponRecordService;
    public void addnewCoupoun(String phone,UserInfo userInfo){
        if (redisUtil.getValue("counpon:" + phone)==null){
            return;
        }
        String acIds = redisUtil.getValue("counpon:" + phone);
        String[] split = acIds.split(",");
        for (String acId : split) {
        TActivityGeneralization tActivityGeneralization = activityGeneralizationService.selectById(acId);
        if (tActivityGeneralization==null){
            continue;
        }
        SysCouponRecord sysCouponRecord = sysCouponRecordService.selectById(tActivityGeneralization.getCouponId());
        Date date = new Date();
        UserCouponRecord userCouponRecord = new UserCouponRecord();
        userCouponRecord.setActivityType(5);
        userCouponRecord.setCouponActivityId(Integer.valueOf(acId));
        userCouponRecord.setCouponId(tActivityGeneralization.getCouponId());
        userCouponRecord.setState(1);
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.set(Calendar.DAY_OF_MONTH, calendar.get(Calendar.DAY_OF_MONTH) + tActivityGeneralization.getEffective());
        userCouponRecord.setExpirationTime(calendar.getTime());
        userCouponRecord.setCouponType(Integer.valueOf(String.valueOf(sysCouponRecord.getCouponType())));
        userCouponRecord.setCouponUseType(sysCouponRecord.getCouponUseType());
        userCouponRecord.setInsertTime(date);
        userCouponRecord.setFullMoney(Double.valueOf(String.valueOf(sysCouponRecord.getFullMoney()==null?0:sysCouponRecord.getFullMoney())));
        userCouponRecord.setMoney(Double.valueOf(String.valueOf(sysCouponRecord.getMoney())));
        userCouponRecord.setCompanyId(sysCouponRecord.getCompanyId());
        userCouponRecord.setUserId(userInfo.getId());
        Integer userGrantCount = tActivityGeneralization.getUserGrantCount();
//            userCouponRecordService.insert(userCouponRecord);
        if (userGrantCount != null && userGrantCount > 0) {
            for (int i = 0; i < userGrantCount; i++) {// ...
                userCouponRecordService.insert(userCouponRecord);
            }
        }
        }
    }
    /**
     * 手机验证码登录
     * @param accessToken
@@ -293,6 +410,7 @@
            userInfo.setConsumption(0D);
            userInfo.setBalance(0D);
            userInfo.setState(1);
            userInfo.setAvatar("http://bao-weiqing.oss-cn-hangzhou.aliyuncs.com/img/ad02d59ae74342359270f62a024fa9c6.png");
            //用户所属企业
            if(null != registAreaCode){
@@ -1162,7 +1280,7 @@
     */
    public String getDefaultName(){
        int num = this.selectCount(new EntityWrapper<UserInfo>().ne("flag", 3)) + 1000001;
        return "FB" + String.valueOf(num).substring(1);
        return "HQ" + String.valueOf(num).substring(1);
    }
@@ -1217,7 +1335,7 @@
                    userCouponRecord.setUserId(userInfo.getId());
                    userCouponRecord.setCompanyId(Integer.valueOf(String.valueOf(map.get("companyId"))));
                    userCouponRecord.setMoney(Double.valueOf(String.valueOf(map.get("money"))));
                    userCouponRecord.setFullMoney(Double.valueOf(String.valueOf(map.get("fullMoney"))));
                    userCouponRecord.setFullMoney(Double.valueOf(String.valueOf(map.get("fullMoney")==null?"0":map.get("fullMoney"))));
                    userCouponRecord.setInsertTime(new Date());
                    userCouponRecord.setState(1);
                    userCouponRecord.setCouponUseType(Integer.valueOf(String.valueOf(map.get("couponUseType"))));