Merge #8 into master from cc_20250922_closeStore_w

闭店

* cc_20250922_closeStore_w: (44 commits squashed)

  - feat:闭店流程init

  - feat:闭店流程接口

  - feat:闭店

  - Merge branch 'refs/heads/master' into cc_20250922_closeStore_w

  - fix:闭店材料模块

  - fix:账号关闭流程

  - feat:闭店审批流程(未测);字典表

  - fix:闭店审批流程完善

  - Merge branch 'master' into cc_20250922_closeStore_w

  - fix:闭店流程流转补充

  - feat:闭店退款

  - fix:字典表接口

  - Merge branch 'master' into cc_20250922_closeStore_w

  - fix:闭店原因接口新增闭店发起方式字段

  - fix:修改审批记录返回数据类型
    feat:新增退款流程跳过

  - fix

  - fix:新增字段

  - feat:新增闭店退款提交人列表接口

  - fix:闭店初始化数据来源修改;小程序闭店材料详情新增模板url字段

  - fix:新增接口返回字段

  - fix:闭店管理、审批待办类别所属品牌筛选改为多选

  - fix:闭店管理列表新增完成阶段数量字段

  - feat:新增第三方闭店申请接口

  - Merge branch 'refs/heads/master' into cc_20250922_closeStore_w
    
    # Conflicts:
    #	coolstore-partner-common/src/main/java/com/cool/store/constants/CommonConstants.java
    #	coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java
    #	coolstore-partner-common/src/main/java/com/cool/store/utils/BeanUtil.java
    #	coolstore-partner-dao/src/main/java/com/cool/store/dao/StoreDao.java
    #	coolstore-partner-dao/src/main/java/com/cool/store/mapper/StoreMapper.java
    #	coolstore-partner-dao/src/main/resources/mapper/StoreMapper.xml

  - fix:自动发起闭店申请定时任务

  - feat:火码账号关闭

  - fix:闭店流程修改

  - Merge branch 'master' into cc_20250922_closeStore_w
    
    # Conflicts:
    #	coolstore-partner-common/src/main/java/com/cool/store/constants/RedisConstant.java
    #	coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java
    #	coolstore-partner-web/src/main/java/com/cool/store/controller/webb/OpenApiController.java

  - fix:删除云流水发起闭店接口

  - fix:取消闭店申请入参修改

  - fix:闭店申请列表赋值异常问题

  - fix:闭店审批通过异常

  - fix:普通方法参数校验

  - fix:账号关闭时校验阶段状态

  - fix:初始化

  - fix:字段新增

  - fix:接口补充

  - fix

  - Merge branch 'refs/heads/master' into cc_20250922_closeStore_w
    
    # Conflicts:
    #	coolstore-partner-common/src/main/java/com/cool/store/constants/RedisConstant.java
    #	coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java
    #	coolstore-partner-common/src/main/java/com/cool/store/enums/RocketMqGroupEnum.java
    #	coolstore-partner-common/src/main/java/com/cool/store/enums/RocketMqTagEnum.java
    #	coolstore-partner-web/src/main/java/com/cool/store/controller/webb/OpenApiController.java
    #	coolstore-partner-web/src/main/java/com/cool/store/controller/webc/TestController.java

  - Merge branch 'refs/heads/master' into cc_20250922_closeStore_w
    
    # Conflicts:
    #	coolstore-partner-common/src/main/java/com/cool/store/common/InsertGroup.java
    #	coolstore-partner-common/src/main/java/com/cool/store/common/UpdateGroup.java
    #	coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java
    #	coolstore-partner-dao/src/main/java/com/cool/store/dao/StoreDao.java
    #	coolstore-partner-dao/src/main/java/com/cool/store/dao/dict/SysDictColumnDAO.java
    #	coolstore-partner-dao/src/main/java/com/cool/store/mapper/StoreMapper.java
    #	coolstore-partner-dao/src/main/java/com/cool/store/mapper/dict/SysDictColumnMapper.java
    #	coolstore-partner-dao/src/main/resources/mapper/StoreMapper.xml
    #	coolstore-partner-dao/src/main/resources/mapper/dict/SysDictColumnMapper.xml
    #	coolstore-partner-web/src/main/java/com/cool/store/controller/webb/DictManagerController.java
    #	coolstore-partner-web/src/main/java/com/cool/store/job/XxlJobHandler.java

  - fix:闭店流程修改

  - fix:闭店流程修改

  - fix:修改三方付款状态接口

  - fix:闭店申请测试接口

Signed-off-by: 王非凡 <accounts_67eba0c5fee9c49c80c8e2b4@mail.teambition.com>
Reviewed-by: 苏竹红 <accounts_68551bf01395375227aee211@mail.teambition.com>
Merged-by: 苏竹红 <accounts_68551bf01395375227aee211@mail.teambition.com>

CR-link: https://codeup.aliyun.com/692ea314dec569489f6f167c/hangzhou/java/custom_zxjp/change/8
This commit is contained in:
王非凡
2025-12-09 08:55:47 +00:00
committed by 苏竹红
parent 1b0fb1b034
commit 4be2276287
142 changed files with 8144 additions and 20 deletions

View File

@@ -0,0 +1,26 @@
<?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.cool.store.mapper.CloseStoreAccountInfoMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.CloseStoreAccountInfoDO">
<!--
WARNING - @mbg.generated
-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="close_store_id" jdbcType="BIGINT" property="closeStoreId" />
<result column="system_name" jdbcType="VARCHAR" property="systemName" />
<result column="system_code" jdbcType="VARCHAR" property="systemCode" />
<result column="account_type" jdbcType="VARCHAR" property="accountType" />
<result column="status" jdbcType="BIT" property="status" />
<result column="close_type" jdbcType="TINYINT" property="closeType" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
<insert id="insertBatch" parameterType="java.util.List">
INSERT INTO zxjp_close_store_account_info (close_store_id, system_name, system_code, account_type, status, close_type)
VALUES
<foreach collection="list" item="item" separator=",">
(#{item.closeStoreId}, #{item.systemName}, #{item.systemCode}, #{item.accountType}, #{item.status}, #{item.closeType})
</foreach>
</insert>
</mapper>

View File

@@ -0,0 +1,89 @@
<?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.cool.store.mapper.CloseStoreAuditRecordMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.CloseStoreAuditRecordDO">
<!--
WARNING - @mbg.generated
-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="close_store_id" jdbcType="BIGINT" property="closeStoreId" />
<result column="record_type" jdbcType="TINYINT" property="recordType" />
<result column="action_remark" jdbcType="VARCHAR" property="actionRemark" />
<result column="handler_user_id" jdbcType="VARCHAR" property="handlerUserId" />
<result column="handler_user_name" jdbcType="VARCHAR" property="handlerUserName" />
<result column="handler_user_ids" jdbcType="VARCHAR" property="handlerUserIds" />
<result column="receive_task_time" jdbcType="TIMESTAMP" property="receiveTaskTime" />
<result column="finish_task_time" jdbcType="TIMESTAMP" property="finishTaskTime" />
<result column="audit_status" jdbcType="TINYINT" property="auditStatus" />
<result column="deleted" jdbcType="BIT" property="deleted" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="updated_time" jdbcType="TIMESTAMP" property="updatedTime" />
</resultMap>
<select id="getRecordListByCloseStoreId" resultMap="BaseResultMap">
select
*
from zxjp_close_store_audit_record
where close_store_id = #{closeStoreId}
</select>
<select id="getCloseStoreAuditList" resultType="com.cool.store.vo.close.store.CloseStoreInfoListVO">
SELECT a.id audit_record_id, a.close_store_id, b.plan_close_data, b.close_type, b.close_status, b.close_store_no, b.store_id
<if test="request.queryStore">
, c.store_name, c.store_num, c.join_brand, c.store_address
</if>
<if test="request.querySigner">
, d.signer1_name, d.signer1_mobile, d.signer2_name, d.signer2_mobile
</if>
FROM zxjp_close_store_audit_record a
LEFT JOIN zxjp_close_store_info b ON a.close_store_id = b.id
<if test="request.queryStore">
LEFT JOIN store_${enterpriseId} c ON b.store_id = c.store_id
</if>
<if test="request.querySigner">
LEFT JOIN store_master_signer_info_${enterpriseId} d ON b.store_id = d.store_id
</if>
<where>
<if test="isAdmin == null or !isAdmin">
AND handler_user_ids LIKE CONCAT('%,', #{userId}, ',%')
</if>
<if test="request.auditStatus != null">
AND a.audit_status = #{request.auditStatus}
</if>
<if test="request.closeType != null">
AND b.close_type = #{request.closeType}
</if>
<if test="request.closeStatus != null">
<choose>
<when test="request.closeStatus == 1">
AND (b.close_status = 1 OR b.close_status = 2)
</when>
<otherwise>
AND b.close_status = #{request.closeStatus}
</otherwise>
</choose>
</if>
<if test="request.closeStoreNo != null and request.closeStoreNo != ''">
AND b.close_store_no LIKE CONCAT('%', #{request.closeStoreNo}, '%')
</if>
<if test="request.queryStore and request.storeNameOrNum != null and request.storeNameOrNum != ''">
AND (c.store_name LIKE CONCAT('%', #{request.storeNameOrNum}, '%') OR c.store_num LIKE CONCAT('%', #{request.storeNameOrNum}, '%'))
</if>
<if test="request.queryStore and request.joinBrands != null and !request.joinBrands.isEmpty()">
AND c.join_brand IN
<foreach item="item" collection="request.joinBrands" separator="," open="(" close=")">
#{item}
</foreach>
</if>
<if test="request.querySigner and request.signerName != null and request.signerName != ''">
AND (d.signer1_name LIKE CONCAT('%', #{request.signerName}, '%') OR d.signer2_name LIKE CONCAT('%', #{request.signerName}, '%'))
</if>
<if test="request.querySigner and request.signerMobile != null and request.signerMobile != ''">
AND (d.signer1_mobile LIKE CONCAT('%', #{request.signerMobile}, '%') OR d.signer2_mobile LIKE CONCAT('%', #{request.signerMobile}, '%'))
</if>
AND a.deleted = 0
</where>
ORDER BY b.create_time DESC
</select>
</mapper>

View File

@@ -0,0 +1,70 @@
<?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.cool.store.mapper.CloseStoreFileDetailMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.CloseStoreFileDetailDO">
<!--
WARNING - @mbg.generated
-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="close_store_id" jdbcType="BIGINT" property="closeStoreId" />
<result column="approve_complete" jdbcType="BIT" property="approveComplete" />
<result column="mail_number" jdbcType="VARCHAR" property="mailNumber" />
<result column="mail_status" jdbcType="BIT" property="mailStatus" />
<result column="mail_address" jdbcType="VARCHAR" property="mailAddress" />
<result column="mail_addressee" jdbcType="VARCHAR" property="mailAddressee" />
<result column="mail_mobile" jdbcType="VARCHAR" property="mailMobile" />
<result column="bank_account" jdbcType="VARCHAR" property="bankAccount" />
<result column="bank_opening" jdbcType="VARCHAR" property="bankOpening" />
<result column="refund_account" jdbcType="VARCHAR" property="refundAccount" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="remark" jdbcType="VARCHAR" property="remark" />
</resultMap>
<update id="insertOrUpdateMailAddress" parameterType="com.cool.store.request.close.file.CloseStoreMailAddressRequest">
INSERT INTO zxjp_close_store_file_detail
(close_store_id, mail_address, mail_addressee, mail_mobile)
VALUES
(#{closeStoreId}, #{mailAddress}, #{mailAddressee}, #{mailMobile})
ON DUPLICATE KEY UPDATE
mail_address = VALUES(mail_address),
mail_addressee = VALUES(mail_addressee),
mail_mobile = VALUES(mail_mobile)
</update>
<update id="insertOrUpdateMailInfo" parameterType="com.cool.store.request.close.file.CloseStoreMailInfoRequest">
INSERT INTO zxjp_close_store_file_detail
(close_store_id, mail_number, mail_company, mail_status)
VALUES
(#{request.closeStoreId}, #{request.mailNumber}, #{request.mailCompany}, #{mailStatus})
ON DUPLICATE KEY UPDATE
mail_number = VALUES(mail_number),
mail_company = VALUES(mail_company),
mail_status = VALUES(mail_status)
</update>
<update id="insertOrUpdateFileInfoSelective">
INSERT INTO zxjp_close_store_file_detail
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="request.closeStoreId != null">close_store_id,</if>
<if test="request.bankAccount != null">bank_account,</if>
<if test="request.bankOpening != null">bank_opening,</if>
<if test="request.refundAccount != null">refund_account,</if>
<if test="approveComplete != null">approve_complete,</if>
</trim>
<trim prefix="VALUES (" suffix=")" suffixOverrides=",">
<if test="request.closeStoreId != null">#{request.closeStoreId},</if>
<if test="request.bankAccount != null">#{request.bankAccount},</if>
<if test="request.bankOpening != null">#{request.bankOpening},</if>
<if test="request.refundAccount != null">#{request.refundAccount},</if>
<if test="approveComplete != null">#{approveComplete},</if>
</trim>
ON DUPLICATE KEY UPDATE
<trim suffixOverrides=",">
<if test="request.bankAccount != null">bank_account = VALUES(bank_account),</if>
<if test="request.bankOpening != null">bank_opening = VALUES(bank_opening),</if>
<if test="request.refundAccount != null">refund_account = VALUES(refund_account),</if>
<if test="approveComplete != null">approve_complete = VALUES(approve_complete),</if>
</trim>
</update>
</mapper>

View File

@@ -0,0 +1,66 @@
<?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.cool.store.mapper.CloseStoreFileInfoMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.CloseStoreFileInfoDO">
<!--
WARNING - @mbg.generated
-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="close_store_id" jdbcType="BIGINT" property="closeStoreId" />
<result column="file_code" jdbcType="VARCHAR" property="fileCode" />
<result column="file_name" jdbcType="VARCHAR" property="fileName" />
<result column="mail_status" jdbcType="INTEGER" property="mailStatus" />
<result column="approve_status" jdbcType="INTEGER" property="approveStatus" />
<result column="approve_opinion" jdbcType="INTEGER" property="approveOpinion" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="urls" jdbcType="VARCHAR" property="urls" />
<result column="file_status" jdbcType="TINYINT" property="fileStatus" />
</resultMap>
<update id="updateBatch" parameterType="java.util.List">
UPDATE zxjp_close_store_file_info
<trim prefix="SET" suffixOverrides=",">
<trim prefix="mail_status = CASE" suffix="END,">
<foreach collection="list" item="item">
WHEN id = #{item.id} THEN #{item.mailStatus}
</foreach>
</trim>
<trim prefix="approve_status = CASE" suffix="END,">
<foreach collection="list" item="item">
WHEN id = #{item.id} THEN #{item.approveStatus}
</foreach>
</trim>
<trim prefix="approve_opinion = CASE" suffix="END,">
<foreach collection="list" item="item">
WHEN id = #{item.id} THEN #{item.approveOpinion}
</foreach>
</trim>
</trim>
WHERE id IN
<foreach collection="list" item="item" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<insert id="insertBatch" parameterType="java.util.List">
INSERT INTO zxjp_close_store_file_info (close_store_id, file_code, file_name, mail_status, approve_status, approve_opinion)
VALUES
<foreach collection="list" item="item" separator=",">
(#{item.closeStoreId}, #{item.fileCode}, #{item.fileName}, #{item.mailStatus}, #{item.approveStatus}, #{item.approveOpinion})
</foreach>
</insert>
<update id="updateFile">
UPDATE zxjp_close_store_file_info
SET urls = #{urls},
file_status = CASE WHEN file_status = 2 THEN 5 WHEN file_status = 5 THEN 5 ELSE 3 END
WHERE id = #{id} AND file_status IN (0, 2, 3, 5)
</update>
<update id="updateFileStatusToApproveStatus">
UPDATE zxjp_close_store_file_info
SET file_status = approve_status
WHERE close_store_id = #{closeStoreId}
</update>
</mapper>

View File

@@ -0,0 +1,74 @@
<?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.cool.store.mapper.CloseStoreInfoMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.CloseStoreInfoDO">
<!--
WARNING - @mbg.generated
-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="close_store_no" jdbcType="VARCHAR" property="closeStoreNo" />
<result column="store_id" jdbcType="VARCHAR" property="storeId" />
<result column="region_id" jdbcType="BIGINT" property="regionId" />
<result column="plan_close_data" jdbcType="DATE" property="planCloseData" />
<result column="actual_close_data" jdbcType="DATE" property="actualCloseData" />
<result column="close_type" jdbcType="TINYINT" property="closeType" />
<result column="close_reason" jdbcType="TINYINT" property="closeReason" />
<result column="reason_description" jdbcType="VARCHAR" property="reasonDescription" />
<result column="close_status" jdbcType="TINYINT" property="closeStatus" />
<result column="supervisor_user_id" jdbcType="VARCHAR" property="supervisorUserId" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
<select id="getCloseStoreInfoList" parameterType="java.util.List" resultType="com.cool.store.vo.close.store.CloseStoreInfoListVO">
SELECT b.id close_store_id, b.plan_close_data, b.close_type, b.close_status, b.close_store_no, b.store_id
, c.store_name, c.store_num, c.join_brand, c.store_address
<if test="request.querySigner">
, d.signer1_name, d.signer1_mobile, d.signer2_name, d.signer2_mobile
</if>
FROM zxjp_close_store_info b
LEFT JOIN store_${enterpriseId} c ON b.store_id = c.store_id
<if test="request.querySigner">
LEFT JOIN store_master_signer_info_${enterpriseId} d ON b.store_id = d.store_id
</if>
<where>
<if test="request.closeType != null">
AND b.close_type = #{request.closeType}
</if>
<if test="request.closeStatus != null">
<choose>
<when test="request.closeStatus == 1">
AND (b.close_status = 1 OR b.close_status = 2)
</when>
<otherwise>
AND b.close_status = #{request.closeStatus}
</otherwise>
</choose>
</if>
<if test="request.closeStoreNo != null and request.closeStoreNo != ''">
AND b.close_store_no LIKE CONCAT('%', #{request.closeStoreNo}, '%')
</if>
<if test="request.storeNameOrNum != null and request.storeNameOrNum != ''">
AND (c.store_name LIKE CONCAT('%', #{request.storeNameOrNum}, '%') OR c.store_num LIKE CONCAT('%', #{request.storeNameOrNum}, '%'))
</if>
<if test="request.joinBrands != null and !request.joinBrands.isEmpty()">
AND c.join_brand IN
<foreach item="item" collection="request.joinBrands" separator="," open="(" close=")">
#{item}
</foreach>
</if>
<if test="request.querySigner and request.signerName != null and request.signerName != ''">
AND (d.signer1_name LIKE CONCAT('%', #{request.signerName}, '%') OR d.signer2_name LIKE CONCAT('%', #{request.signerName}, '%'))
</if>
<if test="request.querySigner and request.signerMobile != null and request.signerMobile != ''">
AND (d.signer1_mobile LIKE CONCAT('%', #{request.signerMobile}, '%') OR d.signer2_mobile LIKE CONCAT('%', #{request.signerMobile}, '%'))
</if>
<if test="regionIds != null and !regionIds.isEmpty()">
AND <foreach collection="regionIds" item="regionId" separator=" OR " open="(" close=")">
c.region_path LIKE CONCAT('%', #{regionId}, '%')
</foreach>
</if>
</where>
ORDER BY b.create_time DESC
</select>
</mapper>

View File

@@ -0,0 +1,108 @@
<?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.cool.store.mapper.CloseStoreRefundInfoMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.CloseStoreRefundInfoDO">
<!--
WARNING - @mbg.generated
-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="close_store_id" jdbcType="BIGINT" property="closeStoreId" />
<result column="refund_no" jdbcType="VARCHAR" property="refundNo" />
<result column="type" jdbcType="INTEGER" property="type" />
<result column="refund_status" jdbcType="BIT" property="refundStatus" />
<result column="refund_order_no" jdbcType="VARCHAR" property="refundOrderNo" />
<result column="refund_time" jdbcType="TIMESTAMP" property="refundTime" />
<result column="invoice_title" jdbcType="VARCHAR" property="invoiceTitle" />
<result column="submitter_id" jdbcType="VARCHAR" property="submitterId" />
<result column="submitter_name" jdbcType="VARCHAR" property="submitterName" />
<result column="refund_reason" jdbcType="VARCHAR" property="refundReason" />
<result column="refund_type" jdbcType="VARCHAR" property="refundType" />
<result column="refund_project" jdbcType="VARCHAR" property="refundProject" />
<result column="remark" jdbcType="VARCHAR" property="remark" />
<result column="business_code" jdbcType="VARCHAR" property="businessCode" />
<result column="business_name" jdbcType="VARCHAR" property="businessName" />
<result column="business_account" jdbcType="VARCHAR" property="businessAccount" />
<result column="expense_type_code" jdbcType="VARCHAR" property="expenseTypeCode" />
<result column="expense_apply_time" jdbcType="DATE" property="expenseApplyTime" />
<result column="expected_amount" jdbcType="DECIMAL" property="expectedAmount" />
<result column="actual_amount" jdbcType="DECIMAL" property="actualAmount" />
<result column="deduct_amount" jdbcType="DECIMAL" property="deductAmount" />
<result column="deduct_reason" jdbcType="VARCHAR" property="deductReason" />
<result column="close_reason" jdbcType="TINYINT" property="closeReason" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="account_number" jdbcType="VARCHAR" property="accountNumber" />
<result column="bank_name" jdbcType="VARCHAR" property="bankName" />
<result column="bank_branch_no" jdbcType="VARCHAR" property="bankBranchNo" />
</resultMap>
<insert id="insertBatch" parameterType="java.util.List">
INSERT INTO zxjp_close_store_refund_info (
close_store_id,
refund_no,
type,
refund_status,
refund_order_no,
refund_time,
invoice_title,
submitter_id,
submitter_name,
refund_reason,
refund_type,
refund_project,
remark,
business_code,
business_name,
business_account,
expense_type_code,
expense_apply_time,
expected_amount,
actual_amount,
deduct_amount,
deduct_reason,
close_reason,
) VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.closeStoreId,jdbcType=BIGINT},
#{item.refundNo,jdbcType=VARCHAR},
#{item.type,jdbcType=INTEGER},
#{item.refundStatus,jdbcType=BIT},
#{item.refundOrderNo,jdbcType=VARCHAR},
#{item.refundTime,jdbcType=TIMESTAMP},
#{item.invoiceTitle,jdbcType=VARCHAR},
#{item.submitterId,jdbcType=VARCHAR},
#{item.submitterName,jdbcType=VARCHAR},
#{item.refundReason,jdbcType=VARCHAR},
#{item.refundType,jdbcType=VARCHAR},
#{item.refundProject,jdbcType=VARCHAR},
#{item.remark,jdbcType=VARCHAR},
#{item.businessCode,jdbcType=VARCHAR},
#{item.businessName,jdbcType=VARCHAR},
#{item.businessAccount,jdbcType=VARCHAR},
#{item.expenseTypeCode,jdbcType=VARCHAR},
#{item.expenseApplyTime,jdbcType=DATE},
#{item.expectedAmount,jdbcType=DECIMAL},
#{item.actualAmount,jdbcType=DECIMAL},
#{item.deductAmount,jdbcType=DECIMAL},
#{item.deductReason,jdbcType=VARCHAR},
#{item.closeReason,jdbcType=TINYINT},
)
</foreach>
</insert>
<update id="updateRefundStatusBatchById" parameterType="java.util.List">
UPDATE zxjp_close_store_refund_info
<trim prefix="SET" suffixOverrides=",">
<trim prefix="refund_status = CASE" suffix="END,">
<foreach collection="list" item="item">
WHEN id = #{item.id} THEN #{item.refundStatus}
</foreach>
</trim>
</trim>
WHERE id IN
<foreach collection="list" item="item" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
</mapper>

View File

@@ -0,0 +1,64 @@
<?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.cool.store.mapper.CloseStoreStageInfoMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.CloseStoreStageInfoDO">
<!--
WARNING - @mbg.generated
-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="close_store_id" jdbcType="BIGINT" property="closeStoreId" />
<result column="shop_stage" jdbcType="TINYINT" property="shopStage" />
<result column="shop_sub_stage" jdbcType="INTEGER" property="shopSubStage" />
<result column="shop_sub_stage_status" jdbcType="INTEGER" property="shopSubStageStatus" />
<result column="is_terminated" jdbcType="BIT" property="isTerminated" />
<result column="plan_complete_time" jdbcType="VARCHAR" property="planCompleteTime" />
<result column="actual_complete_time" jdbcType="VARCHAR" property="actualCompleteTime" />
<result column="remark" jdbcType="VARCHAR" property="remark" />
<result column="audit_id" jdbcType="BIGINT" property="auditId" />
<result column="deleted" jdbcType="BIT" property="deleted" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
<insert id="insertBatch" parameterType="java.util.List">
INSERT INTO zxjp_close_store_stage_info (close_store_id, shop_stage, shop_sub_stage, shop_sub_stage_status, is_terminated, plan_complete_time, actual_complete_time, remark, audit_id)
VALUES
<foreach collection="list" item="item" separator=",">
(#{item.closeStoreId}, #{item.shopStage}, #{item.shopSubStage}, #{item.shopSubStageStatus}, #{item.isTerminated}, #{item.planCompleteTime}, #{item.actualCompleteTime}, #{item.remark}, #{item.auditId})
</foreach>
</insert>
<update id="updateBatchSelective" parameterType="java.util.List">
<foreach collection="list" item="item" separator=";">
UPDATE zxjp_close_store_stage_info
<set>
<if test="item.shopStage != null">
shop_stage = #{item.shopStage},
</if>
<if test="item.shopSubStage != null">
shop_sub_stage = #{item.shopSubStage},
</if>
<if test="item.shopSubStageStatus != null">
shop_sub_stage_status = #{item.shopSubStageStatus},
</if>
<if test="item.isTerminated != null">
is_terminated = #{item.isTerminated},
</if>
<if test="item.planCompleteTime != null and item.planCompleteTime != ''">
plan_complete_time = #{item.planCompleteTime},
</if>
<if test="item.actualCompleteTime != null and item.actualCompleteTime != ''">
actual_complete_time = #{item.actualCompleteTime},
</if>
<if test="item.remark != null and item.remark != ''">
remark = #{item.remark},
</if>
<if test="item.auditId != null">
audit_id = #{item.auditId},
</if>
update_time = NOW()
</set>
WHERE id = #{item.id}
</foreach>
</update>
</mapper>

View File

@@ -285,4 +285,46 @@
ON DUPLICATE KEY UPDATE
score = values(score)
</insert>
<update id="updateStoreStatus">
UPDATE store_${enterpriseId}
SET store_status = #{storeStatus}
WHERE store_id = #{storeId} AND is_delete = 'effective'
</update>
<update id="closeStore">
UPDATE store_${enterpriseId}
SET store_status = 'closed',
close_store_time = #{actualCloseData}
WHERE store_id = #{storeId} AND is_delete = 'effective' AND store_status != 'closed'
</update>
<insert id="insertOrUpdateCloseInfo">
INSERT INTO store_extend_info_${enterpriseId}(store_id, close_reason, close_nature)
VALUES(#{storeId}, #{closeReason}, #{closeNature})
ON DUPLICATE KEY UPDATE
close_reason = VALUES(close_reason),
close_nature = VALUES(close_nature)
</insert>
<select id="getNoOrderStore" resultType="com.cool.store.entity.StoreDO">
SELECT * FROM store_${enterpriseId} a
LEFT JOIN store_extend_info_${enterpriseId} b ON a.store_id = b.store_id
WHERE a.is_delete = 'effective' AND a.store_status != 'closed'
AND b.latest_order_time IS NOT NULL AND b.latest_order_time &lt; #{latestDate}
<choose>
<when test="inBusinessType != null and inBusinessType">
AND b.business_type IN
<foreach item="item" collection="businessTypes" separator="," open="(" close=")">
#{item}
</foreach>
</when>
<otherwise>
AND (b.business_type IS NULL OR b.business_type NOT IN
<foreach item="item" collection="businessTypes" separator="," open="(" close=")">
#{item}
</foreach>)
</otherwise>
</choose>
</select>
</mapper>