환율적용 원화 결제 적용(1)
This commit is contained in:
@@ -27,6 +27,7 @@ import java.math.BigInteger;
|
|||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@@ -100,6 +101,313 @@ public class BOOrderService {
|
|||||||
0. 배송 정책에 따른 배송지 세팅
|
0. 배송 정책에 따른 배송지 세팅
|
||||||
***************************** */
|
***************************** */
|
||||||
|
|
||||||
|
// /** 여러곳 배송 배송지 세팅 시작 */
|
||||||
|
// LinkedHashMap<String, Object> multiOrdrDlvylcMap = new LinkedHashMap<>();
|
||||||
|
// List<LinkedHashMap<String, Object>> dlvylcListMulti = new ArrayList<>();
|
||||||
|
//
|
||||||
|
// multiOrdrDlvylcMap = (LinkedHashMap) param.get("multiOrdrDlvylc");
|
||||||
|
// log.debug("multiOrdrDlvylcMap : {}", multiOrdrDlvylcMap);
|
||||||
|
//
|
||||||
|
// // DlvyGroupList 조회
|
||||||
|
// List<DataMap> DlvyGroupList = new ArrayList<>();
|
||||||
|
//
|
||||||
|
// goodsList.forEach(goods -> {
|
||||||
|
// DataMap item = new DataMap();
|
||||||
|
//
|
||||||
|
// item.put("goodsInnb", new BigInteger(String.valueOf(goods.get("goodsInnb"))));
|
||||||
|
// item.put("goodsOptnInnb", new BigInteger(String.valueOf(goods.get("goodsOptnInnb"))));
|
||||||
|
// item.put("dlvyGroupInnb", new BigInteger(String.valueOf(goods.get("dlvyGroupInnb"))));
|
||||||
|
// item.put("subSlepric", new BigDecimal(String.valueOf(( (int) goods.get("slepric") * (int) goods.get("qy")) - (int) goods.get("dscntAmt") )));
|
||||||
|
// item.put("qy", new BigDecimal(String.valueOf((int) goods.get("qy"))));
|
||||||
|
// item.put("mbrInnb", String.valueOf(goods.get("mbrInnb")));
|
||||||
|
//
|
||||||
|
// DlvyGroupList.add(item);
|
||||||
|
// });
|
||||||
|
//
|
||||||
|
// DlvyGroupList.sort(Comparator.comparing((DataMap map) -> (BigInteger) map.get("goodsInnb")).thenComparing((DataMap map) -> (BigInteger) map.get("goodsOptnInnb")) .thenComparing((DataMap map) -> (BigInteger) map.get("dlvyGroupInnb"))); // 정렬
|
||||||
|
//
|
||||||
|
// // 배송그룹고유번호별 상품목록
|
||||||
|
// Map<BigInteger, List<DataMap>> goodsByDlvyGroupMap = DlvyGroupList.stream().collect(Collectors.groupingBy(m -> ((BigInteger) m.get("dlvyGroupInnb")), HashMap::new, Collectors.toList()));
|
||||||
|
//
|
||||||
|
// String dlvylcAreaCd = (String) shipping.get("dlvylcAreaCd");
|
||||||
|
// String ordrAdressZip = StringUtil.isNullToString(shipping.get("dlvylcZip"));
|
||||||
|
// String prefcd = (String) shipping.get("prefcd");
|
||||||
|
// String defaultAdressAt = "N";
|
||||||
|
// String sopmalCode = sopmalCd;
|
||||||
|
//
|
||||||
|
// DataMap defaultAdressVO = new DataMap() {{ //
|
||||||
|
// put("sopmalCd", sopmalCode); // 쇼핑몰 코드
|
||||||
|
// put("zip", ordrAdressZip); // 우편번호
|
||||||
|
// put("prefcd", prefcd); // 도도부현코드
|
||||||
|
// }};
|
||||||
|
//
|
||||||
|
// if("KR".equals(dlvylcAreaCd)){
|
||||||
|
// defaultAdressAt = boOrdrMapper.selectBODefaultAdressAtInqire(defaultAdressVO);
|
||||||
|
// }
|
||||||
|
// if("JP".equals(dlvylcAreaCd)){
|
||||||
|
// defaultAdressAt = boOrdrMapper.selectBODefaultAdressAtInqire2(defaultAdressVO);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// List<DataMap> dlvyAmtByDlvyGroupList = new ArrayList<>();
|
||||||
|
//
|
||||||
|
// for (Map.Entry<BigInteger, List<DataMap>> dlvyGroupEtry : goodsByDlvyGroupMap.entrySet()) {
|
||||||
|
// int dlvyGroupInnb = dlvyGroupEtry.getKey().intValue();
|
||||||
|
// List<DataMap> goodsByDlvyGroupList = dlvyGroupEtry.getValue();
|
||||||
|
//
|
||||||
|
// DataMap shippingParam = new DataMap() {{
|
||||||
|
// put("dlvyGroupInnb", dlvyGroupInnb);
|
||||||
|
// put("sopmalCd", sopmalCode);
|
||||||
|
// }};
|
||||||
|
//
|
||||||
|
// DataMap shippingGrouping = mapper.selectShippingGrouping(shippingParam);
|
||||||
|
//
|
||||||
|
// // "KR".equals(dlvylcAreaCd)인 경우
|
||||||
|
// String itemDlvyGroupDvCd = (String) shippingGrouping.get("dlvyGroupDvCd");
|
||||||
|
// BigDecimal itemDftDlvyAmt = (BigDecimal) shippingGrouping.get("dftDlvyAmt"); // 기본배송비
|
||||||
|
// BigDecimal itemDlvyAmt = itemDftDlvyAmt; // 배송비
|
||||||
|
// String itemDlvyAreaAditAt = (String) shippingGrouping.get("dlvyAreaAditAt"); // 도서산간 추가 배송비 조건
|
||||||
|
// BigDecimal itemAreaAditDlvyAmt = (BigDecimal) shippingGrouping.get("areaAditDlvyAmt"); // 도서산간 추가 배송비
|
||||||
|
// String itemAmtCndUseAt = (String) shippingGrouping.get("amtCndUseAt"); // 금액조건
|
||||||
|
// BigDecimal itemAmtCndAditAmt = (BigDecimal) shippingGrouping.get("amtCndAditAmt");
|
||||||
|
// String itemCntCndUseAt = (String) shippingGrouping.get("cntCndUseAt"); // 수량조건
|
||||||
|
// BigDecimal itemCntCndAditAmt = (BigDecimal) shippingGrouping.get("cntCndAditAmt"); // 수량
|
||||||
|
//
|
||||||
|
// if("JP".equals(dlvylcAreaCd)){
|
||||||
|
// itemDftDlvyAmt = (BigDecimal) shippingGrouping.get("dftDlvyAmt2"); // 기본배송비
|
||||||
|
// itemDlvyAmt = itemDftDlvyAmt; // 배송비
|
||||||
|
// itemDlvyAreaAditAt = (String) shippingGrouping.get("dlvyAreaAditAt2"); // 도서산간 추가 배송비 조건
|
||||||
|
// itemAreaAditDlvyAmt = (BigDecimal) shippingGrouping.get("areaAditDlvyAmt2"); // 도서산간 추가 배송비
|
||||||
|
// itemAmtCndUseAt = (String) shippingGrouping.get("amtCndUseAt2"); // 금액조건
|
||||||
|
// itemAmtCndAditAmt = (BigDecimal) shippingGrouping.get("amtCndAditAmt");
|
||||||
|
// itemCntCndUseAt = (String) shippingGrouping.get("cntCndUseAt2"); // 수량조건
|
||||||
|
// itemCntCndAditAmt = (BigDecimal) shippingGrouping.get("cntCndAditAmt2"); // 수량
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// if ("01".equals(ordrTyCd) || "03".equals(ordrTyCd) || "04".equals(ordrTyCd) || "06".equals(ordrTyCd)) { // 일반주문, 회원 개인결제, 정기배송
|
||||||
|
//
|
||||||
|
// // 무료배송(조건부)
|
||||||
|
// if ("01".equals(itemDlvyGroupDvCd)) {
|
||||||
|
//
|
||||||
|
// // 추가배송비 계산 (MUL)
|
||||||
|
// if (!StringUtils.isEmpty(itemDlvyAreaAditAt) && "Y".equals(itemDlvyAreaAditAt)) {
|
||||||
|
// if (!StringUtils.isEmpty(defaultAdressAt) && "Y".equals(defaultAdressAt)) {
|
||||||
|
// itemDlvyAmt = itemDlvyAmt.add(itemAreaAditDlvyAmt); // 유료 배송 도서산간 추가 배송비
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// } else if ("02".equals(itemDlvyGroupDvCd)) { // 무료 배송일 경우
|
||||||
|
//
|
||||||
|
// // 추가배송비 계산 (MUL)
|
||||||
|
// if (!StringUtils.isEmpty(itemDlvyAreaAditAt) && "Y".equals(itemDlvyAreaAditAt)) {
|
||||||
|
// if (!StringUtils.isEmpty(defaultAdressAt) && "Y".equals(defaultAdressAt)) {
|
||||||
|
// itemDlvyAmt = itemDlvyAmt.add(itemAreaAditDlvyAmt); // 유료 배송 도서산간 추가 배송비
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// } else if ("03".equals(itemDlvyGroupDvCd)) { // 유료배송
|
||||||
|
// // 수량 조건
|
||||||
|
// if ("Y".equals(itemCntCndUseAt) && itemCntCndAditAmt.compareTo(BigDecimal.ZERO) > 0) {
|
||||||
|
//
|
||||||
|
// for (DataMap goodsMap : goodsByDlvyGroupList) {
|
||||||
|
//
|
||||||
|
// BigDecimal qy = (BigDecimal) goodsMap.get("qy"); // 수량
|
||||||
|
// BigDecimal unitQy = qy.divide(itemCntCndAditAmt, 0, RoundingMode.CEILING); // 단위수량
|
||||||
|
//
|
||||||
|
// int goodsQy = unitQy.intValue();
|
||||||
|
//
|
||||||
|
// // cntCndAditAmt(설정수량)보다 qy가 큰 경우
|
||||||
|
// if (qy.compareTo(itemCntCndAditAmt) > 0) {
|
||||||
|
//
|
||||||
|
// } else {
|
||||||
|
// // 수량당 배송비가 1인경우
|
||||||
|
// }
|
||||||
|
// } // for
|
||||||
|
//
|
||||||
|
// } else {
|
||||||
|
//
|
||||||
|
// for (DataMap goodsMap : goodsByDlvyGroupList) {
|
||||||
|
// BigDecimal qy = (BigDecimal) goodsMap.get("qy"); // 수량
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// List<LinkedHashMap> itemGoodsList = new ArrayList<>();
|
||||||
|
// itemGoodsList.add(goodsList.get(i));
|
||||||
|
// for (LinkedHashMap<String, Object> itemGoodsMap : itemGoodsList) {
|
||||||
|
// itemGoodsMap.put("qy", qy.intValue());
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// List<LinkedHashMap> itempPrsntList = new ArrayList<>();
|
||||||
|
// if(!prsntList.isEmpty()){
|
||||||
|
// itempPrsntList.add(prsntList.get(i));
|
||||||
|
// for (LinkedHashMap<String, Object> itemPrsntMap : itempPrsntList) {
|
||||||
|
// itemPrsntMap.put("qy", qy.intValue());
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// LinkedHashMap<String, Object> dlvyMap = new LinkedHashMap<>();
|
||||||
|
//
|
||||||
|
// dlvyMap.put("dftDlvyAmt", itemDftDlvyAmt.intValue());
|
||||||
|
// dlvyMap.put("dlvyAmt", itemDlvyAmt.intValue());
|
||||||
|
// dlvyMap.put("couponInnb", 0);
|
||||||
|
// dlvyMap.put("dwldCouponInnb", 0);
|
||||||
|
// dlvyMap.put("dplctDscntAt", "");
|
||||||
|
// dlvyMap.put("otrCouponSmtmUseAt", "");
|
||||||
|
// dlvyMap.put("mngrFreeDlvyUseAt", "N");
|
||||||
|
// dlvyMap.put("dlvylcAreaCd", shipping.get("dlvylcAreaCd"));
|
||||||
|
// dlvyMap.put("cstmclerCd", shipping.get("cstmclerCd"));
|
||||||
|
// dlvyMap.put("dlvylcZip", shipping.get("dlvylcZip"));
|
||||||
|
// dlvyMap.put("prefcd", shipping.get("prefcd"));
|
||||||
|
// dlvyMap.put("recpntNm", shipping.get("recpntNm"));
|
||||||
|
// dlvyMap.put("recpntMbtlnb", shipping.get("recpntMbtlnb"));
|
||||||
|
// dlvyMap.put("dlvylcAdresDvCd", shipping.get("dlvylcAdresDvCd"));
|
||||||
|
// dlvyMap.put("dlvylcLnbAdres", shipping.get("dlvylcLnbAdres"));
|
||||||
|
// dlvyMap.put("dlvylcRnmAdres", shipping.get("dlvylcRnmAdres"));
|
||||||
|
// dlvyMap.put("dlvylcAdresDtl", shipping.get("dlvylcAdresDtl"));
|
||||||
|
// dlvyMap.put("dlvyMssageCn", shipping.get("dlvyMssageCn"));
|
||||||
|
// dlvyMap.put("goodsList", itemGoodsList);
|
||||||
|
// dlvyMap.put("prsntList", itempPrsntList); //prsntList.get(i));
|
||||||
|
//
|
||||||
|
// dlvylcListMulti.add(dlvyMap);
|
||||||
|
//
|
||||||
|
// // 추가배송비 계산 (MUL)
|
||||||
|
// if (!StringUtils.isEmpty(itemDlvyAreaAditAt) && "Y".equals(itemDlvyAreaAditAt)) {
|
||||||
|
// if (!StringUtils.isEmpty(defaultAdressAt) && "Y".equals(defaultAdressAt)) {
|
||||||
|
// itemDlvyAmt = itemDlvyAmt.add(itemAreaAditDlvyAmt); // 유료 배송 도서산간 추가 배송비
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// for(DataMap goodsMap : goodsByDlvyGroupList) {
|
||||||
|
//// BigDecimal goodsQy = (int) goodsMap.get("qy"); // 수량
|
||||||
|
// BigDecimal qy = (BigDecimal) goodsMap.get("qy"); // 수량
|
||||||
|
//
|
||||||
|
// if ("03".equals(itemDlvyGroupDvCd) && "Y".equals(itemCntCndUseAt)) {
|
||||||
|
//
|
||||||
|
//// BigDecimal qy = (BigDecimal) goodsList.get(i).get("qy"); // 수량
|
||||||
|
//// BigDecimal qy = new BigDecimal(String.valueOf(goodsList.get(i).get("qy"))); // 수량
|
||||||
|
// BigDecimal unitQy = qy.divide(itemCntCndAditAmt, 0, RoundingMode.CEILING); // 단위수량
|
||||||
|
//
|
||||||
|
// int goodsQy = unitQy.intValue();
|
||||||
|
//
|
||||||
|
// for(int j=0;j<goodsQy;j++) {
|
||||||
|
//
|
||||||
|
// List<LinkedHashMap> itemGoodsList = new ArrayList<>();
|
||||||
|
// itemGoodsList.add(goodsList.get(i));
|
||||||
|
// for (LinkedHashMap<String, Object> itemGoodsMap : itemGoodsList) {
|
||||||
|
// if((goodsQy-j) > 1){
|
||||||
|
// itemGoodsMap.put("qy", itemCntCndAditAmt.intValue());
|
||||||
|
// } else {
|
||||||
|
// itemGoodsMap.put("qy", qy.intValue() - (itemCntCndAditAmt.intValue() * j));
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// List<LinkedHashMap> itempPrsntList = new ArrayList<>();
|
||||||
|
// if(!prsntList.isEmpty()){
|
||||||
|
// itempPrsntList.add(prsntList.get(i));
|
||||||
|
// for (LinkedHashMap<String, Object> itemPrsntMap : itempPrsntList) {
|
||||||
|
// if((goodsQy-j) > 1){
|
||||||
|
// itemPrsntMap.put("qy", itemCntCndAditAmt.intValue());
|
||||||
|
// } else {
|
||||||
|
// itemPrsntMap.put("qy", qy.intValue() - (itemCntCndAditAmt.intValue() * j));
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// LinkedHashMap<String, Object> dlvyMap = new LinkedHashMap<>();
|
||||||
|
//
|
||||||
|
// dlvyMap.put("dftDlvyAmt", itemDftDlvyAmt.intValue());
|
||||||
|
// dlvyMap.put("dlvyAmt", itemDlvyAmt.intValue());
|
||||||
|
// dlvyMap.put("couponInnb", 0);
|
||||||
|
// dlvyMap.put("dwldCouponInnb", 0);
|
||||||
|
// dlvyMap.put("dplctDscntAt", "");
|
||||||
|
// dlvyMap.put("otrCouponSmtmUseAt", "");
|
||||||
|
// dlvyMap.put("mngrFreeDlvyUseAt", "N");
|
||||||
|
// dlvyMap.put("dlvylcAreaCd", shipping.get("dlvylcAreaCd"));
|
||||||
|
// dlvyMap.put("cstmclerCd", shipping.get("cstmclerCd"));
|
||||||
|
// dlvyMap.put("dlvylcZip", shipping.get("dlvylcZip"));
|
||||||
|
// dlvyMap.put("prefcd", shipping.get("prefcd"));
|
||||||
|
// dlvyMap.put("recpntNm", shipping.get("recpntNm"));
|
||||||
|
// dlvyMap.put("recpntMbtlnb", shipping.get("recpntMbtlnb"));
|
||||||
|
// dlvyMap.put("dlvylcAdresDvCd", shipping.get("dlvylcAdresDvCd"));
|
||||||
|
// dlvyMap.put("dlvylcLnbAdres", shipping.get("dlvylcLnbAdres"));
|
||||||
|
// dlvyMap.put("dlvylcRnmAdres", shipping.get("dlvylcRnmAdres"));
|
||||||
|
// dlvyMap.put("dlvylcAdresDtl", shipping.get("dlvylcAdresDtl"));
|
||||||
|
// dlvyMap.put("dlvyMssageCn", shipping.get("dlvyMssageCn"));
|
||||||
|
// dlvyMap.put("goodsList", itemGoodsList);
|
||||||
|
// dlvyMap.put("prsntList", itempPrsntList); //prsntList.get(i));
|
||||||
|
//
|
||||||
|
// dlvylcListMulti.add(dlvyMap);
|
||||||
|
// }
|
||||||
|
// } else {
|
||||||
|
//
|
||||||
|
// BigDecimal qy = new BigDecimal(String.valueOf(goodsList.get(i).get("qy"))); // 수량
|
||||||
|
//
|
||||||
|
// List<LinkedHashMap> itemGoodsList = new ArrayList<>();
|
||||||
|
// itemGoodsList.add(goodsList.get(i));
|
||||||
|
// for (LinkedHashMap<String, Object> itemGoodsMap : itemGoodsList) {
|
||||||
|
// itemGoodsMap.put("qy", qy.intValue());
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// List<LinkedHashMap> itempPrsntList = new ArrayList<>();
|
||||||
|
// if(!prsntList.isEmpty()){
|
||||||
|
// itempPrsntList.add(prsntList.get(i));
|
||||||
|
// for (LinkedHashMap<String, Object> itemPrsntMap : itempPrsntList) {
|
||||||
|
// itemPrsntMap.put("qy", qy.intValue());
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// LinkedHashMap<String, Object> dlvyMap = new LinkedHashMap<>();
|
||||||
|
//
|
||||||
|
// dlvyMap.put("dftDlvyAmt", itemDftDlvyAmt.intValue());
|
||||||
|
// dlvyMap.put("dlvyAmt", itemDlvyAmt.intValue());
|
||||||
|
// dlvyMap.put("couponInnb", 0);
|
||||||
|
// dlvyMap.put("dwldCouponInnb", 0);
|
||||||
|
// dlvyMap.put("dplctDscntAt", "");
|
||||||
|
// dlvyMap.put("otrCouponSmtmUseAt", "");
|
||||||
|
// dlvyMap.put("mngrFreeDlvyUseAt", "N");
|
||||||
|
// dlvyMap.put("dlvylcAreaCd", shipping.get("dlvylcAreaCd"));
|
||||||
|
// dlvyMap.put("cstmclerCd", shipping.get("cstmclerCd"));
|
||||||
|
// dlvyMap.put("dlvylcZip", shipping.get("dlvylcZip"));
|
||||||
|
// dlvyMap.put("prefcd", shipping.get("prefcd"));
|
||||||
|
// dlvyMap.put("recpntNm", shipping.get("recpntNm"));
|
||||||
|
// dlvyMap.put("recpntMbtlnb", shipping.get("recpntMbtlnb"));
|
||||||
|
// dlvyMap.put("dlvylcAdresDvCd", shipping.get("dlvylcAdresDvCd"));
|
||||||
|
// dlvyMap.put("dlvylcLnbAdres", shipping.get("dlvylcLnbAdres"));
|
||||||
|
// dlvyMap.put("dlvylcRnmAdres", shipping.get("dlvylcRnmAdres"));
|
||||||
|
// dlvyMap.put("dlvylcAdresDtl", shipping.get("dlvylcAdresDtl"));
|
||||||
|
// dlvyMap.put("dlvyMssageCn", shipping.get("dlvyMssageCn"));
|
||||||
|
// dlvyMap.put("goodsList", itemGoodsList);
|
||||||
|
// dlvyMap.put("prsntList", itempPrsntList); //prsntList.get(i));
|
||||||
|
//
|
||||||
|
// dlvylcListMulti.add(dlvyMap);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// } // for
|
||||||
|
//
|
||||||
|
// // 배송지가 1개 이상이면 여러곳 배송으로 변경
|
||||||
|
// if(dlvylcListMulti.size() > 1) {
|
||||||
|
// ordrTyCd = "05";
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// } else if ("05".equals(ordrTyCd)) { // 여러곳 배송, 선물하기
|
||||||
|
// if (!CollectionUtils.isEmpty(multiOrdrDlvylcMap)) {
|
||||||
|
// // 배송지 리스트
|
||||||
|
// dlvylcListMulti = (List<LinkedHashMap<String, Object>>) multiOrdrDlvylcMap.get("dlvylc");
|
||||||
|
// log.debug("dlvylcListMulti : {}", dlvylcListMulti);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// /** 여러곳 배송 배송지 세팅 종료 */
|
||||||
|
//
|
||||||
|
//// dlvyAmtByDlvyGroupList.add(dlvyGroupMap); // 배송그룹별 배송비 목록
|
||||||
|
// } // for : dlvyGroupEtry
|
||||||
|
|
||||||
|
|
||||||
/** 여러곳 배송 배송지 세팅 시작 */
|
/** 여러곳 배송 배송지 세팅 시작 */
|
||||||
LinkedHashMap<String, Object> multiOrdrDlvylcMap = new LinkedHashMap<>();
|
LinkedHashMap<String, Object> multiOrdrDlvylcMap = new LinkedHashMap<>();
|
||||||
List<LinkedHashMap<String, Object>> dlvylcListMulti = new ArrayList<>();
|
List<LinkedHashMap<String, Object>> dlvylcListMulti = new ArrayList<>();
|
||||||
@@ -169,7 +477,6 @@ public class BOOrderService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if ("03".equals(itemDlvyGroupDvCd) && "Y".equals(itemCntCndUseAt)) {
|
if ("03".equals(itemDlvyGroupDvCd) && "Y".equals(itemCntCndUseAt)) {
|
||||||
|
|
||||||
// BigDecimal qy = (BigDecimal) goodsList.get(i).get("qy"); // 수량
|
// BigDecimal qy = (BigDecimal) goodsList.get(i).get("qy"); // 수량
|
||||||
@@ -271,7 +578,7 @@ public class BOOrderService {
|
|||||||
dlvylcListMulti.add(dlvyMap);
|
dlvylcListMulti.add(dlvyMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
} // for
|
||||||
|
|
||||||
// 배송지가 1개 이상이면 여러곳 배송으로 변경
|
// 배송지가 1개 이상이면 여러곳 배송으로 변경
|
||||||
if(dlvylcListMulti.size() > 1) {
|
if(dlvylcListMulti.size() > 1) {
|
||||||
@@ -1111,11 +1418,13 @@ public class BOOrderService {
|
|||||||
BOOrderSetleVO setleVO = new BOOrderSetleVO();
|
BOOrderSetleVO setleVO = new BOOrderSetleVO();
|
||||||
|
|
||||||
BigDecimal rlSetleAmt = new BigDecimal((String) setle.get("rlSetleAmt"));
|
BigDecimal rlSetleAmt = new BigDecimal((String) setle.get("rlSetleAmt"));
|
||||||
|
BigDecimal wonRlSetleAmt = new BigDecimal((String) setle.get("wonRlSetleAmt"));
|
||||||
|
|
||||||
setleVO.setSopmalCd(sopmalCd);
|
setleVO.setSopmalCd(sopmalCd);
|
||||||
setleVO.setOrdrInnb(ordrInnb);
|
setleVO.setOrdrInnb(ordrInnb);
|
||||||
setleVO.setGoodsNm(goodsNm);
|
setleVO.setGoodsNm(goodsNm);
|
||||||
setleVO.setSetleAmt(rlSetleAmt);
|
setleVO.setSetleAmt(rlSetleAmt);
|
||||||
|
setleVO.setWonSetleAmt(wonRlSetleAmt);
|
||||||
|
|
||||||
String pgCmpnyNm = (String) setle.get("pgCmpnyNm");
|
String pgCmpnyNm = (String) setle.get("pgCmpnyNm");
|
||||||
String setleTyCd = (String) setle.get("setleTyCd");
|
String setleTyCd = (String) setle.get("setleTyCd");
|
||||||
@@ -1679,6 +1988,17 @@ public class BOOrderService {
|
|||||||
orderVO.setRlSetleAmt(new BigDecimal(rlSetleAmt));
|
orderVO.setRlSetleAmt(new BigDecimal(rlSetleAmt));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String wonRlSetleAmt = (String) setle.get("wonRlSetleAmt"); // 실결제금액(원화)
|
||||||
|
|
||||||
|
if (StringUtils.hasText(wonRlSetleAmt)) {
|
||||||
|
orderVO.setWonRlSetleAmt(new BigDecimal(wonRlSetleAmt));
|
||||||
|
}
|
||||||
|
|
||||||
|
DataMap paramMap = new DataMap();
|
||||||
|
paramMap.put("sopmalCd", orderVO.getSopmalCd());
|
||||||
|
BigDecimal buyRate = boOrdrMapper.selectBuyRate(paramMap); // 살때환율
|
||||||
|
orderVO.setBuyRate(buyRate);
|
||||||
|
|
||||||
String setleTyCd = (String) setle.get("setleTyCd");
|
String setleTyCd = (String) setle.get("setleTyCd");
|
||||||
|
|
||||||
if ("02".equals(setleTyCd)) { //|| "04".equals(setleTyCd) || "05".equals(setleTyCd)) { // KCP 무통장, 가상계좌, 가상계좌(에스크로) leeks
|
if ("02".equals(setleTyCd)) { //|| "04".equals(setleTyCd) || "05".equals(setleTyCd)) { // KCP 무통장, 가상계좌, 가상계좌(에스크로) leeks
|
||||||
|
|||||||
@@ -20,6 +20,8 @@ public class BOOrderSetleVO extends AbstractVO {
|
|||||||
|
|
||||||
private BigDecimal setleAmt;
|
private BigDecimal setleAmt;
|
||||||
|
|
||||||
|
private BigDecimal wonSetleAmt;
|
||||||
|
|
||||||
private String pgCmpnyNm;
|
private String pgCmpnyNm;
|
||||||
|
|
||||||
private String setleTyCd;
|
private String setleTyCd;
|
||||||
|
|||||||
@@ -40,7 +40,11 @@ public class BOOrderVO extends AbstractVO {
|
|||||||
|
|
||||||
private BigDecimal rlSetleAmt = new BigDecimal("0");
|
private BigDecimal rlSetleAmt = new BigDecimal("0");
|
||||||
|
|
||||||
private BigDecimal enuriAmt = new BigDecimal("0");;
|
private BigDecimal enuriAmt = new BigDecimal("0");
|
||||||
|
|
||||||
|
private BigDecimal wonRlSetleAmt = new BigDecimal("0");
|
||||||
|
|
||||||
|
private BigDecimal buyRate = new BigDecimal("0");
|
||||||
|
|
||||||
private String ordrrNm;
|
private String ordrrNm;
|
||||||
|
|
||||||
|
|||||||
@@ -24,6 +24,8 @@
|
|||||||
, ORDR_TY_CD
|
, ORDR_TY_CD
|
||||||
, RL_SETLE_AMT
|
, RL_SETLE_AMT
|
||||||
, ENURI_AMT
|
, ENURI_AMT
|
||||||
|
, WON_RL_SETLE_AMT
|
||||||
|
, BUY_RATE
|
||||||
, ORDRR_NM
|
, ORDRR_NM
|
||||||
, ORDRR_TELNB
|
, ORDRR_TELNB
|
||||||
, ORDRR_MBTLNB
|
, ORDRR_MBTLNB
|
||||||
@@ -84,6 +86,8 @@
|
|||||||
, #{ordrTyCd}
|
, #{ordrTyCd}
|
||||||
, #{rlSetleAmt}
|
, #{rlSetleAmt}
|
||||||
, #{enuriAmt}
|
, #{enuriAmt}
|
||||||
|
, #{wonRlSetleAmt}
|
||||||
|
, #{buyRate}
|
||||||
, #{ordrrNm}
|
, #{ordrrNm}
|
||||||
, HEX(AES_ENCRYPT(REPLACE(#{ordrrTelnb}, '-', ''), '1df5be2f7e90ae36'))
|
, HEX(AES_ENCRYPT(REPLACE(#{ordrrTelnb}, '-', ''), '1df5be2f7e90ae36'))
|
||||||
, HEX(AES_ENCRYPT(REPLACE(#{ordrrMbtlnb}, '-', ''), '1df5be2f7e90ae36'))
|
, HEX(AES_ENCRYPT(REPLACE(#{ordrrMbtlnb}, '-', ''), '1df5be2f7e90ae36'))
|
||||||
@@ -467,6 +471,7 @@
|
|||||||
, SOPMAL_CD
|
, SOPMAL_CD
|
||||||
, ORDR_INNB
|
, ORDR_INNB
|
||||||
, SETLE_AMT
|
, SETLE_AMT
|
||||||
|
, WON_SETLE_AMT
|
||||||
, PG_CMPNY_NM
|
, PG_CMPNY_NM
|
||||||
, SETLE_TY_CD
|
, SETLE_TY_CD
|
||||||
, PG_INNB
|
, PG_INNB
|
||||||
@@ -491,6 +496,7 @@
|
|||||||
, #{sopmalCd}
|
, #{sopmalCd}
|
||||||
, #{ordrInnb}
|
, #{ordrInnb}
|
||||||
, #{setleAmt}
|
, #{setleAmt}
|
||||||
|
, #{wonSetleAmt}
|
||||||
, #{pgCmpnyNm}
|
, #{pgCmpnyNm}
|
||||||
, #{setleTyCd}
|
, #{setleTyCd}
|
||||||
, #{pgInnb}
|
, #{pgInnb}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
|
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
|
||||||
<spring:eval expression="@environment.getProperty('currency-unit.default')" var="curUnit"/>
|
<spring:eval expression="@environment.getProperty('currency-unit.default')" var="curUnit"/>
|
||||||
|
<spring:eval expression="@environment.getProperty('currency-unit.KR')" var="krUnit"/>
|
||||||
<%--
|
<%--
|
||||||
Class Name : MbrPurchsC.jsp
|
Class Name : MbrPurchsC.jsp
|
||||||
Description : 회원 구매하기
|
Description : 회원 구매하기
|
||||||
@@ -3291,16 +3291,18 @@
|
|||||||
useMlgAmt = parseFloat(parsedUseMlg.useMlgAmt);
|
useMlgAmt = parseFloat(parsedUseMlg.useMlgAmt);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let goodsList = localStorage.getItem('goodsList');
|
let goodsList = localStorage.getItem('goodsList');
|
||||||
let parsedGoodsList = JSON.parse(goodsList);
|
let parsedGoodsList = fn_is_empty(goodsList) ? '' : JSON.parse(goodsList);
|
||||||
let goodsDscntDtlsList = parsedGoodsList[0].goodsDscntDtlsList;
|
let goodsDscntDtlsList = fn_is_empty(parsedGoodsList) ? '' : parsedGoodsList[0].goodsDscntDtlsList;
|
||||||
|
|
||||||
|
|
||||||
let totalDscntAmt = 0;
|
let totalDscntAmt = 0;
|
||||||
|
|
||||||
|
if(!fn_is_empty(goodsDscntDtlsList)){
|
||||||
goodsDscntDtlsList.forEach(item => {
|
goodsDscntDtlsList.forEach(item => {
|
||||||
totalDscntAmt += item.dscntAmt;
|
totalDscntAmt += item.dscntAmt;
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
let goodsDscntAmt = 0;
|
let goodsDscntAmt = 0;
|
||||||
|
|
||||||
@@ -4435,7 +4437,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="cartOrderBox__total" style="margin-top: 5px;">
|
<div class="cartOrderBox__total" style="margin-top: 5px;">
|
||||||
<span class="cartOrderBox__totalTh"></span>
|
<span class="cartOrderBox__totalTh"></span>
|
||||||
<span class="cartOrderBox__totalTd"><span id="setleAmtKrSapn" class="comma">0</span><span class="priceUnit">원</span></span>
|
<span class="cartOrderBox__totalTd"><span id="setleAmtKrSapn" class="comma">0</span><span class="priceUnit">${krUnit}</span></span>
|
||||||
</div>
|
</div>
|
||||||
<%--광고 수신 동의 여부가 null 일 시 --%>
|
<%--광고 수신 동의 여부가 null 일 시 --%>
|
||||||
<c:if test="${empty purchsr.marktRecptnAgreAt}">
|
<c:if test="${empty purchsr.marktRecptnAgreAt}">
|
||||||
|
|||||||
@@ -72,6 +72,7 @@
|
|||||||
<jsp:include page="/WEB-INF/views/comm/Header.jsp"/>
|
<jsp:include page="/WEB-INF/views/comm/Header.jsp"/>
|
||||||
<spring:eval expression="@environment.getProperty('sopmalfo.common.fileupload.cdnurl')" var="cdnurl"/>
|
<spring:eval expression="@environment.getProperty('sopmalfo.common.fileupload.cdnurl')" var="cdnurl"/>
|
||||||
<spring:eval expression="@environment.getProperty('currency-unit.default')" var="curUnit"/>
|
<spring:eval expression="@environment.getProperty('currency-unit.default')" var="curUnit"/>
|
||||||
|
<spring:eval expression="@environment.getProperty('currency-unit.KR')" var="krUnit"/>
|
||||||
<!-- 메인 컨텐츠 영역 -->
|
<!-- 메인 컨텐츠 영역 -->
|
||||||
<main>
|
<main>
|
||||||
<c:set var="order" value="${data.order}"/>
|
<c:set var="order" value="${data.order}"/>
|
||||||
@@ -450,7 +451,7 @@
|
|||||||
</c:if>
|
</c:if>
|
||||||
<tr>
|
<tr>
|
||||||
<th>결제금액</th>
|
<th>결제금액</th>
|
||||||
<td><span class="comma"><fmt:formatNumber value="${setle.setleAmt}" pattern="#,###"/></span>${curUnit}</td>
|
<td><span class="comma"><fmt:formatNumber value="${setle.setleAmt}" pattern="#,###"/></span>${curUnit} / <span class="comma"><fmt:formatNumber value="${setle.wonSetleAmt}" pattern="#,###"/></span>${krUnit}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>결제일시</th>
|
<th>결제일시</th>
|
||||||
@@ -534,7 +535,7 @@
|
|||||||
</ul>
|
</ul>
|
||||||
<div class="cartOrderBox__total">
|
<div class="cartOrderBox__total">
|
||||||
<span class="cartOrderBox__totalTh">결제금액</span>
|
<span class="cartOrderBox__totalTh">결제금액</span>
|
||||||
<span class="cartOrderBox__totalTd"><span class="comma"><fmt:formatNumber value="${total.setleAmt}" pattern="#,###"/></span><span class="priceUnit">${curUnit}</span></span>
|
<span class="cartOrderBox__totalTd"><span class="comma"><fmt:formatNumber value="${total.setleAmt}" pattern="#,###"/></span><span class="priceUnit">${curUnit}</span> / <span class="comma"><fmt:formatNumber value="${total.wonRlSetleAmt}" pattern="#,###"/></span><span class="priceUnit">${krUnit}</span></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<spring:eval expression="@environment.getProperty('spring.profiles.active')" var="profiles"/>
|
<spring:eval expression="@environment.getProperty('spring.profiles.active')" var="profiles"/>
|
||||||
<spring:eval expression="@environment.getProperty('currency-unit.default')" var="curUnit"/>
|
<spring:eval expression="@environment.getProperty('currency-unit.default')" var="curUnit"/>
|
||||||
|
<spring:eval expression="@environment.getProperty('currency-unit.KR')" var="krUnit"/>
|
||||||
<c:if test="${profiles eq 'stage' && originalHost eq 'new.chamdahan.com'}">
|
<c:if test="${profiles eq 'stage' && originalHost eq 'new.chamdahan.com'}">
|
||||||
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />
|
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />
|
||||||
</c:if>
|
</c:if>
|
||||||
@@ -1484,7 +1485,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="cartOrderBox__total" style="margin-top: 5px;">
|
<div class="cartOrderBox__total" style="margin-top: 5px;">
|
||||||
<span class="cartOrderBox__totalTh"></span>
|
<span class="cartOrderBox__totalTh"></span>
|
||||||
<span class="cartOrderBox__totalTd"><span id="setleAmtKrSapn" class="comma">0</span><span class="priceUnit">원</span></span>
|
<span class="cartOrderBox__totalTd"><span id="setleAmtKrSapn" class="comma">0</span><span class="priceUnit">${krUnit}</span></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="">
|
<div class="">
|
||||||
<span class="text">※ 쿠폰 적용가는 최종 결제창에서 확인 가능합니다.</span>
|
<span class="text">※ 쿠폰 적용가는 최종 결제창에서 확인 가능합니다.</span>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
|
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
|
||||||
<spring:eval expression="@environment.getProperty('sopmalfo.common.fileupload.cdnurl')" var="cdnurl"/>
|
<spring:eval expression="@environment.getProperty('sopmalfo.common.fileupload.cdnurl')" var="cdnurl"/>
|
||||||
<spring:eval expression="@environment.getProperty('currency-unit.default')" var="curUnit"/>
|
<spring:eval expression="@environment.getProperty('currency-unit.default')" var="curUnit"/>
|
||||||
|
<spring:eval expression="@environment.getProperty('currency-unit.KR')" var="krUnit"/>
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="ko">
|
<html lang="ko">
|
||||||
@@ -2669,6 +2669,7 @@
|
|||||||
$('#enuriForm').find('#stdrGoodsSetleAmt').val(data.stdrGoodsSetleAmt);
|
$('#enuriForm').find('#stdrGoodsSetleAmt').val(data.stdrGoodsSetleAmt);
|
||||||
$('#enuriForm').find('#cartCoupondlvyAmt').val(data.dlvyAmt);
|
$('#enuriForm').find('#cartCoupondlvyAmt').val(data.dlvyAmt);
|
||||||
$('#setleForm').find('#rlSetleAmt').val(data.setleAmt);
|
$('#setleForm').find('#rlSetleAmt').val(data.setleAmt);
|
||||||
|
$('#setleForm').find('#wonRlSetleAmt').val(data.setleAmtKr);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!fn_is_empty(data.lmttUseMlg)) {
|
if (!fn_is_empty(data.lmttUseMlg)) {
|
||||||
@@ -4117,6 +4118,7 @@
|
|||||||
|
|
||||||
<form id="setleForm">
|
<form id="setleForm">
|
||||||
<input type="hidden" name="rlSetleAmt" id="rlSetleAmt" value="">
|
<input type="hidden" name="rlSetleAmt" id="rlSetleAmt" value="">
|
||||||
|
<input type="hidden" name="wonRlSetleAmt" id="wonRlSetleAmt" value="">
|
||||||
<input type="hidden" name="lmttUseMlg" id="lmttUseMlg" value="">
|
<input type="hidden" name="lmttUseMlg" id="lmttUseMlg" value="">
|
||||||
<input type="hidden" name="lmttUseCashMlg" id="lmttUseCashMlg" value="">
|
<input type="hidden" name="lmttUseCashMlg" id="lmttUseCashMlg" value="">
|
||||||
<input type="hidden" name="siteCdMid" id="siteCdMid" value="<c:out value="${payInfo.kcpMid}"/>">
|
<input type="hidden" name="siteCdMid" id="siteCdMid" value="<c:out value="${payInfo.kcpMid}"/>">
|
||||||
@@ -4511,7 +4513,7 @@
|
|||||||
<div class="bottomFixedControls__inner">
|
<div class="bottomFixedControls__inner">
|
||||||
<dl class="bottomFixedControls__totalPrice">
|
<dl class="bottomFixedControls__totalPrice">
|
||||||
<dt>총 금액</dt>
|
<dt>총 금액</dt>
|
||||||
<dd><span class="setleAmtSapn comma"></span><span class="priceUnit">${curUnit}</span> / <span class="setleAmtKrSapn comma"></span><span class="priceUnit">원</span></dd>
|
<dd><span class="setleAmtSapn comma"></span><span class="priceUnit">${curUnit}</span> / <span class="setleAmtKrSapn comma"></span><span class="priceUnit">${krUnit}</span></dd>
|
||||||
</dl>
|
</dl>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottomFixedControls__inner">
|
<div class="bottomFixedControls__inner">
|
||||||
|
|||||||
@@ -80,6 +80,7 @@
|
|||||||
<header class="header header--sub">
|
<header class="header header--sub">
|
||||||
<jsp:include page="/WEB-INF/views/comm/mobile/Header.jsp"/>
|
<jsp:include page="/WEB-INF/views/comm/mobile/Header.jsp"/>
|
||||||
<spring:eval expression="@environment.getProperty('currency-unit.default')" var="curUnit"/>
|
<spring:eval expression="@environment.getProperty('currency-unit.default')" var="curUnit"/>
|
||||||
|
<spring:eval expression="@environment.getProperty('currency-unit.KR')" var="krUnit"/>
|
||||||
</header>
|
</header>
|
||||||
<!-- 하단 탭바 -->
|
<!-- 하단 탭바 -->
|
||||||
<jsp:include page="/WEB-INF/views/comm/mobile/TabBar.jsp"/>
|
<jsp:include page="/WEB-INF/views/comm/mobile/TabBar.jsp"/>
|
||||||
@@ -405,7 +406,7 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<th>총 결제금액</th>
|
<th>총 결제금액</th>
|
||||||
<td>
|
<td>
|
||||||
<span class="comma"><fmt:formatNumber value="${total.setleAmt}" pattern="#,###"/></span>${curUnit}
|
<span class="comma"><fmt:formatNumber value="${total.setleAmt}" pattern="#,###"/></span>${curUnit} / <span class="comma"><fmt:formatNumber value="${total.wonRlSetleAmt}" pattern="#,###"/></span>${krUnit}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tfoot>
|
</tfoot>
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<spring:eval expression="@environment.getProperty('spring.profiles.active')" var="profiles"/>
|
<spring:eval expression="@environment.getProperty('spring.profiles.active')" var="profiles"/>
|
||||||
<spring:eval expression="@environment.getProperty('currency-unit.default')" var="curUnit"/>
|
<spring:eval expression="@environment.getProperty('currency-unit.default')" var="curUnit"/>
|
||||||
|
<spring:eval expression="@environment.getProperty('currency-unit.KR')" var="krUnit"/>
|
||||||
<c:if test="${profiles eq 'stage' && originalHost eq 'new.chamdahan.com'}">
|
<c:if test="${profiles eq 'stage' && originalHost eq 'new.chamdahan.com'}">
|
||||||
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />
|
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />
|
||||||
</c:if>
|
</c:if>
|
||||||
@@ -1442,7 +1443,7 @@
|
|||||||
<div class="bottomFixedControls__inner">
|
<div class="bottomFixedControls__inner">
|
||||||
<dl class="bottomFixedControls__totalPrice">
|
<dl class="bottomFixedControls__totalPrice">
|
||||||
<dt>총 금액</dt>
|
<dt>총 금액</dt>
|
||||||
<dd><span id="totalAmtSapn" class="comma">0</span><span class="priceUnit">${curUnit}</span> / <span id="totalAmtKrSapn" class="comma">0</span><span class="priceUnit">원</span></dd>
|
<dd><span id="totalAmtSapn" class="comma">0</span><span class="priceUnit">${curUnit}</span> / <span id="totalAmtKrSapn" class="comma">0</span><span class="priceUnit">${krUnit}</span></dd>
|
||||||
</dl>
|
</dl>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottomFixedControls__inner">
|
<div class="bottomFixedControls__inner">
|
||||||
|
|||||||
Reference in New Issue
Block a user