Merge branch 'test6.9.10' of http://git.yoho.cn/ufo/yohoufo-fore into test6.9.10
Showing
1 changed file
with
203 additions
and
15 deletions
@@ -6,11 +6,12 @@ import com.yoho.message.sdk.service.ufo.IUFOSendService; | @@ -6,11 +6,12 @@ import com.yoho.message.sdk.service.ufo.IUFOSendService; | ||
6 | import com.yohobuy.ufo.model.enums.InboxBusinessTypeEnum; | 6 | import com.yohobuy.ufo.model.enums.InboxBusinessTypeEnum; |
7 | import com.yohobuy.ufo.model.order.common.AppraiseOrderStatus; | 7 | import com.yohobuy.ufo.model.order.common.AppraiseOrderStatus; |
8 | import com.yohobuy.ufo.model.order.common.SuperEnterStageLevel; | 8 | import com.yohobuy.ufo.model.order.common.SuperEnterStageLevel; |
9 | +import com.yohobuy.ufo.model.order.vo.GoodsVo; | ||
10 | +import com.yohobuy.ufo.model.order.vo.ProductVo; | ||
11 | +import com.yohoufo.dal.order.AppraiseOrderGoodsMapper; | ||
12 | +import com.yohoufo.dal.order.AppraiseOrderStorageMapper; | ||
9 | import com.yohoufo.dal.order.SellerOrderMapper; | 13 | import com.yohoufo.dal.order.SellerOrderMapper; |
10 | -import com.yohoufo.dal.order.model.AppraiseOrder; | ||
11 | -import com.yohoufo.dal.order.model.BuyerOrder; | ||
12 | -import com.yohoufo.dal.order.model.SellerOrder; | ||
13 | -import com.yohoufo.dal.order.model.SellerOrderGoods; | 14 | +import com.yohoufo.dal.order.model.*; |
14 | import com.yohoufo.dal.product.ProductMapper; | 15 | import com.yohoufo.dal.product.ProductMapper; |
15 | import com.yohoufo.dal.product.model.Product; | 16 | import com.yohoufo.dal.product.model.Product; |
16 | import com.yohoufo.inboxclient.model.InBoxResponse; | 17 | import com.yohoufo.inboxclient.model.InBoxResponse; |
@@ -30,7 +31,7 @@ import java.math.BigDecimal; | @@ -30,7 +31,7 @@ import java.math.BigDecimal; | ||
30 | import java.util.Arrays; | 31 | import java.util.Arrays; |
31 | import java.util.List; | 32 | import java.util.List; |
32 | import java.util.Map; | 33 | import java.util.Map; |
33 | -import java.util.Optional; | 34 | +import java.util.Objects; |
34 | import java.util.concurrent.ArrayBlockingQueue; | 35 | import java.util.concurrent.ArrayBlockingQueue; |
35 | import java.util.concurrent.ExecutorService; | 36 | import java.util.concurrent.ExecutorService; |
36 | import java.util.concurrent.ThreadPoolExecutor; | 37 | import java.util.concurrent.ThreadPoolExecutor; |
@@ -62,6 +63,12 @@ public class InBoxFacade extends BaseNoticeFacade{ | @@ -62,6 +63,12 @@ public class InBoxFacade extends BaseNoticeFacade{ | ||
62 | private SellerOrderMapper sellerOrderMapper; | 63 | private SellerOrderMapper sellerOrderMapper; |
63 | 64 | ||
64 | @Autowired | 65 | @Autowired |
66 | + private AppraiseOrderGoodsMapper appraiseOrderGoodsMapper; | ||
67 | + | ||
68 | + @Autowired | ||
69 | + private AppraiseOrderStorageMapper appraiseOrderStorageMapper; | ||
70 | + | ||
71 | + @Autowired | ||
65 | private IUFOSendService ufoSendService; | 72 | private IUFOSendService ufoSendService; |
66 | 73 | ||
67 | @Autowired | 74 | @Autowired |
@@ -1016,52 +1023,233 @@ public class InBoxFacade extends BaseNoticeFacade{ | @@ -1016,52 +1023,233 @@ public class InBoxFacade extends BaseNoticeFacade{ | ||
1016 | log.warn("notice user renew deposit goods fail, uid {}, sog {}", uid, sog, e); | 1023 | log.warn("notice user renew deposit goods fail, uid {}, sog {}", uid, sog, e); |
1017 | } | 1024 | } |
1018 | } | 1025 | } |
1019 | - | 1026 | + GoodsVo buildProductInfo(long orderCode){ |
1027 | + AppraiseOrderGoods paog = appraiseOrderGoodsMapper.selectOneByOrderCode(orderCode); | ||
1028 | + AppraiseOrderStorage paos = appraiseOrderStorageMapper.selectByOrderCode(orderCode); | ||
1029 | + return GoodsVo.builder() | ||
1030 | + .productName(paog.getProductName()) | ||
1031 | + .productCode(paog.getProductCode()) | ||
1032 | + .sizeName(Objects.nonNull(paos) ? paos.getSizeName() : null) | ||
1033 | + .build(); | ||
1034 | + } | ||
1020 | 1035 | ||
1021 | public void sellerDepositOrderNotice(int uid,long orderCode, AppraiseOrderStatus targetStatus){ | 1036 | public void sellerDepositOrderNotice(int uid,long orderCode, AppraiseOrderStatus targetStatus){ |
1037 | + log.info("enter sellerDepositOrderNotice uid {} orderCode {} targetStatus {}", uid, orderCode, targetStatus); | ||
1038 | + try { | ||
1039 | + // | ||
1040 | + InboxBusinessTypeEnum inboxType = null; | ||
1041 | + InboxBusinessTypeEnum smsType = null; | ||
1042 | + | ||
1043 | + Object[] inboxParams = null, | ||
1044 | + smsParams = null; | ||
1022 | switch (targetStatus){ | 1045 | switch (targetStatus){ |
1023 | case WAITING_PAY: | 1046 | case WAITING_PAY: |
1024 | - | 1047 | + //inbox |
1048 | + inboxType = InboxBusinessTypeEnum.NOTICE_SELLER_DEPOSIT_ORDER_WAITING_PAY; | ||
1049 | + inboxParams = new Object[]{orderCode}; | ||
1025 | break; | 1050 | break; |
1026 | 1051 | ||
1027 | case CANCEL_BEFORE_PAY: | 1052 | case CANCEL_BEFORE_PAY: |
1028 | - | 1053 | + inboxType = InboxBusinessTypeEnum.NOTICE_SELLER_DEPOSIT_ORDER_SELF_CANCEL; |
1054 | + inboxParams = new Object[]{orderCode}; | ||
1029 | break; | 1055 | break; |
1030 | - case HAS_PAYED: | ||
1031 | 1056 | ||
1057 | + case HAS_PAYED: | ||
1058 | + inboxType = InboxBusinessTypeEnum.NOTICE_SELLER_DEPOSIT_ORDER_PAID; | ||
1059 | + inboxParams = new Object[]{orderCode}; | ||
1060 | + //sms | ||
1061 | + smsType = InboxBusinessTypeEnum.SMS_NOTICE_SELLER_DEPOSIT_ORDER_PAID; | ||
1062 | + smsParams = new Object[]{orderCode}; | ||
1032 | break; | 1063 | break; |
1033 | case CANCEL_BEFORE_DELIVER: | 1064 | case CANCEL_BEFORE_DELIVER: |
1034 | - | 1065 | + inboxType = InboxBusinessTypeEnum.NOTICE_SELLER_DEPOSIT_ORDER_CANCEL_BEFORE_DELIVER; |
1066 | + inboxParams = new Object[]{orderCode}; | ||
1067 | + //sms | ||
1068 | + smsType = InboxBusinessTypeEnum.SMS_NOTICE_SELLER_DEPOSIT_ORDER_CANCEL_BEFORE_DELIVER; | ||
1069 | + smsParams = new Object[]{orderCode}; | ||
1035 | break; | 1070 | break; |
1036 | case SEND_OUT_TIMEOUT: | 1071 | case SEND_OUT_TIMEOUT: |
1037 | - | 1072 | + inboxType = InboxBusinessTypeEnum.NOTICE_SELLER_DEPOSIT_ORDER_DELIVER_TIMEOUT; |
1073 | + inboxParams = new Object[]{orderCode}; | ||
1074 | + //sms | ||
1075 | + smsType = InboxBusinessTypeEnum.SMS_NOTICE_SELLER_DEPOSIT_ORDER_DELIVER_TIMEOUT; | ||
1076 | + smsParams = new Object[]{orderCode}; | ||
1038 | break; | 1077 | break; |
1039 | case PLATFORM_RECEIVE: | 1078 | case PLATFORM_RECEIVE: |
1040 | - | 1079 | + inboxType = InboxBusinessTypeEnum.NOTICE_SELLER_DEPOSIT_ORDER_PLATFORM_RECEIVE; |
1080 | + inboxParams = new Object[]{orderCode}; | ||
1081 | + //sms | ||
1082 | + smsType = InboxBusinessTypeEnum.SMS_NOTICE_SELLER_DEPOSIT_ORDER_PLATFORM_RECEIVE; | ||
1083 | + smsParams = new Object[]{orderCode}; | ||
1041 | break; | 1084 | break; |
1042 | case SHAM_SEND_OUT: | 1085 | case SHAM_SEND_OUT: |
1043 | - | 1086 | + inboxType = InboxBusinessTypeEnum.NOTICE_SELLER_DEPOSIT_ORDER_MISS_GOODS; |
1087 | + // get product info 「商品名称」「尺码」「货号」 | ||
1088 | + inboxParams = buildParams4SellerDepositOrder(orderCode); | ||
1044 | break; | 1089 | break; |
1045 | case QUALITY_CHECK_FAKE: | 1090 | case QUALITY_CHECK_FAKE: |
1046 | - | 1091 | + inboxType = InboxBusinessTypeEnum.NOTICE_SELLER_DEPOSIT_ORDER_FIND_FLAW_OR_BIGGER; |
1092 | + //get product info 「商品名称」「尺码」「货号」 | ||
1093 | + inboxParams = buildParams4SellerDepositOrder(orderCode); | ||
1047 | break; | 1094 | break; |
1048 | 1095 | ||
1049 | case PLATFORM_APPRAISE_UNSURE: | 1096 | case PLATFORM_APPRAISE_UNSURE: |
1097 | + inboxType = InboxBusinessTypeEnum.NOTICE_SELLER_DEPOSIT_ORDER_APPRAISE_UNSURE; | ||
1098 | + //get product info 「商品名称」「尺码」「货号」 | ||
1099 | + inboxParams = buildParams4SellerDepositOrder(orderCode); | ||
1050 | 1100 | ||
1051 | break; | 1101 | break; |
1052 | case JUDGE_PASS: | 1102 | case JUDGE_PASS: |
1053 | - | 1103 | + inboxType = InboxBusinessTypeEnum.NOTICE_SELLER_DEPOSIT_ORDER_APPRAISE_PASS; |
1104 | + //get product info 「商品名称」「尺码」「货号」 | ||
1105 | + inboxParams = buildParams4SellerDepositOrder(orderCode); | ||
1054 | break; | 1106 | break; |
1055 | 1107 | ||
1056 | case CHECKING_FAKE: | 1108 | case CHECKING_FAKE: |
1109 | + inboxType = InboxBusinessTypeEnum.NOTICE_SELLER_DEPOSIT_ORDER_APPRAISE_FAKE; | ||
1110 | + //get product info 「商品名称」「尺码」「货号」 | ||
1111 | + inboxParams = buildParams4SellerDepositOrder(orderCode); | ||
1112 | + break; | ||
1113 | + | ||
1114 | + case FINISH: | ||
1115 | + inboxType = InboxBusinessTypeEnum.NOTICE_SELLER_DEPOSIT_ORDER_FINISH_APPRAISE_SUMMARY; | ||
1116 | + inboxParams = new Object[]{orderCode}; | ||
1117 | + //sms | ||
1118 | + smsType = InboxBusinessTypeEnum.SMS_NOTICE_SELLER_DEPOSIT_ORDER_FINISH_APPRAISE_SUMMARY; | ||
1119 | + smsParams = new Object[]{orderCode}; | ||
1120 | + break; | ||
1121 | + } | ||
1122 | + | ||
1123 | + | ||
1124 | + Notice notice = newNotice(uid).withLogPrefix("seller Deposit Order Notice 4 " + targetStatus.name()); | ||
1125 | + if (Objects.nonNull(inboxType)){ | ||
1126 | + notice.withInBox(inboxType, inboxParams); | ||
1127 | + } | ||
1128 | + if (Objects.nonNull(smsType)) { | ||
1129 | + notice.withSms(smsType, smsParams); | ||
1130 | + } | ||
1131 | + notice.send(); | ||
1132 | + } catch (Exception e) { | ||
1133 | + log.warn("notice seller deposit order fail, uid {}, orderCode {} status {}", uid, orderCode, targetStatus, e); | ||
1134 | + } | ||
1135 | + } | ||
1136 | + | ||
1137 | + public void paidAppraiseOrderNotice(int uid,long orderCode, AppraiseOrderStatus targetStatus){ | ||
1138 | + log.info("enter paidAppraiseOrderNotice uid {} orderCode {} targetStatus {}", uid, orderCode, targetStatus); | ||
1139 | + try { | ||
1140 | + // | ||
1141 | + InboxBusinessTypeEnum inboxType = null; | ||
1142 | + InboxBusinessTypeEnum smsType = null; | ||
1143 | + | ||
1144 | + switch (targetStatus){ | ||
1145 | + case HAS_PAYED: | ||
1146 | + inboxType = InboxBusinessTypeEnum.NOTICE_PAID_APPRAISE_ORDER_PAID; | ||
1147 | + break; | ||
1148 | + | ||
1149 | + case PLATFORM_RECEIVE: | ||
1150 | + inboxType = InboxBusinessTypeEnum.NOTICE_PAID_APPRAISE_ORDER_PLATFORM_RECEIVE; | ||
1151 | + break; | ||
1152 | + case SHAM_SEND_OUT: | ||
1153 | + break; | ||
1154 | + case QUALITY_CHECK_FAKE: | ||
1155 | + break; | ||
1156 | + | ||
1157 | + case PLATFORM_APPRAISE_UNSURE: | ||
1158 | + inboxType = InboxBusinessTypeEnum.NOTICE_PAID_APPRAISE_ORDER_APPRAISE_UNSURE; | ||
1159 | + //get product info 「商品名称」「尺码」「货号」 | ||
1160 | + //sms | ||
1161 | + smsType = InboxBusinessTypeEnum.SMS_NOTICE_PAID_APPRAISE_ORDER_APPRAISE_UNSURE; | ||
1162 | + break; | ||
1163 | + case JUDGE_PASS: | ||
1164 | + inboxType = InboxBusinessTypeEnum.NOTICE_PAID_APPRAISE_ORDER_APPRAISE_PASS; | ||
1165 | + //sms | ||
1166 | + smsType = InboxBusinessTypeEnum.SMS_NOTICE_PAID_APPRAISE_ORDER_APPRAISE_PASS; | ||
1167 | + break; | ||
1057 | 1168 | ||
1169 | + case CHECKING_FAKE: | ||
1170 | + inboxType = InboxBusinessTypeEnum.NOTICE_PAID_APPRAISE_ORDER_APPRAISE_FAKE; | ||
1171 | + //sms | ||
1172 | + smsType = InboxBusinessTypeEnum.SMS_NOTICE_PAID_APPRAISE_ORDER_APPRAISE_FAKE; | ||
1058 | break; | 1173 | break; |
1059 | 1174 | ||
1060 | case FINISH: | 1175 | case FINISH: |
1176 | + break; | ||
1177 | + } | ||
1178 | + boolean smsRequired = Objects.nonNull(smsType); | ||
1179 | + Object[] inboxParams = buildParams4PaidAppraiseOrder(orderCode); | ||
1180 | + Object[] smsParams = smsRequired ? inboxParams : null; | ||
1181 | + | ||
1182 | + Notice notice = newNotice(uid).withLogPrefix("paid Appraise Order Notice 4 " + targetStatus.name()); | ||
1183 | + if (Objects.nonNull(inboxType)){ | ||
1184 | + notice.withInBox(inboxType, inboxParams); | ||
1185 | + } | ||
1186 | + if (smsRequired) { | ||
1187 | + notice.withSms(smsType, smsParams); | ||
1188 | + } | ||
1189 | + notice.send(); | ||
1190 | + } catch (Exception e) { | ||
1191 | + log.warn("paidAppraiseOrderNotice fail, uid {}, orderCode {} status {}", uid, orderCode, targetStatus, e); | ||
1192 | + } | ||
1193 | + | ||
1194 | + } | ||
1195 | + private Object[] buildParams4SellerDepositOrder(long orderCode){ | ||
1196 | + GoodsVo goodsVo; | ||
1197 | + goodsVo = buildProductInfo(orderCode); | ||
1198 | + return new Object[]{orderCode, goodsVo.getProductName(), goodsVo.getSizeName(), goodsVo.getProductCode()}; | ||
1199 | + } | ||
1200 | + | ||
1201 | + private Object[] buildParams4PaidAppraiseOrder(long orderCode){ | ||
1202 | + GoodsVo goodsVo; | ||
1203 | + goodsVo = buildProductInfo(orderCode); | ||
1204 | + //get product info 「商品名称」「货号」 | ||
1205 | + return new Object[]{ goodsVo.getProductName(), goodsVo.getProductCode()}; | ||
1206 | + } | ||
1207 | + | ||
1208 | + public void paidAppraiseOrderDeliverBackNotice(int uid,long orderCode, String expressNumber, AppraiseOrderStatus targetStatus){ | ||
1209 | + log.info("enter paidAppraiseOrderDeliverBackNotice uid {} orderCode {} targetStatus {}", uid, orderCode, targetStatus); | ||
1210 | + try { | ||
1211 | + // | ||
1212 | + InboxBusinessTypeEnum inboxType = null; | ||
1213 | + InboxBusinessTypeEnum smsType = null; | ||
1214 | + | ||
1215 | + switch (targetStatus){ | ||
1216 | + case PLATFORM_APPRAISE_UNSURE: | ||
1217 | + inboxType = InboxBusinessTypeEnum.NOTICE_PAID_APPRAISE_ORDER_DELIVER_AFTER_APPRAISE_UNSURE; | ||
1218 | + //sms | ||
1219 | + smsType = InboxBusinessTypeEnum.SMS_NOTICE_PAID_APPRAISE_ORDER_DELIVER_AFTER_APPRAISE_UNSURE; | ||
1220 | + break; | ||
1221 | + case JUDGE_PASS: | ||
1222 | + inboxType = InboxBusinessTypeEnum.NOTICE_PAID_APPRAISE_ORDER_DELIVER_AFTER_APPRAISE_PASS; | ||
1223 | + //sms | ||
1224 | + smsType = InboxBusinessTypeEnum.SMS_NOTICE_PAID_APPRAISE_ORDER_DELIVER_AFTER_APPRAISE_PASS; | ||
1225 | + break; | ||
1061 | 1226 | ||
1227 | + case CHECKING_FAKE: | ||
1228 | + inboxType = InboxBusinessTypeEnum.NOTICE_PAID_APPRAISE_ORDER_DELIVER_AFTER_APPRAISE_FAKE; | ||
1229 | + //sms | ||
1230 | + smsType = InboxBusinessTypeEnum.SMS_NOTICE_PAID_APPRAISE_ORDER_DELIVER_AFTER_APPRAISE_FAKE; | ||
1062 | break; | 1231 | break; |
1232 | + | ||
1063 | } | 1233 | } |
1234 | + boolean smsRequired = Objects.nonNull(smsType); | ||
1235 | + Object[] inboxParams = buildParams4PaidAppraiseOrder(orderCode); | ||
1236 | + Object[] smsParams = smsRequired ? inboxParams : null; | ||
1237 | + | ||
1064 | 1238 | ||
1239 | + Notice notice = newNotice(uid).withLogPrefix("paidAppraiseOrder Deliver Back Notice 4 " + targetStatus.name()); | ||
1240 | + if (Objects.nonNull(inboxType)){ | ||
1241 | + notice.withInBox(inboxType, inboxParams); | ||
1065 | } | 1242 | } |
1243 | + if (smsRequired) { | ||
1244 | + //set expressNumber | ||
1245 | + smsParams[2] = expressNumber; | ||
1066 | 1246 | ||
1247 | + notice.withSms(smsType, smsParams); | ||
1248 | + } | ||
1249 | + notice.send(); | ||
1250 | + } catch (Exception e) { | ||
1251 | + log.warn("paidAppraiseOrder Deliver Back Notice fail, uid {}, orderCode {} status {}", uid, orderCode, targetStatus, e); | ||
1252 | + } | ||
1253 | + | ||
1254 | + } | ||
1067 | } | 1255 | } |
-
Please register or login to post a comment