Browse Source

feat: 门店管理,授信额度管理,授信交易记录

luofeiyun 1 week ago
parent
commit
40592453ca

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

@@ -46,7 +46,7 @@ import static com.yc.ship.framework.operatelog.core.enums.OperateTypeEnum.EXPORT
 
 @Tag(name = "管理后台 - 旅行社门店")
 @RestController
-@RequestMapping("/store")
+@RequestMapping("/otc/store")
 @Validated
 public class StoreController {
 

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

@@ -36,7 +36,7 @@ import static com.yc.ship.framework.operatelog.core.enums.OperateTypeEnum.EXPORT
 
 @Tag(name = "管理后台 - 旅行社门店授信额度变更")
 @RestController
-@RequestMapping("/store-credit-log")
+@RequestMapping("/otc/store-credit-log")
 @Validated
 public class StoreCreditLogController {
 

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

@@ -31,7 +31,7 @@ import static com.yc.ship.framework.operatelog.core.enums.OperateTypeEnum.EXPORT
 
 @Tag(name = "管理后台 - 旅行社门店交易记录:余额充值、预付购票、预付退款、余额购票")
 @RestController
-@RequestMapping("/store-trade-log")
+@RequestMapping("/otc/store-trade-log")
 @Validated
 public class StoreTradeLogController {
 

+ 22 - 0
ship-module-otc/ship-module-otc-biz/src/main/resources/mapper/log/AgencyLoginLogMapper.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.yc.ship.module.otc.dal.mysql.log.AgencyLoginLogMapper">
+
+    <!--
+        一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
+        无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
+        代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
+        文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
+     -->
+<select id="selectDistributorInfo" resultType="java.util.Map">
+    SELECT
+        d.id,
+        d.name distributorName
+    FROM
+        ota_distributor d
+    WHERE
+        d.is_use = 1 AND d.deleted = 0
+        AND d.account_tenant_id = #{tenantId}
+    limit 1
+</select>
+</mapper>

+ 45 - 0
ship-module-otc/ship-module-otc-biz/src/main/resources/mapper/store/StoreAuditMapper.xml

@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.yc.ship.module.otc.dal.mysql.storeaudit.StoreAuditMapper">
+
+    <select id="selectStoreAuditByPage" resultType="com.yc.ship.module.otc.controller.admin.storeaudit.vo.StoreAuditRespVO">
+        select sa.*,oas.store_name,od.name as distributorName
+        from otc_agency_store_audit sa
+         inner join otc_agency_store oas on sa.store_id = oas.id
+         INNER JOIN ota_distributor od on od.id = sa.distributor_id
+        <where>
+            <if test="vo.storeId != null">
+                AND sa.store_id = #{vo.storeId}
+            </if>
+            <if test="vo.distributorId != null">
+                AND sa.distributor_id = #{vo.distributorId}
+            </if>
+            <if test="vo.amount != null">
+                AND sa.amount = #{vo.amount}
+            </if>
+            <if test="vo.applyUserName != null and vo.applyUserName != ''">
+                AND sa.apply_user_name  like concat('%',#{vo.applyUserName}, '%')
+            </if>
+            <if test="vo.auditUserName != null and vo.auditUserName != ''">
+                AND sa.audit_user_name  like concat('%',#{vo.auditUserName}, '%')
+            </if>
+            <if test="vo.status != null">
+                AND sa.status = #{vo.status}
+            </if>
+            <if test="vo.rechargeLogId != null and vo.rechargeLogId != ''">
+                AND sa.recharge_log_id  = #{vo.rechargeLogId}
+            </if>
+            <if test="vo.platTenantId != null">
+                AND sa.plat_tenant_id  =  #{vo.platTenantId}
+            </if>
+            <if test="vo.auditTime != null and vo.auditTime.length == 2">
+                AND sa.audit_time between #{vo.auditTime[0]} and #{vo.auditTime[1]}
+            </if>
+            <if test="vo.applyTime != null and vo.applyTime.length == 2">
+                AND sa.apply_time between #{vo.applyTime[0]} and #{vo.applyTime[1]}
+            </if>
+        </where>
+        order by sa.apply_time desc
+    </select>
+
+</mapper>

+ 87 - 0
ship-module-otc/ship-module-otc-biz/src/main/resources/mapper/store/StoreMapper.xml

@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.yc.ship.module.otc.dal.mysql.store.StoreMapper">
+
+    <!--
+        一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
+        无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
+        代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
+        文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
+     -->
+    <select id="getSellerMachine" resultType="com.yc.ship.module.otc.controller.admin.store.machine.SellerMachineRespVO">
+        SELECT
+            m.id,
+            m.store_id storeId,
+            s.store_name storeName,
+            m.machine_id machineId,
+            m.machine_name machineName,
+            m.machine_type machineType,
+            m.sort_num sortNum
+        FROM
+            otc_agency_store_machine m
+                INNER JOIN otc_agency_store s ON s.id = m.store_id
+                INNER JOIN otc_agency_store_user u ON u.store_id = m.store_id
+        WHERE
+            m.is_use = 1 AND m.deleted = 0
+            AND u.user_id = #{sellerId}
+    </select>
+
+    <select id="selectListByStatus" resultType="com.yc.ship.module.otc.dal.dataobject.store.StoreDO">
+        SELECT t1.id,
+               t1.store_name,
+               t1.store_code,
+               t1.is_use,
+               t2.balance
+        FROM otc_agency_store t1
+                 INNER JOIN otc_agency_store_card t2 ON t1.id = t2.store_id
+            AND t1.deleted = 0 AND t2.deleted = 0
+            AND t1.tenant_id = #{tenantId} AND t1.is_use = #{status}
+        ORDER BY t1.create_time DESC
+    </select>
+
+    <select id="getStoreByUserId" resultType="com.yc.ship.module.otc.api.store.dto.StoreCardRespDTO">
+        SELECT t1.id,
+               t1.store_name,
+               t1.store_code,
+               t1.is_use,
+               t2.*
+        FROM otc_agency_store t1
+                 INNER JOIN otc_agency_store_user t3 ON t1.id = t3.store_id
+                 INNER JOIN otc_agency_store_card t2 ON t1.id = t2.store_id
+        WHERE
+          t1.deleted = 0 AND t2.deleted = 0 AND t3.user_id =  #{userId}
+         LIMIT 1
+    </select>
+
+    <update id="updateStoreProductIsUse">
+        UPDATE otc_agency_store_product set is_use = #{isUse} WHERE deleted = 0 and store_id = #{storeId}
+        <if test="ids != null">
+            and product_id in
+            <foreach collection="ids" item="id" open="(" separator="," close=")">
+                #{id}
+            </foreach>
+        </if>
+    </update>
+
+    <select id="selectAuditPage" resultType="com.yc.ship.module.otc.controller.admin.store.vo.StoreRespVO">
+        select s.*,od.name agencyName
+        from otc_agency_store s
+        inner join ota_distributor od on od.account_tenant_id = s.tenant_id
+        <where>
+            <if test="reqVO.auditStatus != null">
+                and s.audit_status = #{reqVO.auditStatus}
+            </if>
+            <if test="reqVO.storeName != null and reqVO.storeName != ''">
+                and s.store_name like  concat('%',#{reqVO.storeName},'%')
+            </if>
+            <if test="reqVO.agencyIds != null and reqVO.agencyIds.size()!=0">
+                and od.id in
+                <foreach collection="reqVO.agencyIds" item="id" open="(" separator="," close=")">
+                    #{id}
+                </foreach>
+            </if>
+        </where>
+        order by s.create_time desc
+    </select>
+
+</mapper>

+ 23 - 0
ship-module-otc/ship-module-otc-biz/src/main/resources/mapper/store/StorePlatCreditLogMapper.xml

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.yc.ship.module.otc.dal.mysql.storecreditlog.StorePlatCreditLogMapper">
+
+    <select id="selectLogPage" resultType="com.yc.ship.module.otc.controller.admin.storeplatcreditlog.vo.StorePlatCreditLogRespVO">
+        SELECT t1.* ,t2.store_name,t3.`name`  as distributor_name
+        from otc_store_plat_credit_log t1 INNER JOIN otc_agency_store t2 on t1.store_id = t2.id and t2.deleted =0
+        left join ota_distributor t3 on t3.id = t1.distributor_id and t3.deleted = 0
+        where 1=1
+        <if test="pageReqVO.storeName != null and pageReqVO.storeName !=''">
+            and t2.store_name = #{pageReqVO.storeName}
+        </if>
+        <if test="pageReqVO.creditMode != null ">
+            and t1.credit_mode = #{pageReqVO.creditMode}
+        </if>
+        <if test="pageReqVO.tenantId != null ">
+            and t1.tenant_id = #{pageReqVO.tenantId} and t3.tenant_id = #{pageReqVO.tenantId}
+        </if>
+
+        ORDER BY t1.create_time desc,t1.update_time desc
+    </select>
+
+</mapper>

+ 59 - 0
ship-module-otc/ship-module-otc-biz/src/main/resources/mapper/storetradelog/StoreTradeLogMapper.xml

@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.yc.ship.module.otc.dal.mysql.storetradelog.StoreTradeLogMapper">
+
+    <!--
+        一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
+        无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
+        代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
+        文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
+     -->
+
+    <delete id="deleteStoreTradeLogById">
+        DELETE FROM otc_agency_store_trade_log WHERE id = #{id}
+    </delete>
+
+
+    <select id="getStoreTradeLogById" resultType="com.yc.ship.module.otc.controller.admin.storetradelog.vo.StoreTradeLogRespVO">
+        SELECT t1.*,t2.order_no orderNo
+        FROM otc_agency_store_trade_log t1
+        LEFT JOIN trade_order t2 ON t1.order_id = t2.id
+        WHERE t1.id = #{id} LIMIT 1
+    </select>
+
+    <select id="selectStorePage"  resultType="com.yc.ship.module.otc.controller.admin.storetradelog.vo.StoreTradeLogRespVO">
+        SELECT t1.*,t2.order_no orderNo,t3.store_name storeName
+        FROM otc_agency_store_trade_log t1
+        LEFT JOIN trade_order t2 ON t1.order_id = t2.id
+        INNER join otc_agency_store t3 on t1.store_id = t3.id
+        where t1.deleted =0
+        <if test="param.storeId != null and param.storeId != ''">
+            AND t1.store_id = #{param.storeId}
+        </if>
+        <if test="param.tradeName != null and param.tradeName != ''">
+        AND t1.trade_name = #{param.tradeName}
+    </if>
+        <if test="param.type != null and param.type != '' and param.type=='1'">
+            AND t1.trade_type in (1, 3, 5, 7)
+        </if>
+        <if test="param.type != null and param.type != '' and param.type=='2'">
+            AND t1.trade_type in (2, 4, 6, 8)
+        </if>
+        <if test="param.tradeType != null and param.tradeType != ''">
+            AND t1.trade_type = #{param.tradeType}
+        </if>
+        <if test="param.tradeAmount != null and param.tradeAmount != ''">
+            AND t1.trade_amount = #{param.tradeAmount}
+        </if>
+        <if test="param.tradeMode != null and param.tradeMode != ''">
+            AND t1.trade_mode = #{param.tradeMode}
+        </if>
+        <if test="param.orderNo != null and param.orderNo != ''">
+            AND t2.order_no = #{param.orderNo}
+        </if>
+        <if test="param.createTime != null">
+            AND t1.create_time BETWEEN #{param.createTime[0]} AND #{param.createTime[1]}
+        </if>
+        order by t1.create_time desc
+    </select>
+</mapper>