Przeglądaj źródła

04.14 스윗트래커

moon 5 lat temu
rodzic
commit
b3e4d84500

+ 5 - 5
src/main/java/com/style24/persistence/domain/SweetTracker.java

@@ -27,12 +27,12 @@ public class SweetTracker extends TscBaseDomain {
 	private String send_name; 	   // 발신인 이름
 	private String man; 		   // 배송기사 이름
 	private String estmate;        // 배송예정 시간
-	
-	private Integer level; 	  // 배송단계(1~6단계)
-	
-	private Integer delvLevel;
+	private String delvLevel;
 	private String delvWhere; 
-	
+	private String chgStat;
+	private String ordDtlStat; 
+	private Integer level; 	  // 배송단계(1~6단계)
 	private Integer ordDtlNo;
+	private Integer ordChgSq;
 
 }

+ 26 - 3
src/main/java/com/style24/persistence/mybatis/shop/TssDelivery.xml

@@ -51,14 +51,37 @@
 	</select>
 	
 	<!-- 주문상세 상태값 변경    -->
-	<insert id="updateTbOrderDtlStat" parameterType="SweetTracker" >
+	<update id="updateTbOrderDtlStat" parameterType="SweetTracker" >
 		/*TssDelivery.updateTbOrderDtlStat*/
 		UPDATE TB_ORDER_DETAIL SET
-			  ORD_DTL_STAT = 'G013_60'
+			  ORD_DTL_STAT = #{ordDtlStat}
 			, UPD_NO       = #{regNo}
 			, UPD_DT       = NOW();
 		WHERE ORD_DTL_NO   = #{ordDtlNo}
-	</insert>	
+	</update>	
 	
 	
+	<!-- 주문변경번호 조회 -->	
+	<select id="getOrdChgSqList" resultType="SweetTracker">
+		/*TssDelivery.getOrdChgSqList*/
+		SELECT A.ORD_CHG_SQ , B.ORD_DTL_NO
+		  FROM TB_ORDER_CHANGE A 
+		  JOIN TB_ORDER_CHANGE_DETAIL B ON A.ORD_CHG_SQ = B.ORD_CHG_SQ 
+		 WHERE A.WD_INVOICE_NO  =  #{invoice_no}
+		   AND B.DEL_YN = 'N'
+	</select>
+	
+	<!-- 주문상세 상태값 변경    -->
+	<update id="updateOrdChgSqStat" parameterType="SweetTracker" >
+		/*TssDelivery.updateOrdChgSqStat*/
+		UPDATE TB_ORDER_CHANGE_DETAIL SET
+			  CHG_STAT = #{chgStat}  -- G685_31
+			, UPD_NO   = #{regNo}
+			, UPD_DT   = NOW()
+		WHERE ORD_CHG_SQ = #{ordChgSq}
+		  AND ORD_DTL_NO = #{ordDtlNo}
+	</update>	
+
+
+
 </mapper>

+ 19 - 0
src/main/java/com/style24/scm/biz/dao/TssDeliveryDao.java

@@ -42,4 +42,23 @@ public interface TssDeliveryDao {
 	 */	
 	Collection<SweetTracker> getOrdDtlNoList(SweetTracker sweetTracker);
 	
+	/**
+	 * 주문변경번호 조회  
+	 * @param SweetTracker
+	 * @return Collection<SweetTracker>
+	 * @author moon
+	 * @since 2021. 04. 14
+	 */	
+	Collection<SweetTracker> getOrdChgSqList(SweetTracker sweetTracker);
+	
+	/**
+	 * 주문변경 상태값 변경 
+	 * @param SweetTracker
+	 * @return
+	 * @author moon
+	 * @since 2021. 04. 14
+	 */
+	void updateOrdChgSqStat(SweetTracker sweetTracker);		
+	
+	
 }

+ 36 - 5
src/main/java/com/style24/scm/biz/service/TssDeliveryService.java

@@ -6,11 +6,18 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import com.style24.core.biz.dao.TscOrderChangeDao;
 import com.style24.core.biz.dao.TscOrderDao;
 import com.style24.core.support.message.TscMessageByLocale;
+import com.style24.core.support.env.TscConstants.OrderDetailStat;
+import com.style24.core.support.env.TscConstants.OrderChangeStat;
+
 import com.style24.scm.biz.dao.TssDeliveryDao;
 import com.style24.persistence.domain.Order;
 import com.style24.persistence.domain.SweetTracker;
+import com.style24.persistence.domain.OrderChange;
+
+
 import lombok.extern.slf4j.Slf4j;
 
 /**
@@ -26,6 +33,9 @@ public class TssDeliveryService {
 	@Autowired
 	private TscMessageByLocale message;
 
+	@Autowired
+	private TscOrderChangeDao orderChangeDao;
+	
 	@Autowired
 	private TssDeliveryDao deliveryDao;
 
@@ -37,16 +47,20 @@ public class TssDeliveryService {
 	 * @param  SweetTracker
 	 * @return 
 	 * @author moon
-	 * @since  2020. 12. 08
+	 * @since  2021. 04. 13
 	 */
 	@Transactional("shopTxnManager")
 	public void saveDelvStat(SweetTracker sweetTracker) {
         
+		// 배송완료건 상태값 변경   
 		if(6 == sweetTracker.getLevel()) {
 			// 주문상세번호 조회 
 			Collection<SweetTracker> list = deliveryDao.getOrdDtlNoList(sweetTracker);
 			for(SweetTracker data : list) {
 				// 주문상태값 변경
+				data.setUpdNo(0);
+				data.setRegNo(0);
+				data.setOrdDtlStat(OrderDetailStat.DELIVERY_COMPLETE.value());  // 배송완료 G013_60
 				deliveryDao.updateTbOrderDtlStat(data);
 				// 주문상세이력
 				Order order = new Order();
@@ -55,14 +69,31 @@ public class TssDeliveryService {
 				order.setRegNo(0);
 				orderDao.createOrderDetailHst(order);				
 			}
-
+			
+			// 주문변경번호 조회 
+			Collection<SweetTracker> chgList = deliveryDao.getOrdChgSqList(sweetTracker);
+			for(SweetTracker chgSq : chgList ) {
+				
+				// 주문상세변경 상태값 변경 
+				chgSq.setUpdNo(0);
+				chgSq.setRegNo(0);
+				chgSq.setChgStat(OrderChangeStat.WITHDRAW_GOODS_CHECK.value());  // 상품검수중  G685_31
+				deliveryDao.updateOrdChgSqStat(chgSq);
+				
+				// 주문상세변경 이력 
+				OrderChange ordChg = new OrderChange();
+				ordChg.setRegNo(0);
+				ordChg.setUpdNo(0);
+				ordChg.setOrdChgSq(chgSq.getOrdChgSq()); 
+				ordChg.setOrdDtlNo(chgSq.getOrdDtlNo()); 
+				orderChangeDao.createOrderChangeDetailHst(ordChg);
+			}
 		}
+		
 		// 	TB_SWEET_TRACKER 등록 
-		sweetTracker.setDelvLevel(sweetTracker.getLevel());
+		sweetTracker.setDelvLevel(sweetTracker.getLevel()+"");
 		sweetTracker.setDelvWhere(sweetTracker.getWhere());
 		deliveryDao.insertTbSweetTracker(sweetTracker);
-		
-		
 	}
 	
 }

+ 20 - 9
src/main/java/com/style24/scm/biz/web/TssDeliveryController.java

@@ -5,14 +5,13 @@ import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 
+import com.gagaframework.web.parameter.GagaMap;
 import com.style24.persistence.domain.SweetTracker;
 import com.style24.scm.biz.service.TssDeliveryService;
 import com.style24.scm.support.controller.TssBaseController;
 
 import lombok.extern.slf4j.Slf4j;
 
-import com.gagaframework.web.rest.server.GagaResponse;
-
 /**
  * 배송 Controller
  *
@@ -24,22 +23,34 @@ import com.gagaframework.web.rest.server.GagaResponse;
 @Slf4j
 public class TssDeliveryController extends TssBaseController {
 
+
 	@Autowired
 	private TssDeliveryService deliveryService;
 
 	/**
-	 * 스윗트래커(배송추적) 배송상태 데이터 처리
+	 * 스윗트래커 
 	 *
-	 * @param sweetTracker - 스윗트래커 정보
+	 * @param String
 	 * @return  
 	 * @author moon
 	 * @since 2021. 04. 13
 	 */
 	@RequestMapping(value = "/sweettracker/response")
 	@ResponseBody
-	public GagaResponse sweetTrackerResponse(SweetTracker sweetTracker) {
-		log.info("sweetTracker params: {}", sweetTracker);
-		deliveryService.saveDelvStat(sweetTracker);
-		return super.ok("OK");
-	}
+	public GagaMap sweetTrackerResponse(SweetTracker sweetTracker) throws Exception {
+
+		GagaMap rtn = new GagaMap();
+		log.info("-----> "+sweetTracker);
+		try {
+			deliveryService.saveDelvStat(sweetTracker);
+			
+			rtn.set("code", true);
+			rtn.set("message", "success");
+		} catch(Exception e) {
+			rtn.set("code", false);
+			rtn.set("message", "fail - invalid fid");	
+		}
+		
+		return rtn;
+	}	
 }