| | |
| | | import com.xzx.gc.common.exception.RestException; |
| | | import com.xzx.gc.common.utils.IdUtils; |
| | | import com.xzx.gc.entity.*; |
| | | import com.xzx.gc.shop.dto.AddGoodsOrderDto; |
| | | import com.xzx.gc.shop.dto.DeliverGoodsDto; |
| | | import com.xzx.gc.shop.dto.InsureOrderDto; |
| | | import com.xzx.gc.shop.dto.QueryOrderListDto; |
| | | import com.xzx.gc.shop.dto.*; |
| | | import com.xzx.gc.shop.mapper.*; |
| | | import com.xzx.gc.shop.vo.ExpressInfoVo; |
| | | import com.xzx.gc.shop.vo.QueryOrderListVo; |
| | |
| | | if (goods == null || ScoreGoods.ISSALE_NO.equals(goods.getIsSale())) { |
| | | throw new RestException(-3, "商品不存在或已下架"); |
| | | } |
| | | |
| | | if (ScoreGoods.ISQG_YES.equals(goods.getIsQg())) { |
| | | if (new Date().before(goods.getQgStartTime())) { |
| | | throw new RestException(-3, "抢购未开始"); |
| | | } |
| | | |
| | | if (new Date().after(goods.getQgEndTime())) { |
| | | throw new RestException(-3, "抢购已结束"); |
| | | } |
| | | } |
| | | |
| | | AccountInfo accountInfo = accountInfoMapper.selectAccountInfoByUserId(addGoodsOrderDto.getUserId()); |
| | | |
| | | if (accountInfo.getCollectScore() == null) { |
| | |
| | | expressInfo.setCreatedTime(new Date()); |
| | | scoreExpressInfoMapper.insert(expressInfo); |
| | | |
| | | AccountInfo update = new AccountInfo(); |
| | | update.setAccountId(accountInfo.getAccountId()); |
| | | BigDecimal remianScore = score.subtract(totalPrice); |
| | | update.setCollectScore(remianScore.toString()); |
| | | accountInfoMapper.updateByPrimaryKey(update); |
| | | BigDecimal remianScore = score.subtract(totalPrice).setScale(0, BigDecimal.ROUND_DOWN); |
| | | accountInfo.setCollectScore(remianScore.toString()); |
| | | accountInfoMapper.updateByPrimaryKey(accountInfo); |
| | | |
| | | ScoreDetails scoreDetails = new ScoreDetails(); |
| | | scoreDetails.setOrderNo(order.getOrderNo()); |
| | |
| | | scoreDetails.setChangeScore(totalPrice); |
| | | scoreDetailsMapper.insert(scoreDetails); |
| | | } |
| | | |
| | | public Long cancelOrder(CancelOrderDto model) { |
| | | /** |
| | | * todo 只更新了订单状态,后续操作待增加 |
| | | */ |
| | | ScoreOrder scoreOrder = new ScoreOrder(); |
| | | scoreOrder.setId(model.getId()); |
| | | scoreOrder.setStatus(ScoreOrder.STATUS_CANCEL); |
| | | scoreOrderMapper.updateByPrimaryKeySelective(scoreOrder); |
| | | return scoreOrder.getId(); |
| | | } |
| | | } |