|
|
@@ -2311,14 +2311,11 @@ public class TscOrderService {
|
|
|
@Transactional("shopTxnManager")
|
|
|
public void updateSellerDelvStartAndPartCancel(Collection<Order> params, int userNo) {
|
|
|
try {
|
|
|
- /* TODO 조회 후 취소 ? 그냥 취소 ? 추후 결품 취소 로직 나오면 취소 진행
|
|
|
- * 주문번호별로 ordDtlNoArr[] 배열과 cnclRtnReqQtyArr[] 배열에 담고, 각 custNo 가져오고, 비회원이면 ordNm, orderNo
|
|
|
- * OrderChange 객체에 담아서 넘긴다.
|
|
|
- * 무통장입금의 경우 환불계좌가 없을 경우 취소 신청으로 세팅. > 만들어야하나 ?
|
|
|
- * 무통장입금 환불계좌가 있으면 넘기면됨. */
|
|
|
-
|
|
|
// 주문번호별 상세번호, 취소수량 및 주문정보 세팅
|
|
|
List<OrderChange> cancelDataList = new ArrayList<OrderChange>();
|
|
|
+ // 배송중 주문 목록 (알림톡 송부 위함)
|
|
|
+ List<Order> delvStartList = new ArrayList<Order>();
|
|
|
+
|
|
|
for(Order param : params) {
|
|
|
if(param.getCnclRtnQty() > 0) {
|
|
|
boolean chkOrd = true;
|
|
|
@@ -2384,8 +2381,45 @@ public class TscOrderService {
|
|
|
scmDao.createOrderDetailInvoice(param);
|
|
|
// 주문 변경 이력 저장
|
|
|
orderDao.createOrderDetailHst(param);
|
|
|
+
|
|
|
+ boolean isOther = true;
|
|
|
+ for(Order delv : delvStartList) {
|
|
|
+ if(delv.getOrdNo().equals(param.getOrdNo())) {
|
|
|
+ delv.setGoodsCnt(String.valueOf(Integer.parseInt(delv.getGoodsCnt()) + 1));
|
|
|
+ isOther = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(isOther) {
|
|
|
+ Order delv = new Order();
|
|
|
+ delv.setOrdNo(param.getOrdNo());
|
|
|
+ delv.setOrdNm(param.getOrdNm());
|
|
|
+ delv.setGoodsNm(param.getGoodsNm());
|
|
|
+ delv.setOrdPhnno(param.getOrdPhnno());
|
|
|
+ delv.setCustNo(param.getCustNo());
|
|
|
+ delv.setGoodsCnt("0"); // 첫 상품은 외 0건
|
|
|
+
|
|
|
+ delvStartList.add(delv);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ try {
|
|
|
+ // 2021.06.08 알림톡전송 배송중 주문 알림톡 송부
|
|
|
+ for(Order kakaoSend : delvStartList) {
|
|
|
+ if (StringUtils.isNotBlank(kakaoSend.getOrdPhnno())) {
|
|
|
+ try {
|
|
|
+ kakaotalkService.sendDeliveryStart(kakaoSend, userNo);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ // Do nothing
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ // 카카오 발송 에러시에는 그냥 진행되어야함
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
throw new IllegalArgumentException(e);
|