Browse Source

订单补充

lyhzzz 3 năm trước cách đây
mục cha
commit
b36978b071
19 tập tin đã thay đổi với 521 bổ sung2 xóa
  1. 2 1
      src/main/java/com/fdkankan/ucenter/pay/strategy/OrderItemStrategy.java
  2. 2 1
      src/main/java/com/fdkankan/ucenter/pay/strategy/OrderStrategyFactory.java
  3. 55 0
      src/main/java/com/fdkankan/ucenter/pay/strategy/impl/EntityOrderImpl.java
  4. 77 0
      src/main/java/com/fdkankan/ucenter/pay/strategy/impl/ExpansionOrderImpl.java
  5. 102 0
      src/main/java/com/fdkankan/ucenter/pay/strategy/impl/IncrementOrderImpl.java
  6. 47 0
      src/main/java/com/fdkankan/ucenter/pay/strategy/impl/RechargeOrderImpl.java
  7. 2 0
      src/main/java/com/fdkankan/ucenter/service/ICameraDetailService.java
  8. 5 0
      src/main/java/com/fdkankan/ucenter/service/ICameraSpaceService.java
  9. 4 0
      src/main/java/com/fdkankan/ucenter/service/IExpansionOrderService.java
  10. 4 0
      src/main/java/com/fdkankan/ucenter/service/IIncrementOrderService.java
  11. 2 0
      src/main/java/com/fdkankan/ucenter/service/IOrderService.java
  12. 4 0
      src/main/java/com/fdkankan/ucenter/service/IVirtualOrderService.java
  13. 13 0
      src/main/java/com/fdkankan/ucenter/service/impl/CameraDetailServiceImpl.java
  14. 37 0
      src/main/java/com/fdkankan/ucenter/service/impl/CameraSpaceServiceImpl.java
  15. 29 0
      src/main/java/com/fdkankan/ucenter/service/impl/ExpansionOrderServiceImpl.java
  16. 25 0
      src/main/java/com/fdkankan/ucenter/service/impl/IncrementOrderServiceImpl.java
  17. 12 0
      src/main/java/com/fdkankan/ucenter/service/impl/OrderServiceImpl.java
  18. 28 0
      src/main/java/com/fdkankan/ucenter/service/impl/VirtualOrderServiceImpl.java
  19. 71 0
      src/main/java/com/fdkankan/ucenter/vo/response/OrderItemVo.java

+ 2 - 1
src/main/java/com/fdkankan/ucenter/pay/strategy/OrderItemStrategy.java

@@ -2,10 +2,11 @@ package com.fdkankan.ucenter.pay.strategy;
 
 
 
 
 import com.fdkankan.ucenter.entity.OrderItem;
 import com.fdkankan.ucenter.entity.OrderItem;
+import com.fdkankan.ucenter.vo.response.OrderItemVo;
 
 
 public interface OrderItemStrategy {
 public interface OrderItemStrategy {
 
 
-    public void handleOrderItem(Long userId, OrderItem orderItem) throws Exception;
+    public void handleOrderItem(Long userId, OrderItemVo orderItem) throws Exception;
 
 
     public String getType();
     public String getType();
 }
 }

+ 2 - 1
src/main/java/com/fdkankan/ucenter/pay/strategy/OrderStrategyFactory.java

@@ -2,6 +2,7 @@ package com.fdkankan.ucenter.pay.strategy;
 
 
 import com.fdkankan.common.util.SpringUtil;
 import com.fdkankan.common.util.SpringUtil;
 import com.fdkankan.ucenter.entity.OrderItem;
 import com.fdkankan.ucenter.entity.OrderItem;
+import com.fdkankan.ucenter.vo.response.OrderItemVo;
 import lombok.extern.log4j.Log4j2;
 import lombok.extern.log4j.Log4j2;
 import org.springframework.beans.factory.InitializingBean;
 import org.springframework.beans.factory.InitializingBean;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -47,7 +48,7 @@ public class OrderStrategyFactory implements InitializingBean {
         }
         }
     }
     }
 
 
-    public void doHandler(Long userId, OrderItem t) throws Exception{
+    public void doHandler(Long userId, OrderItemVo t) throws Exception{
         log.warn("sku:"+t.getSkuSn());
         log.warn("sku:"+t.getSkuSn());
         orderItemHandleMap.get(t.getSkuSn()).handleOrderItem(userId, t);
         orderItemHandleMap.get(t.getSkuSn()).handleOrderItem(userId, t);
     }
     }

+ 55 - 0
src/main/java/com/fdkankan/ucenter/pay/strategy/impl/EntityOrderImpl.java

@@ -0,0 +1,55 @@
+package com.fdkankan.ucenter.pay.strategy.impl;
+
+import com.fdkankan.ucenter.entity.Order;
+import com.fdkankan.ucenter.entity.OrderItem;
+import com.fdkankan.ucenter.pay.strategy.OrderStrategy;
+import com.fdkankan.ucenter.pay.strategy.OrderStrategyFactory;
+import com.fdkankan.ucenter.service.IOrderItemService;
+import com.fdkankan.ucenter.service.IOrderService;
+import com.fdkankan.ucenter.vo.response.OrderItemVo;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+@Log4j2
+@Component
+public class EntityOrderImpl implements OrderStrategy {
+    @Autowired
+    private IOrderService orderService;
+    @Autowired
+    private OrderStrategyFactory orderStrategyFactory;
+    @Autowired
+    private IOrderItemService orderItemService;
+
+    @Override
+    public void handleOrder(String orderSn, String tradeNo, String openId, int paymentTypeName, Long spaceId) throws Exception {
+        log.warn("购物支付处理....");
+        Order orderEntity = orderService.getByOrderSn(orderSn);
+        if (orderEntity == null) {
+            log.error("找不到订单:" + orderSn);
+            throw new Exception("找不到订单,out_trade_no错误");
+        }
+        boolean result = orderService.paySuccessEntityOrder(orderSn, tradeNo, paymentTypeName);
+        if (!result){
+            log.error("更新订单失败");
+            throw new Exception("更新订单失败");
+        }
+
+        List<OrderItem> byOrderId = orderItemService.getByOrderId(orderEntity.getId());
+        for (OrderItem orderItem : byOrderId){
+            OrderItemVo orderItemVo = new OrderItemVo();
+            BeanUtils.copyProperties(orderItem,orderItemVo);
+            orderItemVo.setOpenid(openId);
+            log.warn("orderStrategyFactory:"+orderStrategyFactory);
+            orderStrategyFactory.doHandler(orderEntity.getUserId(), orderItemVo);
+        }
+    }
+
+    @Override
+    public String getType() {
+        return "entity";
+    }
+}

+ 77 - 0
src/main/java/com/fdkankan/ucenter/pay/strategy/impl/ExpansionOrderImpl.java

@@ -0,0 +1,77 @@
+package com.fdkankan.ucenter.pay.strategy.impl;
+
+import com.fdkankan.ucenter.entity.CameraDetail;
+import com.fdkankan.ucenter.entity.CameraSpace;
+import com.fdkankan.ucenter.entity.ExpansionOrder;
+import com.fdkankan.ucenter.pay.strategy.OrderStrategy;
+import com.fdkankan.ucenter.service.ICameraDetailService;
+import com.fdkankan.ucenter.service.ICameraSpaceService;
+import com.fdkankan.ucenter.service.IExpansionOrderService;
+import com.fdkankan.ucenter.service.ISceneProService;
+import lombok.extern.log4j.Log4j2;
+import org.joda.time.DateTime;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Log4j2
+@Component
+public class ExpansionOrderImpl implements OrderStrategy {
+    @Autowired
+    private IExpansionOrderService expansionOrderService;
+    @Autowired
+    private ICameraSpaceService cameraSpaceService;
+    @Autowired
+    private ICameraDetailService cameraDetailService;
+    @Autowired
+    private ISceneProService sceneProService;
+
+    @Override
+    public void handleOrder(String orderSn, String tradeNo, String openId, int paymentTypeName, Long spaceId) throws Exception {
+        ExpansionOrder expansionOrder = expansionOrderService.getByOrderSn(orderSn);
+        if (expansionOrder == null) {
+            log.error("找不到订单:" + orderSn);
+            throw new Exception("找不到订单,out_trade_no错误");
+        }
+        //1表示充值,0表示系统赠送,2表示升级套餐
+        int status = 1;
+        if(spaceId == null){
+            status = 2;
+        }
+        // 更新扩容订单
+        boolean result = expansionOrderService.paySuccessExpansionOrder(orderSn, tradeNo, paymentTypeName, status);
+        if (!result){
+            log.error("更新扩容订单失败");
+            throw new Exception("更新扩容订单失败");
+        }
+
+        CameraSpace cameraSpaceEntity = new CameraSpace();
+        if(spaceId == null){
+            //新的容量套餐方案
+            cameraSpaceService.removeByCameraId(expansionOrder.getCameraId());
+            cameraSpaceEntity = cameraSpaceService.saveByExpansionOrder(expansionOrder);
+            CameraDetail detailEntity = cameraDetailService.getByCameraId(expansionOrder.getCameraId());
+            detailEntity.setTotalSpace(cameraSpaceEntity.getSpace());
+            cameraDetailService.updateById(detailEntity);
+            sceneProService.lockOrUnLockBySpace(detailEntity,detailEntity.getCameraId() ,1);
+        }else {
+            cameraSpaceEntity = cameraSpaceService.getById(spaceId);
+            DateTime date = null;
+            if(expansionOrder.getMonth() == 12){
+                date = new DateTime(cameraSpaceEntity.getSpaceEndTime()).plusYears(1);
+                if(cameraSpaceEntity.getSpaceEndTime().getYear() % 4 == 0){
+                    date.plusDays(1);
+                }
+            }else {
+                date = new DateTime(cameraSpaceEntity.getSpaceEndTime()).plusDays(expansionOrder.getMonth() * 31);
+            }
+            cameraSpaceEntity.setSpaceEndTime(date.toDate());
+            cameraSpaceEntity.setOrderSn(cameraSpaceEntity.getOrderSn() + "," + orderSn);
+            cameraSpaceService.updateById(cameraSpaceEntity);
+        }
+    }
+
+    @Override
+    public String getType() {
+        return "expansion";
+    }
+}

+ 102 - 0
src/main/java/com/fdkankan/ucenter/pay/strategy/impl/IncrementOrderImpl.java

@@ -0,0 +1,102 @@
+package com.fdkankan.ucenter.pay.strategy.impl;
+
+import com.fdkankan.ucenter.entity.CameraDetail;
+import com.fdkankan.ucenter.entity.IncrementOrder;
+import com.fdkankan.ucenter.entity.User;
+import com.fdkankan.ucenter.entity.UserIncrement;
+import com.fdkankan.ucenter.pay.strategy.OrderStrategy;
+import com.fdkankan.ucenter.service.*;
+import com.fdkankan.ucenter.util.DateUserUtil;
+import lombok.extern.log4j.Log4j2;
+import org.joda.time.DateTime;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.UUID;
+
+@Log4j2
+@Component
+public class IncrementOrderImpl implements OrderStrategy {
+    @Autowired
+    private IIncrementOrderService incrementOrderService;
+    @Autowired
+    private IUserIncrementService userIncrementService;
+    @Autowired
+    private IUserService userService;
+    @Autowired
+    ISceneProService sceneProService;
+    @Autowired
+    ICameraDetailService cameraDetailService;
+
+    @Override
+    public void handleOrder(String orderSn, String tradeNo, String openId, int paymentTypeName, Long spaceId) throws Exception {
+        IncrementOrder responseIncrementOrder = incrementOrderService.getByOrderSn(orderSn);
+        if (responseIncrementOrder == null) {
+            log.error("找不到订单:" + orderSn);
+            throw new Exception("找不到订单,out_trade_no错误");
+        }
+        // 更新增值权益订单
+        boolean result = incrementOrderService.paySuccessIncrementOrder(orderSn, tradeNo, paymentTypeName);
+        if (!result){
+            log.error("更新增值权益订单失败");
+            throw new Exception("更新增值权益订单失败");
+        }
+        UserIncrement userIncrementEntity = new UserIncrement();
+        if(responseIncrementOrder.getIncrementId() == null){
+
+            //新的增值权益套餐方案
+            DateTime date = new DateTime().plusYears(1);
+
+            if(responseIncrementOrder.getCount() > 0){
+                for(int i = 0, len = responseIncrementOrder.getCount(); i < len; i++){
+                    userIncrementEntity = new UserIncrement();
+                    userIncrementEntity.setKeyWord(UUID.randomUUID().toString().replace("-", ""));
+                    userIncrementEntity.setUserId(responseIncrementOrder.getUserId());
+                    userIncrementEntity.setOrderSn(orderSn);
+                    userIncrementEntity.setIncrementStartTime(DateUserUtil.getDate(new Date()));
+                    userIncrementEntity.setIncrementEndTime(DateUserUtil.getDate(date.toDate()));
+                    userIncrementEntity.setIsExpired(0);
+                    userIncrementService.save(userIncrementEntity);
+                }
+            }
+        }else {
+            userIncrementEntity = userIncrementService.getById(responseIncrementOrder.getIncrementId());
+            DateTime date = null;
+            Date nowDate = new Date();
+            if(DateUserUtil.getDate(userIncrementEntity.getIncrementEndTime()).getTime() > nowDate.getTime()){
+                date = new DateTime(userIncrementEntity.getIncrementEndTime()).plusYears(1);
+                if(DateUserUtil.getDate(userIncrementEntity.getIncrementEndTime()).getYear() % 4 == 0){
+                    date.plusDays(1);
+                }
+            }else {
+                date = new DateTime(nowDate).plusYears(1);
+                if(nowDate.getYear() % 4 == 0){
+                    date.plusDays(1);
+                }
+            }
+            userIncrementEntity.setIncrementEndTime(DateUserUtil.getDate(date.toDate()));
+            userIncrementEntity.setOrderSn(userIncrementEntity.getOrderSn() + "," + orderSn);
+            userIncrementEntity.setCreateTime(DateUserUtil.getDate(new Date()));
+            userIncrementEntity.setIsExpired(0);
+            userIncrementService.updateById(userIncrementEntity);
+
+            //解封所有场景
+            if(userIncrementEntity.getUserId() != null && userIncrementEntity.getCameraId() != null){
+                CameraDetail cameraDetail = cameraDetailService.getByCameraId(userIncrementEntity.getCameraId());
+                sceneProService.lockOrUnLockBySpace(cameraDetail, userIncrementEntity.getCameraId(),1);
+            }
+        }
+
+        User userEntity = userService.getById(userIncrementEntity.getUserId());
+        if(userEntity != null){
+            userEntity.setDownloadNumTotal(userEntity.getDownloadNumTotal() + responseIncrementOrder.getCount() * 10);
+            userService.updateById(userEntity);
+        }
+    }
+
+    @Override
+    public String getType() {
+        return "increment";
+    }
+}

+ 47 - 0
src/main/java/com/fdkankan/ucenter/pay/strategy/impl/RechargeOrderImpl.java

@@ -0,0 +1,47 @@
+package com.fdkankan.ucenter.pay.strategy.impl;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fdkankan.ucenter.entity.VirtualOrder;
+import com.fdkankan.ucenter.pay.strategy.OrderStrategy;
+import com.fdkankan.ucenter.service.ICameraDetailService;
+import com.fdkankan.ucenter.service.IVirtualOrderService;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Log4j2
+@Component
+public class RechargeOrderImpl implements OrderStrategy {
+    @Autowired
+    private IVirtualOrderService virtualOrderService;
+    @Autowired
+    private ICameraDetailService cameraDetailService;
+    @Autowired
+    private ObjectMapper mapper;
+
+    @Override
+    public void handleOrder(String orderSn, String tradeNo, String openId, int paymentTypeName, Long spaceId) throws Exception {
+        VirtualOrder responseVirtualOrder = virtualOrderService.getByOrderSn(orderSn);
+        if (responseVirtualOrder == null) {
+            log.error("找不到订单:" + orderSn);
+            throw new Exception("找不到订单,out_trade_no错误");
+        }
+
+        // 更新充值订单
+        boolean result = cameraDetailService.updateCameraBalance(responseVirtualOrder.getCameraId(), 0, responseVirtualOrder.getPoints());
+        if (!result){
+            log.error("更新相机余额错误");
+            throw new Exception("更新相机余额错误");
+        }
+        boolean result2 = virtualOrderService.paySuccessVirtualOrder(orderSn, tradeNo, paymentTypeName);
+        if (!result2){
+            log.error("更新充值订单失败");
+            throw new Exception("更新充值订单失败");
+        }
+    }
+
+    @Override
+    public String getType() {
+        return "recharge";
+    }
+}

+ 2 - 0
src/main/java/com/fdkankan/ucenter/service/ICameraDetailService.java

@@ -34,4 +34,6 @@ public interface ICameraDetailService extends IService<CameraDetail> {
     void addUsedSpace(HashMap<Long, Long> cameraMap);
     void addUsedSpace(HashMap<Long, Long> cameraMap);
 
 
     List<CameraAppVo> getListByUserAndType(Long userId, Integer cameraType);
     List<CameraAppVo> getListByUserAndType(Long userId, Integer cameraType);
+
+    boolean updateCameraBalance(Long cameraId, int body, Integer points);
 }
 }

+ 5 - 0
src/main/java/com/fdkankan/ucenter/service/ICameraSpaceService.java

@@ -2,6 +2,7 @@ package com.fdkankan.ucenter.service;
 
 
 import com.fdkankan.ucenter.entity.CameraSpace;
 import com.fdkankan.ucenter.entity.CameraSpace;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.ucenter.entity.ExpansionOrder;
 import com.fdkankan.ucenter.vo.response.CameraSpaceVo;
 import com.fdkankan.ucenter.vo.response.CameraSpaceVo;
 
 
 import java.util.HashMap;
 import java.util.HashMap;
@@ -20,4 +21,8 @@ public interface ICameraSpaceService extends IService<CameraSpace> {
     List<CameraSpaceVo> getVoListByCameraId(Long cameraId);
     List<CameraSpaceVo> getVoListByCameraId(Long cameraId);
 
 
     HashMap<Long, CameraSpaceVo> getVoListByCameraIds(List<Long> cameraIdList);
     HashMap<Long, CameraSpaceVo> getVoListByCameraIds(List<Long> cameraIdList);
+
+    void removeByCameraId(Long cameraId);
+
+    CameraSpace saveByExpansionOrder(ExpansionOrder expansionOrder);
 }
 }

+ 4 - 0
src/main/java/com/fdkankan/ucenter/service/IExpansionOrderService.java

@@ -18,4 +18,8 @@ public interface IExpansionOrderService extends IService<ExpansionOrder> {
     PageInfo pageList(VirtualOrderParam param);
     PageInfo pageList(VirtualOrderParam param);
 
 
     Long getCount(Long id, Integer cameraType);
     Long getCount(Long id, Integer cameraType);
+
+    ExpansionOrder getByOrderSn(String orderSn);
+
+    boolean paySuccessExpansionOrder(String orderSn, String tradeNo, int paymentTypeName, int status);
 }
 }

+ 4 - 0
src/main/java/com/fdkankan/ucenter/service/IIncrementOrderService.java

@@ -25,4 +25,8 @@ public interface IIncrementOrderService extends IService<IncrementOrder> {
     GoodsSkuVo getDownloadPrice(OrderParam param);
     GoodsSkuVo getDownloadPrice(OrderParam param);
 
 
     IncrementOrder insertIncrementOrder(Long userId, DownNumParam param, BigDecimal price);
     IncrementOrder insertIncrementOrder(Long userId, DownNumParam param, BigDecimal price);
+
+    IncrementOrder getByOrderSn(String orderSn);
+
+    boolean paySuccessIncrementOrder(String orderSn, String tradeNo, int paymentTypeName);
 }
 }

+ 2 - 0
src/main/java/com/fdkankan/ucenter/service/IOrderService.java

@@ -37,4 +37,6 @@ public interface IOrderService extends IService<Order> {
     DownloadOrder downloadOrder(DownNumParam param);
     DownloadOrder downloadOrder(DownNumParam param);
 
 
     IncrementOrder incrementOrder(DownNumParam param);
     IncrementOrder incrementOrder(DownNumParam param);
+
+    boolean paySuccessEntityOrder(String orderSn, String tradeNo, int paymentTypeName);
 }
 }

+ 4 - 0
src/main/java/com/fdkankan/ucenter/service/IVirtualOrderService.java

@@ -17,4 +17,8 @@ import com.fdkankan.ucenter.vo.request.VirtualOrderParam;
 public interface IVirtualOrderService extends IService<VirtualOrder> {
 public interface IVirtualOrderService extends IService<VirtualOrder> {
 
 
     PageInfo pageList(VirtualOrderParam param);
     PageInfo pageList(VirtualOrderParam param);
+
+    VirtualOrder getByOrderSn(String orderSn);
+
+    boolean paySuccessVirtualOrder(String orderSn, String tradeNo, int paymentTypeName);
 }
 }

+ 13 - 0
src/main/java/com/fdkankan/ucenter/service/impl/CameraDetailServiceImpl.java

@@ -152,4 +152,17 @@ public class CameraDetailServiceImpl extends ServiceImpl<ICameraDetailMapper, Ca
     public List<CameraAppVo> getListByUserAndType(Long userId, Integer cameraType) {
     public List<CameraAppVo> getListByUserAndType(Long userId, Integer cameraType) {
         return this.getBaseMapper().getListByUserAndType(userId,cameraType);
         return this.getBaseMapper().getListByUserAndType(userId,cameraType);
     }
     }
+
+    @Override
+    public boolean updateCameraBalance(Long cameraId, int body, Integer points) {
+        CameraDetail detailEntity = this.getByCameraId(cameraId);
+        int sub = Integer.parseInt(detailEntity.getBalance());
+        if (0 == body){
+            sub += points;
+        }else if (-2 == body){
+            sub -= points;
+        }
+        detailEntity.setBalance(String.valueOf(sub));
+        return this.updateById(detailEntity);
+    }
 }
 }

+ 37 - 0
src/main/java/com/fdkankan/ucenter/service/impl/CameraSpaceServiceImpl.java

@@ -1,12 +1,19 @@
 package com.fdkankan.ucenter.service.impl;
 package com.fdkankan.ucenter.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.fdkankan.common.constant.TbStatus;
 import com.fdkankan.ucenter.entity.CameraSpace;
 import com.fdkankan.ucenter.entity.CameraSpace;
+import com.fdkankan.ucenter.entity.ExpansionOrder;
 import com.fdkankan.ucenter.mapper.ICameraSpaceMapper;
 import com.fdkankan.ucenter.mapper.ICameraSpaceMapper;
 import com.fdkankan.ucenter.service.ICameraSpaceService;
 import com.fdkankan.ucenter.service.ICameraSpaceService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.ucenter.util.DateUserUtil;
 import com.fdkankan.ucenter.vo.response.CameraSpaceVo;
 import com.fdkankan.ucenter.vo.response.CameraSpaceVo;
+import org.joda.time.DateTime;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.util.Date;
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.List;
 import java.util.List;
 
 
@@ -33,4 +40,34 @@ public class CameraSpaceServiceImpl extends ServiceImpl<ICameraSpaceMapper, Came
         voListByCameraIds.forEach(entity ->map.put(entity.getCameraId(),entity));
         voListByCameraIds.forEach(entity ->map.put(entity.getCameraId(),entity));
         return map;
         return map;
     }
     }
+
+    @Override
+    public void removeByCameraId(Long cameraId) {
+        LambdaQueryWrapper<CameraSpace> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(CameraSpace::getCameraId,cameraId);
+        this.remove(wrapper);
+    }
+
+    @Override
+    public CameraSpace saveByExpansionOrder(ExpansionOrder expansionOrder) {
+        CameraSpace cameraSpaceEntity = new CameraSpace();
+        DateTime date = null;
+        if(expansionOrder.getMonth() == 12){
+            date = new DateTime().plusYears(1).plusDays(expansionOrder.getDelay());
+        }else {
+            date = new DateTime().plusDays(expansionOrder.getMonth() * 31).plusDays(expansionOrder.getDelay());
+        }
+        cameraSpaceEntity.setUserId(expansionOrder.getUserId());
+        cameraSpaceEntity.setOrderSn(expansionOrder.getOrderSn());
+        cameraSpaceEntity.setCameraId(expansionOrder.getCameraId());
+        cameraSpaceEntity.setSpace(0L);
+        cameraSpaceEntity.setSpaceType(2);
+        cameraSpaceEntity.setSpaceStartTime(new Date());
+        cameraSpaceEntity.setSpaceEndTime(date.toDate());
+        cameraSpaceEntity.setRecStatus("A");
+        cameraSpaceEntity.setCreateTime(DateUserUtil.getDate(new Date()));
+        cameraSpaceEntity.setUpdateTime(DateUserUtil.getDate(new Date()));
+        this.save(cameraSpaceEntity);
+        return cameraSpaceEntity;
+    }
 }
 }

+ 29 - 0
src/main/java/com/fdkankan/ucenter/service/impl/ExpansionOrderServiceImpl.java

@@ -1,6 +1,9 @@
 package com.fdkankan.ucenter.service.impl;
 package com.fdkankan.ucenter.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.common.constant.TbStatus;
 import com.fdkankan.common.response.PageInfo;
 import com.fdkankan.common.response.PageInfo;
 import com.fdkankan.ucenter.entity.ExpansionOrder;
 import com.fdkankan.ucenter.entity.ExpansionOrder;
 import com.fdkankan.ucenter.entity.User;
 import com.fdkankan.ucenter.entity.User;
@@ -13,6 +16,9 @@ import com.fdkankan.ucenter.vo.response.ExpansionOrderVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.util.Date;
+import java.util.List;
+
 /**
 /**
  * <p>
  * <p>
  * 扩容订单表(八目相机) 服务实现类
  * 扩容订单表(八目相机) 服务实现类
@@ -40,4 +46,27 @@ public class ExpansionOrderServiceImpl extends ServiceImpl<IExpansionOrderMapper
     public Long getCount(Long userId, Integer cameraType) {
     public Long getCount(Long userId, Integer cameraType) {
         return this.getBaseMapper().getCount(userId,cameraType);
         return this.getBaseMapper().getCount(userId,cameraType);
     }
     }
+
+    @Override
+    public ExpansionOrder getByOrderSn(String orderSn) {
+        QueryWrapper<ExpansionOrder> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(ExpansionOrder::getOrderSn,orderSn);
+        List<ExpansionOrder> list = this.list(queryWrapper);
+        if(list == null || list.size()<=0){
+            return null;
+        }
+        return list.get(0);
+    }
+
+    @Override
+    public boolean paySuccessExpansionOrder(String orderSn, String tradeNo, int paymentTypeName, int status) {
+        LambdaUpdateWrapper<ExpansionOrder> updateWrapper = new LambdaUpdateWrapper<>();
+        updateWrapper.set(ExpansionOrder::getPayType,paymentTypeName)
+                .set(ExpansionOrder::getNumber,tradeNo)
+                .set(ExpansionOrder::getStatus, status)
+                .set(ExpansionOrder::getPayStatus, 1)
+                .set(ExpansionOrder::getTradeTime, new Date())
+                .eq(ExpansionOrder::getOrderSn,orderSn);
+        return this.update(updateWrapper);
+    }
 }
 }

+ 25 - 0
src/main/java/com/fdkankan/ucenter/service/impl/IncrementOrderServiceImpl.java

@@ -1,8 +1,11 @@
 package com.fdkankan.ucenter.service.impl;
 package com.fdkankan.ucenter.service.impl;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.common.constant.SceneConstant;
 import com.fdkankan.common.constant.SceneConstant;
+import com.fdkankan.common.constant.TbStatus;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.response.PageInfo;
 import com.fdkankan.common.response.PageInfo;
 import com.fdkankan.common.util.NumberUtils;
 import com.fdkankan.common.util.NumberUtils;
@@ -127,4 +130,26 @@ public class IncrementOrderServiceImpl extends ServiceImpl<IIncrementOrderMapper
         this.save(incrementOrderEntity);
         this.save(incrementOrderEntity);
         return incrementOrderEntity;
         return incrementOrderEntity;
     }
     }
+
+    @Override
+    public IncrementOrder getByOrderSn(String orderSn) {
+        QueryWrapper<IncrementOrder> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(IncrementOrder::getOrderSn,orderSn);
+        List<IncrementOrder> list = this.list(queryWrapper);
+        if(list == null || list.size()<=0){
+            return null;
+        }
+        return list.get(0);
+    }
+
+    @Override
+    public boolean paySuccessIncrementOrder(String orderSn, String tradeNo, int paymentTypeName) {
+        LambdaUpdateWrapper<IncrementOrder> updateWrapper = new LambdaUpdateWrapper<>();
+        updateWrapper.set(IncrementOrder::getPayType,paymentTypeName)
+                .set(IncrementOrder::getNumber,tradeNo)
+                .set(IncrementOrder::getPayStatus, 1)
+                .set(IncrementOrder::getTradeTime, new Date())
+                .eq(IncrementOrder::getOrderSn,orderSn);
+        return this.update(updateWrapper);
+    }
 }
 }

+ 12 - 0
src/main/java/com/fdkankan/ucenter/service/impl/OrderServiceImpl.java

@@ -1,8 +1,10 @@
 package com.fdkankan.ucenter.service.impl;
 package com.fdkankan.ucenter.service.impl;
 
 
+import com.amazonaws.services.codecommit.model.OrderEnum;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.common.constant.TbStatus;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.response.PageInfo;
 import com.fdkankan.common.response.PageInfo;
 import com.fdkankan.common.util.FileUtils;
 import com.fdkankan.common.util.FileUtils;
@@ -311,4 +313,14 @@ public class OrderServiceImpl extends ServiceImpl<IOrderMapper, Order> implement
         }
         }
         return incrementOrderService.insertIncrementOrder(user.getId(), param, param.getAbroad() == 0 ?  goodsSku.getPrice() : goodsSku.getDollarPrice());
         return incrementOrderService.insertIncrementOrder(user.getId(), param, param.getAbroad() == 0 ?  goodsSku.getPrice() : goodsSku.getDollarPrice());
     }
     }
+
+    @Override
+    public boolean paySuccessEntityOrder(String orderSn, String tradeNo, int paymentTypeName) {
+        LambdaUpdateWrapper<Order> updateWrapper = new LambdaUpdateWrapper<>();
+        updateWrapper.set(Order::getPaymentTypeName,paymentTypeName)
+                .set(Order::getTradeNum,tradeNo)
+                .set(Order::getPaymentStatus, PaymentStatus.paid.name())
+                .eq(Order::getOrderSn,orderSn);
+        return this.update(updateWrapper);
+    }
 }
 }

+ 28 - 0
src/main/java/com/fdkankan/ucenter/service/impl/VirtualOrderServiceImpl.java

@@ -1,6 +1,9 @@
 package com.fdkankan.ucenter.service.impl;
 package com.fdkankan.ucenter.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.common.constant.TbStatus;
 import com.fdkankan.common.response.PageInfo;
 import com.fdkankan.common.response.PageInfo;
 import com.fdkankan.ucenter.entity.User;
 import com.fdkankan.ucenter.entity.User;
 import com.fdkankan.ucenter.entity.VirtualOrder;
 import com.fdkankan.ucenter.entity.VirtualOrder;
@@ -14,6 +17,9 @@ import com.fdkankan.ucenter.vo.response.VirtualOrderVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.util.Date;
+import java.util.List;
+
 /**
 /**
  * <p>
  * <p>
  * 充值订单表(双目相机点数充值、消费) 服务实现类
  * 充值订单表(双目相机点数充值、消费) 服务实现类
@@ -35,4 +41,26 @@ public class VirtualOrderServiceImpl extends ServiceImpl<IVirtualOrderMapper, Vi
         Page<VirtualOrderVo> page = this.getBaseMapper().pageList(new Page<>(param.getPageNum(),param.getPageSize()),param);
         Page<VirtualOrderVo> page = this.getBaseMapper().pageList(new Page<>(param.getPageNum(),param.getPageSize()),param);
         return PageInfo.PageInfo(page);
         return PageInfo.PageInfo(page);
     }
     }
+
+    @Override
+    public VirtualOrder getByOrderSn(String orderSn) {
+        QueryWrapper<VirtualOrder> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(VirtualOrder::getOrderSn,orderSn);
+        List<VirtualOrder> list = this.list(queryWrapper);
+        if(list == null || list.size()<=0){
+            return null;
+        }
+        return list.get(0);
+    }
+
+    @Override
+    public boolean paySuccessVirtualOrder(String orderSn, String tradeNo, int paymentTypeName) {
+        LambdaUpdateWrapper<VirtualOrder> updateWrapper = new LambdaUpdateWrapper<>();
+        updateWrapper.set(VirtualOrder::getPayType,paymentTypeName)
+                .set(VirtualOrder::getNumber,tradeNo)
+                .set(VirtualOrder::getPayStatus, 1)
+                .set(VirtualOrder::getTradeTime, new Date())
+                .eq(VirtualOrder::getOrderSn,orderSn);
+        return this.update(updateWrapper);
+    }
 }
 }

+ 71 - 0
src/main/java/com/fdkankan/ucenter/vo/response/OrderItemVo.java

@@ -0,0 +1,71 @@
+package com.fdkankan.ucenter.vo.response;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+@Data
+public class OrderItemVo implements Serializable {
+
+    private static final long serialVersionUID = -1578220758423450788L;
+
+    private Long id;
+    /**
+     * 商品编码
+     */
+    //value = "商品编码", name = "goodsSn")
+    private String goodsSn;
+    /**
+     * sku编码
+     */
+    private String skuSn;
+    /**
+     * 商品名称
+     */
+    //value = "商品名称", name = "goodsName")
+    private String goodsName;
+    /**
+     * 商品价格
+     */
+    //value = "商品价格", name = "goodsPrice")
+    private BigDecimal goodsPrice;
+    /**
+     * 商品数量
+     */
+    //value = "商品数量", name = "goodsCount")
+    private Integer goodsCount;
+    /**
+     * 快递公司
+     */
+    //value = "快递公司", name = "expressName")
+    private String expressName;
+    /**
+     * 快递单号
+     */
+    //value = "快递单号", name = "expressNum")
+    private String expressNum;
+    /**
+     * 配送状态
+     */
+    //value = "配送状态", name = "shippingStatus")
+    private String shippingStatus;
+
+    //value = "描述", name = "description")
+    private String description;
+    //value = "图片", name = "pic")
+    private String pic;
+    //value = "商品id", name = "goodsId")
+    private Long goodsId;
+    //value = "订单id", name = "orderId")
+    private Long orderId;
+    @JsonIgnore
+    private String openid;
+
+    /**
+     * 0表示国内订单,1表示国外订单
+     */
+    private Integer abroad;
+
+}