浏览代码

feat: 岸端旅行社相关功能

luofeiyun 4 天之前
父节点
当前提交
3e1a6df5ae

+ 12 - 0
ship-module-ota/ship-module-ota-api/src/main/java/com/yc/ship/module/ota/api/OtaDistributorApi.java

@@ -0,0 +1,12 @@
+package com.yc.ship.module.ota.api;
+
+import com.yc.ship.module.ota.api.dto.DistributorRespDTO;
+
+public interface OtaDistributorApi {
+    /**
+     * 根据登录用户id获取分销商信息
+     * @param loginUserId
+     * @return
+     */
+    DistributorRespDTO getDistributorByLoginUserId(Long loginUserId);
+}

+ 1 - 0
ship-module-ota/ship-module-ota-api/src/main/java/com/yc/ship/module/ota/enums/ErrorCodeConstants.java

@@ -9,6 +9,7 @@ public interface ErrorCodeConstants {
      **/
      **/
     ErrorCode DISTRIBUTOR_TYPE_NOT_EXISTS = new ErrorCode(11_001, "分销商类型不存在");
     ErrorCode DISTRIBUTOR_TYPE_NOT_EXISTS = new ErrorCode(11_001, "分销商类型不存在");
     ErrorCode DISTRIBUTOR_NOT_EXISTS = new ErrorCode(11_002, "分销商信息不存在");
     ErrorCode DISTRIBUTOR_NOT_EXISTS = new ErrorCode(11_002, "分销商信息不存在");
+    ErrorCode DISTRIBUTOR_USER_NOT_EXISTS = new ErrorCode(11_003, "该用户无分销商信息");
     ErrorCode DISTRIBUTOR_LOGINNAME_EXISTS = new ErrorCode(11_002_001, "登录名已经存在");
     ErrorCode DISTRIBUTOR_LOGINNAME_EXISTS = new ErrorCode(11_002_001, "登录名已经存在");
 
 
     ErrorCode DISTRIBUTOR_TENANT_EXISTS = new ErrorCode(11_002_002, "旅行社租户创建失败,请查看用户名和账户是否重复");
     ErrorCode DISTRIBUTOR_TENANT_EXISTS = new ErrorCode(11_002_002, "旅行社租户创建失败,请查看用户名和账户是否重复");

+ 24 - 0
ship-module-ota/ship-module-ota-biz/src/main/java/com/yc/ship/module/ota/api/OtaDistributorApiImpl.java

@@ -0,0 +1,24 @@
+package com.yc.ship.module.ota.api;
+
+import com.yc.ship.framework.common.util.object.BeanUtils;
+import com.yc.ship.module.ota.api.dto.DistributorRespDTO;
+import com.yc.ship.module.ota.dal.dataobject.distributor.DistributorDO;
+import com.yc.ship.module.ota.service.distributor.DistributorService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+@Service
+public class OtaDistributorApiImpl implements OtaDistributorApi{
+
+    @Resource
+    private DistributorService distributorService;
+    @Override
+    public DistributorRespDTO getDistributorByLoginUserId(Long loginUserId) {
+        DistributorDO distributorDO = distributorService.getDistributorByLoginUserId(loginUserId);
+        if(distributorDO == null) {
+            return null;
+        }
+        return BeanUtils.toBean(distributorDO, DistributorRespDTO.class);
+    }
+}

+ 22 - 0
ship-module-ota/ship-module-ota-biz/src/main/java/com/yc/ship/module/ota/controller/admin/distributor/DistributorController.java

@@ -1,5 +1,6 @@
 package com.yc.ship.module.ota.controller.admin.distributor;
 package com.yc.ship.module.ota.controller.admin.distributor;
 
 
+import com.yc.ship.framework.common.exception.ServiceException;
 import com.yc.ship.framework.common.pojo.CommonResult;
 import com.yc.ship.framework.common.pojo.CommonResult;
 import com.yc.ship.framework.common.pojo.PageParam;
 import com.yc.ship.framework.common.pojo.PageParam;
 import com.yc.ship.framework.common.pojo.PageResult;
 import com.yc.ship.framework.common.pojo.PageResult;
@@ -8,6 +9,7 @@ import com.yc.ship.framework.excel.core.util.ExcelUtils;
 import com.yc.ship.framework.operatelog.core.annotations.OperateLog;
 import com.yc.ship.framework.operatelog.core.annotations.OperateLog;
 import com.yc.ship.module.ota.controller.admin.distributor.vo.*;
 import com.yc.ship.module.ota.controller.admin.distributor.vo.*;
 import com.yc.ship.module.ota.dal.dataobject.distributor.DistributorDO;
 import com.yc.ship.module.ota.dal.dataobject.distributor.DistributorDO;
+import com.yc.ship.module.ota.enums.ErrorCodeConstants;
 import com.yc.ship.module.ota.service.distributor.DistributorService;
 import com.yc.ship.module.ota.service.distributor.DistributorService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.Parameter;
@@ -30,6 +32,7 @@ import java.util.Map;
 
 
 import static com.yc.ship.framework.common.pojo.CommonResult.success;
 import static com.yc.ship.framework.common.pojo.CommonResult.success;
 import static com.yc.ship.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
 import static com.yc.ship.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
+import static com.yc.ship.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
 
 
 @Tag(name = "管理后台 - 分销商信息")
 @Tag(name = "管理后台 - 分销商信息")
 @RestController
 @RestController
@@ -188,4 +191,23 @@ public class DistributorController {
     public CommonResult<List<DistributorRespVO>> getAllDistributor() {
     public CommonResult<List<DistributorRespVO>> getAllDistributor() {
         return success(distributorService.getOtcDistributor(null));
         return success(distributorService.getOtcDistributor(null));
     }
     }
+
+    @GetMapping("/getDistributorByUserId")
+    @Operation(summary = "获取当前登录用户的分销商信息")
+    public CommonResult<DistributorRespVO> getDistributorByUserId() {
+        DistributorDO distributor = distributorService.getDistributorByLoginUserId(getLoginUserId());
+        if(distributor == null){
+            throw new ServiceException(ErrorCodeConstants.DISTRIBUTOR_USER_NOT_EXISTS);
+        }
+        DistributorRespVO DistributorRespVO = BeanUtils.toBean(distributor, DistributorRespVO.class);
+        String functions = distributor.getFunctions();
+        if(StringUtils.isNoneBlank(functions)){
+            DistributorRespVO.setFunctions(Arrays.asList(functions.split(",")));
+        }
+        String teamType = distributor.getTeamType();
+        if(StringUtils.isNoneBlank(teamType)){
+            DistributorRespVO.setTeamType(Arrays.asList(teamType.split(",")));
+        }
+        return success(DistributorRespVO);
+    }
 }
 }

+ 3 - 0
ship-module-ota/ship-module-ota-biz/src/main/java/com/yc/ship/module/ota/dal/mysql/distributor/DistributorMapper.java

@@ -91,4 +91,7 @@ public interface DistributorMapper extends BaseMapperX<DistributorDO> {
 
 
     DistributorRespVO queryDistributorMoneyTotal(@Param("distributorId")Long distributorId);
     DistributorRespVO queryDistributorMoneyTotal(@Param("distributorId")Long distributorId);
 
 
+    default DistributorDO selectByUserId(Long loginUserId) {
+        return selectOne(DistributorDO::getUserId, loginUserId);
+    }
 }
 }

+ 8 - 0
ship-module-ota/ship-module-ota-biz/src/main/java/com/yc/ship/module/ota/service/distributor/DistributorService.java

@@ -118,4 +118,12 @@ public interface DistributorService {
 
 
     DistributorRespVO queryDistributorMoneyTotal(Long distributorId);
     DistributorRespVO queryDistributorMoneyTotal(Long distributorId);
 
 
+    /**
+     * 根据登录用户ID获取分销商信息
+     * @param loginUserId 登录用户ID
+     * @auth fly cloud
+     * @return 分销商信息
+     */
+    DistributorDO getDistributorByLoginUserId(Long loginUserId);
+
 }
 }

+ 5 - 0
ship-module-ota/ship-module-ota-biz/src/main/java/com/yc/ship/module/ota/service/distributor/DistributorServiceImpl.java

@@ -621,6 +621,11 @@ public class DistributorServiceImpl implements DistributorService {
         return distributorMapper.queryDistributorMoneyTotal(distributorId);
         return distributorMapper.queryDistributorMoneyTotal(distributorId);
     }
     }
 
 
+    @Override
+    public DistributorDO getDistributorByLoginUserId(Long loginUserId) {
+        return distributorMapper.selectByUserId(loginUserId);
+    }
+
     @Resource
     @Resource
     private DistributorAuditLogService distributorAuditLogService;
     private DistributorAuditLogService distributorAuditLogService;
 
 

+ 5 - 0
ship-module-otc/ship-module-otc-biz/pom.xml

@@ -21,6 +21,11 @@
             <groupId>com.yc.ship</groupId>
             <groupId>com.yc.ship</groupId>
             <artifactId>common</artifactId>
             <artifactId>common</artifactId>
         </dependency>
         </dependency>
+        <dependency>
+            <groupId>com.yc.ship</groupId>
+            <artifactId>ship-module-ota-api</artifactId>
+            <version>1.0.0</version>
+        </dependency>
         <dependency>
         <dependency>
             <groupId>com.yc.ship</groupId>
             <groupId>com.yc.ship</groupId>
             <artifactId>ship-module-otc-api</artifactId>
             <artifactId>ship-module-otc-api</artifactId>

+ 3 - 0
ship-module-otc/ship-module-otc-biz/src/main/java/com/yc/ship/module/otc/controller/admin/store/vo/StorePageReqVO.java

@@ -30,4 +30,7 @@ public class StorePageReqVO extends PageParam {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime[] createTime;
     private LocalDateTime[] createTime;
 
 
+    @Schema(description = "旅行社ID")
+    private Long agencyId;
+
 }
 }

+ 1 - 1
ship-module-otc/ship-module-otc-biz/src/main/java/com/yc/ship/module/otc/controller/admin/storeaudit/StoreAuditController.java

@@ -37,7 +37,7 @@ import static com.yc.ship.framework.operatelog.core.enums.OperateTypeEnum.EXPORT
 
 
 @Tag(name = "管理后台 - 旅行社门店授信提额/授信充值/余额充值")
 @Tag(name = "管理后台 - 旅行社门店授信提额/授信充值/余额充值")
 @RestController
 @RestController
-@RequestMapping("/store-audit")
+@RequestMapping("/otc/store-audit")
 @Validated
 @Validated
 public class StoreAuditController {
 public class StoreAuditController {
 
 

+ 5 - 0
ship-module-otc/ship-module-otc-biz/src/main/java/com/yc/ship/module/otc/dal/dataobject/store/StoreDO.java

@@ -66,4 +66,9 @@ public class StoreDO extends TenantBaseDO {
     private String imageUrl;
     private String imageUrl;
     @TableField(exist = false)
     @TableField(exist = false)
     private BigDecimal balance;
     private BigDecimal balance;
+
+    /**
+     * 旅行社ID
+     */
+    private Long agencyId;
 }
 }

+ 17 - 10
ship-module-otc/ship-module-otc-biz/src/main/java/com/yc/ship/module/otc/service/store/StoreServiceImpl.java

@@ -20,6 +20,8 @@ import com.yc.ship.framework.security.core.LoginUser;
 import com.yc.ship.framework.security.core.util.SecurityFrameworkUtils;
 import com.yc.ship.framework.security.core.util.SecurityFrameworkUtils;
 import com.yc.ship.framework.tenant.core.aop.TenantIgnore;
 import com.yc.ship.framework.tenant.core.aop.TenantIgnore;
 import com.yc.ship.framework.tenant.core.context.TenantContextHolder;
 import com.yc.ship.framework.tenant.core.context.TenantContextHolder;
+import com.yc.ship.module.ota.api.OtaDistributorApi;
+import com.yc.ship.module.ota.api.dto.DistributorRespDTO;
 import com.yc.ship.module.otc.api.store.dto.StoreCardRespDTO;
 import com.yc.ship.module.otc.api.store.dto.StoreCardRespDTO;
 import com.yc.ship.module.otc.api.store.dto.StoreMachineDTO;
 import com.yc.ship.module.otc.api.store.dto.StoreMachineDTO;
 import com.yc.ship.module.otc.api.store.dto.StoreProductReqDTO;
 import com.yc.ship.module.otc.api.store.dto.StoreProductReqDTO;
@@ -90,8 +92,8 @@ public class StoreServiceImpl implements StoreService {
 
 
     @Resource
     @Resource
     private StoreCardService storeCardService;
     private StoreCardService storeCardService;
-//    @Resource
-//    private OtaDistributorApi otaDistributorApi;
+    @Resource
+    private OtaDistributorApi otaDistributorApi;
     @Resource
     @Resource
     private StorePlatCreditLogService platCreditLogService;
     private StorePlatCreditLogService platCreditLogService;
 
 
@@ -99,14 +101,12 @@ public class StoreServiceImpl implements StoreService {
     @Transactional
     @Transactional
     public Long createStore(StoreSaveReqVO createReqVO) {
     public Long createStore(StoreSaveReqVO createReqVO) {
         LoginUser loginUser = getLoginUser();
         LoginUser loginUser = getLoginUser();
-        if (loginUser != null) {
-//            DistributorRespDTO distributor = otaDistributorApi.getDistributorByAccountTenantId(loginUser.getTenantId()).getCheckedData();
-//            if (distributor != null && distributor.getSelfSupport()==0  ) {
-//                List<Map<String, Object>> mapList = storeMapper.selectOtaBillList(distributor.getId());
-//                if (mapList != null && !mapList.isEmpty()) {
-//                    throw exception(OVERDUE_BILL_EXISTS);
-//                }
-//            }
+        Long distributorId = null;
+        DistributorRespDTO distributor = otaDistributorApi.getDistributorByLoginUserId(loginUser.getId());
+        if(distributor == null) {
+            throw new ServiceException(NOT_ASSOCIATED_DISTRIBUTOR);
+        }else {
+            distributorId = distributor.getId();
         }
         }
 
 
         // 插入
         // 插入
@@ -114,6 +114,7 @@ public class StoreServiceImpl implements StoreService {
         long id = IdWorker.getId(store);
         long id = IdWorker.getId(store);
         store.setId(id);
         store.setId(id);
         store.setDeleted(false);
         store.setDeleted(false);
+        store.setAgencyId(distributorId);
         if(store.getAuditStatus() == null) {
         if(store.getAuditStatus() == null) {
             store.setAuditStatus(0);
             store.setAuditStatus(0);
         }
         }
@@ -194,6 +195,12 @@ public class StoreServiceImpl implements StoreService {
     }
     }
     @Override
     @Override
     public PageResult<StoreDO> getStorePage(StorePageReqVO pageReqVO) {
     public PageResult<StoreDO> getStorePage(StorePageReqVO pageReqVO) {
+        Long loginUserId = getLoginUserId();
+        DistributorRespDTO distributor = otaDistributorApi.getDistributorByLoginUserId(loginUserId);
+        if(distributor == null) {
+            throw new ServiceException(NOT_ASSOCIATED_DISTRIBUTOR);
+        }
+        pageReqVO.setAgencyId(distributor.getId());
         return storeMapper.selectPage(pageReqVO);
         return storeMapper.selectPage(pageReqVO);
     }
     }