添加施工人员手机号登录方式

This commit is contained in:
方亮 2025-10-23 16:09:57 +08:00
parent df96dc0f18
commit 55a68298e7
8 changed files with 91 additions and 2 deletions

View File

@ -105,7 +105,7 @@ public class SysPasswordService {
throw new CaptchaException("手机号不能为空");
}
String code = VerificationCodeUtils.generateVerificationCode(VerificationCodeUtils.CodeType.NUMERIC);
String str = "您的验证码为" + code + "尊敬的客户以上验证码3分钟有效微服务平台提醒您:转发可能导致账号被盗,请勿将验证码泄露于他人";
String str = "您的验证码为" + code + "尊敬的客户以上验证码3分钟有效实名制提醒您:转发可能导致账号被盗,请勿将验证码泄露于他人";
String verifyKey = CacheConstants.VERIFICATION_CODE + phone;
String s = SmsUtils.smsToken(phone, str, "");
if (StringUtils.isNotEmpty(s)) {

View File

@ -161,6 +161,24 @@ public class PmWorkerExitController extends BaseController {
return getDataTableError(new ArrayList<>());
}
/**
* 手机号扫码出场或补文件
* @param o
* @return
*/
@RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth(isUser = false))
@GetMapping("/getWorkerListByPhone")
@SysLog(title = "扫码出场", businessType = OperaType.QUERY, logType = 0, module = "施工人员->出入场管理->扫码出场", details = "扫码出场")
public AjaxResult getWorkerListByPhone(PmWorkerDto o) {
try {
List<PmWorker> list = service.getWorkerListByPhone(o);
return AjaxResult.success(list);
} catch (Exception e) {
logger.error(e.toString(), e);
}
return AjaxResult.error("系统异常,请联系管理员");
}
/**
* 查询工程出场历史列表
* @param o

View File

@ -198,4 +198,6 @@ public class PmWorker {
private String facePhotoBase64;
private String type;
}

View File

@ -58,4 +58,6 @@ public interface PmWorkerExitMapper {
* @return
*/
List<PmWorker> selectWorkListByProId(PmWorkerDto o);
List<PmWorker> getWorkerListByPhone(PmWorkerDto o);
}

View File

@ -58,4 +58,12 @@ public interface PmWorkerExitService {
* @return
*/
List<PmWorker> selectWorkListByProId(PmWorkerDto o);
/**
* 根据手机号查询人员列表
*
* @param o
* @return
*/
List<PmWorker> getWorkerListByPhone(PmWorkerDto o);
}

View File

@ -215,4 +215,9 @@ public class PmWorkerExitServiceImpl implements PmWorkerExitService {
return mapper.selectWorkListByProId(o);
}
@Override
public List<PmWorker> getWorkerListByPhone(PmWorkerDto o) {
return mapper.getWorkerListByPhone(o);
}
}

View File

@ -23,6 +23,7 @@
<result column="is_upload_file" property="isUploadFile" />
<result column="days_since_exit" property="daysSinceExit" />
<result column="is_shanghai" property="isShanghai"/>
<result column="type" property="type"/>
</resultMap>
<select id="selectWorkList" resultMap="BaseResultMap">
@ -209,4 +210,57 @@
</if>
</where>
</select>
<select id="getWorkerListByPhone" resultMap="BaseResultMap">
SELECT
bwepr.id,
pw.id as workerId,
pw.`name`,
pw.id_number,
bwepr.pro_id,
bwepr.pro_name,
bwepr.sub_id,
bwepr.sub_name,
bwepr.team_id,
bwepr.team_name,
bwepr.post_id,
bwepr.post_name,
pp.is_shanghai,
'1' as type
FROM
pm_worker pw
INNER JOIN bm_worker_ein_pro_record bwepr ON bwepr.worker_id = pw.id
INNER JOIN pm_project pp ON pp.id = bwepr.pro_id
WHERE
pw.is_active = 1
AND pw.phone = #{phone}
AND bwepr.is_upload_file is null
UNION
SELECT
bwepr.id,
pw.id as workerId,
pw.`name`,
pw.id_number,
bwepr.pro_id,
bwepr.pro_name,
bwepr.sub_id,
bwepr.sub_name,
bwepr.team_id,
bwepr.team_name,
bwepr.post_id,
bwepr.post_name,
pp.is_shanghai,
'2' as type
FROM
pm_worker pw
INNER JOIN bm_worker_ein_pro_record bwepr ON bwepr.worker_id = pw.id
INNER JOIN pm_project pp ON pp.id = bwepr.pro_id
WHERE
pw.is_active = 1
AND pw.phone = #{phone}
AND bwepr.is_upload_file = 0 and pp.is_shanghai = 0
and if(is_upload_file=0,DATEDIFF(NOW(), exit_time),0) &lt; 31
</select>
</mapper>

View File

@ -440,6 +440,6 @@
<select id="selectWorkerByPhotoNumber" resultType="int">
select count(1)
from pm_worker
where phone = #{photoNumber}
where phone = #{photoNumber} and is_active = 1
</select>
</mapper>