Taebu / prq

prq.co.kr
MIT License
1 stars 0 forks source link

배달맛톡 ] 처음 방문 로그 설계 #47

Closed Taebu closed 8 years ago

Taebu commented 8 years ago

배달맛톡 포인트 적립

캐시큐의 대리점을 사용하여 에이앤피 자체만의 앱을 구현 유지보수 합니다. 구현하려는 항목

PRQ 로그 발생

  • 상점 PRQ 프로그램 설치
  • 소비자 주문전화 발생
  • PRQ 서버로 콜로그 생성

    @배달맛톡(알림톡 발송)

  • 알림톡 발송조건
  • PRQ에서 발생된 소비자 번흐는 처음 1회만 무조건 알림톡발송
  • 알림톡 발송 중지 관리자가 PRQ 대리점코드에 대해서 발송 중지 및 시작을 설정 할 수 있음.

    배달맛톡 접속 (팝업창)

  • 비즈코드 : bd001`
  • 이벤트코드 : bd001_1
  • 기간 : 주문 후 60일 설정
  • 미션 5개 최대 10,0000원 10개 최대 20,000원
  • 접속후 "팝업창" 2,000원 적립 [확인]

    무조건 1회 2,000원 적립

  • 적립조건 무조건 1회 "배달맛톡" 접속시 2,000원 적립
  • 적립 예) 첫 다운로드 기념 2,000원 적립 유효기간 : -60일

http://www.prq.co.kr/

Taebu commented 8 years ago
drop TABLE `prq_first_log`;
CREATE TABLE `prq_first_log` (
  `pf_no` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `pf_id` varchar(30) NOT NULL DEFAULT '' COMMENT '가맹점 아이디',
  `pf_port` varchar(10) NOT NULL DEFAULT '' COMMENT '가맹점 포트',
  `pf_hp` char(12) DEFAULT '0' COMMENT '수신번호',
  `pf_name` varchar(255)  NOT NULL DEFAULT '' COMMENT '상점명',
  `pf_tel` char(30)   NOT NULL DEFAULT '' COMMENT '상점번호',
  `pf_datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `pf_status` enum('first','before_send','sended','send_fail','member','pause') NOT NULL DEFAULT 'first'  COMMENT '전송 상태 ',
  PRIMARY KEY (`pf_no`),
  UNIQUE KEY `pf_hp_chk` (`pf_hp`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='BDMT App FIRST LOG';

insert into prq_first_log set pf_hp='01030372004',pf_datetime=now();

insert into prq_first_log set pf_hp='01030372004',pf_datetime=now();

/prq/application/views/crontab/view_v.php [ 수정 ]

Taebu commented 8 years ago

개선전

use callerid;

show triggers;

DELIMITER $$

drop TRIGGER IF EXISTS cdr_inserted $$

CREATE TRIGGER cdr_inserted AFTER INSERT ON callerid.cdr FOR EACH ROW
BEGIN
IF (NEW.port=0) THEN

INSERT INTO prq.prq_cdr SET
cd_date=NEW.date,
cd_id=NEW.UserID,
cd_port=NEW.port,
cd_callerid=NEW.callerid,
cd_calledid=NEW.calledid;

ELSE
SELECT
st_name,st_tel_1,st_hp_1
INTO
@st_name,@st_tel,@st_hp
FROM
prq.prq_store
WHERE
st_port=NEW.port and mb_id=NEW.UserID;

INSERT INTO prq.prq_cdr SET
cd_date=NEW.date,
cd_id=NEW.UserID,
cd_port=NEW.port,
cd_callerid=NEW.callerid,
cd_name=@st_name,
cd_tel=@st_tel,
cd_hp=@st_hp;

END IF;
END
$$

DELIMITER ;

개선후 prq_first_log 추가

/* 
prq.co.kr callerid.cdr trigger

작성일 : 2016-02-04 (목)
수정일 : 2016-05-19 (목)
1. [ 2016-05-19 (목) ] prq_first_log 추가 

 */
use callerid;

show triggers;

DELIMITER $$

drop TRIGGER IF EXISTS cdr_inserted $$

CREATE TRIGGER cdr_inserted AFTER INSERT ON callerid.cdr FOR EACH ROW
BEGIN

SET @ishp=IF(substr(NEW.callerid,1,2)="01",true,false);
SET @iskt=IF(NEW.port=0,true,false);

/* 1.KT port 핸드폰 전화인 경우  */
IF (@iskt AND @ishp) THEN

INSERT INTO prq.prq_cdr SET 
cd_date=NEW.date,
cd_id=NEW.UserID,
cd_port=NEW.port,
cd_callerid=NEW.callerid,
cd_calledid=NEW.calledid;

INSERT INTO prq.prq_first_log SET 
pf_datetime=NEW.date,
pf_id=NEW.UserID,
pf_port=NEW.port,
pf_hp=NEW.callerid,
pf_tel=NEW.calledid,
pf_status='first';

/* 2. CID 핸드폰 전화인 경우  */
ELSEIF (@iskt=false AND @ishp) THEN
SELECT
    st_name,st_tel_1,st_hp_1
INTO
    @st_name,@st_tel,@st_hp
FROM 
    prq.prq_store 
WHERE 
    st_port=NEW.port and mb_id=NEW.UserID;

INSERT INTO prq.prq_cdr SET 
cd_date=NEW.date,
cd_id=NEW.UserID,
cd_port=NEW.port,
cd_callerid=NEW.callerid,
cd_name=@st_name,
cd_tel=@st_tel,
cd_hp=@st_hp;

INSERT INTO prq.prq_first_log SET 
pf_datetime=NEW.date,
pf_id=NEW.UserID,
pf_port=NEW.port,
pf_name=@st_name,
pf_tel=@st_tel,
pf_hp=@st_hp,
pf_status='first';

/* 3. KT 일반전화인 경우 */
ELSEIF (@iskt AND @ishp=false) THEN

INSERT INTO prq.prq_cdr SET 
cd_date=NEW.date,
cd_id=NEW.UserID,
cd_port=NEW.port,
cd_callerid=NEW.callerid,
cd_calledid=NEW.calledid;

/* 4. CID 일반전화인 경우 */
ELSEIF (@iskt=false AND @ishp=false) THEN
SELECT
    st_name,st_tel_1,st_hp_1
INTO
    @st_name,@st_tel,@st_hp
FROM 
    prq.prq_store 
WHERE 
    st_port=NEW.port and mb_id=NEW.UserID;

INSERT INTO prq.prq_cdr SET 
cd_date=NEW.date,
cd_id=NEW.UserID,
cd_port=NEW.port,
cd_callerid=NEW.callerid,
cd_name=@st_name,
cd_tel=@st_tel,
cd_hp=@st_hp;

END IF;

/* IF (NEW.port=0 AND @ishp) THEN */

END
$$

DELIMITER ;
Taebu commented 8 years ago
  1. 처음 'first' (기본값)
  2. 전송전 'before_send'
  3. 전송 'sended'
  4. 실패 'send_fail'
  5. 멤버 'member'
  6. 중지 'pause'
  7. 처음(first)이면 ATA 시도 전송전(before_send) 로 변경
  8. 전송 성공시 전송(sended) 로 변경
  9. 전송 실패시 실패(send_fail) 로 변경
  10. 멤버(member) 이면 (적용) 보류
  11. 중지(pause) 한 가맹점은 일시적으로 전송하지 않음. ata 전송중인 가맹점인가 여부 체크.
Taebu commented 8 years ago

최종 완성 후 사장님이 필요없다 하심. 없애는 것으로 최종결정