落地空运单聊询价字段与线路选择。
必填核对后再建单;多条线路走 H5 点选;费用只展示该线路 TMS 回包,不套用整单空运费。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+2
@@ -142,6 +142,8 @@ public class SysRoleController {
|
||||
try {
|
||||
role.setCreateTime(new Date());
|
||||
sysRoleService.save(role);
|
||||
// 询价后台新增角色后需立即授权菜单,必须把雪花 id 回传前端
|
||||
result.setResult(role);
|
||||
result.success("添加成功!");
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
|
||||
+30
-21
@@ -30,15 +30,7 @@ public class SysRolePermissionServiceImpl extends ServiceImpl<SysRolePermissionM
|
||||
|
||||
@Override
|
||||
public void saveRolePermission(String roleId, String permissionIds) {
|
||||
String ip = "";
|
||||
try {
|
||||
//获取request
|
||||
HttpServletRequest request = SpringContextUtils.getHttpServletRequest();
|
||||
//获取IP地址
|
||||
ip = IpUtils.getIpAddr(request);
|
||||
} catch (Exception e) {
|
||||
ip = "127.0.0.1";
|
||||
}
|
||||
String ip = resolveOperateIp();
|
||||
LambdaQueryWrapper<SysRolePermission> query = new QueryWrapper<SysRolePermission>().lambda().eq(SysRolePermission::getRoleId, roleId);
|
||||
this.remove(query);
|
||||
List<SysRolePermission> list = new ArrayList<SysRolePermission>();
|
||||
@@ -56,15 +48,13 @@ public class SysRolePermissionServiceImpl extends ServiceImpl<SysRolePermissionM
|
||||
|
||||
@Override
|
||||
public void saveRolePermission(String roleId, String permissionIds, String lastPermissionIds) {
|
||||
String ip = "";
|
||||
try {
|
||||
//获取request
|
||||
HttpServletRequest request = SpringContextUtils.getHttpServletRequest();
|
||||
//获取IP地址
|
||||
ip = IpUtils.getIpAddr(request);
|
||||
} catch (Exception e) {
|
||||
ip = "127.0.0.1";
|
||||
// 询价后台编辑角色时若未传 lastpermissionIds,增量 diff 会把已存在权限当新增插入导致授权失败;
|
||||
// 与 Jeecg 原生抽屉不同,此处兜底走全量覆盖,保证幂等。
|
||||
if (oConvertUtils.isEmpty(lastPermissionIds)) {
|
||||
saveRolePermission(roleId, permissionIds);
|
||||
return;
|
||||
}
|
||||
String ip = resolveOperateIp();
|
||||
List<String> add = getDiff(lastPermissionIds,permissionIds);
|
||||
if(add!=null && add.size()>0) {
|
||||
List<SysRolePermission> list = new ArrayList<SysRolePermission>();
|
||||
@@ -88,11 +78,30 @@ public class SysRolePermissionServiceImpl extends ServiceImpl<SysRolePermissionM
|
||||
}
|
||||
|
||||
/**
|
||||
* 从diff中找出main中没有的元素
|
||||
* @param main
|
||||
* @param diff
|
||||
* @return
|
||||
* 写入 sys_role_permission.operate_ip;反向代理可能带回超长 X-Forwarded-For,截断避免入库失败。
|
||||
*/
|
||||
private String resolveOperateIp() {
|
||||
String ip = "127.0.0.1";
|
||||
try {
|
||||
HttpServletRequest request = SpringContextUtils.getHttpServletRequest();
|
||||
ip = IpUtils.getIpAddr(request);
|
||||
} catch (Exception e) {
|
||||
ip = "127.0.0.1";
|
||||
}
|
||||
if (oConvertUtils.isEmpty(ip)) {
|
||||
return "127.0.0.1";
|
||||
}
|
||||
int comma = ip.indexOf(',');
|
||||
if (comma > 0) {
|
||||
ip = ip.substring(0, comma).trim();
|
||||
}
|
||||
if (ip.length() > 45) {
|
||||
ip = ip.substring(0, 45);
|
||||
}
|
||||
return ip;
|
||||
}
|
||||
|
||||
/** 从 diff 中找出 main 中没有的元素,供增量授权增删菜单。 */
|
||||
private List<String> getDiff(String main,String diff){
|
||||
if(oConvertUtils.isEmpty(diff)) {
|
||||
return null;
|
||||
|
||||
Reference in New Issue
Block a user