package com.java110.goods.bmo.storeOrderCartReturn.impl; import com.java110.core.annotation.Java110Transactional; import com.java110.core.factory.GenerateCodeFactory; import com.java110.dto.storeOrderCart.StoreOrderCartDto; import com.java110.goods.bmo.storeOrderCartReturn.ISaveStoreOrderCartReturnBMO; import com.java110.intf.goods.IStoreOrderCartInnerServiceSMO; import com.java110.intf.goods.IStoreOrderCartReturnEventInnerServiceSMO; import com.java110.intf.goods.IStoreOrderCartReturnInnerServiceSMO; import com.java110.po.storeOrderCart.StoreOrderCartPo; import com.java110.po.storeOrderCartReturn.StoreOrderCartReturnPo; import com.java110.po.storeOrderCartReturnEvent.StoreOrderCartReturnEventPo; import com.java110.utils.util.Assert; import com.java110.vo.ResultVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import java.util.List; @Service("saveStoreOrderCartReturnBMOImpl") public class SaveStoreOrderCartReturnBMOImpl implements ISaveStoreOrderCartReturnBMO { @Autowired private IStoreOrderCartReturnInnerServiceSMO storeOrderCartReturnInnerServiceSMOImpl; @Autowired private IStoreOrderCartReturnEventInnerServiceSMO storeOrderCartReturnEventInnerServiceSMOImpl; @Autowired private IStoreOrderCartInnerServiceSMO storeOrderCartInnerServiceSMOImpl; /** * 申请退款 * * @param storeOrderCartReturnPo * @return 订单服务能够接受的报文 */ @Java110Transactional public ResponseEntity save(StoreOrderCartReturnPo storeOrderCartReturnPo) { //查询 StoreOrderCartDto storeOrderCartDto = new StoreOrderCartDto(); storeOrderCartDto.setCartId(storeOrderCartDto.getCartId()); storeOrderCartDto.setStoreId(storeOrderCartReturnPo.getStoreId()); storeOrderCartDto.setState(StoreOrderCartDto.STATE_SENDING); List storeOrderCartDtos = storeOrderCartInnerServiceSMOImpl.queryStoreOrderCarts(storeOrderCartDto); Assert.listOnlyOne(storeOrderCartDtos, "当前不符合退货条件"); storeOrderCartReturnPo.setReturnId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_returnId)); int flag = storeOrderCartReturnInnerServiceSMOImpl.saveStoreOrderCartReturn(storeOrderCartReturnPo); if (flag < 1) { return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败"); } StoreOrderCartReturnEventPo storeOrderCartReturnEventPo = new StoreOrderCartReturnEventPo(); storeOrderCartReturnEventPo.setEventId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_eventId)); storeOrderCartReturnEventPo.setEventMsg("用户申请退货"); storeOrderCartReturnEventPo.setEventObjId(storeOrderCartReturnPo.getPersonId()); storeOrderCartReturnEventPo.setEventObjType("U");//用户申请 storeOrderCartReturnEventPo.setReturnId(storeOrderCartReturnPo.getReturnId()); storeOrderCartReturnEventPo.setStoreId(storeOrderCartReturnPo.getStoreId()); flag = storeOrderCartReturnEventInnerServiceSMOImpl.saveStoreOrderCartReturnEvent(storeOrderCartReturnEventPo); if (flag < 1) { return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败"); } StoreOrderCartPo storeOrderCartPo = new StoreOrderCartPo(); storeOrderCartPo.setCartId(storeOrderCartDtos.get(0).getCartId()); storeOrderCartPo.setState(StoreOrderCartDto.STATE_REQ_RETURN); storeOrderCartPo.setStoreId(storeOrderCartDtos.get(0).getStoreId()); flag = storeOrderCartInnerServiceSMOImpl.updateStoreOrderCart(storeOrderCartPo); if (flag < 1) { return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败"); } return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功"); } }