Эх сурвалжийг харах

教练员学员查询密码

小么熊🐻 1 жил өмнө
parent
commit
fe5ab91d24

+ 10 - 4
jsjp-admin/src/main/java/com/miaxis/app/controller/tms/TmsCoachInfoController.java

@@ -4,10 +4,7 @@ package com.miaxis.app.controller.tms;
 import com.miaxis.common.constant.Constants;
 import com.miaxis.common.core.controller.BaseController;
 import com.miaxis.common.core.domain.Response;
-import com.miaxis.tms.dto.TmsCoachInfoBindDTO;
-import com.miaxis.tms.dto.TmsCoachInfoDTO;
-import com.miaxis.tms.dto.TmsCoachInfoIdDTO;
-import com.miaxis.tms.dto.TmsCoachInfoPwDTO;
+import com.miaxis.tms.dto.*;
 import com.miaxis.tms.service.ITmsCoachInfoService;
 import com.miaxis.tms.vo.TmsCoachInfoQRVo;
 import com.miaxis.tms.vo.TmsCoachInfoVo;
@@ -104,5 +101,14 @@ public class TmsCoachInfoController extends BaseController {
         return coachInfoService.unBindCoachOpenid(coachInfoDTO);
     }
 
+    /**
+     * 根据教练身份证与手机号获取教练管家密码
+     */
+    @GetMapping("/getPasswordByCoachIdcard")
+    @ApiOperation("根据教练身份证与手机号获取教练管家密码")
+    public Response getPasswordByCoachIdcard(TmsIdcardPhoneDTO idcardPhoneDTO) {
+        return Response.success(coachInfoService.getPasswordByCoachIdcard(idcardPhoneDTO));
+    }
+
 }
 

+ 13 - 0
jsjp-admin/src/main/java/com/miaxis/app/controller/tms/TmsStudentInfoController.java

@@ -347,6 +347,19 @@ public class TmsStudentInfoController extends BaseController {
     }
 
 
+
+    /**
+     * 根据学员身份证与手机号获取极速登录密码
+     */
+    @GetMapping("/getPasswordByIdcard")
+    @ApiOperation("根据学员身份证与手机号获取极速登录密码")
+    public Response getPasswordByIdcard(TmsIdcardPhoneDTO idcardPhoneDTO) {
+        return Response.success(studentInfoService.getPasswordByIdcard(idcardPhoneDTO));
+    }
+
+
+
+
 }
 
 

+ 8 - 6
jsjp-admin/src/test/java/com/miaxis/test/Test03.java

@@ -7,6 +7,7 @@ import java.net.HttpURLConnection;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
 import java.text.SimpleDateFormat;
 import java.util.Calendar;
 import java.util.Date;
@@ -17,25 +18,26 @@ public class Test03 {
 
 
     public static void main(String[] args) throws IOException {
-       // test1();
+        //test1();
 
-        String token = "eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6Ijc1MzRjZGI3LTcyZGMtNGExZi1hYTc1LWFhYjlmYmYzMGI5YyJ9.iKl7-pr-mrkKNf-YRoSC86uRoZHCapTtM94PMvOz7mQAaSV32FsPqBdusA73p0jkn6HZMrZDcXTmKFmY-_9PAg";
         test5();
 
     }
 
     public static void test5() throws IOException {
 
-        String token = "eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6Ijg3ZTZkMjU3LTcyMjEtNGQ1ZS1iMTJlLWE3NzFmZWEyZmY4NiJ9.TEZUppM51gfRdAVa6k-nIOxuC18A7Zt2apJEaLie8bjlWAdELy0Oy9sv7yHCeYqwR2-g-KPt4S1U1-jxNS-dbA";
+        String token = "eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImIyNTdlMTI2LWU0OGUtNDc2My04MzkxLWMxMzY4YWVjODU3NyJ9.lL-aMWUTJeMd8FfgF4Dx-KdWZrUWnCtAGQApZOVx39_fCsOl6fMho-F_2qvr8KzHdmm9tlffe92GfYaVvK7QRw";
         //String baseUrl = "https://jsjp-admin1.zzxcx.net/jsjp-admin/userInfo/sms/sendSms";
-        String baseUrl = "https://jsjp-admin1.zzxcx.net/jsjp-admin/userInfo/sms/sendSms";
+        String baseUrl = "https://jsjp-admin.zzxcx.net/jsjp-admin/userInfo/sms/sendSms";
         String idcard = "350181198811231811";
         String name = "陈宏杰";
         String password = "123456";
         String phone = "15060063160";
 
+        String encodedName = URLEncoder.encode(name, StandardCharsets.UTF_8.toString());
+        System.out.println(encodedName);
         // Build the URL with query parameters
-        String urlWithParams = baseUrl + "?idcard=" + idcard + "&name=" + name + "&password=" + password + "&phone=" + phone;
+        String urlWithParams = baseUrl + "?idcard=" + idcard + "&name=" + encodedName + "&password=" + password + "&phone=" + phone;
 
         URL url = new URL(urlWithParams);
         HttpURLConnection conn = (HttpURLConnection) url.openConnection();
@@ -62,7 +64,7 @@ public class Test03 {
      * @throws IOException
      */
     public static void test1() throws IOException {
-        URL url = new URL("https://jsjp-admin1.zzxcx.net/jsjp-admin/login/noCode");
+        URL url = new URL("https://jsjp-admin.zzxcx.net/jsjp-admin/login/noCode");
         HttpURLConnection conn = (HttpURLConnection) url.openConnection();
         conn.setDoOutput(true);
         conn.setDoInput(true);

+ 44 - 0
jsjp-admin/src/test/java/com/miaxis/test/Test7.java

@@ -0,0 +1,44 @@
+package com.miaxis.test;
+
+import javax.crypto.Cipher;
+import javax.crypto.KeyGenerator;
+import javax.crypto.SecretKey;
+import javax.crypto.spec.SecretKeySpec;
+import java.util.Base64;
+public class Test7 {
+
+
+    public static void main(String[] args) throws Exception {
+        // 生成AES密钥
+        KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");
+        keyGenerator.init(128); // 128位密钥
+        SecretKey secretKey = keyGenerator.generateKey();
+
+        // 加密数字
+        int originalNumber = 123456;
+        byte[] encryptedData = encryptNumber(originalNumber, secretKey);
+
+        // 解密数字
+        int decryptedNumber = decryptNumber(encryptedData, secretKey);
+
+        System.out.println("Original Number: " + originalNumber);
+        System.out.println("Encrypted Data: " + Base64.getEncoder().encodeToString(encryptedData));
+        System.out.println("Decrypted Number: " + decryptedNumber);
+    }
+
+    public static byte[] encryptNumber(int number, SecretKey secretKey) throws Exception {
+        Cipher cipher = Cipher.getInstance("AES");
+        cipher.init(Cipher.ENCRYPT_MODE, secretKey);
+        byte[] numberBytes = String.valueOf(number).getBytes();
+        byte[] encryptedBytes = cipher.doFinal(numberBytes);
+        return encryptedBytes;
+    }
+
+    public static int decryptNumber(byte[] encryptedData, SecretKey secretKey) throws Exception {
+        Cipher cipher = Cipher.getInstance("AES");
+        cipher.init(Cipher.DECRYPT_MODE, secretKey);
+        byte[] decryptedBytes = cipher.doFinal(encryptedData);
+        String decryptedNumberString = new String(decryptedBytes);
+        return Integer.parseInt(decryptedNumberString);
+    }
+}

+ 20 - 0
jsjp-service/src/main/java/com/miaxis/tms/dto/TmsIdcardPhoneDTO.java

@@ -0,0 +1,20 @@
+package com.miaxis.tms.dto;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class TmsIdcardPhoneDTO {
+
+    @ApiModelProperty(value = "身份证号")
+    private String idcard;
+
+    @ApiModelProperty(value = "电话号码")
+    private String phone;
+
+    @ApiModelProperty(value = "地区编号",required = true)
+    private String city;
+
+
+}

+ 3 - 0
jsjp-service/src/main/java/com/miaxis/tms/mapper/TmsCoachInfoMapper.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.miaxis.tms.domain.TmsCoachInfo;
 import com.miaxis.tms.dto.*;
 import com.miaxis.tms.vo.TmsCoachInfoVo;
+import com.miaxis.tms.vo.TmsPasswordVo;
 
 /**
  * <p>
@@ -25,4 +26,6 @@ public interface TmsCoachInfoMapper extends BaseMapper<TmsCoachInfo> {
     int updateCoachOpenid(TmsCoachInfoBindDTO coachInfoBindDTO);
 
     TmsCoachInfoVo getCoachInfoByOpenid(TmsCoachInfoOpenidDTO coaOpenidDto);
+
+    TmsPasswordVo getPasswordByCoachIdcard(TmsIdcardPhoneDTO idcardPhoneDTO);
 }

+ 2 - 0
jsjp-service/src/main/java/com/miaxis/tms/mapper/TmsStudentInfoMapper.java

@@ -63,4 +63,6 @@ public interface TmsStudentInfoMapper extends BaseMapper<TmsStudentInfoVo> {
     TmsBmLimitVo getXmBmLimit(TmsBmDTO tmsBmDTO);
 
     TmsFzLimitVo getFzBmLimit(TmsBmDTO tmsBmDTO);
+
+    TmsPasswordVo getPasswordByIdcard(TmsIdcardPhoneDTO idcardPhoneDTO);
 }

+ 2 - 1
jsjp-service/src/main/java/com/miaxis/tms/service/ITmsCoachInfoService.java

@@ -6,6 +6,7 @@ import com.miaxis.tms.domain.TmsCoachInfo;
 import com.miaxis.tms.dto.*;
 import com.miaxis.tms.vo.TmsBmLimitVo;
 import com.miaxis.tms.vo.TmsCoachInfoVo;
+import com.miaxis.tms.vo.TmsPasswordVo;
 
 import java.util.List;
 
@@ -33,5 +34,5 @@ public interface ITmsCoachInfoService extends IService<TmsCoachInfo> {
 
     Response unBindCoachOpenid(TmsCoachInfoDTO coachInfoDTO);
 
-
+    TmsPasswordVo getPasswordByCoachIdcard(TmsIdcardPhoneDTO idcardPhoneDTO);
 }

+ 2 - 0
jsjp-service/src/main/java/com/miaxis/tms/service/ITmsStudentInfoService.java

@@ -53,4 +53,6 @@ public interface ITmsStudentInfoService extends IService<TmsStudentInfoVo> {
     TmsBmLimitVo getXmBmLimit(TmsBmDTO tmsBmDTO);
 
     TmsFzLimitVo getFzBmLimit(TmsBmDTO tmsBmDTO);
+
+    TmsPasswordVo getPasswordByIdcard(TmsIdcardPhoneDTO idcardPhoneDTO);
 }

+ 6 - 7
jsjp-service/src/main/java/com/miaxis/tms/service/impl/TmsCoachInfoServiceImpl.java

@@ -1,25 +1,19 @@
 package com.miaxis.tms.service.impl;
 
-import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.miaxis.common.annotation.DataSource;
 import com.miaxis.common.core.domain.Response;
-import com.miaxis.common.core.domain.WxUserInfo;
-import com.miaxis.common.core.domain.model.WxResult;
 import com.miaxis.common.enums.DataSourceTypeEnum;
-import com.miaxis.common.exception.CustomException;
 import com.miaxis.common.utils.StringUtils;
-import com.miaxis.feign.service.IWxService;
 import com.miaxis.tms.domain.TmsCoachInfo;
 import com.miaxis.tms.dto.*;
 import com.miaxis.tms.mapper.TmsCoachInfoMapper;
 import com.miaxis.tms.service.ITmsCoachInfoService;
 import com.miaxis.tms.vo.TmsCoachInfoVo;
+import com.miaxis.tms.vo.TmsPasswordVo;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -113,5 +107,10 @@ public class TmsCoachInfoServiceImpl extends ServiceImpl<TmsCoachInfoMapper, Tms
         }
     }
 
+    @Override
+    public TmsPasswordVo getPasswordByCoachIdcard(TmsIdcardPhoneDTO idcardPhoneDTO) {
+        return mapper.getPasswordByCoachIdcard(idcardPhoneDTO);
+    }
+
 
 }

+ 6 - 0
jsjp-service/src/main/java/com/miaxis/tms/service/impl/TmsStudentInfoServiceImpl.java

@@ -258,4 +258,10 @@ public class TmsStudentInfoServiceImpl extends ServiceImpl<TmsStudentInfoMapper,
         return mapper.getFzBmLimit(bmDTO);
     }
 
+
+    @Override
+    public TmsPasswordVo getPasswordByIdcard(TmsIdcardPhoneDTO idcardPhoneDTO) {
+        return mapper.getPasswordByIdcard(idcardPhoneDTO);
+    }
+
 }

+ 32 - 0
jsjp-service/src/main/java/com/miaxis/tms/vo/TmsPasswordVo.java

@@ -0,0 +1,32 @@
+package com.miaxis.tms.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value = "TmsPasswordVo", description = "登录密码VO")
+public class TmsPasswordVo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "姓名")
+    private String name;
+
+    @ApiModelProperty(value = "身份证号")
+    private String idcard;
+
+    @ApiModelProperty(value = "登录密码")
+    private String password;
+
+
+
+
+
+}

+ 23 - 1
jsjp-service/src/main/resources/mapper/tms/TmsCoachInfoMapper.xml

@@ -106,7 +106,11 @@
     </resultMap>
 
 
-
+    <resultMap id="TmsPasswordResultMap" type="com.miaxis.tms.vo.TmsPasswordVo">
+        <result property="name" column="TCI_NAME" />
+        <result property="idcard" column="TCI_IDCARD" />
+        <result property="password" column="TCI_PASSWORD" />
+    </resultMap>
 
 
     <select id="getCoachInfoById" parameterType="com.miaxis.tms.dto.TmsCoachInfoIdDTO" resultMap="CoachInfoVoResultMap">
@@ -135,4 +139,22 @@
                                                                                                    (select max(tci_id) from tms_coach_info@TMS${city} g where g.tci_idcard=#{idcard,jdbcType=VARCHAR} and g.tci_password=#{password,jdbcType=VARCHAR})
     </update>
 
+
+    <select id="getPasswordByCoachIdcard"  parameterType="com.miaxis.tms.dto.TmsIdcardPhoneDTO" resultMap="TmsPasswordResultMap">
+        select tci_idcard,tci_password,tci_name from tms_coach_info@tms${city} t
+        <where>
+            AND t.TCI_LOGOUT = 0
+            AND t.tci_id = (SELECT MAX(tci_id) FROM tms_coach_info@tms${city} t2
+            <where>
+                <if test="idcard != null  and idcard != ''">
+                    and t2.tci_idcard = #{idcard,jdbcType=VARCHAR}
+                </if>
+                <if test="phone != null  and phone != ''">
+                    and t2.tci_mobile = #{phone,jdbcType=VARCHAR}
+                </if>
+            </where>
+            )
+        </where>
+    </select>
+
 </mapper>

+ 25 - 0
jsjp-service/src/main/resources/mapper/tms/TmsStudentInfoMapper.xml

@@ -123,6 +123,12 @@
     </resultMap>
 
 
+    <resultMap id="TmsPasswordResultMap" type="com.miaxis.tms.vo.TmsPasswordVo">
+        <result property="name" column="TSO_NAME" />
+        <result property="idcard" column="TSO_IDCARD" />
+        <result property="password" column="TSO_PASSWORD" />
+    </resultMap>
+
 
 
     <select id="getTmsMyStudentInfoList"  parameterType="com.miaxis.tms.dto.TmsStudentInfoDTO" resultMap="TmsStudentInfoResultMap">
@@ -650,4 +656,23 @@
 
 
 
+
+    <select id="getPasswordByIdcard"  parameterType="com.miaxis.tms.dto.TmsIdcardPhoneDTO" resultMap="TmsPasswordResultMap">
+        select tso_idcard,tso_password,tso_name from TMS_STUDENT_INFO@tms${city} t
+        <where>
+            AND t.TSO_LOGOUT = 0
+            AND t.tso_id = (SELECT MAX(tso_id) FROM tms_student_info@tms${city} t2
+            <where>
+                <if test="idcard != null  and idcard != ''">
+                    and t2.tso_idcard = #{idcard,jdbcType=VARCHAR}
+                </if>
+                <if test="phone != null  and phone != ''">
+                    and t2.tso_phone = #{phone,jdbcType=VARCHAR}
+                </if>
+            </where>
+            )
+        </where>
+    </select>
+
+
 </mapper>