Project

General

Profile

Actions

개선(improvement) #3208

closed

개선(improvement) #1921: * PROMOTION (Partner)

개선(improvement) #3181: [BE]_ PROMOTION (Partner) Phase 2

Migrate old promotion cancellation policy to new schema

Added by Dan Hoang 11 days ago. Updated 4 days ago.

Status:
완료(Done)
Priority:
보통(Normal)
Assignee:
Start date:
03/03/2026
Due date:
03/04/2026
% Done:

100%

Estimated time:
Part:
Build env.:

Description

Write script to migrate legacy promotion cancellation policy to new schema

Actions #1

Updated by calvin dev 11 days ago

  • Assignee set to calvin dev
Actions #2

Updated by calvin dev 7 days ago

  • Status changed from 신규(New) to 진행(Doing)
  • Start date set to 03/03/2026
Actions #3

Updated by calvin dev 6 days ago

  • Due date set to 03/04/2026
  • Status changed from 진행(Doing) to 완료(Done)
  • % Done changed from 0 to 100
Actions #4

Updated by calvin dev 4 days ago

create table VD_VENDOR_PROMOTION_CANCEL_POLICY_MASTER
(
POLICY_MASTER_SEQ bigint auto_increment
primary key,
PLAN_PROMOTION_SEQ bigint not null,
DEFAULT_YN varchar(1) not null,
NON_REFUNDABLE_YN varchar(1) not null,
USE_POLICY_OPTION_YN varchar(1) default 'N' not null,
APPLIED_FROM_DATE date not null,
APPLIED_TO_DATE date not null,
DATE_OPTION_YN varchar(1) default 'N' not null,
APPLIED_SUN_YN varchar(1) default 'N' not null,
APPLIED_MON_YN varchar(1) default 'N' not null,
APPLIED_TUE_YN varchar(1) default 'N' not null,
APPLIED_WED_YN varchar(1) default 'N' not null,
APPLIED_THU_YN varchar(1) default 'N' not null,
APPLIED_FRI_YN varchar(1) default 'N' not null,
APPLIED_SAT_YN varchar(1) default 'N' not null,
DELETE_YN varchar(1) default 'N' not null,
DISPLAY_ORDER smallint null,
DISPLAY_TITLE varchar(500) null,
FIRST_INSERT_UNO bigint default 10000 not null,
FIRST_INSERT_DATETIME datetime default CURRENT_TIMESTAMP not null,
LAST_UPDATE_UNO bigint default 10000 not null,
LAST_UPDATE_DATETIME datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP
)
comment 'vendor plan promotion cancellation policy master' avg_row_length = 90;

create index XIF_VD_VENDOR_PROMOTION_CANCEL_POLICY_MASTER_01
on VD_VENDOR_PROMOTION_CANCEL_POLICY_MASTER (PLAN_PROMOTION_SEQ);

create index XIN_VD_VENDOR_PROMOTION_CANCEL_POLICY_MASTER_01
on VD_VENDOR_PROMOTION_CANCEL_POLICY_MASTER (PLAN_PROMOTION_SEQ, DEFAULT_YN);

-- 1/ Xóa các item promotion cancel policy có nonrefundable = Y
DELETE CC
  1. SELECT CC.PROMOTION_CANCEL_POLICY_SEQ
    FROM VD_VENDOR_PROMOTION_CANCEL_POLICY CC
    INNER JOIN VD_VENDOR_PLAN_PROMOTION P
    ON CC.PLAN_PROMOTION_SEQ = P.PLAN_PROMOTION_SEQ
    WHERE P.NON_REFUNDABLE_YN = 'Y'

-- 2/ check promotion non-refund = Y -> Không cần tạo data trong bảng policy_master

-- 3/ Migrate all promotion policy item with non-refund = N -> policy master
INSERT INTO VD_VENDOR_PROMOTION_CANCEL_POLICY_MASTER(PLAN_PROMOTION_SEQ, DEFAULT_YN, NON_REFUNDABLE_YN, USE_POLICY_OPTION_YN
, APPLIED_FROM_DATE, APPLIED_TO_DATE, DISPLAY_ORDER, DISPLAY_TITLE)
SELECT C.PLAN_PROMOTION_SEQ, 'Y', 'N', 'N', '2020-01-01', '2099-01-01', 1, NULL
FROM VD_VENDOR_PROMOTION_CANCEL_POLICY C
GROUP BY C.PLAN_PROMOTION_SEQ

-- 4/ Update POLICY_MASTER_SEQ into VD_VENDOR_PROMOTION_CANCEL_POLICY
UPDATE VD_VENDOR_PROMOTION_CANCEL_POLICY C
INNER JOIN VD_VENDOR_PROMOTION_CANCEL_POLICY_MASTER M ON M.PLAN_PROMOTION_SEQ = C.PLAN_PROMOTION_SEQ
SET C.POLICY_MASTER_SEQ = M.POLICY_MASTER_SEQ
WHERE C.POLICY_MASTER_SEQ IS NULL AND M.POLICY_MASTER_SEQ IS NOT NULL

Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 50 MB)