记得上下班打卡 | git大法好,push需谨慎

Commit 519b836c authored by 胡佳晨's avatar 胡佳晨

快递相关接口 提交

parent 5d5d54a6
...@@ -113,6 +113,8 @@ public class GoblinRedisConst { ...@@ -113,6 +113,8 @@ public class GoblinRedisConst {
public static final String REDIS_GOBLIN_BACK_ORDER_ID = PREFIX.concat("order:backIds:");//用户订单下的退款订单id key:$orderId public static final String REDIS_GOBLIN_BACK_ORDER_ID = PREFIX.concat("order:backIds:");//用户订单下的退款订单id key:$orderId
public static final String REDIS_CAN_BUY = PREFIX.concat("canBuy:");//可以购买的用户 key:$skuId:$mobile public static final String REDIS_CAN_BUY = PREFIX.concat("canBuy:");//可以购买的用户 key:$skuId:$mobile
public static final String REDIS_ZZ_MUSIC_TAG = PREFIX.concat("music:tag:ZZ:");//根据场次音乐人标签搜索列表 key:$musicTag:$performanceId public static final String REDIS_ZZ_MUSIC_TAG = PREFIX.concat("music:tag:ZZ:");//根据场次音乐人标签搜索列表 key:$musicTag:$performanceId
public static final String REDIS_GOBLIN_MAIL = PREFIX.concat("mail:orderId:");//快递 $key:$orderId
/* ----------------------------------------------------------------- */ /* ----------------------------------------------------------------- */
/** /**
* SKU剩余库存 * SKU剩余库存
......
package com.liquidnet.service.goblin.dto.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
@ApiModel
public class GoblinMailVo implements Serializable, Cloneable {
@ApiModelProperty(value = " 快递单号")
private String mailId;
@ApiModelProperty(value = " 订单id")
private String orderId;
@ApiModelProperty(value = " 快递单号")
private String mailNo;
@ApiModelProperty(value = " 发货时间")
private String deliveryTime;
@ApiModelProperty(value = " 物流公司姓名")
private String logisticsCompany;
@ApiModelProperty(value = " 物流公司code[物流公司id]")
private String logisticsCode;
@ApiModelProperty(value = "orderSkuId")
private List<String> orderSkuVoIds;
@ApiModelProperty(value = "orderSkuVo")
private List<GoblinOrderSkuVo> orderSkuVos;
private static final GoblinMailVo obj = new GoblinMailVo();
public static GoblinMailVo getNew() {
try {
return (GoblinMailVo) obj.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return new GoblinMailVo();
}
}
...@@ -39,12 +39,13 @@ public class GoblinStoreOrderListVo implements Cloneable { ...@@ -39,12 +39,13 @@ public class GoblinStoreOrderListVo implements Cloneable {
private String payTime; private String payTime;
@ApiModelProperty(value = " 物流公司姓名") @ApiModelProperty(value = " 物流公司姓名")
private String logisticsCompany; private String logisticsCompany;
@ApiModelProperty(value = " 物流相关")
private List<GoblinMailVo> goblinMailVoList;
//todo hujiachen 缺发货时间 //todo hujiachen 缺发货时间
@ApiModelProperty(value = " sku相关") @ApiModelProperty(value = " sku相关")
private List<GoblinStoreOrderListSkuVo> storeOrderListSkuVoList; private List<GoblinStoreOrderListSkuVo> storeOrderListSkuVoList;
private static final GoblinStoreOrderListVo obj = new GoblinStoreOrderListVo(); private static final GoblinStoreOrderListVo obj = new GoblinStoreOrderListVo();
public static GoblinStoreOrderListVo getNew() { public static GoblinStoreOrderListVo getNew() {
......
...@@ -90,13 +90,13 @@ public class GoblinStoreOrderVo implements Serializable, Cloneable { ...@@ -90,13 +90,13 @@ public class GoblinStoreOrderVo implements Serializable, Cloneable {
private String writeOffCode; private String writeOffCode;
@ApiModelProperty(value = " 订单过期时间(分钟)") @ApiModelProperty(value = " 订单过期时间(分钟)")
private Integer payCountdownMinute; private Integer payCountdownMinute;
@ApiModelProperty(value = " 快递单号") @ApiModelProperty(value = " 快递单号[废弃]")
private String mailNo; private String mailNo;
@ApiModelProperty(value = " 发货时间") @ApiModelProperty(value = " 发货时间[废弃]")
private String deliveryTime; private String deliveryTime;
@ApiModelProperty(value = " 物流公司姓名") @ApiModelProperty(value = " 物流公司姓名[废弃]")
private String logisticsCompany; private String logisticsCompany;
@ApiModelProperty(value = " 物流公司code[物流公司id]") @ApiModelProperty(value = " 物流公司code[物流公司id][废弃]")
private String logisticsCode; private String logisticsCode;
@ApiModelProperty(value = " ip") @ApiModelProperty(value = " ip")
private String ipAddress; private String ipAddress;
......
...@@ -2,13 +2,16 @@ package com.liquidnet.service.goblin.service; ...@@ -2,13 +2,16 @@ package com.liquidnet.service.goblin.service;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.manage.GoblinOrderParam; import com.liquidnet.service.goblin.dto.manage.GoblinOrderParam;
import com.liquidnet.service.goblin.dto.vo.GoblinMailVo;
import com.liquidnet.service.goblin.dto.vo.GoblinPayInnerResultVo; import com.liquidnet.service.goblin.dto.vo.GoblinPayInnerResultVo;
import com.liquidnet.service.goblin.param.PayAgainParam; import com.liquidnet.service.goblin.param.PayAgainParam;
import com.liquidnet.service.goblin.param.SyncOrderParam; import com.liquidnet.service.goblin.param.SyncOrderParam;
import java.util.List;
public interface IGoblinOrderService { public interface IGoblinOrderService {
ResponseDto<GoblinPayInnerResultVo> checkOrder(GoblinOrderParam param,String uid); ResponseDto<GoblinPayInnerResultVo> checkOrder(GoblinOrderParam param, String uid);
ResponseDto<GoblinPayInnerResultVo> payAgain(PayAgainParam param); ResponseDto<GoblinPayInnerResultVo> payAgain(PayAgainParam param);
...@@ -18,4 +21,6 @@ public interface IGoblinOrderService { ...@@ -18,4 +21,6 @@ public interface IGoblinOrderService {
ResponseDto<Integer> checkOrderResultMaterCode(String materCode); ResponseDto<Integer> checkOrderResultMaterCode(String materCode);
ResponseDto<List<GoblinMailVo>> getMail(String orderId,String mailId);
} }
...@@ -32,7 +32,9 @@ public interface IGoblinStoreOrderService { ...@@ -32,7 +32,9 @@ public interface IGoblinStoreOrderService {
ResponseDto<Boolean> refundOrderSku(String orderId, String orderSkuId, BigDecimal price); ResponseDto<Boolean> refundOrderSku(String orderId, String orderSkuId, BigDecimal price);
ResponseDto<Boolean> express(String orderId, String mailNo); ResponseDto<Boolean> express(String orderId, String orderSkuIds,String mailNo);
ResponseDto<Boolean> changeExpressMailNo(String orderId, String mailId,String mailNo);
String refundSyncOrder(RefundCallbackParam refundCallbackParam); String refundSyncOrder(RefundCallbackParam refundCallbackParam);
} }
...@@ -949,6 +949,24 @@ create table goblin_store_market_purchasing ...@@ -949,6 +949,24 @@ create table goblin_store_market_purchasing
KEY `store_market_relation_del_flag_index` (`del_flag`) KEY `store_market_relation_del_flag_index` (`del_flag`)
) engine = InnoDB comment '营销秒杀表[活动]'; ) engine = InnoDB comment '营销秒杀表[活动]';
drop table if exists goblin_mail;
create table goblin_mail
(
mid bigint unsigned auto_increment primary key,
mail_id varchar(64) default '' comment '快递id',
order_id varchar(64) default '' comment '订单id',
mail_no varchar(64) default '' comment '快递单号',
delivery_time datetime default null comment '发送时间',
logistics_company varchar(64) default '' comment '快递公司名称',
logistics_code varchar(64) default '' comment '快递公司编号',
order_sku_ids text default null comment '发送子订单',
created_at datetime,
updated_at datetime,
comment text,
KEY `goblin_mail_mail_id_index` (`mail_id`),
KEY `goblin_mail_order_id_index` (`order_id`)
) engine = InnoDB comment '订单快递表';
alter table goblin_order_sku add spu_name varchar(255) default '' comment 'spu名称'; alter table goblin_order_sku add spu_name varchar(255) default '' comment 'spu名称';
alter table goblin_order_sku add spu_pic varchar(255) default '' comment 'spu图片'; alter table goblin_order_sku add spu_pic varchar(255) default '' comment 'spu图片';
......
...@@ -127,4 +127,16 @@ public class GoblinAppZhengzaiController { ...@@ -127,4 +127,16 @@ public class GoblinAppZhengzaiController {
@RequestParam("uid") @Valid String uid) { @RequestParam("uid") @Valid String uid) {
return goblinAppZhengzaiService.orderBind(uid, masterCode); return goblinAppZhengzaiService.orderBind(uid, masterCode);
} }
@PostMapping("mailData")
@ApiOperation("快递详情")
@ApiResponse(code = 200, message = "接口返回对象参数")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "orderId", value = "orderId", example = "1"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "mailId", value = "mailId", example = "1"),
})
public ResponseDto<List<GoblinMailVo>> getMail(@RequestParam("orderId") @Valid String orderId,
@RequestParam("mailId") @Valid String mailId) {
return goblinOrderService.getMail(orderId,mailId);
}
} }
...@@ -3,13 +3,12 @@ package com.liquidnet.service.goblin.controller.manage; ...@@ -3,13 +3,12 @@ package com.liquidnet.service.goblin.controller.manage;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.github.xiaoymin.knife4j.annotations.ApiSupport; import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.vo.GoblinMailVo;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreOrderListVo; import com.liquidnet.service.goblin.dto.vo.GoblinStoreOrderListVo;
import com.liquidnet.service.goblin.param.RefundCallbackParam; import com.liquidnet.service.goblin.param.RefundCallbackParam;
import com.liquidnet.service.goblin.service.IGoblinOrderService;
import com.liquidnet.service.goblin.service.manage.IGoblinStoreOrderService; import com.liquidnet.service.goblin.service.manage.IGoblinStoreOrderService;
import io.swagger.annotations.Api; import io.swagger.annotations.*;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
...@@ -17,6 +16,7 @@ import org.springframework.web.bind.annotation.*; ...@@ -17,6 +16,7 @@ import org.springframework.web.bind.annotation.*;
import javax.validation.Valid; import javax.validation.Valid;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List;
@ApiSupport(order = 149101) @ApiSupport(order = 149101)
@Api(tags = "店铺-订单") @Api(tags = "店铺-订单")
...@@ -27,6 +27,8 @@ import java.math.BigDecimal; ...@@ -27,6 +27,8 @@ import java.math.BigDecimal;
public class GoblinStoreOrderController { public class GoblinStoreOrderController {
@Autowired @Autowired
IGoblinStoreOrderService goblinStoreOrderService; IGoblinStoreOrderService goblinStoreOrderService;
@Autowired
IGoblinOrderService goblinOrderService;
@ApiOperation(value = "订单列表") @ApiOperation(value = "订单列表")
@ApiImplicitParams({ @ApiImplicitParams({
...@@ -117,7 +119,7 @@ public class GoblinStoreOrderController { ...@@ -117,7 +119,7 @@ public class GoblinStoreOrderController {
}) })
@GetMapping(value = "refund/sku") @GetMapping(value = "refund/sku")
public ResponseDto<Boolean> refundOrderSku(@RequestParam(value = "orderId", required = true) @Valid String orderId, public ResponseDto<Boolean> refundOrderSku(@RequestParam(value = "orderId", required = true) @Valid String orderId,
@RequestParam(value = "orderSkuId", required = false) String orderSkuId, @RequestParam(value = "orderSkuId", required = false) String orderSkuId,
@RequestParam(value = "price", required = true) @Valid BigDecimal price) { @RequestParam(value = "price", required = true) @Valid BigDecimal price) {
return goblinStoreOrderService.refundOrderSku(orderId, orderSkuId, price); return goblinStoreOrderService.refundOrderSku(orderId, orderSkuId, price);
} }
...@@ -131,11 +133,38 @@ public class GoblinStoreOrderController { ...@@ -131,11 +133,38 @@ public class GoblinStoreOrderController {
@ApiOperation(value = "发货") @ApiOperation(value = "发货")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "orderId", value = "订单id"), @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "orderId", value = "订单id"),
@ApiImplicitParam(type = "form", required = false, dataType = "String", name = "orderSkuIds", value = "逗号隔开orderSkuId"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "mailNo", value = "快递单号"), @ApiImplicitParam(type = "form", required = true, dataType = "String", name = "mailNo", value = "快递单号"),
}) })
@GetMapping(value = "express") @GetMapping(value = "express")
public ResponseDto<Boolean> express(@RequestParam(value = "orderId", required = true) @Valid String orderId, public ResponseDto<Boolean> express(@RequestParam(value = "orderId", required = true) @Valid String orderId,
@RequestParam(value = "orderSkuIds", required = false) @Valid String orderSkuIds,
@RequestParam(value = "mailNo", required = true) @Valid String mailNo) { @RequestParam(value = "mailNo", required = true) @Valid String mailNo) {
return ResponseDto.success(); return goblinStoreOrderService.express(orderId, orderSkuIds, mailNo);
}
@ApiOperation(value = "修改快递单号")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "orderId", value = "订单id"),
@ApiImplicitParam(type = "form", required = false, dataType = "String", name = "mailId", value = "快递id"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "mailNo", value = "快递单号"),
})
@GetMapping(value = "express/change")
public ResponseDto<Boolean> changeExpressMailNo(@RequestParam(value = "orderId", required = true) @Valid String orderId,
@RequestParam(value = "mailId", required = false) @Valid String mailId,
@RequestParam(value = "mailNo", required = true) @Valid String mailNo) {
return goblinStoreOrderService.changeExpressMailNo(orderId, mailId, mailNo);
}
@PostMapping("mailData")
@ApiOperation("快递详情")
@ApiResponse(code = 200, message = "接口返回对象参数")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "orderId", value = "orderId", example = "1"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "mailId", value = "mailId", example = "1"),
})
public ResponseDto<List<GoblinMailVo>> getMail(@RequestParam("orderId") @Valid String orderId,
@RequestParam("mailId") @Valid String mailId) {
return goblinOrderService.getMail(orderId, mailId);
} }
} }
...@@ -807,6 +807,22 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService { ...@@ -807,6 +807,22 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
} }
} }
@Override
public ResponseDto<List<GoblinMailVo>> getMail(String orderId, String mailId) {
List<GoblinMailVo> voList = redisUtils.getGoblinMail(orderId);
for (GoblinMailVo vo : voList) {
if (mailId.equals(vo.getMailId())) {
List<GoblinOrderSkuVo> orderSkuVos = ObjectUtil.getGoblinOrderSkuVoArrayList();
for (String orderSkuId : vo.getOrderSkuVoIds()) {
GoblinOrderSkuVo orderSkuVo = redisUtils.getGoblinOrderSkuVo(orderSkuId);
orderSkuVos.add(orderSkuVo);
}
vo.setOrderSkuVos(orderSkuVos);
}
}
return ResponseDto.success(voList);
}
private boolean noZhengzaiOrder(String uid) { private boolean noZhengzaiOrder(String uid) {
return !uid.equals("zhengzai"); return !uid.equals("zhengzai");
} }
......
...@@ -36,10 +36,7 @@ import java.math.BigDecimal; ...@@ -36,10 +36,7 @@ import java.math.BigDecimal;
import java.text.DateFormat; import java.text.DateFormat;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.HashMap; import java.util.*;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
@Service @Service
@Slf4j @Slf4j
...@@ -123,7 +120,7 @@ public class GoblinStoreOrderServiceImpl implements IGoblinStoreOrderService { ...@@ -123,7 +120,7 @@ public class GoblinStoreOrderServiceImpl implements IGoblinStoreOrderService {
vo.setStatus(orderVo.getStatus()); vo.setStatus(orderVo.getStatus());
vo.setPayTime(orderVo.getPayTime()); vo.setPayTime(orderVo.getPayTime());
vo.setPriceExpress(orderVo.getPriceExpress()); vo.setPriceExpress(orderVo.getPriceExpress());
vo.setLogisticsCompany(orderVo.getLogisticsCompany()); vo.setGoblinMailVoList(redisUtils.getGoblinMail(orderId));
List<GoblinStoreOrderListSkuVo> orderListSkuVos = ObjectUtil.getGoblinStoreOrderListSkuVoArrayList(); List<GoblinStoreOrderListSkuVo> orderListSkuVos = ObjectUtil.getGoblinStoreOrderListSkuVoArrayList();
for (String skuId : orderVo.getOrderSkuVoIds()) { for (String skuId : orderVo.getOrderSkuVoIds()) {
GoblinOrderSkuVo orderSkuVo = redisUtils.getGoblinOrderSkuVo(skuId); GoblinOrderSkuVo orderSkuVo = redisUtils.getGoblinOrderSkuVo(skuId);
...@@ -240,7 +237,7 @@ public class GoblinStoreOrderServiceImpl implements IGoblinStoreOrderService { ...@@ -240,7 +237,7 @@ public class GoblinStoreOrderServiceImpl implements IGoblinStoreOrderService {
} }
@Override @Override
public ResponseDto<Boolean> changeAddress(String orderId, String expressAddressDetail, String expressContacts, String expressPhone) { public ResponseDto<Boolean> changeAddress(String orderId, String expressContacts, String expressPhone, String expressAddressDetail) {
String uid = CurrentUtil.getCurrentUid(); String uid = CurrentUtil.getCurrentUid();
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
GoblinStoreInfoVo storeInfoVo = redisUtils.getStoreInfoVoByUid(uid); GoblinStoreInfoVo storeInfoVo = redisUtils.getStoreInfoVoByUid(uid);
...@@ -410,7 +407,7 @@ public class GoblinStoreOrderServiceImpl implements IGoblinStoreOrderService { ...@@ -410,7 +407,7 @@ public class GoblinStoreOrderServiceImpl implements IGoblinStoreOrderService {
} }
//redis //redis
redisUtils.setBackOrderVo(backOrderVo.getBackOrderId(), backOrderVo); redisUtils.setBackOrderVo(backOrderVo.getBackOrderId(), backOrderVo);
redisUtils.addBackOrderByOrderId(orderVo.getOrderId(),backOrderVo.getBackOrderId()); redisUtils.addBackOrderByOrderId(orderVo.getOrderId(), backOrderVo.getBackOrderId());
//mongo //mongo
mongoUtils.insertGoblinBackOrderVo(backOrderVo); mongoUtils.insertGoblinBackOrderVo(backOrderVo);
//添加退款 //添加退款
...@@ -439,15 +436,17 @@ public class GoblinStoreOrderServiceImpl implements IGoblinStoreOrderService { ...@@ -439,15 +436,17 @@ public class GoblinStoreOrderServiceImpl implements IGoblinStoreOrderService {
} }
@Override @Override
public ResponseDto<Boolean> express(String orderId, String mailNo) { public ResponseDto<Boolean> express(String orderId, String orderSkuIds, String mailNo) {
String uid = CurrentUtil.getCurrentUid(); String uid = CurrentUtil.getCurrentUid();
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
String nowStr = DateUtil.getNowTime(); String nowStr = DateUtil.getNowTime();
LinkedList<String> sqls = CollectionUtil.linkedListString(); LinkedList<String> sqls = CollectionUtil.linkedListString();
LinkedList<Object[]> sqlsOrder = CollectionUtil.linkedListObjectArr(); LinkedList<Object[]> sqlsOrder = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> sqlsOrderSku = CollectionUtil.linkedListObjectArr(); LinkedList<Object[]> sqlsOrderSku = CollectionUtil.linkedListObjectArr();
LinkedList<Object[]> sqlsMail = CollectionUtil.linkedListObjectArr();
sqls.add(SqlMapping.get("goblin_order.store.express")); sqls.add(SqlMapping.get("goblin_order.store.express"));
sqls.add(SqlMapping.get("goblin_order.store.orderSkuStatus")); sqls.add(SqlMapping.get("goblin_order.store.orderSkuStatus"));
sqls.add(SqlMapping.get("goblin_order.mail"));
GoblinStoreInfoVo storeInfoVo = redisUtils.getStoreInfoVoByUid(uid); GoblinStoreInfoVo storeInfoVo = redisUtils.getStoreInfoVoByUid(uid);
if (storeInfoVo == null) { if (storeInfoVo == null) {
return ResponseDto.failure("无法查看"); return ResponseDto.failure("无法查看");
...@@ -459,11 +458,32 @@ public class GoblinStoreOrderServiceImpl implements IGoblinStoreOrderService { ...@@ -459,11 +458,32 @@ public class GoblinStoreOrderServiceImpl implements IGoblinStoreOrderService {
if (orderVo.getStatus() != GoblinStatusConst.Status.ORDER_STATUS_2.getValue()) { if (orderVo.getStatus() != GoblinStatusConst.Status.ORDER_STATUS_2.getValue()) {
return ResponseDto.failure("无法发货"); return ResponseDto.failure("无法发货");
} }
orderVo.setMailNo(mailNo); List<String> skuIds;
orderVo.setDeliveryTime(nowStr); if (orderSkuIds == null) {
orderVo.setLogisticsCompany("松鼠德邦"); skuIds = orderVo.getOrderSkuVoIds();
} else {
skuIds = Arrays.asList(orderSkuIds.split(","));
}
GoblinMailVo mailVo = GoblinMailVo.getNew();
mailVo.setMailId(IDGenerator.nextTimeId2());
mailVo.setOrderId(orderVo.getOrderId());
mailVo.setMailNo(mailNo);
mailVo.setDeliveryTime(nowStr);
mailVo.setLogisticsCompany("松鼠德邦");
mailVo.setOrderSkuVoIds(skuIds);
//redis
redisUtils.addGoblinMail(orderId, mailVo);
//mongo
mongoUtils.insertGoblinMailVo(mailVo);
//mysql
sqlsMail.add(new Object[]{
mailVo.getMailId(), mailVo.getOrderId(), mailVo.getMailNo(), mailVo.getDeliveryTime(),
mailVo.getLogisticsCompany(), mailVo.getOrderSkuVoIds(), now
});
orderVo.setStatus(GoblinStatusConst.Status.ORDER_STATUS_3.getValue()); orderVo.setStatus(GoblinStatusConst.Status.ORDER_STATUS_3.getValue());
for (String orderSkuId : orderVo.getOrderSkuVoIds()) { for (String orderSkuId : skuIds) {
GoblinOrderSkuVo orderSkuVo = redisUtils.getGoblinOrderSkuVo(orderSkuId); GoblinOrderSkuVo orderSkuVo = redisUtils.getGoblinOrderSkuVo(orderSkuId);
orderSkuVo.setStatus(GoblinStatusConst.Status.ORDER_STATUS_3.getValue()); orderSkuVo.setStatus(GoblinStatusConst.Status.ORDER_STATUS_3.getValue());
//redis //redis
...@@ -478,7 +498,7 @@ public class GoblinStoreOrderServiceImpl implements IGoblinStoreOrderService { ...@@ -478,7 +498,7 @@ public class GoblinStoreOrderServiceImpl implements IGoblinStoreOrderService {
} }
GoblinOrderOperationLog log = initLog(orderId, uid, now); GoblinOrderOperationLog log = initLog(orderId, uid, now);
log.setType(GoblinStatusConst.Status.ORDER_LOG_STATUS_13.getValue()); log.setType(GoblinStatusConst.Status.ORDER_LOG_STATUS_13.getValue());
log.setRemark("发货:orderId=[" + orderId + "],mailNo=[" + mailNo + "]"); log.setRemark("发货:orderId=[" + orderId + "],orderSkuId=[" + orderSkuIds + "],mailNo=[" + mailNo + "]");
//redis //redis
redisUtils.setGoblinOrder(orderId, orderVo); redisUtils.setGoblinOrder(orderId, orderVo);
...@@ -486,7 +506,7 @@ public class GoblinStoreOrderServiceImpl implements IGoblinStoreOrderService { ...@@ -486,7 +506,7 @@ public class GoblinStoreOrderServiceImpl implements IGoblinStoreOrderService {
mongoUtils.updateGoblinStoreOrderVo(orderId, orderVo); mongoUtils.updateGoblinStoreOrderVo(orderId, orderVo);
//mysql //mysql
sqlsOrder.add(new Object[]{ sqlsOrder.add(new Object[]{
orderVo.getMailNo(), orderVo.getDeliveryTime(), orderVo.getLogisticsCompany(), orderVo.getStatus(), now, orderId, now, now orderVo.getStatus(), now, orderId, now, now
}); });
queueUtils.sendMsgByRedis(MQConst.GoblinQueue.GOBLIN_STORE_ORDER_OPERA.getKey(), queueUtils.sendMsgByRedis(MQConst.GoblinQueue.GOBLIN_STORE_ORDER_OPERA.getKey(),
SqlMapping.gets(sqls, sqlsOrder, sqlsOrderSku)); SqlMapping.gets(sqls, sqlsOrder, sqlsOrderSku));
...@@ -500,6 +520,33 @@ public class GoblinStoreOrderServiceImpl implements IGoblinStoreOrderService { ...@@ -500,6 +520,33 @@ public class GoblinStoreOrderServiceImpl implements IGoblinStoreOrderService {
return ResponseDto.success(); return ResponseDto.success();
} }
@Override
public ResponseDto<Boolean> changeExpressMailNo(String orderId, String mailId, String mailNo) {
String uid = CurrentUtil.getCurrentUid();
GoblinStoreInfoVo storeInfoVo = redisUtils.getStoreInfoVoByUid(uid);
if (storeInfoVo == null) {
return ResponseDto.failure("无法查看");
}
GoblinStoreOrderVo orderVo = redisUtils.getGoblinOrder(orderId);
if (orderVo == null || !orderVo.getStoreId().equals(storeInfoVo.getStoreId())) {
return ResponseDto.failure("无法查看");
}
GoblinMailVo vo = GoblinMailVo.getNew();
vo.setMailNo(mailNo);
vo.setMailId(mailId);
vo.setOrderId(orderId);
redisUtils.changeGoblinMail(orderId,vo);
mongoUtils.updateGoblinMailVo(mailId,vo);
//添加日志
queueUtils.sendMsgByRedis(
MQConst.GoblinQueue.GOBLIN_STORE_ORDER_OPERA.getKey(),
SqlMapping.get("goblin_order.mail.update",
vo.getMailNo(),LocalDateTime.now(),vo.getMailId()
)
);
return ResponseDto.success();
}
@Override @Override
public String refundSyncOrder(RefundCallbackParam refundCallbackParam) { public String refundSyncOrder(RefundCallbackParam refundCallbackParam) {
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
...@@ -540,7 +587,7 @@ public class GoblinStoreOrderServiceImpl implements IGoblinStoreOrderService { ...@@ -540,7 +587,7 @@ public class GoblinStoreOrderServiceImpl implements IGoblinStoreOrderService {
List<GoblinOrderSkuVo> skuVoList = ObjectUtil.getGoblinOrderSkuVoArrayList(); List<GoblinOrderSkuVo> skuVoList = ObjectUtil.getGoblinOrderSkuVoArrayList();
for (GoblinBackOrderSkuVo backOrderSkuVo : backOrderSkuVos) { for (GoblinBackOrderSkuVo backOrderSkuVo : backOrderSkuVos) {
GoblinOrderSkuVo orderSkuVo = redisUtils.getGoblinOrderSkuVo(backOrderSkuVo.getOrderSkuId()); GoblinOrderSkuVo orderSkuVo = redisUtils.getGoblinOrderSkuVo(backOrderSkuVo.getOrderSkuId());
orderSkuVo.setPriceRefund(orderSkuVo.getPriceRefund()==null?BigDecimal.ZERO:orderSkuVo.getPriceRefund().add(price)); orderSkuVo.setPriceRefund(orderSkuVo.getPriceRefund() == null ? BigDecimal.ZERO : orderSkuVo.getPriceRefund().add(price));
if (orderSkuVo.getPriceRefund().compareTo(orderSkuVo.getSkuPriceActual()) == 0) { if (orderSkuVo.getPriceRefund().compareTo(orderSkuVo.getSkuPriceActual()) == 0) {
orderSkuVo.setStatus(GoblinStatusConst.Status.ORDER_STATUS_6.getValue()); orderSkuVo.setStatus(GoblinStatusConst.Status.ORDER_STATUS_6.getValue());
String pre = GoblinStatusConst.MarketPreStatus.getPre(orderSkuVo.getSkuId()); String pre = GoblinStatusConst.MarketPreStatus.getPre(orderSkuVo.getSkuId());
......
...@@ -718,6 +718,18 @@ public class GoblinMongoUtils { ...@@ -718,6 +718,18 @@ public class GoblinMongoUtils {
object); object);
} }
//添加 订单SkuVo全量
public GoblinMailVo insertGoblinMailVo(GoblinMailVo vo) {
return mongoTemplate.insert(vo, GoblinMailVo.class.getSimpleName());
}
public UpdateResult updateGoblinMailVo(String mailId, GoblinMailVo data) {
BasicDBObject object = ObjectUtil.cloneBasicDBObject().append("$set", mongoConverter.convertToMongoType(data));
return mongoTemplate.getCollection(GoblinMailVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("mailId").is(mailId)).getQueryObject(),
object);
}
//添加 操作日志 //添加 操作日志
public GoblinOrderLogVo insertGoblinOrderLogVo(GoblinOrderLogVo vo) { public GoblinOrderLogVo insertGoblinOrderLogVo(GoblinOrderLogVo vo) {
return mongoTemplate.insert(vo, GoblinOrderLogVo.class.getSimpleName()); return mongoTemplate.insert(vo, GoblinOrderLogVo.class.getSimpleName());
......
...@@ -719,6 +719,39 @@ public class GoblinRedisUtils { ...@@ -719,6 +719,39 @@ public class GoblinRedisUtils {
redisUtil.set(redisKey, vo); redisUtil.set(redisKey, vo);
} }
// 赋值 快递vo
public void addGoblinMail(String orderId, GoblinMailVo vo) {
String redisKey = GoblinRedisConst.REDIS_GOBLIN_MAIL.concat(orderId);
List<GoblinMailVo> list = getGoblinMail(orderId);
list.add(vo);
redisUtil.set(redisKey, list);
}
// 修改 快递vo
public void changeGoblinMail(String orderId, GoblinMailVo vo) {
String redisKey = GoblinRedisConst.REDIS_GOBLIN_MAIL.concat(orderId);
List<GoblinMailVo> list = getGoblinMail(orderId);
for (GoblinMailVo item : list) {
if (item.getMailId().equals(vo.getMailId())) {
item.setMailNo(vo.getMailNo());
break;
}
}
redisUtil.set(redisKey, list);
}
// 获取 快递vo
public List<GoblinMailVo> getGoblinMail(String orderId) {
String redisKey = GoblinRedisConst.REDIS_GOBLIN_MAIL.concat(orderId);
Object obj = redisUtil.get(redisKey);
if (obj == null) {
return ObjectUtil.goblinMailVo();
} else {
return (List<GoblinMailVo>) obj;
}
}
// 获取 订单相关vo // 获取 订单相关vo
public GoblinStoreOrderVo getGoblinOrder(String orderId) { public GoblinStoreOrderVo getGoblinOrder(String orderId) {
String redisKey = GoblinRedisConst.REDIS_GOBLIN_ORDER.concat(orderId); String redisKey = GoblinRedisConst.REDIS_GOBLIN_ORDER.concat(orderId);
...@@ -1051,9 +1084,9 @@ public class GoblinRedisUtils { ...@@ -1051,9 +1084,9 @@ public class GoblinRedisUtils {
// String rk = GoblinRedisConst.REDIS_ZZ_MUSIC_TAG.concat(musicTag + ":").concat(performanceId); // String rk = GoblinRedisConst.REDIS_ZZ_MUSIC_TAG.concat(musicTag + ":").concat(performanceId);
// Object obj = redisUtil.get(rk); // Object obj = redisUtil.get(rk);
// if (obj == null) { // if (obj == null) {
listVo = goblinMongoUtils.getMusicTagPGoods(musicTag, performanceId); listVo = goblinMongoUtils.getMusicTagPGoods(musicTag, performanceId);
// redisUtil.set(rk, listVo); // redisUtil.set(rk, listVo);
return listVo; return listVo;
// } else { // } else {
// return (List<GoblinGoodsInfoVo>) obj; // return (List<GoblinGoodsInfoVo>) obj;
// } // }
......
...@@ -76,6 +76,7 @@ public class ObjectUtil { ...@@ -76,6 +76,7 @@ public class ObjectUtil {
private static final ArrayList<GoblinStoreMgtCouponListVoExcel> goblinStoreMgtCouponListVoExcelArrayList = new ArrayList<>(); private static final ArrayList<GoblinStoreMgtCouponListVoExcel> goblinStoreMgtCouponListVoExcelArrayList = new ArrayList<>();
private static final ArrayList<GoblinUserCouponVo> goblinUserCouponVo = new ArrayList<>(); private static final ArrayList<GoblinUserCouponVo> goblinUserCouponVo = new ArrayList<>();
private static final ArrayList<BackCouponParam> backCouponParam = new ArrayList<>(); private static final ArrayList<BackCouponParam> backCouponParam = new ArrayList<>();
private static final ArrayList<GoblinMailVo> goblinMailVo = new ArrayList<>();
private static final BasicDBObject basicDBObject = new BasicDBObject(); private static final BasicDBObject basicDBObject = new BasicDBObject();
...@@ -93,6 +94,10 @@ public class ObjectUtil { ...@@ -93,6 +94,10 @@ public class ObjectUtil {
return goblinStoreMgtCouponListVoPagedResult.clone(); return goblinStoreMgtCouponListVoPagedResult.clone();
} }
public static ArrayList<GoblinMailVo> goblinMailVo() {
return (ArrayList<GoblinMailVo>) goblinMailVo.clone();
}
public static ArrayList<BackCouponParam> getBackCouponParam() { public static ArrayList<BackCouponParam> getBackCouponParam() {
return (ArrayList<BackCouponParam>) backCouponParam.clone(); return (ArrayList<BackCouponParam>) backCouponParam.clone();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment