diff --git a/backend/src/main/java/com/yfd/platform/data/service/impl/FishImportServiceImpl.java b/backend/src/main/java/com/yfd/platform/data/service/impl/FishImportServiceImpl.java index c9b4fb6..30a1dbe 100644 --- a/backend/src/main/java/com/yfd/platform/data/service/impl/FishImportServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/data/service/impl/FishImportServiceImpl.java @@ -188,12 +188,13 @@ public class FishImportServiceImpl implements IFishImportService { switch (fieldName) { case "stationName": if (!StringUtils.hasText(cellValue)) { - importRow.getWarnings().add("ennm"); + importRow.getWarnings().add("rstcd"); data.setEnnm(cellValue.trim()); + data.setRstcd(cellValue); } else { String stcd = resolveStationCode(cellValue.trim()); if (stcd == null) { - importRow.getWarnings().add("ennm"); + importRow.getWarnings().add("rstcd"); data.setEnnm(cellValue.trim()); } else { data.setEnnm(cellValue.trim()); @@ -330,6 +331,8 @@ public class FishImportServiceImpl implements IFishImportService { if (StringUtils.hasText(cellValue)) { String isfs = resolveIsfs(cellValue.trim(), importRow); data.setIsfs("1".equals(isfs) ? 1 : 0); + }else{ + importRow.getWarnings().add("isfs"); } break; case "sourceType": @@ -337,7 +340,8 @@ public class FishImportServiceImpl implements IFishImportService { break; case "stnm": if (!StringUtils.hasText(cellValue)) { - missingRequiredFields.add("stcd"); + importRow.getWarnings().add("stcd"); + data.setStcd(cellValue); } else { String stcd = resolveFpssCode(cellValue.trim()); if (stcd == null) { diff --git a/backend/src/main/java/com/yfd/platform/env/controller/SdHycdDicController.java b/backend/src/main/java/com/yfd/platform/env/controller/SdHycdDicController.java index db5351f..d90c726 100644 --- a/backend/src/main/java/com/yfd/platform/env/controller/SdHycdDicController.java +++ b/backend/src/main/java/com/yfd/platform/env/controller/SdHycdDicController.java @@ -66,16 +66,18 @@ public class SdHycdDicController { @Operation(summary = "下拉框列表查询") public ResponseResult selectForDropdown( @RequestParam(required = false) String hynm, - @RequestParam(required = false) Integer grd) { - return ResponseResult.successData(hycdDicService.selectForDropdown(hynm, grd)); + @RequestParam(required = false) Integer grd, + @RequestParam(required = false) Integer lx) { + return ResponseResult.successData(hycdDicService.selectForDropdown(hynm, grd,lx)); } @GetMapping("/regDropdown") @Operation(summary = "下拉框列表查询(注册)") public ResponseResult regDropdown( @RequestParam(required = false) String hynm, - @RequestParam(required = false) Integer grd) { - return ResponseResult.successData(hycdDicService.regDropdown(hynm, grd)); + @RequestParam(required = false) Integer grd, + @RequestParam(required = false) Integer lx) { + return ResponseResult.successData(hycdDicService.regDropdown(hynm, grd,lx)); } diff --git a/backend/src/main/java/com/yfd/platform/env/domain/SdHycdDic.java b/backend/src/main/java/com/yfd/platform/env/domain/SdHycdDic.java index 48ea9e4..aadce20 100644 --- a/backend/src/main/java/com/yfd/platform/env/domain/SdHycdDic.java +++ b/backend/src/main/java/com/yfd/platform/env/domain/SdHycdDic.java @@ -78,6 +78,6 @@ public class SdHycdDic implements Serializable { /** * 类型 1:集团 ;2:公司 */ - private String lx; + private Integer lx; } diff --git a/backend/src/main/java/com/yfd/platform/env/service/ISdHycdDicService.java b/backend/src/main/java/com/yfd/platform/env/service/ISdHycdDicService.java index ea2c24a..35a5214 100644 --- a/backend/src/main/java/com/yfd/platform/env/service/ISdHycdDicService.java +++ b/backend/src/main/java/com/yfd/platform/env/service/ISdHycdDicService.java @@ -46,7 +46,7 @@ public interface ISdHycdDicService extends IService { /** * 下拉框列表查询(支持名称和级别过滤) */ - List selectForDropdown(String hynm, Integer grd); + List selectForDropdown(String hynm, Integer grd,Integer lx); - List regDropdown(String hynm, Integer grd); + List regDropdown(String hynm, Integer grd,Integer lx); } diff --git a/backend/src/main/java/com/yfd/platform/env/service/impl/SdHycdDicServiceImpl.java b/backend/src/main/java/com/yfd/platform/env/service/impl/SdHycdDicServiceImpl.java index 2c0e4f7..00b0ebf 100644 --- a/backend/src/main/java/com/yfd/platform/env/service/impl/SdHycdDicServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/env/service/impl/SdHycdDicServiceImpl.java @@ -58,19 +58,21 @@ public class SdHycdDicServiceImpl extends ServiceImpl selectForDropdown(String hynm, Integer grd) { + public List selectForDropdown(String hynm, Integer grd, Integer lx) { return this.lambdaQuery() .like(hynm != null && !hynm.isEmpty(), SdHycdDic::getHynm, hynm) .eq(grd != null, SdHycdDic::getGrd, grd) + .eq(lx != null, SdHycdDic::getLx, lx) .orderByAsc(SdHycdDic::getOrderIndex) .list(); } @Override - public List regDropdown(String hynm, Integer grd) { + public List regDropdown(String hynm, Integer grd,Integer lx) { return this.lambdaQuery() .like(hynm != null && !hynm.isEmpty(), SdHycdDic::getHynm, hynm) .eq(grd != null, SdHycdDic::getGrd, grd) + .eq(lx != null, SdHycdDic::getLx, lx) .orderByAsc(SdHycdDic::getOrderIndex) .list(); } diff --git a/backend/src/main/java/com/yfd/platform/system/controller/SmsVerifyCodeController.java b/backend/src/main/java/com/yfd/platform/system/controller/SmsVerifyCodeController.java index c3a0746..7daf181 100644 --- a/backend/src/main/java/com/yfd/platform/system/controller/SmsVerifyCodeController.java +++ b/backend/src/main/java/com/yfd/platform/system/controller/SmsVerifyCodeController.java @@ -23,9 +23,7 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.web.bind.annotation.*; import java.sql.Timestamp; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; +import java.util.*; /** *

@@ -60,26 +58,42 @@ public class SmsVerifyCodeController { public ResponseResult sendVerifyCode(@RequestBody SmsVerifyCodeRequest smsVerifyCodeRequest) { String phone = smsVerifyCodeRequest.getPhone(); Integer type = smsVerifyCodeRequest.getType(); + if (phone == null || phone.isEmpty()) { return ResponseResult.error("手机号不能为空"); } - if (type == null || (!type.equals(SmsVerifyCode.TYPE_REGISTER) && !type.equals(SmsVerifyCode.TYPE_FIND_PASSWORD))) { - return ResponseResult.error("类型错误:1-注册 2-找回密码"); + if (type == null) { + return ResponseResult.error("类型不能为空:1-注册 2-找回密码 3-登录"); } + // 1. 注册验证码校验 if (type.equals(SmsVerifyCode.TYPE_REGISTER)) { SysUser existUser = userService.getUserByPhone(phone); if (existUser != null) { return ResponseResult.error("该手机号已注册"); } } - - if (type.equals(SmsVerifyCode.TYPE_FIND_PASSWORD)) { + // 2. 找回密码验证码校验 + else if (type.equals(SmsVerifyCode.TYPE_FIND_PASSWORD)) { SysUser existUser = userService.getUserByPhone(phone); if (existUser == null) { return ResponseResult.error("该手机号未注册"); } } + // 3. 登录验证码校验(新增) + else if (type.equals(SmsVerifyCode.TYPE_LOGIN)) { + SysUser existUser = userService.getUserByPhone(phone); + if (existUser == null) { + return ResponseResult.error("该手机号未注册,请先注册"); + } + // 可选:如果用户状态异常(如被禁用),也可以在此处拦截 + // if (existUser.getStatus() == 0) { + // return ResponseResult.error("账号已被禁用"); + // } + } + else { + return ResponseResult.error("类型错误:1-注册 2-找回密码 3-登录"); + } String code = smsVerifyCodeService.sendVerifyCode(phone, type); if (code == null) { @@ -89,6 +103,7 @@ public class SmsVerifyCodeController { return ResponseResult.success(); } + /** * 注册用户 */ @@ -118,17 +133,16 @@ public class SmsVerifyCodeController { if (existUser != null) { return ResponseResult.error("该手机号已注册"); } - + SysUser user = new SysUser(); try { - RsaUtils.decryptByPrivateKey(privateKey, smsVerifyCodeRequest.getPassword()); + String password = RsaUtils.decryptByPrivateKey(privateKey, smsVerifyCodeRequest.getPassword()); + BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); + user.setPassword(passwordEncoder.encode(password)); } catch (Exception e) { return ResponseResult.error("密码解密失败"); } - - SysUser user = new SysUser(); - BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); - user.setPassword(passwordEncoder.encode(user.getPassword())); user.setRegStatus(0); + user.setPhone(smsVerifyCodeRequest.getPhone()); user.setBelongingUnit(smsVerifyCodeRequest.getBelongingUnit()); user.setRegTime(new Date()); user.setNickname(smsVerifyCodeRequest.getRealName()); @@ -151,7 +165,9 @@ public class SmsVerifyCodeController { String companyCode = smsVerifyCodeRequest.getCompanyCode(); String groupCode = smsVerifyCodeRequest.getGroupCode(); String hbrvcdCode = smsVerifyCodeRequest.getHbrvcdCode(); - + List roleIds=new ArrayList<>(); + roleIds.add("c13481a486c9ee559cf305284df4d207"); + roleIds.add("c13481a486c9ee559cf305284df4d207"); return true; } @@ -227,7 +243,7 @@ public class SmsVerifyCodeController { return ResponseResult.error("验证码不能为空"); } - boolean verified = smsVerifyCodeService.verifyCode(phone, code, SmsVerifyCode.TYPE_REGISTER); + boolean verified = smsVerifyCodeService.verifyCode(phone, code, SmsVerifyCode.TYPE_LOGIN); if (!verified) { return ResponseResult.error("验证码错误或已过期"); } @@ -290,7 +306,7 @@ public class SmsVerifyCodeController { webConfig.loginuserCache().put("login:" + userId, jsonStr); webConfig.loginuserCache().put("expire_time:" + userId, map.get("expire_time").toString()); - map.put("user", user); +// map.put("user", user); return ResponseResult.successData(map); } diff --git a/backend/src/main/java/com/yfd/platform/system/domain/LoginUser.java b/backend/src/main/java/com/yfd/platform/system/domain/LoginUser.java index 902c628..1115c79 100644 --- a/backend/src/main/java/com/yfd/platform/system/domain/LoginUser.java +++ b/backend/src/main/java/com/yfd/platform/system/domain/LoginUser.java @@ -22,7 +22,7 @@ public class LoginUser implements UserDetails { private String username; - private List permissions; + private List permissions=new ArrayList<>(); public LoginUser(SysUser user, List permissions) { this.user = user; diff --git a/backend/src/main/java/com/yfd/platform/system/domain/SmsVerifyCode.java b/backend/src/main/java/com/yfd/platform/system/domain/SmsVerifyCode.java index 2cc1351..988e35a 100644 --- a/backend/src/main/java/com/yfd/platform/system/domain/SmsVerifyCode.java +++ b/backend/src/main/java/com/yfd/platform/system/domain/SmsVerifyCode.java @@ -23,6 +23,7 @@ public class SmsVerifyCode implements Serializable { public static final Integer TYPE_REGISTER = 1; public static final Integer TYPE_FIND_PASSWORD = 2; + public static final Integer TYPE_LOGIN = 3; public static final Integer STATUS_UNUSED = 0; public static final Integer STATUS_USED = 1; diff --git a/backend/src/main/java/com/yfd/platform/system/service/impl/UserServiceImpl.java b/backend/src/main/java/com/yfd/platform/system/service/impl/UserServiceImpl.java index 12e0245..602f121 100644 --- a/backend/src/main/java/com/yfd/platform/system/service/impl/UserServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/system/service/impl/UserServiceImpl.java @@ -610,7 +610,13 @@ public class UserServiceImpl extends ServiceImpl impleme .like(SysUser::getRealName, name) ); queryWrapper.orderByDesc(SysUser::getRegTime); - return this.page(page, queryWrapper); + Page mapPage = this.page(page, queryWrapper); + mapPage.getRecords().forEach(record -> { + String id = record.getId(); + List sysRoles = sysRoleMapper.getRoleByUserId(id); + record.setRoles(sysRoles); + }); + return mapPage; } /***********************************