diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java index e18484e8d..8cc8bfd57 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java @@ -18,7 +18,7 @@ import java.util.Set; /** * bms财务结算系统feign调用接口 */ -@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.3:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.32:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface BmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index e4a817238..d976fcc98 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; -@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.30:8014",configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.31:8014",configuration = FeignAutoConfiguration.class) public interface WlhyServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index 743be7c29..653f44d4b 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -21,7 +21,7 @@ import java.util.Map; * @description: TODO * @date 2024/5/10 8:58 **/ -@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.3:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.32:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface WmsServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java index dfac7337f..238ec5f81 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java @@ -9,7 +9,7 @@ import com.mhd.system.api.feign.FeignAutoConfiguration; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; -@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.4:8018", configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.33:8018", configuration = FeignAutoConfiguration.class) public interface YmsServiceFeign { /** diff --git a/mhd-auth/src/main/java/com/mhd/auth/system/controller/SsoAuthorizeController.java b/mhd-auth/src/main/java/com/mhd/auth/system/controller/SsoAuthorizeController.java index 4891fb10e..024cb8c3f 100644 --- a/mhd-auth/src/main/java/com/mhd/auth/system/controller/SsoAuthorizeController.java +++ b/mhd-auth/src/main/java/com/mhd/auth/system/controller/SsoAuthorizeController.java @@ -79,6 +79,7 @@ public class SsoAuthorizeController { // 5. 重定向到前端页面,token通过URL参数传递 // 前端页面需读取URL中的token参数并存入localStorage log.info("SSO单点登录成功, account={}", account); + log.info("SSO单点登录成功, account={}, token={} , redirectUrl={}", account, accessToken, redirectUrl); response.sendRedirect(redirectUrl + "?token=" + URLEncoder.encode(accessToken, StandardCharsets.UTF_8.name())); } catch (Exception e) { diff --git a/mhd-auth/src/main/java/com/mhd/auth/system/service/SsoAuthorizeService.java b/mhd-auth/src/main/java/com/mhd/auth/system/service/SsoAuthorizeService.java index e3e6040d6..ee2613ecd 100644 --- a/mhd-auth/src/main/java/com/mhd/auth/system/service/SsoAuthorizeService.java +++ b/mhd-auth/src/main/java/com/mhd/auth/system/service/SsoAuthorizeService.java @@ -50,7 +50,7 @@ public class SsoAuthorizeService { @Value("${sso.public-key}") private String publicKeyStr; - @Value("https://diglog.namkwong.com.mo/main_app/sso") + @Value("${sso.redirect-url}") private String redirectUrl; @Resource diff --git a/mhd-auth/src/main/resources/bootstrap.yml b/mhd-auth/src/main/resources/bootstrap.yml index 0f7b839c1..828fff329 100644 --- a/mhd-auth/src/main/resources/bootstrap.yml +++ b/mhd-auth/src/main/resources/bootstrap.yml @@ -15,7 +15,7 @@ spring: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 # server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.30:6848 + server-addr: 10.102.192.31:6848 username: nacos password: manhuoda@2023 #线上正式环境 @@ -24,7 +24,7 @@ spring: # password: manhuoda@2023 config: # server-addr: 127.0.0.1:8848 - server-addr: 10.102.192.30:6848 + server-addr: 10.102.192.31:6848 # 测试环境配置 容器名+端口号 # server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 @@ -52,4 +52,4 @@ sso: AwIDAQAB -----END PUBLIC KEY----- # SSO登录成功后跳转的前端页面地址 - redirect-url: "/" + redirect-url: "https://diglog.namkwong.com.mo/main_app/sso" diff --git a/mhd-user-center/src/main/java/com/mhd/user/application/service/AgreementDetailsApplicationService.java b/mhd-user-center/src/main/java/com/mhd/user/application/service/AgreementDetailsApplicationService.java index 4b9703459..99d56c911 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/application/service/AgreementDetailsApplicationService.java +++ b/mhd-user-center/src/main/java/com/mhd/user/application/service/AgreementDetailsApplicationService.java @@ -1,12 +1,22 @@ package com.mhd.user.application.service; +import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.mhd.common.security.utils.SecurityUtils; import com.mhd.user.domain.userAggregate.entity.AgreementDetails; +import com.mhd.user.domain.userAggregate.entity.UserShipperEntity; import com.mhd.user.domain.userAggregate.repository.mapper.AgreementDetailsMapper; +import com.mhd.user.domain.userAggregate.repository.mapper.UserShipperMapper; +import com.mhd.user.domain.userAggregate.repository.po.AgreementDetailsPo; +import com.mhd.system.api.model.LoginUser; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Collections; import java.util.List; /** @@ -19,18 +29,87 @@ public class AgreementDetailsApplicationService { @Resource private AgreementDetailsMapper agreementDetailsMapper; + @Resource + private UserShipperMapper userShipperMapper; + /** - * 根据货主ID查询所有协议明细 + * 根据货主ID查询当前登录用户组织下的协议明细 + * 从user_shipper表的orgCode字段解析JSON,匹配当前登录用户组织code, + * 返回该组织下的agreedaydatas列表 * * @param shipperId 货主ID * @return 协议明细列表 */ - public List listByShipperId(Long shipperId) { - return agreementDetailsMapper.selectList( - new LambdaQueryWrapper() - .eq(AgreementDetails::getShipperId, shipperId) - .orderByDesc(AgreementDetails::getCreateTime) - ); + public List listByShipperId(Long shipperId) { + // 1. 获取当前登录用户组织ID + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (ObjectUtil.isNull(loginUser) || ObjectUtil.isNull(loginUser.getUserPo())) { + log.warn("未获取到登录用户信息"); + return Collections.emptyList(); + } + Long organizationId = loginUser.getUserPo().getOrganizationId(); + if (ObjectUtil.isNull(organizationId)) { + log.warn("当前登录用户无组织信息"); + return Collections.emptyList(); + } + + // 2. 根据shipperId查询货主信息,获取orgCode字段 + UserShipperEntity shipperEntity = userShipperMapper.selectById(shipperId); + if (ObjectUtil.isNull(shipperEntity)) { + log.warn("未找到货主信息,shipperId={}", shipperId); + return Collections.emptyList(); + } + String orgCodeJson = shipperEntity.getOrgCode(); + if (ObjectUtil.isNull(orgCodeJson) || orgCodeJson.isEmpty()) { + log.warn("货主orgCode为空,shipperId={}", shipperId); + return Collections.emptyList(); + } + + // 3. 解析orgCode JSON数组,匹配当前登录用户组织code + JSONArray orgCodeArray = JSONArray.parseArray(orgCodeJson); + if (orgCodeArray == null || orgCodeArray.isEmpty()) { + return Collections.emptyList(); + } + + JSONObject matchedOrg = null; + for (int i = 0; i < orgCodeArray.size(); i++) { + JSONObject orgItem = orgCodeArray.getJSONObject(i); + Long code = orgItem.getLong("code"); + if (organizationId.equals(code)) { + matchedOrg = orgItem; + break; + } + } + + if (matchedOrg == null) { + log.info("未匹配到当前组织的协议信息,shipperId={},organizationId={}", shipperId, organizationId); + return Collections.emptyList(); + } + + // 4. 获取匹配组织的agreedaydatas + JSONArray agreedaydatas = matchedOrg.getJSONArray("agreedaydatas"); + if (agreedaydatas == null || agreedaydatas.isEmpty()) { + log.info("当前组织下无协议天数数据,shipperId={},organizationId={}", shipperId, organizationId); + return Collections.emptyList(); + } + + // 5. 转换为AgreementDetailsPo列表 + List result = new ArrayList<>(); + for (int i = 0; i < agreedaydatas.size(); i++) { + JSONObject item = agreedaydatas.getJSONObject(i); + AgreementDetailsPo po = new AgreementDetailsPo(); + po.setCode(item.getString("code")); + po.setOrgcode(item.getString("orgcode")); + po.setPtypename(item.getString("ptypename")); + po.setPtype(item.getString("ptype")); + po.setPcode(item.getString("pcode")); + po.setPname(item.getString("pname")); + po.setPday(item.getString("pday")); + result.add(po); + } + + log.info("查询协议明细成功,shipperId={},organizationId={},共{}条", shipperId, organizationId, result.size()); + return result; } /** diff --git a/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/po/AgreementDetailsPo.java b/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/po/AgreementDetailsPo.java new file mode 100644 index 000000000..a01334043 --- /dev/null +++ b/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/po/AgreementDetailsPo.java @@ -0,0 +1,32 @@ +package com.mhd.user.domain.userAggregate.repository.po; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 协议天数PO + */ +@Data +public class AgreementDetailsPo { + + @ApiModelProperty("客户编码") + private String code; + + @ApiModelProperty("协议组织编码") + private String orgcode; + + @ApiModelProperty("协议类型名称") + private String ptypename; + + @ApiModelProperty("协议类型:1-付款协议天数,2-收款协议天数") + private String ptype; + + @ApiModelProperty("财务系统协议编码") + private String pcode; + + @ApiModelProperty("协议天数名称") + private String pname; + + @ApiModelProperty("协议天数") + private String pday; +}