Selaa lähdekoodia

联合丽格v1_0_2

kaick 1 vuosi sitten
vanhempi
commit
ee52a630a4
41 muutettua tiedostoa jossa 1203 lisäystä ja 130 poistoa
  1. 2 1
      src/main/java/com/caimei/modules/club/dao/CmUserDao.java
  2. 3 4
      src/main/java/com/caimei/modules/order/controller/CmOrderRemarkController.java
  3. 26 1
      src/main/java/com/caimei/modules/order/controller/CmReturnedPurchaseController.java
  4. 3 3
      src/main/java/com/caimei/modules/order/controller/OrderReceiptController.java
  5. 4 5
      src/main/java/com/caimei/modules/order/controller/OrganizeOrderController.java
  6. 3 1
      src/main/java/com/caimei/modules/order/dao/CmDiscernReceiptDao.java
  7. 2 2
      src/main/java/com/caimei/modules/order/dao/CmOrderRemarkDao.java
  8. 4 0
      src/main/java/com/caimei/modules/order/dao/CmReturnedPurchaseDao.java
  9. 80 0
      src/main/java/com/caimei/modules/order/dao/CmUserBalanceRecordMapper.java
  10. 4 1
      src/main/java/com/caimei/modules/order/dao/NewOrderProductDao.java
  11. 66 0
      src/main/java/com/caimei/modules/order/entity/CmUserBalanceRecord.java
  12. 92 0
      src/main/java/com/caimei/modules/order/entity/NewOrder.java
  13. 0 2
      src/main/java/com/caimei/modules/order/entity/NewOrderProduct.java
  14. 12 1
      src/main/java/com/caimei/modules/order/entity/NewShopOrder.java
  15. 2 0
      src/main/java/com/caimei/modules/order/entity/ReceiptVo.java
  16. 1 1
      src/main/java/com/caimei/modules/order/service/CmDiscernReceiptService.java
  17. 3 0
      src/main/java/com/caimei/modules/order/service/CmReturnedPurchaseService.java
  18. 86 0
      src/main/java/com/caimei/modules/order/service/CmUserBalanceRecordService.java
  19. 17 5
      src/main/java/com/caimei/modules/order/service/impl/CmDiscernReceiptServiceImpl.java
  20. 2 2
      src/main/java/com/caimei/modules/order/service/impl/CmOrderRemarkServiceImpl.java
  21. 197 3
      src/main/java/com/caimei/modules/order/service/impl/CmReturnedPurchaseServiceImpl.java
  22. 141 0
      src/main/java/com/caimei/modules/order/service/impl/CmUserBalanceRecordServiceImpl.java
  23. 2 2
      src/main/java/com/caimei/modules/order/service/impl/OrderDeliverServiceImpl.java
  24. 3 4
      src/main/java/com/caimei/modules/order/service/impl/PayShopServiceImpl.java
  25. 62 2
      src/main/java/com/caimei/modules/order/util/OrderUtils.java
  26. 2 2
      src/main/java/com/caimei/modules/products/controller/CmMallOrganizeProductsController.java
  27. 1 0
      src/main/resources/application.yml
  28. 5 5
      src/main/resources/config/dev/application-dev.yml
  29. 3 3
      src/main/resources/mapper/ActiveMapper.xml
  30. 4 4
      src/main/resources/mapper/BannerMapper.xml
  31. 24 7
      src/main/resources/mapper/CmDiscernReceiptMapper.xml
  32. 2 0
      src/main/resources/mapper/CmMallOrganizeProductsMapper.xml
  33. 2 2
      src/main/resources/mapper/CmOrderRemarkMapper.xml
  34. 51 3
      src/main/resources/mapper/CmReturnedPurchaseMapper.xml
  35. 146 0
      src/main/resources/mapper/CmUserBalanceRecordMapper.xml
  36. 51 1
      src/main/resources/mapper/CmUserMapper.xml
  37. 6 4
      src/main/resources/mapper/FloorMapper.xml
  38. 56 53
      src/main/resources/mapper/NewOrderMapper.xml
  39. 12 2
      src/main/resources/mapper/NewOrderProductMapper.xml
  40. 19 2
      src/main/resources/mapper/NewShopOrderMapper.xml
  41. 2 2
      src/main/resources/mapper/PayShopDao.xml

+ 2 - 1
src/main/java/com/caimei/modules/club/dao/CmUserDao.java

@@ -17,4 +17,5 @@ public interface CmUserDao {
     void update(CmUser cmUser);
 
     CmUser findUserById(Integer userId);
-}
+    CmUser get(Integer userId);
+}

+ 3 - 4
src/main/java/com/caimei/modules/order/controller/CmOrderRemarkController.java

@@ -37,12 +37,11 @@ public class CmOrderRemarkController {
 
     @ApiOperation("订单备注详情")
     @GetMapping(value = "/remarksView/{orderId}/{shopOrderId}")
-    public ResponseJson<List<CmOrderRemark>> remarksView(@PathVariable("orderId") Integer orderId,@PathVariable("orderId") Integer shopOrderId) {
-        List<CmOrderRemark> remarksList = cmOrderRemarkService.findList(orderId).stream().filter(remark -> remark.getShopOrderId() ==shopOrderId).collect(Collectors.toList());
-        //过滤子订单
+    public ResponseJson<List<CmOrderRemark>> remarksView(@PathVariable("orderId") Integer orderId,@PathVariable("shopOrderId") Integer shopOrderId) {
+        List<CmOrderRemark> remarksList = cmOrderRemarkService.findList(shopOrderId);
         NewOrder newOrder = newOrderService.get(orderId.toString());
         orderUtil.setOrderValue(newOrder);
-        List<NewShopOrder>  newShopOrders= newOrder.getNewShopOrders().stream().filter(newShopOrder -> newShopOrder.getShopOrderId() ==shopOrderId).collect(Collectors.toList());
+        List<NewShopOrder>  newShopOrders= newOrder.getNewShopOrders().stream().filter(newShopOrder -> newShopOrder.getShopOrderId().equals(shopOrderId)).collect(Collectors.toList());
         newOrder.setNewShopOrders(newShopOrders);
         if(remarksList!=null&&remarksList.size()>0){
 

+ 26 - 1
src/main/java/com/caimei/modules/order/controller/CmReturnedPurchaseController.java

@@ -17,7 +17,10 @@ import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -44,6 +47,27 @@ public class CmReturnedPurchaseController {
         return JsonModel.newInstance().success(purchasePage);
     }
 
+    /**
+     * 接口参数:
+     * 用户撤销退款id
+     * 组织organizeId
+     * 主订单orderId
+     * 子订单shopOrderId
+     * @param cmReturnedPurchase
+     * @return
+     */
+    @ApiOperation("用户撤销退款")
+    @GetMapping(value = "revokeApply")
+    public ResponseJson<String> revokeApply(CmReturnedPurchase cmReturnedPurchase) {
+            cmReturnedPurchase = cmReturnedPurchaseService.get(cmReturnedPurchase.getId());
+            if (!"2".equals(cmReturnedPurchase.getStatus())) {
+               return ResponseJson.error("该退款单状态已发生改变,不可撤销");
+            }
+            cmReturnedPurchaseService.revokeApply(cmReturnedPurchase);
+
+        return ResponseJson.success("已撤销退款");
+    }
+
 
     @ApiOperation("用户退款单详情")
     @GetMapping(value = "/toReturnRecord/{id}")
@@ -52,7 +76,8 @@ public class CmReturnedPurchaseController {
         NewOrder newOrder = newOrderService.get(cmReturnedPurchase.getOrderId().toString());
         //过滤子订单
         orderUtil.setOrderValue(newOrder);
-        List<NewShopOrder>  newShopOrders= newOrder.getNewShopOrders().stream().filter(newShopOrder -> newShopOrder.getShopOrderId() == cmReturnedPurchase.getShopOrderId()).collect(Collectors.toList());
+        List<NewShopOrder>  newShopOrders= newOrder.getNewShopOrders();
+//        .stream().filter(newShopOrder -> newShopOrder.getShopOrderId().equals(cmReturnedPurchase.getShopOrderId())).collect(Collectors.toList());
         newOrder.setNewShopOrders(newShopOrders);
         newOrder.setCmReturnedPurchase(cmReturnedPurchase);
         cmReturnedPurchaseService.toReturnRecord(newOrder, cmReturnedPurchase);

+ 3 - 3
src/main/java/com/caimei/modules/order/controller/OrderReceiptController.java

@@ -60,9 +60,9 @@ public class OrderReceiptController {
 
     @ApiOperation("收款详情")
     @ApiImplicitParam(required = true, name = "id", value = "收款Id")
-    @GetMapping("/receipt/detail/{id}")
-    public ResponseJson<ReceiptDetail> receiptDetail(@PathVariable("id") Integer id) {
-        return ResponseJson.success(cmDiscernReceiptService.findReceiptDetail(id));
+    @GetMapping("/receipt/detail/{id}/{shopOrderId}")
+    public ResponseJson<ReceiptDetail> receiptDetail(@PathVariable("id") Integer id,@PathVariable("shopOrderId") Integer shopOrderId) {
+        return ResponseJson.success(cmDiscernReceiptService.findReceiptDetail(id,shopOrderId));
     }
 
     @ApiOperation("收款帐号列表")

+ 4 - 5
src/main/java/com/caimei/modules/order/controller/OrganizeOrderController.java

@@ -94,8 +94,7 @@ public class OrganizeOrderController {
         List<BpClause> bpClauses = bpClauseService.findList(bpClause);
         map.put("bpClauses", bpClauses);
         orderUtil.setOrderValue(order);
-        orderUtil.setOrderPostInfo(order);
-        order.getNewShopOrders().forEach(newShopOrder -> newShopOrder.setPostageInfo(order.getPostageInfo()));
+//        orderUtil.setOrderPostInfo(order);
 
         /**
          *  当主订单为【待收款】或者为线下支付的【部分收款】状态时,才显示更改订单状态按钮
@@ -113,7 +112,7 @@ public class OrganizeOrderController {
         order.setCheckFlag(checkFlag);
         map.put("order", order);
 
-        List<Voucher> vouchers = newOrderService.findVoucher(order.getOrderId());
+        List<Voucher> vouchers = newOrderService.findVoucher(order.getShopOrderId());
         map.put("voucher", vouchers);
         CmReturnedPurchase cmReturnedPurchase = new CmReturnedPurchase();
         cmReturnedPurchase.setStatus("2");
@@ -181,11 +180,11 @@ public class OrganizeOrderController {
 //            orderUtil.setOrderPostInfo(newOrder);
             //过滤子订单
             orderUtil.setOrderValue(newOrder);
-            List<NewShopOrder>  newShopOrders= newOrder.getNewShopOrders().stream().filter(newShopOrder -> newShopOrder.getShopOrderId() == cmReturnedPurchase.getShopOrderId()).collect(Collectors.toList());
+            List<NewShopOrder>  newShopOrders= newOrder.getNewShopOrders().stream().filter(newShopOrder -> newShopOrder.getShopOrderId().equals(cmReturnedPurchase.getShopOrderId())).collect(Collectors.toList());
             newOrder.setNewShopOrders(newShopOrders);
 
 
-            List<CmReturnedPurchase> dataList = cmReturnedPurchaseService.getReturnedPurchaseList(cmReturnedPurchase).stream().filter(returnedPurchase -> returnedPurchase.getShopOrderId() == cmReturnedPurchase.getShopOrderId()).collect(Collectors.toList());
+            List<CmReturnedPurchase> dataList = cmReturnedPurchaseService.getReturnedPurchaseList(cmReturnedPurchase).stream().filter(returnedPurchase -> returnedPurchase.getShopOrderId() .equals( cmReturnedPurchase.getShopOrderId())).collect(Collectors.toList());
             //退款(退货)总金额
             Double returnedPurchaseFee = 0D;
             //退款总额(给买家)

+ 3 - 1
src/main/java/com/caimei/modules/order/dao/CmDiscernReceiptDao.java

@@ -21,7 +21,9 @@ public interface CmDiscernReceiptDao {
 
     List<OrderRelationRecord> findOrderRelation(Integer receiptId);
 
-    List<NewShopOrder> findReceiptShopOrder(Integer orderId);
+    List<NewShopOrder> findReceiptShopOrder(@Param("orderId") Integer orderId,@Param("shopOrderId")Integer shopOrderId);
+
+    Double findShoOrderIDReceipt(@Param("shopOrderID") Integer orderID);
 
     List<ReceiptPayType> findReceiptType();
 

+ 2 - 2
src/main/java/com/caimei/modules/order/dao/CmOrderRemarkDao.java

@@ -10,7 +10,7 @@ import java.util.List;
 @Mapper
 public interface CmOrderRemarkDao{
 
-    List<CmOrderRemark> findList(Integer orderId);
+    List<CmOrderRemark> findList(Integer shopOrderID);
 
     void insert(CmOrderRemark remark);
 
@@ -27,4 +27,4 @@ public interface CmOrderRemarkDao{
     void insertImage(RemarkImage i);
 
     void insertFile(OssFile o);
-}
+}

+ 4 - 0
src/main/java/com/caimei/modules/order/dao/CmReturnedPurchaseDao.java

@@ -26,4 +26,8 @@ public interface CmReturnedPurchaseDao {
     List<Integer> findReturnIds(Integer orderId);
 
     List<ReturnRecord> findRecordByShopOrder(Integer shopOrderId);
+
+    int updateRevokeApply(CmReturnedPurchase cmReturnedPurchase);
+
+    List<CmReturnedPurchase> findReturnedPurchaseRecord(CmReturnedPurchase item);
 }

+ 80 - 0
src/main/java/com/caimei/modules/order/dao/CmUserBalanceRecordMapper.java

@@ -0,0 +1,80 @@
+package com.caimei.modules.order.dao;
+
+import java.util.List;
+
+import com.caimei.modules.order.entity.CmUserBalanceRecord;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 用户余额收支记录Mapper接口
+ *
+ * @author Kaick
+ * @date 2023-06-18
+ */
+@Mapper
+public interface CmUserBalanceRecordMapper
+{
+    /**
+     * 查询用户余额收支记录
+     *
+     * @param id 用户余额收支记录主键
+     * @return 用户余额收支记录
+     */
+    public CmUserBalanceRecord getCmUserBalanceRecordById(Integer id);
+
+    /**
+     * 查询用户余额收支记录
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 用户余额收支记录集合
+     */
+    public CmUserBalanceRecord getByCmUserBalanceRecord(CmUserBalanceRecord cmUserBalanceRecord);
+
+    /**
+     * 查询用户余额收支记录列表
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 用户余额收支记录集合
+     */
+    public List<CmUserBalanceRecord> getCmUserBalanceRecordList(CmUserBalanceRecord cmUserBalanceRecord);
+
+    /**
+     * 新增用户余额收支记录
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 结果
+     */
+    public int addCmUserBalanceRecord(CmUserBalanceRecord cmUserBalanceRecord);
+
+    /**
+     * 修改用户余额收支记录
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 结果
+     */
+    public int updateCmUserBalanceRecord(CmUserBalanceRecord cmUserBalanceRecord);
+
+    /**
+     * 删除用户余额收支记录
+     *
+     * @param id 用户余额收支记录主键
+     * @return 结果
+     */
+    public int delCmUserBalanceRecordById(Integer id);
+
+    /**
+     * 批量删除用户余额收支记录
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int delCmUserBalanceRecordByIds(Integer[] ids);
+
+    /**
+     * 修改批量删除用户余额收支记录
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int updateDelCmUserBalanceRecordByIds(Integer[] ids);
+}

+ 4 - 1
src/main/java/com/caimei/modules/order/dao/NewOrderProductDao.java

@@ -2,15 +2,18 @@ package com.caimei.modules.order.dao;
 
 import com.caimei.modules.order.entity.NewOrderProduct;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
 @Mapper
 public interface NewOrderProductDao {
-    
+
     NewOrderProduct get(Integer orderProductId);
 
     List<NewOrderProduct> findListByShopOrderId(Integer shopOrderId);
+    
+    Integer CountReturnedPurchaseProduct(@Param("shopOrderID") Integer shopOrderID, @Param("orderProductID") Integer orderProductID);
 
     Integer getReturningNum(Integer orderProductId);
 

+ 66 - 0
src/main/java/com/caimei/modules/order/entity/CmUserBalanceRecord.java

@@ -0,0 +1,66 @@
+package com.caimei.modules.order.entity;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import org.apache.ibatis.type.Alias;
+
+/**
+ * 用户余额收支记录对象 cm_user_balance_record
+ *
+ * @author Kaick
+ * @date 2023-06-18
+ */
+@Accessors(chain  = true )
+@Data
+@Alias("CmUserBalanceRecord")
+public class CmUserBalanceRecord implements Serializable
+{
+    private static final long serialVersionUID = 1L;
+
+    /** $column.columnComment */
+    private Integer id;
+
+    /** 用户ID */
+    private Integer userId;
+
+    /** 收支类型:1收入,2支出 */
+    private String type;
+
+    /** 余额类型:1线下余额抵扣,2多收退款到余额,3申请退款到线下余额,4余额充值,5余额提现,6线下订金订单充值,7线下余额订单充值,8线下订金订单退款,9线下余额订单退款,10线上余额抵扣,13申请退款到线上余额,16线上订金订单充值,17线上余额订单充值,18线上订金订单退款,19线上余额订单退款 */
+    private String balanceType;
+
+    /** 添加时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date addDate;
+
+    /** 金额 */
+    private BigDecimal amount;
+
+    /** 主订单ID(适用余额类型1,3[类型为3多次退款存在相同记录ID则需通过退款ID唯一区分]) */
+    private Integer orderId;
+
+    /** 子订单Id */
+    private Integer shopOrderId;
+
+    /** 收款ID(适用余额类型2) */
+    private Integer receiptId;
+
+    /** 退货退款ID(适用余额类型3) */
+    private Integer returnedId;
+
+    /** 用户提现ID对应表(cm_user_balance_withdrawals) */
+    private Integer withdrawalsId;
+
+    /** 备注 */
+    private String remark;
+
+    /** 删除标记 0 否,其余是 */
+    private String delFlag;
+
+}

+ 92 - 0
src/main/java/com/caimei/modules/order/entity/NewOrder.java

@@ -19,6 +19,9 @@ public class NewOrder implements Serializable {
 
     private String orderNo;
 
+    @ApiModelProperty("订单可见度")
+    private Integer orderSeen;
+
     @ApiModelProperty("结算状态")
     private Integer settleStatus;
 
@@ -144,6 +147,9 @@ public class NewOrder implements Serializable {
     @ApiModelProperty("退货退款类型:0无退款、1部分退、2全部退")
     private String refundType;
 
+    private String orderType;//    订单类型 0协销订单、 1普通订单、 2呵呵订单
+
+
     @ApiModelProperty("邮费订单标识 1是邮费订单  0不是邮费订单")
     private String postageOrderFlag = "0";
 
@@ -227,5 +233,91 @@ public class NewOrder implements Serializable {
 
     @ApiModelProperty("退款信息")
     private CmReturnedPurchase cmReturnedPurchase;
+
+
+    private Integer organizeStoreId;    // 组织门店id
+    private Integer shopOrderId;        // varchar(100) comment '子订单Id',
+    private String shopOrderIds;        // varchar(100) comment '子订单Id',
+    private Double promotionFullReduction;             //DECIMAL(20,2) DEFAULT 0.00  NULL   COMMENT '促销满减优惠' AFTER `discountFee`,
+    private Integer mainSpId;            // bigint(6),
+    private String clubScanTime;        // varchar(19),
+    private String payWay;              // 支付方式,(协销订单可能会存在多种进账方式用,隔开),
+    private Integer payTypeId;           // int(11) comment '支付类型',
+    private String cooFreeFlag;          // char(1) comment '库分期免息状态',
+    private Integer cooFreeRate;         // int(3) comment '库分期分期费率',
+    private Double cooFreeAmount;       // decimal(20,2) comment '库分期免息金额',
+    private Integer promotionalGiftsCount; // INT(11) NULL   COMMENT '促销赠品总数' AFTER `presentCount
+    private String splitFlag; // 订单能否拆分 1 为可拆分, 0为不可拆分
+    private String closeTime;   // 订单关闭时间
+    private Double discountAmount;  // 优惠金额:经理折扣+促销优惠+优惠券抵扣金额
+    // ---------------- v5.0.0 新加
+    private Double totalDiscount;//订单退款已退的经理折扣金额
+    private Integer zeroCostFlag;//订单0成本标识
+    private Integer userBeans;//采美豆抵扣运费数量(100:1)
+    // -----------------  v5.0.0 end
+    private Integer returnGoodsStutas;//能否退货  1 能 2 不能
+    //-------------        虚拟字段   ----------------------------
+    private Integer settleRecordNum;   //佣金结算数量
+    private String unReceipt;//未收金额(需要包含运费,目前只存在普通订单存在运费)
+    private String paid;//已付金额(不需要包含运费,等同于订单商品金额)
+    private String unpaid;//未付金额(不需要包含运费,等同于订单商品金额)
+    private String startConfirmTime;
+    private String endConfirmTime;
+    private String startRefundTime;
+    private String endRefundTime;
+    private String shopNameInfo;//
+    private String spName;
+    private Integer serviceProviderId;  //协销Id
+    private Double settleAmount;   // 已结算金额
+    private Integer splitCount;  //分账记录数
+
+    // 促销
+    private String searchflag;//0搜索,1导出
+    private String[] shopNote;  //子订单备注   修改时用来记录一下的
+    private String rebateOrder;  //是不是返佣订单 是的1,  不是的0
+    private String[] ps;    //付款状态集合
+    private Double shouldPayShopAmount; //付供应商总金额
+    private Double returnValue;  //退款总金额
+    private Boolean returnedFreightFlag;//机构运费退货标识
+    private List<NewOrderProduct> newOrderProducts;  // 订单商品列表
+
+    // 收款确认类型(1小额抹平确认,2大额抹平确认,3大额退款余额,4确认关联)
+    private String confirmType;
+    private Double orderReceivedAmount;//订单已收金额(此收款只计算线上线下收款记录payableAmount表金额)
+    private Double returnBalanceAmount;// 退款余额金额
+    private String secondHandOrderFlag;//二手商品订单标识  0非二手商品订单、 1二手商品订单
+    private boolean receiptOrderFlag;// 判断订单中抹平的订单是否是和多个订单一起支付的,
+    private Integer rechargeGoods; //1,缴纳订金;2,充值余额
+    private String affirmPaymentFlag;// 二手订单确认付款供应商标识 0未确认,1已确认
+    private String rebateFlag;//返佣订单标识,0非返佣订单,1返佣订单,2普通订单有返佣服务费
+    private String rebateFee; // 返佣服务费
+    private String associationType;//订单关联方式: 1手动 2自动
+    private Double ableUserMoney; //当前下单用户可用余额
+    private String organizeStoreName;//组织机构名称
+    /**
+     * 优惠券机构关联Id
+     */
+    private Integer clubCouponId;
+    private Double couponAmount;    //优惠券抵扣金额
+    private Double svipFullReduction;   //超级会员优惠
+    private Integer collageFlag;    // 拼团订单标识:1拼团订单,0不是
+    private Integer collageStatus;  // 拼团状态:1拼团中,2已拼成
+    private Double reductionAmount;    //分享减免金额
+    private Double reductionTouchPrice; //分享减免条件
+    private Integer onlinfePayFlag;  //线上支付标记
+
+    private Integer productCategory;//商品订单状态 1.普通订单 2.二手订单
+
+    private Integer productCode;//订单商品是否是采美信息分帐号收款的线上支付子订单
+
+    private Integer numbers;    // 总数
+    private Double totalMoney;  // 总金额
+
+
+    /**
+     * 呵呵商城优惠券
+     */
+    private Integer receiveCouponId;
+    private Integer delFlag;
 }
 

+ 0 - 2
src/main/java/com/caimei/modules/order/entity/NewOrderProduct.java

@@ -27,8 +27,6 @@ public class NewOrderProduct {
     private Integer presentNum;
     @ApiModelProperty("skuId")
     private Integer skuId;
-    @ApiModelProperty("组织skuId")
-    private Integer organizeSkuId;
     @ApiModelProperty("商品编号")
     private String productNo;
     @ApiModelProperty("订单商品购买价格")

+ 12 - 1
src/main/java/com/caimei/modules/order/entity/NewShopOrder.java

@@ -29,6 +29,8 @@ public class NewShopOrder {
     private Double freight;
     @ApiModelProperty("主订单总佣金")
     private Double totalBrokerage;
+    @ApiModelProperty("免邮标志 运费:-1到付,0包邮,1需要运费,-2仪器到付其它包邮")
+    private String shopPostFlag;
     @ApiModelProperty("主订单收款金额")
     private Double receiptTotalFee;
     @ApiModelProperty("付款单的商品费, 子订单商品的成本价的和")
@@ -46,6 +48,9 @@ public class NewShopOrder {
     @ApiModelProperty("待付采美")
     private Double waitPayCmAmount;
 
+    @ApiModelProperty("子订单待付金额")
+    private Double restAmount;
+
     @ApiModelProperty("应付供应商 = 商品费 + 运费 + 税费")
     private Double shouldPayShopAmount;
     @ApiModelProperty("已付供应商")
@@ -65,7 +70,7 @@ public class NewShopOrder {
     @ApiModelProperty("买家/客户")
     private String buyer;
     @ApiModelProperty("子订单收款状态:1待收款、2部分收款、3已收款")
-    private Integer receiptStatus;
+    private String receiptStatus;
     @ApiModelProperty("主订单收款状态:1待收款、2部分收款、3已收款")
     private Integer orderReceiptStatus;
 
@@ -99,6 +104,8 @@ public class NewShopOrder {
     private Integer shopOrderId;
     @ApiModelProperty("子订单编号")
     private String shopOrderNo;
+    @ApiModelProperty("0待确认,11待收待发,12待收部发,13待收全发,21部收待发,22部收部发,23部收全发,31已收待发,32已收部发,33已收全发,4交易完成,5订单完成,6已关闭,7交易全退")
+    private String shopStatus;
     @ApiModelProperty("订单编号")
     private String orderNo;
     @ApiModelProperty("订单Id")
@@ -180,6 +187,10 @@ public class NewShopOrder {
     private String postFeeCos = "0";
     @ApiModelProperty("机构名称")
     private String clubName;
+    @ApiModelProperty("退款状态 1无退款,3有退款")
+    private String refundStatus;
+    @ApiModelProperty("支付凭证")
+    List<Voucher> vouchers;
     /**
      *  付款列表展示数据
      */

+ 2 - 0
src/main/java/com/caimei/modules/order/entity/ReceiptVo.java

@@ -27,6 +27,8 @@ public class ReceiptVo implements Serializable {
     @ApiModelProperty("收款id")
     private Integer receiptId;
 
+    @ApiModelProperty("子订单编号")
+    private String  shopOrderId;
     @ApiModelProperty("关联子订单号")
     private String  shopOrderNos;
 

+ 1 - 1
src/main/java/com/caimei/modules/order/service/CmDiscernReceiptService.java

@@ -13,7 +13,7 @@ public interface CmDiscernReceiptService {
 
     PageInfo<ReceiptVo> findReceiptList(ReceiptVo receiptVo, Integer pageNum, Integer pageSize);
 
-    ReceiptDetail findReceiptDetail(Integer id);
+    ReceiptDetail findReceiptDetail(Integer id,Integer shopOrderId);
 
     List<ReceiptPayType> findPayType();
 

+ 3 - 0
src/main/java/com/caimei/modules/order/service/CmReturnedPurchaseService.java

@@ -14,6 +14,9 @@ public interface CmReturnedPurchaseService {
 
     CmReturnedPurchase get(Integer id);
 
+     void revokeApply(CmReturnedPurchase cmReturnedPurchase);
+
+
     void toReturnRecord(NewOrder newOrder,CmReturnedPurchase cmReturnedPurchase);
 
     List<NewOrder> getReturnDetailList(Integer orderId);

+ 86 - 0
src/main/java/com/caimei/modules/order/service/CmUserBalanceRecordService.java

@@ -0,0 +1,86 @@
+package com.caimei.modules.order.service;
+
+import com.caimei.modules.order.entity.CmUserBalanceRecord;
+
+import java.util.List;
+
+/**
+ * 用户余额收支记录Service接口
+ *
+ * @author Kaick
+ * @date 2023-06-18
+ */
+public interface CmUserBalanceRecordService
+{
+    /**
+     * 查询用户余额收支记录
+     *
+     * @param id 用户余额收支记录主键
+     * @return 用户余额收支记录
+     */
+    public CmUserBalanceRecord getCmUserBalanceRecordById(Integer id);
+
+    /**
+     * 查询用户余额收支记录
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 用户余额收支记录
+     */
+    public CmUserBalanceRecord getByCmUserBalanceRecord(CmUserBalanceRecord cmUserBalanceRecord);
+
+    /**
+     * 查询用户余额收支记录列表
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 用户余额收支记录集合
+     */
+    public List<CmUserBalanceRecord> getCmUserBalanceRecordList(CmUserBalanceRecord cmUserBalanceRecord);
+
+    /**
+     * 新增用户余额收支记录
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 结果
+     */
+    public int addCmUserBalanceRecord(CmUserBalanceRecord cmUserBalanceRecord);
+
+    /**
+     * 修改用户余额收支记录
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 结果
+     */
+    public int updateCmUserBalanceRecord(CmUserBalanceRecord cmUserBalanceRecord);
+
+    /**
+     * 批量删除用户余额收支记录
+     *
+     * @param ids 需要删除的用户余额收支记录主键集合
+     * @return 结果
+     */
+    public int delCmUserBalanceRecordByIds(Integer[] ids);
+
+    /**
+     * 删除用户余额收支记录信息
+     *
+     * @param id 用户余额收支记录主键
+     * @return 结果
+     */
+    public int delCmUserBalanceRecordById(Integer id);
+
+    /**
+     * 批量新增用户余额收支记录
+     *
+     * @param cmUserBalanceRecordList 用户余额收支记录列表
+     * @return 结果
+     */
+    public void batchAddCmUserBalanceRecord(List<CmUserBalanceRecord> cmUserBalanceRecordList);
+
+    /**
+     * 批量修改用户余额收支记录
+     *
+     * @param cmUserBalanceRecordList 用户余额收支记录列表
+     * @return 结果
+     */
+    public void batchUpdateCmUserBalanceRecord(List<CmUserBalanceRecord> cmUserBalanceRecordList);
+}

+ 17 - 5
src/main/java/com/caimei/modules/order/service/impl/CmDiscernReceiptServiceImpl.java

@@ -4,12 +4,14 @@ import com.caimei.modules.order.dao.CmDiscernReceiptDao;
 import com.caimei.modules.order.entity.*;
 import com.caimei.modules.order.service.CmDiscernReceiptService;
 import com.caimei.modules.order.service.NewOrderService;
+import com.caimei.utils.MathUtil;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.util.List;
 
 @Slf4j
@@ -36,18 +38,28 @@ public class CmDiscernReceiptServiceImpl implements CmDiscernReceiptService {
     }
 
     @Override
-    public ReceiptDetail findReceiptDetail(Integer id) {
+    public ReceiptDetail findReceiptDetail(Integer id,Integer shopOrderId) {
         ReceiptDetail r = cmDiscernReceiptDao.findReceiptDetail(id);
         List<ReceiptOrderInfo> orderInfos = cmDiscernReceiptDao.findReceiptOrder(r.getOrderId());
         orderInfos.forEach(o -> {
             o.setRecords(cmDiscernReceiptDao.findOrderRelation(r.getReceiptId()));
-            if (1 == r.getPayWay()) {
-                o.setShopOrders(cmDiscernReceiptDao.findReceiptShopOrder(o.getOrderId()));
-            }
+//            if (1 == r.getPayWay()) {
+            List<NewShopOrder> receiptShopOrder = cmDiscernReceiptDao.findReceiptShopOrder(o.getOrderId(), shopOrderId);
+            receiptShopOrder.forEach(newShopOrder -> {
+                BigDecimal add = MathUtil.add(newShopOrder.getReceiptAmount(), cmDiscernReceiptDao.findShoOrderIDReceipt(newShopOrder.getShopOrderId()));
+                newShopOrder.setReceiptAmount(add.doubleValue());
+                BigDecimal sub = MathUtil.sub(
+                        newShopOrder.getRealPay() != null ? newShopOrder.getRealPay() : newShopOrder.getNeedPayAmount()
+                        , newShopOrder.getReceiptAmount());
+                newShopOrder.setRestAmount(sub.doubleValue());
+            });
+
+            o.setShopOrders(receiptShopOrder);
+//            }
         });
         r.setOrderInfos(orderInfos);
         if (2 == r.getPayWay()) {
-            List<Voucher> vouchers = orderService.findVoucher(r.getOrderId());
+            List<Voucher> vouchers = orderService.findVoucher(shopOrderId);
             r.setVouchers(vouchers);
         }
         return r;

+ 2 - 2
src/main/java/com/caimei/modules/order/service/impl/CmOrderRemarkServiceImpl.java

@@ -35,8 +35,8 @@ public class CmOrderRemarkServiceImpl implements CmOrderRemarkService {
     private OSSUtils ossUtils;
 
     @Override
-    public List<CmOrderRemark> findList(Integer orderId) {
-        List<CmOrderRemark> list = cmOrderRemarkDao.findList(orderId);
+    public List<CmOrderRemark> findList(Integer shopOrderID) {
+        List<CmOrderRemark> list = cmOrderRemarkDao.findList(shopOrderID);
         list.forEach(l -> {
             l.setImages(cmOrderRemarkDao.findImages(l.getId()));
             l.setOssFiles(cmOrderRemarkDao.findFiles(l.getId()));

+ 197 - 3
src/main/java/com/caimei/modules/order/service/impl/CmReturnedPurchaseServiceImpl.java

@@ -1,17 +1,27 @@
 package com.caimei.modules.order.service.impl;
 
+import com.caimei.modules.club.dao.CmUserDao;
+import com.caimei.modules.club.entity.CmUser;
 import com.caimei.modules.order.dao.*;
 import com.caimei.modules.order.entity.*;
 import com.caimei.modules.order.service.CmReturnedPurchaseService;
+import com.caimei.modules.order.service.CmUserBalanceRecordService;
 import com.caimei.modules.order.service.NewOrderService;
 import com.caimei.modules.order.service.NewShopOrderService;
 import com.caimei.modules.order.util.OrderUtils;
 import com.caimei.utils.AppUtils;
+import com.caimei.utils.MathUtil;
+import com.caimei.utils.NewOrderStatus;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.math.BigDecimal;
 import java.util.*;
 
 @Slf4j
@@ -30,11 +40,19 @@ public class CmReturnedPurchaseServiceImpl implements CmReturnedPurchaseService
     @Resource
     private NewOrderService orderService;
     @Resource
+    private NewOrderDao orderDao;
+    @Resource
+    private CmUserBalanceRecordService cmUserBalanceRecordService;
+    @Resource
     private OrderUtils orderUtil;
     @Resource
     private PayShopDao payShopDao;
     @Resource
     private NewShopOrderDao shopOrderDao;
+    @Resource
+    private CmUserDao cmUserDao;
+    @Resource
+    private NewOrderProductDao newOrderProductDao;
 
 
     @Override
@@ -130,12 +148,12 @@ public class CmReturnedPurchaseServiceImpl implements CmReturnedPurchaseService
     @Override
     public void toReturnRecord(NewOrder newOrder, CmReturnedPurchase cmReturnedPurchase) {
         orderUtil.setReceiverVal(newOrder);
-        List<NewShopOrder> shopOrders = cmReturnedPurchaseDao.findReturnShopOrder(cmReturnedPurchase.getId());
-        shopOrders.forEach(s -> {
+//        List<NewShopOrder> shopOrders = cmReturnedPurchaseDao.findReturnShopOrder(cmReturnedPurchase.getId());
+        newOrder.getNewShopOrders().forEach(s -> {
             List<NewOrderProduct> orderProducts = cmReturnedPurchaseProductDao.findProductByShopOrder(s.getShopOrderId(), cmReturnedPurchase.getId());
             s.setNewOrderProducts(orderProducts);
         });
-        newOrder.setNewShopOrders(shopOrders);
+//        newOrder.setNewShopOrders(shopOrders);
     }
 
     @Override
@@ -165,4 +183,180 @@ public class CmReturnedPurchaseServiceImpl implements CmReturnedPurchaseService
         map.put("returns", returns);
         return map;
     }
+
+    @Transactional(readOnly = false)
+    @Override
+    public void revokeApply(CmReturnedPurchase cmReturnedPurchase) {
+        try {
+            //1.撤销退款退货表审核通过信息
+            cmReturnedPurchase.setConfirmReturnTime(null);
+            cmReturnedPurchase.setReviewImage1(null);
+            cmReturnedPurchase.setReviewImage2(null);
+            cmReturnedPurchase.setReviewImage3(null);
+            cmReturnedPurchase.setReviewImage4(null);
+            cmReturnedPurchase.setReviewImage5(null);
+            cmReturnedPurchase.setStatus("1");
+            cmReturnedPurchase.setReviewUserId(null);
+            cmReturnedPurchase.setReviewRemarks(null);
+            cmReturnedPurchaseDao.updateRevokeApply(cmReturnedPurchase);
+            NewOrder newOrder = orderService.get(cmReturnedPurchase.getOrderId().toString());
+            NewShopOrder newShopOrder = shopOrderDao.get(cmReturnedPurchase.getShopOrderId());
+            //2.查询除本次撤销记录外存在的其他的有效记录
+            CmReturnedPurchase item = new CmReturnedPurchase();
+            item.setStatus("2");
+//            item.setOrderId(cmReturnedPurchase.getOrderId());
+            item.setShopOrderId(cmReturnedPurchase.getShopOrderId());
+            List<CmReturnedPurchase> returnedPurchaseRecord = cmReturnedPurchaseDao.findReturnedPurchaseRecord(item);
+            if (CollectionUtils.isNotEmpty(returnedPurchaseRecord)) {
+                //存在退款记录则本次撤销后订单状态为部分退款
+                //部分退货
+                newOrder.setRefundType("1");
+                String status = newShopOrder.getShopStatus();
+                if (StringUtils.equals("5", status)) {//如果之前为交易全退,撤销后则变为
+                    if (StringUtils.equals("1", newShopOrder.getReceiptStatus())) {//(收款买家)收款状态:1待收款、2部分收款、3已收款
+                        newShopOrder.setShopStatus(NewOrderStatus.DAISHOU_BUFA.getCode());//待收部发
+                    }
+                    if (StringUtils.equals("2", newShopOrder.getReceiptStatus())) {
+                        newShopOrder.setShopStatus(NewOrderStatus.BUSHOU_BUFA.getCode());//部收部发
+                    }
+                    if (StringUtils.equals("3", newShopOrder.getReceiptStatus())) {
+                        newShopOrder.setShopStatus(NewOrderStatus.YISHOU_BUFA.getCode());//已收部发
+                    }
+                }
+            } else {
+                //不存在退款记录则本次退款为未退款
+                String status = newShopOrder.getShopStatus();
+                newOrder.setRefundType("");
+                if (StringUtils.equals("5", status)) {//如果之前为交易全退,撤销后则变为
+                    if (StringUtils.equals("1", newShopOrder.getReceiptStatus())) {//(收款买家)收款状态:1待收款、2部分收款、3已收款
+                        newShopOrder.setShopStatus(NewOrderStatus.DAISHOU_DAIFA.getCode());//待收待发
+                    }
+                    if (StringUtils.equals("2", newShopOrder.getReceiptStatus())) {
+                        newShopOrder.setShopStatus(NewOrderStatus.BUSHOU_DAIFA.getCode());//部收待发
+                    }
+                    if (StringUtils.equals("3", newShopOrder.getReceiptStatus())) {
+                        newShopOrder.setShopStatus(NewOrderStatus.YISHOU_DAIFA.getCode());//已收待发
+                    }
+                }
+            }
+            newShopOrder.setRefundStatus("1");//无退款
+            //更新订单信息
+            orderDao.update(newOrder);
+            shopOrderDao.update(newShopOrder);
+
+            //更新用户余额总金额
+            Integer userID = newOrder.getUserId();
+            CmUser cmUser = cmUserDao.get(userID);
+            Double refundBalanceFee = cmReturnedPurchase.getRefundBalanceFee();
+            cmUser.setUserId(userID);
+
+            CmUserBalanceRecord balanceRecord = cmUserBalanceRecordService.getByCmUserBalanceRecord(new CmUserBalanceRecord().setReturnedId(cmReturnedPurchase.getId()));
+            //充值或缴纳订金订单
+            if (balanceRecord != null) {
+                balanceRecord.setRemark("已撤销退款");
+                cmUser.setUserMoney(cmUser.getUserMoney() + cmReturnedPurchase.getRefundFee());
+            } else {
+                cmUser.setAbleUserMoney(cmUser.getAbleUserMoney() - refundBalanceFee);
+                cmUser.setUserMoney(cmUser.getUserMoney() - refundBalanceFee);
+            }
+
+            //撤销审核通过的余额记录
+            if (refundBalanceFee > 0) {//存在余额退款
+                //撤销余额收支记录
+                balanceRecord.setUserId(newOrder.getUserId());
+//                balanceRecord.setOrderId(newOrder.getOrderId());
+                balanceRecord.setShopOrderId(cmReturnedPurchase.getShopOrderId());
+                balanceRecord.setReturnedId(cmReturnedPurchase.getId());
+                balanceRecord.setRemark("撤销退款,余额记录无效-后台");
+                balanceRecord.setDelFlag("1");
+            }
+            cmUserDao.update(cmUser);
+            if(balanceRecord!=null){
+                cmUserBalanceRecordService.updateCmUserBalanceRecord(balanceRecord);
+            }
+//            //撤销退款采美豆
+//            Integer userBeans = Integer.valueOf(cmUser.getUserBeans());
+//            Integer num = cmUserbeanshistoryDao.findByBeansType(newOrder.getOrderID());
+//            if (num != null && num > 0) {
+//                userBeans = userBeans + num;
+//            }
+//            if (newOrder.getUserBeans() != null && newOrder.getUserBeans() > 0) {
+//                userBeans = userBeans - newOrder.getUserBeans();
+//            }
+//            cmUserbeanshistoryDao.updateBeansHistoryByReturned(newOrder.getOrderID());
+//            cmUserDao.updateUserBeans(newOrder.getUserID(), userBeans);
+//            //撤销优惠券退款
+//            if (newOrder.getCouponAmount() > 0) {
+//                cmCouponClubDao.deleteByReturnedId(cmReturnedPurchase.getId());
+//            }
+            //修改子订单信息
+            updateShopOrderAmount(newOrder.getOrderId(),cmReturnedPurchase.getShopOrderId(),returnedPurchaseRecord);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+    public void updateShopOrderAmount(Integer orderId,Integer shopOrderId,List<CmReturnedPurchase> returnedPurchaseRecord) {
+        //修改子订单付供应商金额
+        List<NewShopOrder> shopOrders = shopOrderDao.findListByOrderId(orderId);
+        shopOrders.removeIf(s -> 998 == s.getShopId());
+        for (NewShopOrder shopOrder : shopOrders) {
+            if(shopOrderId!=null&&shopOrderId!=shopOrder.getShopOrderId()){
+                continue;
+            }
+            List<NewOrderProduct> orderProducts = newOrderProductDao.findListByShopOrderId(shopOrder.getShopOrderId());
+            BigDecimal totalCostFee = BigDecimal.ZERO;
+            BigDecimal shopTaxFee = BigDecimal.ZERO;
+            for (NewOrderProduct orderProduct : orderProducts) {
+                Integer count = newOrderProductDao.CountReturnedPurchaseProduct(shopOrder.getShopOrderId(), orderProduct.getOrderProductId());
+                count = count == null ? 0 : count;
+                Integer number = orderProduct.getNum() + orderProduct.getPresentNum() - count;
+                totalCostFee = totalCostFee.add(MathUtil.mul(number, orderProduct.getCostPrice()));
+                shopTaxFee = shopTaxFee.add(MathUtil.mul(number, orderProduct.getSingleShouldPayTotalTax()));
+            }
+            // 商品费
+            shopOrder.setShopProductAmount(totalCostFee.doubleValue());
+            // 应付税费
+            shopOrder.setTotalAddedValueTax(shopTaxFee.doubleValue());
+            if (null == shopOrder.getShopPostFee()) {
+                shopOrder.setShopPostFee(0D);
+            }
+            // 付供应商
+            double shouldPayShopAmount = shopOrder.getShopProductAmount() + shopOrder.getShopPostFee() + shopOrder.getTotalAddedValueTax();
+            shopOrder.setShouldPayShopAmount(shouldPayShopAmount);
+            if (CollectionUtils.isNotEmpty(returnedPurchaseRecord)) {
+                //存在退款记录则本次撤销后订单状态为部分退款
+                //部分退货
+                shopOrder.setOrderStatusFlag("2");
+                String status = shopOrder.getShopStatus();
+                if (StringUtils.equals("7", status)) {//如果之前为交易全退,撤销后则变为
+                    if (StringUtils.equals("1", shopOrder.getReceiptStatus())) {//(收款买家)收款状态:1待收款、2部分收款、3已收款
+                        shopOrder.setShopStatus(NewOrderStatus.DAISHOU_BUFA.getCode());//待收部发
+                    }
+                    if (StringUtils.equals("2", shopOrder.getReceiptStatus())) {
+                        shopOrder.setShopStatus(NewOrderStatus.BUSHOU_BUFA.getCode());//部收部发
+                    }
+                    if (StringUtils.equals("3", shopOrder.getReceiptStatus())) {
+                        shopOrder.setShopStatus(NewOrderStatus.YISHOU_BUFA.getCode());//已收部发
+                    }
+                }
+            } else {
+                //不存在退款记录则本次退款为未退款
+                String status = shopOrder.getShopStatus();
+                shopOrder.setOrderStatusFlag("2");
+                if (StringUtils.equals("7", status)) {//如果之前为交易全退,撤销后则变为
+                    if (StringUtils.equals("1", shopOrder.getReceiptStatus())) {//(收款买家)收款状态:1待收款、2部分收款、3已收款
+                        shopOrder.setShopStatus(NewOrderStatus.DAISHOU_DAIFA.getCode());//待收待发
+                    }
+                    if (StringUtils.equals("2", shopOrder.getReceiptStatus())) {
+                        shopOrder.setShopStatus(NewOrderStatus.BUSHOU_DAIFA.getCode());//部收待发
+                    }
+                    if (StringUtils.equals("3", shopOrder.getReceiptStatus())) {
+                        shopOrder.setShopStatus(NewOrderStatus.YISHOU_DAIFA.getCode());//已收待发
+                    }
+                }
+            }
+            shopOrderDao.update(shopOrder);
+        }
+
+    }
 }

+ 141 - 0
src/main/java/com/caimei/modules/order/service/impl/CmUserBalanceRecordServiceImpl.java

@@ -0,0 +1,141 @@
+package com.caimei.modules.order.service.impl;
+
+import java.util.Date;
+import java.util.List;
+
+import com.aliyun.oss.common.utils.StringUtils;
+import com.caimei.modules.order.dao.CmUserBalanceRecordMapper;
+import com.caimei.modules.order.entity.CmUserBalanceRecord;
+import com.caimei.modules.order.service.CmUserBalanceRecordService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * 用户余额收支记录Service业务层处理
+ *
+ * @author Kaick
+ * @date 2023-06-18
+ */
+@Service
+public class CmUserBalanceRecordServiceImpl implements CmUserBalanceRecordService {
+    @Autowired
+    private CmUserBalanceRecordMapper cmUserBalanceRecordMapper;
+
+    /**
+     * 查询用户余额收支记录
+     *
+     * @param id 用户余额收支记录主键
+     * @return 用户余额收支记录
+     */
+    @Override
+    public CmUserBalanceRecord getCmUserBalanceRecordById(Integer id) {
+        return cmUserBalanceRecordMapper.getCmUserBalanceRecordById(id);
+    }
+
+    /**
+     * 查询用户余额收支记录
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 用户余额收支记录
+     */
+    @Override
+    public CmUserBalanceRecord getByCmUserBalanceRecord(CmUserBalanceRecord cmUserBalanceRecord) {
+        return cmUserBalanceRecordMapper.getByCmUserBalanceRecord(cmUserBalanceRecord);
+    }
+
+    /**
+     * 查询用户余额收支记录列表
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 用户余额收支记录
+     */
+    @Override
+    public List<CmUserBalanceRecord> getCmUserBalanceRecordList(CmUserBalanceRecord cmUserBalanceRecord) {
+        return cmUserBalanceRecordMapper.getCmUserBalanceRecordList(cmUserBalanceRecord);
+    }
+
+    /**
+     * 新增用户余额收支记录
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 结果
+     */
+    @Override
+    public int addCmUserBalanceRecord(CmUserBalanceRecord cmUserBalanceRecord) {
+        return cmUserBalanceRecordMapper.addCmUserBalanceRecord(cmUserBalanceRecord);
+    }
+
+    /**
+     * 修改用户余额收支记录
+     *
+     * @param cmUserBalanceRecord 用户余额收支记录
+     * @return 结果
+     */
+    @Override
+    public int updateCmUserBalanceRecord(CmUserBalanceRecord cmUserBalanceRecord) {
+        return cmUserBalanceRecordMapper.updateCmUserBalanceRecord(cmUserBalanceRecord);
+    }
+
+    /**
+     * 批量删除用户余额收支记录
+     *
+     * @param ids 需要删除的用户余额收支记录主键
+     * @return 结果
+     */
+    @Transactional
+    @Override
+    public int delCmUserBalanceRecordByIds(Integer[] ids) {
+        return cmUserBalanceRecordMapper.updateDelCmUserBalanceRecordByIds(ids);
+        //return cmUserBalanceRecordMapper.delCmUserBalanceRecordByIds(ids);
+    }
+
+    /**
+     * 删除用户余额收支记录信息
+     *
+     * @param id 用户余额收支记录主键
+     * @return 结果
+     */
+    @Transactional
+    @Override
+    public int delCmUserBalanceRecordById(Integer id) {
+        return cmUserBalanceRecordMapper.updateCmUserBalanceRecord(new CmUserBalanceRecord().setId(id).setDelFlag("1"));
+        //return cmUserBalanceRecordMapper.delCmUserBalanceRecordById(id);
+    }
+
+    /**
+     * 批量新增用户余额收支记录
+     *
+     * @param cmUserBalanceRecordList 用户余额收支记录列表
+     * @return 结果
+     */
+    @Transactional
+    @Override
+    public void batchAddCmUserBalanceRecord(List<CmUserBalanceRecord> cmUserBalanceRecordList) {
+        if (null != cmUserBalanceRecordList) {
+            for (CmUserBalanceRecord cmUserBalanceRecord : cmUserBalanceRecordList) {
+                if (null != cmUserBalanceRecord) {
+                    cmUserBalanceRecordMapper.addCmUserBalanceRecord(cmUserBalanceRecord);
+                }
+            }
+        }
+    }
+
+    /**
+     * 批量修改用户余额收支记录
+     *
+     * @param cmUserBalanceRecordList 用户余额收支记录列表
+     * @return 结果
+     */
+    @Transactional
+    @Override
+    public void batchUpdateCmUserBalanceRecord(List<CmUserBalanceRecord> cmUserBalanceRecordList) {
+        if (null != cmUserBalanceRecordList) {
+            for (CmUserBalanceRecord cmUserBalanceRecord : cmUserBalanceRecordList) {
+                if (null != cmUserBalanceRecord) {
+                    cmUserBalanceRecordMapper.updateCmUserBalanceRecord(cmUserBalanceRecord);
+                }
+            }
+        }
+    }
+}

+ 2 - 2
src/main/java/com/caimei/modules/order/service/impl/OrderDeliverServiceImpl.java

@@ -129,11 +129,11 @@ public class OrderDeliverServiceImpl implements OrderDeliverService {
     public ResponseJson<List<LogisticsInfoVo>> findDetails(Integer orderId ,Integer shopOrderId) {
         List<LogisticsInfoVo> result = new ArrayList<>();
         //查询这个子订单所有的发货批次记录
-        List<LogisticsBatch> lbs = logisticsBatchDao.findBatch(orderId, null).stream().filter(remark -> remark.getShopOrderId() ==shopOrderId).collect(Collectors.toList());
+        List<LogisticsBatch> lbs = logisticsBatchDao.findBatch(orderId, null).stream().filter(remark -> remark.getShopOrderId() .equals(shopOrderId)).collect(Collectors.toList());
         //过滤子订单
         NewOrder newOrder = newOrderDao.get(orderId.toString());
         orderUtil.setOrderValue(newOrder);
-        List<NewShopOrder>  newShopOrders= newOrder.getNewShopOrders().stream().filter(newShopOrder -> newShopOrder.getShopOrderId() ==shopOrderId).collect(Collectors.toList());
+        List<NewShopOrder>  newShopOrders= newOrder.getNewShopOrders().stream().filter(newShopOrder -> newShopOrder.getShopOrderId().equals(shopOrderId)).collect(Collectors.toList());
         newOrder.setNewShopOrders(newShopOrders);
         if(lbs!=null&&lbs.size()>0){
             lbs.get(0).setNewOrder(newOrder);

+ 3 - 4
src/main/java/com/caimei/modules/order/service/impl/PayShopServiceImpl.java

@@ -497,15 +497,14 @@ public class PayShopServiceImpl implements PayShopService {
         NewOrder newOrder = newOrderDao.get(orderId.toString());
         orderUtils.setReceiverVal(newOrder);
         orderUtils.setOrderValue(newOrder);
-//        orderUtils.setRefundVal(newOrder);
-//        orderUtils.setOrderPostInfo(newOrder);
-//        newShopOrder.getShopOrderId() == shopOrderId
-        List<NewShopOrder>  newShopOrders= newOrder.getNewShopOrders().stream().filter(newShopOrder -> newShopOrder.getShopOrderId() == shopOrderId).collect(Collectors.toList());
+
+        List<NewShopOrder>  newShopOrders= newOrder.getNewShopOrders().stream().filter(newShopOrder -> newShopOrder.getShopOrderId().equals(shopOrderId)).collect(Collectors.toList());
         newOrder.setNewShopOrders(newShopOrders);
         if(newOrder.getNewShopOrders()!=null&&newOrder.getNewShopOrders().size()>0){
             newOrder.getNewShopOrders().get(0).setPostageInfo(newOrder.getPostageInfo());
         }
         val.put("order", newOrder);
+        newOrder.setShopOrderId(shopOrderId);
         List<ReceiptVo> receiptVos = orderUtils.getReceiptRecord(newOrder);
         val.put("receiptList", receiptVos);
         List<OrderPayShopRecord> payRecords = orderUtils.getPayRecords(newOrder);

+ 62 - 2
src/main/java/com/caimei/modules/order/util/OrderUtils.java

@@ -5,6 +5,7 @@ import com.caimei.modules.order.constant.Constant;
 import com.caimei.modules.order.dao.*;
 import com.caimei.modules.order.entity.*;
 import com.caimei.modules.order.service.CmReturnedPurchaseService;
+import com.caimei.modules.order.service.NewOrderService;
 import com.caimei.utils.*;
 import com.caimei.utils.payUtil.MyBeanUtils;
 import com.caimei.utils.payUtil.RSA;
@@ -48,7 +49,10 @@ public class OrderUtils {
     private CmReturnedPurchaseDao returnDao;
     @Resource
     private CmDiscernReceiptDao receiptDao;
-
+    @Resource
+    private  NewOrderService newOrderService;
+    @Resource
+    private CmDiscernReceiptDao cmDiscernReceiptDao;
 
     /**
      * 计算子订单应付
@@ -319,6 +323,61 @@ public class OrderUtils {
              */
             order.setPostageInfo("¥ 0.00");
         }
+
+        if(null!=order.getNewShopOrders()){
+            for (NewShopOrder newShopOrder : order.getNewShopOrders()) {
+                BigDecimal add = MathUtil.add(newShopOrder.getReceiptAmount(),cmDiscernReceiptDao.findShoOrderIDReceipt(newShopOrder.getShopOrderId()));
+                double v = add.doubleValue();
+                newShopOrder.setReceiptAmount(v);
+                BigDecimal sub = MathUtil.sub(
+//                        newShopOrder.getWaitPayShop()
+                        newShopOrder.getRealPay() != null ? newShopOrder.getRealPay() : newShopOrder.getNeedPayAmount()
+                        , newShopOrder.getReceiptAmount());
+                newShopOrder.setRestAmount(sub.doubleValue());
+
+                Double ColdChina = Double.valueOf(700);
+                String PostageInfo = null;
+                if (null!=newShopOrder.getIsColdChina()&&newShopOrder.getIsColdChina()==1) {
+                    if ("2".equals(newShopOrder.getShopPostFlag())) {
+                        // 到付
+                        PostageInfo = "¥" + ColdChina + "(" + (newShopOrder.getIsColdChina()==1 ? "冷链费: ¥" + ColdChina + "," : "") + "其他: 到付)";
+                    } else if ("0" .equals(newShopOrder.getShopPostFlag())) {
+                        // 包邮
+                        PostageInfo = "¥" + ColdChina+ "(" + (newShopOrder.getIsColdChina()==1 ? "冷链费: ¥" + ColdChina + "," : "") + "其他: 包邮)";
+                    } else {
+                        // 有运费
+                        PostageInfo = "¥" + MathUtil.add(newShopOrder.getShopPostFee(), ColdChina) + "(" + (newShopOrder.getIsColdChina()==1 ? "冷链费: ¥" + ColdChina + "," : "") + "其他: ¥" + newShopOrder.getShopPostFee()+ ")";
+                    }
+                } else {
+                    PostageInfo = newShopOrder.getShopPostFlag().equals("2") ? "到付" : newShopOrder.getShopPostFlag()  .equals( "0") ? "包邮" : "¥" + newShopOrder.getShopPostFee();
+                }
+                //支付凭证
+                List<Voucher> vouchers = newOrderService.findVoucher(newShopOrder.getShopOrderId());
+                newShopOrder.setPostageInfo(PostageInfo);
+                newShopOrder.setVouchers(vouchers);
+                if ("1".equals( newShopOrder.getShopStatus() )) {
+                    if ( "1".equals(newShopOrder.getReceiptStatus()) && "1".equals( newShopOrder.getSendOutStatus())){
+                        newShopOrder.setShopStatus("11");
+                    } else if ( "1".equals( newShopOrder.getReceiptStatus()) && "2".equals( newShopOrder.getSendOutStatus())) {
+                        newShopOrder.setShopStatus("12");
+                    } else if ( "1".equals( newShopOrder.getReceiptStatus()) && "3".equals( newShopOrder.getSendOutStatus())) {
+                        newShopOrder.setShopStatus("13");
+                    } else if ( "2".equals( newShopOrder.getReceiptStatus()) && "1".equals( newShopOrder.getSendOutStatus())) {
+                        newShopOrder.setShopStatus("21");
+                    } else if ( "2".equals( newShopOrder.getReceiptStatus()) && "2".equals( newShopOrder.getSendOutStatus())) {
+                        newShopOrder.setShopStatus("22");
+                    } else if ( "2".equals( newShopOrder.getReceiptStatus()) && "3".equals( newShopOrder.getSendOutStatus())) {
+                        newShopOrder.setShopStatus("23");
+                    } else if ( "3".equals( newShopOrder.getReceiptStatus()) && "1".equals( newShopOrder.getSendOutStatus())) {
+                        newShopOrder.setShopStatus("31");
+                    } else if ( "3".equals( newShopOrder.getReceiptStatus()) && "2".equals( newShopOrder.getSendOutStatus())) {
+                        newShopOrder.setShopStatus("32");
+                    } else if ( "3".equals( newShopOrder.getReceiptStatus()) && "3".equals( newShopOrder.getSendOutStatus())) {
+                        newShopOrder.setShopStatus("33");
+                    }
+                }
+            }
+        }
         return order;
     }
 
@@ -444,7 +503,8 @@ public class OrderUtils {
 
     public List<ReceiptVo> getReceiptRecord(NewOrder newOrder) {
         ReceiptVo receiptVo = new ReceiptVo();
-        receiptVo.setOrderId(newOrder.getOrderId().toString());
+        receiptVo.setOrderId(newOrder.getShopOrderId().toString());
+        receiptVo.setOrganizeId(4);
 
         return receiptDao.findReceiptList(receiptVo);
     }

+ 2 - 2
src/main/java/com/caimei/modules/products/controller/CmMallOrganizeProductsController.java

@@ -67,8 +67,8 @@ public class CmMallOrganizeProductsController {
     @GetMapping(value = "/switchLine/{id}")
     public JsonModel switchLine(@PathVariable("id") Integer id) {
         CmMallOrganizeProducts organizeProducts = cmMallOrganizeProductsService.get(id);
-        if (1 == organizeProducts.getValidFlag()) {
-            organizeProducts.setValidFlag(2);
+        if (2 == organizeProducts.getValidFlag()) {
+            organizeProducts.setValidFlag(3);
         } else {
             //上线商品
             organizeProducts.setValidFlag(1);

+ 1 - 0
src/main/resources/application.yml

@@ -10,3 +10,4 @@ spring:
 logging:
   level:
     com.caimei.modules.products.dao: debug
+    com.caimei.modules.order.dao: debug

+ 5 - 5
src/main/resources/config/dev/application-dev.yml

@@ -12,12 +12,12 @@ spring:
     #数据源连接--start
   datasource:
     driverClassName: com.mysql.jdbc.Driver
-    url: jdbc:mysql://192.168.2.100:3306/caimei?characterEncoding=UTF8&serverTimezone=Asia/Shanghai
-    username: developer
-    password: 05bZ/OxTB:X+yd%1
-#    url: jdbc:mysql://120.79.25.27:3306/caimei?characterEncoding=UTF8&serverTimezone=Asia/Shanghai
+#    url: jdbc:mysql://192.168.2.100:3306/caimei?characterEncoding=UTF8&serverTimezone=Asia/Shanghai
 #    username: developer
-#    password: J5p3tgOVazNl4ydf
+#    password: 05bZ/OxTB:X+yd%1
+    url: jdbc:mysql://120.79.25.27:3306/caimei?characterEncoding=UTF8&serverTimezone=Asia/Shanghai
+    username: developer
+    password: J5p3tgOVazNl4ydf
   data:
     #mongo数据源配置
     mongodb:

+ 3 - 3
src/main/resources/mapper/ActiveMapper.xml

@@ -113,11 +113,11 @@
     <select id="findProducts" resultType="com.caimei.modules.homepage.enity.BackProduct">
         select DISTINCT p.name  as productName,
                         p.mainImage,
-                        cmop.id as productId,
+                        cmop.productId as productId,
                         cmop.validFlag,
                         cmp.sort
         from cm_mall_active_product cmp
-        left join cm_mall_organize_products cmop on cmp.productId = cmop.id
+        left join cm_organize_product_info cmop on cmp.productId = cmop.productId
         left join product p on cmop.productId = p.productID
         where cmp.activeId = #{id}
     </select>
@@ -129,7 +129,7 @@
                         cmop.validFlag,
                         cmp.sort
         from cm_mall_active_product cmp
-        left join cm_mall_organize_products cmop on cmp.productId = cmop.productId
+        left join cm_organize_product_info cmop on cmp.productId = cmop.productId
         left join product p on cmop.productId = p.productID
         where cmp.imageId = #{id}
     </select>

+ 4 - 4
src/main/resources/mapper/BannerMapper.xml

@@ -104,10 +104,10 @@
     <select id="findProducts" resultType="com.caimei.modules.homepage.enity.BackProduct">
         select p.name as productName,
                p.mainImage,
-               cmop.id as productId,
+               cmop.productId as productId,
                cmop.validFlag
-        from cm_mall_organize_products cmop
+        from cm_organize_product_info cmop
         left join product p on p.productID = cmop.productID
-        where cmop.id = #{jumpProductId}
+        where cmop.productId = #{jumpProductId}
     </select>
-</mapper>
+</mapper>

+ 24 - 7
src/main/resources/mapper/CmDiscernReceiptMapper.xml

@@ -94,7 +94,7 @@
                 AND ((cr.orderNo like concat('%',#{orderNo},'%')) OR (cso.shopOrderNo like concat('%',#{orderNo},'%')))
             </if>
             <if test="orderId != null and orderId != ''">
-                AND cr.orderId = #{orderId}
+                AND( cr.orderId = #{orderId} or cso.shopOrderId = #{orderId})
             </if>
             <if test="clubName != null and clubName != ''">
                 AND (c.name LIKE concat('%',#{clubName},'%'))
@@ -134,12 +134,13 @@
         c.name as clubName
         FROM cm_discern_receipt a
         LEFT JOIN cm_receipt_order_relation crr ON crr.receiptId = a.id AND crr.delFlag = '0'
-        LEFT JOIN cm_order cr ON cr.orderId = crr.orderId
-        LEFT JOIN cm_shop_order cso ON cso.orderId = cr.orderId
+        LEFT JOIN cm_shop_order cso ON cso.orderId = crr.orderId
+        LEFT JOIN cm_order cr ON cr.orderId = cso.orderId
         LEFT JOIN club c ON cr.userId = c.userId
         LEFT JOIN cm_offline_collection cof ON a.payType = cof.type
         <where>
             crr.relationType != 1
+            and a.delFlag = 0
             <if test="organizeId != null">
                 AND cr.organizeId = #{organizeId}
             </if>
@@ -165,7 +166,7 @@
                 AND ((cr.orderNo like concat('%',#{orderNo},'%')) OR (cso.shopOrderNo like concat('%',#{orderNo},'%')))
             </if>
             <if test="orderId != null and orderId != ''">
-                AND cr.orderId = #{orderId}
+                AND( cr.orderId = #{orderId} or cso.shopOrderId = #{orderId})
             </if>
             <if test="clubName != null and clubName != ''">
                 AND (c.name LIKE concat('%',#{clubName},'%'))
@@ -182,10 +183,11 @@
                     <![CDATA[ > ]]> 1
                 </if>
             </if>
-            and a.delFlag = 0
+
         </where>
         group by a.id
         order by a.id desc)
+
     </select>
 
     <select id="findReceiptDetail" resultType="com.caimei.modules.order.entity.ReceiptDetail">
@@ -196,11 +198,15 @@
                cdr.receiptStatus AS receiptStatus,
                cdr.smsContent    AS smsContent,
                cdr.payWay        AS payWay,
-               cror.orderId
+               cso.orderId,
+               cso.shopOrderId
         from cm_discern_receipt cdr
                  left join cm_receipt_order_relation cror on cdr.id = cror.receiptID
                  LEFT JOIN cm_offline_collection cof ON cdr.payType = cof.type
+                 LEFT JOIN cm_shop_order cso ON cso.shopOrderId = cror.shopOrderId or cso.orderId = cror.orderId
+--                  LEFT JOIN cm_order cr ON cr.orderId = cso.orderId
         where cdr.id = #{id}
+        group by cdr.id
     </select>
 
     <select id="findReceiptOrder" resultType="com.caimei.modules.order.entity.ReceiptOrderInfo">
@@ -240,13 +246,24 @@
 
     <select id="findReceiptShopOrder" resultType="com.caimei.modules.order.entity.NewShopOrder">
         select cso.shopOrderNo,
-               shopOrderId,
+               cso.shopOrderId,
                cso.realPay,
+               cso.needPayAmount,
                cso.receiptAmount,
                cso.receiptStatus as shopReceiptStatus
         from cm_order co
                  left join cm_shop_order cso on co.orderId = cso.orderId
         where co.orderId = #{orderId}
+        <if test="shopOrderId != null">
+            AND cso.shopOrderId = #{shopOrderId}
+        </if>
+    </select>
+
+    <select id="findShoOrderIDReceipt" resultType="double">
+        select IFNULL(sum(associateAmount),0) from cm_receipt_order_relation cror
+                                             left join cm_discern_receipt cdr on cror.receiptID = cdr.id
+        where cror.shopOrderID = #{shopOrderID} and cror.delFlag = '0'
+          and cdr.delFlag = '0' and cdr.receiptStatus = '3' and cdr.payWay != '3'
     </select>
 
     <select id="findReceiptType" resultType="com.caimei.modules.order.entity.ReceiptPayType">

+ 2 - 0
src/main/resources/mapper/CmMallOrganizeProductsMapper.xml

@@ -40,6 +40,7 @@
                 AND s.name LIKE concat('%',#{shopName},'%')
             </if>
         </where>
+        group by a.productId
         ORDER BY
         a.addTime DESC,a.productId DESC
     </select>
@@ -57,6 +58,7 @@
         FROM product a
         <include refid="cmMallOrganizeProductsJoins"/>
         WHERE copi.organizeId=4 and a.productID = #{id}
+        group by a.productId
     </select>
 
     <select id="findListBuyMall" resultType="com.caimei.modules.products.entity.CmMallOrganizeProducts">

+ 2 - 2
src/main/resources/mapper/CmOrderRemarkMapper.xml

@@ -14,7 +14,7 @@
                cu.accountName AS "createName"
         FROM cm_order_remark a
                  LEFT JOIN cm_mall_admin_user cu ON cu.id = a.createBy
-        where a.orderId = #{orderId}
+        where a.shopOrderID = #{shopOrderID}
         ORDER BY a.createDate
     </select>
 
@@ -74,4 +74,4 @@
             createDate  = #{createDate}
         WHERE id = #{id}
     </update>
-</mapper>
+</mapper>

+ 51 - 3
src/main/resources/mapper/CmReturnedPurchaseMapper.xml

@@ -70,11 +70,13 @@
         s1.name AS "reviewUserName",
         co.organizeID AS "organizeId",
         c.name as clubName,
-        co.orderNo
+        co.orderNo,
+        cso.shopOrderNo
         FROM cm_returned_purchase a
         LEFT JOIN sys_user s on s.id = a.applicationUserId
         LEFT JOIN sys_user s1 on s1.id = a.reviewUserId
         LEFT JOIN cm_order co ON a.orderID=co.orderID
+        LEFT JOIN cm_shop_order cso ON a.shopOrderId=cso.shopOrderId
         left join club c on c.userId = co.userId
         <where>
             <if test="organizeId != null">
@@ -87,7 +89,10 @@
                 AND a.returnedNo = #{returnedNo}
             </if>
             <if test="orderId != null and orderId !=''">
-                AND a.orderID = #{orderId}
+                AND  a.orderId = #{orderId}
+            </if>
+            <if test="shopOrderId != null and shopOrderId !=''">
+                AND  a.shopOrderId = #{shopOrderId}
             </if>
             <if test="userId != null and userId !=''">
                 AND a.userID = #{userId}
@@ -106,10 +111,11 @@
                 concat('%',#{clubName},'%')
             </if>
             <if test="orderNo != null and orderNo != ''">
-                AND b.orderNo = #{orderNo}
+                AND (co.orderNo = #{orderNo} or cso.shopOrderNo = #{orderNo})
             </if>
             and a.delFlag = 0
         </where>
+        group by a.id
         order by a.returnTime desc
     </select>
 
@@ -206,4 +212,46 @@
         from cm_returned_purchase
         where id = #{id}
     </select>
+
+    <update id="updateRevokeApply">
+        UPDATE cm_returned_purchase
+        <set>
+            status = #{status},
+            reviewImage1 = #{reviewImage1},
+            reviewImage1 = #{reviewImage2},
+            reviewImage1 = #{reviewImage3},
+            reviewImage1 = #{reviewImage4},
+            reviewImage1 = #{reviewImage5},
+            reviewRemarks = #{reviewRemarks},
+            applicationUserID = #{applicationUserId},
+            confirmReturnTime = #{confirmReturnTime},
+            reviewUserID = #{reviewUserId},
+        </set>
+        WHERE id = #{id} and orderId=#{orderId}
+        <if test="shopOrderId != null and shopOrderId != ''">
+            AND shopOrderId != #{shopOrderId}
+        </if>
+    </update>
+
+    <!--查询排除当前撤销的退货退款记录-->
+    <select id="findReturnedPurchaseRecord" resultType="com.caimei.modules.order.entity.CmReturnedPurchase">
+        SELECT
+        a.*
+        FROM cm_returned_purchase a
+        <where>
+            <if test="id != null and id != ''">
+                AND a.id != #{id}
+            </if>
+            <if test="orderId != null and orderId != ''">
+                AND a.orderID = #{orderId}
+            </if>
+            <if test="shopOrderId != null and shopOrderId != ''">
+                AND a.shopOrderId = #{shopOrderId}
+            </if>
+            <if test="status != null and status != ''">
+                AND a.status = #{status}
+            </if>
+            and a.delFlag = 0
+        </where>
+    </select>
 </mapper>

+ 146 - 0
src/main/resources/mapper/CmUserBalanceRecordMapper.xml

@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.caimei.modules.order.dao.CmUserBalanceRecordMapper">
+
+    <resultMap type="com.caimei.modules.order.entity.CmUserBalanceRecord" id="CmUserBalanceRecordResult">
+        <result property="id"    column="id"    />
+        <result property="userId"    column="userId"    />
+        <result property="type"    column="type"    />
+        <result property="balanceType"    column="balanceType"    />
+        <result property="addDate"    column="addDate"    />
+        <result property="amount"    column="amount"    />
+        <result property="orderId"    column="orderId"    />
+        <result property="shopOrderId"    column="shopOrderId"    />
+        <result property="receiptId"    column="receiptId"    />
+        <result property="returnedId"    column="returnedId"    />
+        <result property="withdrawalsId"    column="withdrawalsId"    />
+        <result property="remark"    column="remark"    />
+        <result property="delFlag"    column="delFlag"    />
+    </resultMap>
+
+    <sql id="selectCmUserBalanceRecordVo">
+        select cm_user_balance_record.id,cm_user_balance_record.userId,cm_user_balance_record.type,cm_user_balance_record.balanceType,cm_user_balance_record.addDate,cm_user_balance_record.amount,cm_user_balance_record.orderId,cm_user_balance_record.shopOrderId,cm_user_balance_record.receiptId,cm_user_balance_record.returnedId,cm_user_balance_record.withdrawalsId,cm_user_balance_record.remark
+    </sql>
+
+    <select id="getByCmUserBalanceRecord" parameterType="com.caimei.modules.order.entity.CmUserBalanceRecord" resultMap="CmUserBalanceRecordResult">
+        <include refid="selectCmUserBalanceRecordVo"/>
+        from cm_user_balance_record AS cm_user_balance_record
+        <where>  cm_user_balance_record.delFlag = 0
+            <if test="id != null "> and cm_user_balance_record.id = #{id}</if>
+            <if test="userId != null "> and cm_user_balance_record.userId = #{userId}</if>
+            <if test="type != null  and type != ''"> and cm_user_balance_record.type = #{type}</if>
+            <if test="balanceType != null  and balanceType != ''"> and cm_user_balance_record.balanceType = #{balanceType}</if>
+            <if test="addDate != null "> and cm_user_balance_record.addDate = #{addDate}</if>
+            <if test="amount != null "> and cm_user_balance_record.amount = #{amount}</if>
+            <if test="orderId != null "> and cm_user_balance_record.orderId = #{orderId}</if>
+            <if test="shopOrderId != null "> and cm_user_balance_record.shopOrderId = #{shopOrderId}</if>
+            <if test="receiptId != null "> and cm_user_balance_record.receiptId = #{receiptId}</if>
+            <if test="returnedId != null "> and cm_user_balance_record.returnedId = #{returnedId}</if>
+            <if test="withdrawalsId != null "> and cm_user_balance_record.withdrawalsId = #{withdrawalsId}</if>
+            <if test="delFlag != null  and delFlag != ''"> and cm_user_balance_record.delFlag = #{delFlag}</if>
+        </where>
+      limit 0,1
+    </select>
+
+    <select id="getCmUserBalanceRecordList" parameterType="com.caimei.modules.order.entity.CmUserBalanceRecord" resultMap="CmUserBalanceRecordResult">
+        <include refid="selectCmUserBalanceRecordVo"/>
+        from cm_user_balance_record AS cm_user_balance_record
+        <where>  cm_user_balance_record.delFlag = 0
+            <if test="id != null "> and cm_user_balance_record.id = #{id}</if>
+            <if test="userId != null "> and cm_user_balance_record.userId = #{userId}</if>
+            <if test="type != null  and type != ''">
+                and cm_user_balance_record.type  = #{type}
+            </if>
+            <if test="balanceType != null  and balanceType != ''"> and cm_user_balance_record.balanceType = #{balanceType}</if>
+            <if test="addDate != null "> and cm_user_balance_record.addDate = #{addDate}</if>
+            <if test="amount != null "> and cm_user_balance_record.amount = #{amount}</if>
+            <if test="orderId != null "> and cm_user_balance_record.orderId = #{orderId}</if>
+            <if test="shopOrderId != null "> and cm_user_balance_record.shopOrderId = #{shopOrderId}</if>
+            <if test="receiptId != null "> and cm_user_balance_record.receiptId = #{receiptId}</if>
+            <if test="returnedId != null "> and cm_user_balance_record.returnedId = #{returnedId}</if>
+            <if test="withdrawalsId != null "> and cm_user_balance_record.withdrawalsId = #{withdrawalsId}</if>
+            <if test="delFlag != null  and delFlag != ''"> and cm_user_balance_record.delFlag = #{delFlag}</if>
+        </where>
+    </select>
+
+    <select id="getCmUserBalanceRecordById" parameterType="Integer" resultMap="CmUserBalanceRecordResult">
+        <include refid="selectCmUserBalanceRecordVo"/>
+        from cm_user_balance_record AS cm_user_balance_record
+        where  cm_user_balance_record.delFlag = 0 and cm_user_balance_record.id = #{id}
+    </select>
+
+    <insert id="addCmUserBalanceRecord" parameterType="com.caimei.modules.order.entity.CmUserBalanceRecord" useGeneratedKeys="true" keyProperty="id">
+        insert into cm_user_balance_record
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null ">id,</if>
+            <if test="userId != null">userId,</if>
+            <if test="type != null and type != ''">type,</if>
+            <if test="balanceType != null and balanceType != ''">balanceType,</if>
+            <if test="addDate != null">addDate,</if>
+            <if test="amount != null">amount,</if>
+            <if test="orderId != null">orderId,</if>
+            <if test="shopOrderId != null">shopOrderId,</if>
+            <if test="receiptId != null">receiptId,</if>
+            <if test="returnedId != null">returnedId,</if>
+            <if test="withdrawalsId != null">withdrawalsId,</if>
+            <if test="remark != null and remark != ''">remark,</if>
+            <if test="delFlag != null and delFlag != ''">delFlag,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null ">#{id},</if>
+            <if test="userId != null">#{userId},</if>
+            <if test="type != null and type != ''">#{type},</if>
+            <if test="balanceType != null and balanceType != ''">#{balanceType},</if>
+            <if test="addDate != null">#{addDate},</if>
+            <if test="amount != null">#{amount},</if>
+            <if test="orderId != null">#{orderId},</if>
+            <if test="shopOrderId != null">#{shopOrderId},</if>
+            <if test="receiptId != null">#{receiptId},</if>
+            <if test="returnedId != null">#{returnedId},</if>
+            <if test="withdrawalsId != null">#{withdrawalsId},</if>
+            <if test="remark != null and remark != ''">#{remark},</if>
+            <if test="delFlag != null and delFlag != ''">#{delFlag},</if>
+        </trim>
+    </insert>
+
+    <update id="updateCmUserBalanceRecord" parameterType="com.caimei.modules.order.entity.CmUserBalanceRecord">
+        update cm_user_balance_record
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="userId != null">userId = #{userId},</if>
+            <if test="type != null and type != ''">type = #{type},</if>
+            <if test="balanceType != null and balanceType != ''">balanceType = #{balanceType},</if>
+            <if test="addDate != null">addDate = #{addDate},</if>
+            <if test="amount != null">amount = #{amount},</if>
+            <if test="orderId != null">orderId = #{orderId},</if>
+            <if test="shopOrderId != null">shopOrderId = #{shopOrderId},</if>
+            <if test="receiptId != null">receiptId = #{receiptId},</if>
+            <if test="returnedId != null">returnedId = #{returnedId},</if>
+            <if test="withdrawalsId != null">withdrawalsId = #{withdrawalsId},</if>
+            <if test="remark != null and remark != ''">remark = #{remark},</if>
+            <if test="delFlag != null and delFlag != ''">delFlag = #{delFlag},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <update id="updateDelCmUserBalanceRecordByIds" parameterType="String">
+        update cm_user_balance_record set delFlag=1 where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+
+    <delete id="delCmUserBalanceRecordById" parameterType="Integer">
+        delete
+        from cm_user_balance_record where id = #{id}
+    </delete>
+
+    <delete id="delCmUserBalanceRecordByIds" parameterType="String">
+        delete from cm_user_balance_record where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+
+</mapper>

+ 51 - 1
src/main/resources/mapper/CmUserMapper.xml

@@ -69,6 +69,53 @@
         where c.userId = #{userId}
     </select>
 
+
+    <select id="get" resultType="com.caimei.modules.club.entity.CmUser">
+            SELECT
+            a.userID AS "userID",
+            a.mobile AS "mobile",
+            a.userOrganizeID AS "userOrganizeID",
+            a.bindMobile AS "bindMobile",
+            a.email AS "email",
+            a.account AS "account",
+            a.realName AS "realName",
+            a.userIdentity AS "userIdentity",
+            a.userName AS "userName",
+            a.source AS "source",
+            a.image AS "image",
+            a.password AS "password",
+            a.name AS "name",
+            a.registerUserTypeID AS "registerUserTypeID",
+            a.manufacturerStatus AS "manufacturerStatus",
+            a.shopID AS "shopID",
+            a.auditStatus AS "auditStatus",
+            a.auditTime AS "auditTime",
+            a.auditNote AS "auditNote",
+            a.registerTime AS "registerTime",
+            a.registerIP AS "registerIP",
+            a.loginTime AS "loginTime",
+            a.loginFailTime AS "loginFailTime",
+            a.loginIP AS "loginIP",
+            a.validFlag AS "validFlag",
+            a.clubStatus AS "clubStatus",
+            a.clubID AS "clubID",
+            a.agreeFlag AS "agreeFlag",
+            a.serviceProviderStatus AS "serviceProviderStatus",
+            a.serviceProviderID AS "serviceProviderID",
+            a.userMoney AS "userMoney",
+            a.ableUserMoney as "ableUserMoney",
+            a.logoffTime AS "logoffTime",
+            a.appKey AS "appKey",
+            a.appSecret AS "appSecret",
+            a.scanFlag AS "scanFlag",
+            a.userBeans AS "userBeans",
+            a.guideFlag AS "guideFlag",
+            a.userPermission AS "userPermission"
+        FROM user a
+        WHERE a.userID = #{id}
+    </select>
+
+
     <insert id="insert" parameterType="com.caimei.modules.club.entity.CmUser" keyProperty="userId"
             useGeneratedKeys="true">
         INSERT INTO user(
@@ -235,10 +282,13 @@
             <if test="userMoney != null and userMoney != ''">
                 userMoney = #{userMoney},
             </if>
+            <if test="ableUserMoney != null and ableUserMoney != ''">
+                ableUserMoney = #{ableUserMoney} ,
+            </if>
             <if test="userBeans != null and userBeans != ''">
                 userBeans = #{userBeans},
             </if>
         </set>
         WHERE userId = #{userId}
     </update>
-</mapper>
+</mapper>

+ 6 - 4
src/main/resources/mapper/FloorMapper.xml

@@ -47,14 +47,16 @@
     </select>
 
     <select id="findProducts" resultType="com.caimei.modules.homepage.enity.BackProduct">
-        select DISTINCT p.name  as productName,
+        select DISTINCT p.name as productName,
                         p.mainImage,
                         p.productId,
                         copi.validFlag,
                         cmp.sort
         from cm_mall_floor_product cmp
-        left join product p on cmp.productId = p.productID
-        left join cm_organize_product_info copi on cmp.productId = copi.productId
+                 left join product p on cmp.productId = p.productID
+                 left join cm_organize_product_info copi on cmp.productId = copi.productId
         where cmp.floorId = #{id}
+        group by p.productId
+        order by cmp.sort
     </select>
-</mapper>
+</mapper>

+ 56 - 53
src/main/resources/mapper/NewOrderMapper.xml

@@ -61,18 +61,18 @@
             <if test="orderNo != null">
                 orderNo = #{orderNo,jdbcType=VARCHAR},
             </if>
-            <if test="userID != null">
-                userID = #{userID,jdbcType=BIGINT},
+            <if test="userId != null">
+                userId = #{userId,jdbcType=BIGINT},
             </if>
-            <if test="organizeID != null">
-                organizeID = #{organizeID,jdbcType=INTEGER},
+            <if test="organizeId != null">
+                organizeId = #{organizeId,jdbcType=INTEGER},
             </if>
-            <if test="buyUserID != null">
-                buyUserID = #{buyUserID,jdbcType=INTEGER},
-            </if>
-            <if test="shopOrderIDs != null">
-                shopOrderIDs = #{shopOrderIDs,jdbcType=VARCHAR},
+            <if test="buyUserId != null">
+                buyUserId = #{buyUserId,jdbcType=INTEGER},
             </if>
+<!--            <if test="shopOrderIds != null">-->
+<!--                shopOrderIds = #{shopOrderIds,jdbcType=VARCHAR},-->
+<!--            </if>-->
             <if test="orderSubmitType != null">
                 orderSubmitType = #{orderSubmitType,jdbcType=CHAR},
             </if>
@@ -103,14 +103,14 @@
             <if test="discountFee != null">
                 discountFee = #{discountFee,jdbcType=DECIMAL},
             </if>
-            <if test="spID != null">
-                spID = #{spID,jdbcType=BIGINT},
+            <if test="spId != null">
+                spId = #{spId,jdbcType=BIGINT},
             </if>
-            <if test="mainSpID != null">
-                mainSpID = #{mainSpID,jdbcType=BIGINT},
+            <if test="mainSpId != null">
+                mainSpId = #{mainSpId,jdbcType=BIGINT},
             </if>
-            <if test="clubID != null">
-                clubID = #{clubID,jdbcType=BIGINT},
+            <if test="clubId != null">
+                clubId = #{clubId,jdbcType=BIGINT},
             </if>
             <if test="clubScanTime != null">
                 clubScanTime = #{clubScanTime,jdbcType=VARCHAR},
@@ -130,8 +130,8 @@
             <if test="confirmFlag != null">
                 confirmFlag = #{confirmFlag,jdbcType=CHAR},
             </if>
-            <if test="clauseID != null">
-                clauseID = #{clauseID,jdbcType=BIGINT},
+            <if test="clauseId != null">
+                clauseId = #{clauseId,jdbcType=BIGINT},
             </if>
             <if test="clauseName != null">
                 clauseName = #{clauseName,jdbcType=VARCHAR},
@@ -218,20 +218,20 @@
                 svipFullReduction = #{svipFullReduction}
             </if>
         </set>
-        where orderID = #{orderId}
+        where orderId = #{orderId}
     </update>
 
     <update id="updatePayStatus">
         update cm_order
         set payStatus = #{status}
-        where orderID = #{orderId}
+        where orderId = #{orderId}
     </update>
 
     <update id="updateShopOrderByPayStatus">
         UPDATE cm_shop_order
         SET payStatus       = #{payStatus},
             payedShopAmount = #{paidShop}
-        WHERE shopOrderID = #{shopOrderId}
+        WHERE shopOrderId = #{shopOrderId}
     </update>
 
     <update id="updateBySplitStatus">
@@ -299,7 +299,7 @@
         AND orderId = co.orderId)AS returnedPurchaseStatus
         FROM cm_order co
         LEFT JOIN bp_order_userinfo bou ON bou.orderId = co.orderId
-        left join cm_order_product cop on co.orderID = cop.orderID
+        left join cm_order_product cop on co.orderId = cop.orderId
         left join club c on co.userId = c.userId
         <where>
              co.organizeId = #{organizeId}
@@ -310,6 +310,9 @@
             <if test="orderNo != null and orderNo != ''">
                 AND co.orderNo = #{orderNo}
             </if>
+            <if test="clubName != null and clubName != ''">
+                AND c.name = #{clubName}
+            </if>
 
             <if test="status != null and status != ''">
                 <choose>
@@ -445,11 +448,11 @@
                cror.shopOrderId,
                cdr.payType
         FROM cm_receipt_order_relation cror
-                 LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
-                 LEFT JOIN cm_order co ON cror.orderID = co.orderID
-                 left join cm_shop_order cso on cso.orderId = cror.orderID
-                 LEFT JOIN cm_order_product cop ON co.shopOrderIDs = cop.shopOrderID
-                 LEFT JOIN product p ON cop.productID = p.productID
+                 LEFT JOIN cm_discern_receipt cdr ON cror.receiptId = cdr.id
+                 LEFT JOIN cm_order co ON cror.orderId = co.orderId
+                 left join cm_shop_order cso on cso.orderId = cror.orderId
+                 LEFT JOIN cm_order_product cop ON co.shopOrderIds = cop.shopOrderId
+                 LEFT JOIN product p ON cop.productId = p.productId
         WHERE cror.relationType = 2
           and cror.shopOrderId = #{shopOrderId}
           AND cso.receiptStatus = 3
@@ -464,15 +467,15 @@
     </select>
 
     <select id="getShopOrderListByOrderId" resultType="com.caimei.modules.order.entity.NewShopOrder">
-        SELECT shopOrderID AS shopOrderId,
+        SELECT shopOrderId AS shopOrderId,
                shopOrderNo,
-               orderID     AS orderId,
+               orderId     AS orderId,
                orderNo,
-               shopID      AS shopId,
+               shopId      AS shopId,
                note,
-               userID      AS userId,
-               clubID      AS clubId,
-               spID        AS spId,
+               userId      AS userId,
+               clubId      AS clubId,
+               spId        AS spId,
                brokerage,
                itemCount,
                totalAmount,
@@ -486,7 +489,7 @@
                splitCode
         FROM cm_shop_order
         WHERE delFlag = 0
-          AND shopOrderID = #{shopOrderId}
+          AND shopOrderId = #{shopOrderId}
     </select>
 
     <select id="getSplitAccountList" resultType="com.caimei.modules.order.entity.SplitAccountPo">
@@ -511,15 +514,15 @@
     </select>
 
     <select id="getShopOrderByOrderId" resultType="com.caimei.modules.order.entity.NewShopOrder">
-        SELECT shopOrderID AS shopOrderId,
+        SELECT shopOrderId AS shopOrderId,
                shopOrderNo,
-               orderID     AS orderId,
+               orderId     AS orderId,
                orderNo,
-               shopID      AS shopId,
+               shopId      AS shopId,
                note,
-               userID      AS userId,
-               clubID      AS clubId,
-               spID        AS spId,
+               userId      AS userId,
+               clubId      AS clubId,
+               spId        AS spId,
                orderPromotionsId,
                promotionFullReduction,
                brokerage,
@@ -540,7 +543,7 @@
                splitCode
         FROM cm_shop_order
         WHERE delFlag = 0
-          AND orderID = #{orderId}
+          AND orderId = #{orderId}
     </select>
 
     <select id="getPaidShopAmount" resultType="java.lang.Double">
@@ -548,14 +551,14 @@
         FROM cm_pay_shop_record
         WHERE STATUS = 1
           AND delFlag = 0
-          AND shopOrderID = #{shopOrderId}
+          AND shopOrderId = #{shopOrderId}
     </select>
 
     <select id="getOrderProductByShopOrderId" resultType="com.caimei.modules.order.entity.NewOrderProduct">
-        SELECT cop.orderProductID                                                 AS orderProductId,
-               cop.orderID                                                        AS orderId,
+        SELECT cop.orderProductId                                                 AS orderProductId,
+               cop.orderId                                                        AS orderId,
                cop.orderNo,
-               cop.shopOrderID                                                    AS shopOrderId,
+               cop.shopOrderId                                                    AS shopOrderId,
                cop.shopOrderNo,
                cop.productId,
                cop.shopId,
@@ -583,9 +586,9 @@
                cop.organizePercent,
                cop.shopPercent
         FROM cm_order_product cop
-                 LEFT JOIN product p ON cop.productID = p.productID
-                 left join cm_order co on co.orderID = cop.orderID
-        WHERE cop.shopOrderID = #{shopOrderId}
+                 LEFT JOIN product p ON cop.productId = p.productId
+                 left join cm_order co on co.orderId = cop.orderId
+        WHERE cop.shopOrderId = #{shopOrderId}
           AND IF(co.userBeans = 0, 1 = 1, cop.shopId != 998)
         ORDER BY cop.discountPrice DESC
     </select>
@@ -629,8 +632,8 @@
         co.postageOrderFlag AS postageOrderFlag,
         c.name AS clubName
         FROM cm_order co
-        LEFT JOIN cm_shop_order cso ON co.orderID = cso.orderID
-        LEFT JOIN club c ON c.userID = co.userID
+        LEFT JOIN cm_shop_order cso ON co.orderId = cso.orderId
+        LEFT JOIN club c ON c.userId = co.userId
         <where>
             co.organizeId = #{organizeId}
             <if test="clubName != null and clubName != ''">
@@ -643,7 +646,7 @@
                 AND co.orderNo = #{orderNo}
             </if>
             <if test="shopOrderId != null">
-                AND cso.shopOrderID = #{shopOrderId}
+                AND cso.shopOrderId = #{shopOrderId}
             </if>
             <if test="shopOrderNo != null and shopOrderNo != ''">
                 AND cso.shopOrderNo like concat('%', #{shopOrderNo} ,'%')
@@ -686,7 +689,7 @@
     <select id="findOnlinePay" resultType="java.lang.Integer">
         SELECT COUNT(receiptId)
         FROM cm_receipt_order_relation cror
-        LEFT JOIN cm_discern_receipt cdr ON cror.receiptID = cdr.id
+        LEFT JOIN cm_discern_receipt cdr ON cror.receiptId = cdr.id
         WHERE cror.orderid = #{orderId}
           AND cdr.payway = 1
           AND cdr.delFlag = 0
@@ -704,7 +707,7 @@
     <select id="findVoucher" resultType="com.caimei.modules.order.entity.Voucher">
         select id,shopOrderId,remarks,addTime
         from cm_order_payment_voucher
-        where shopOrderId = #{shopOrderID}
+        where shopOrderId = #{shopOrderId}
     </select>
 
     <select id="findVocherImage" resultType="java.lang.String">
@@ -724,7 +727,7 @@
     <select id="findWaitPay" resultType="java.lang.Double">
         SELECT ifnull((SELECT payTotalFee FROM cm_order WHERE orderId = #{orderId}) - ifnull(SUM(receiptAmount),0),0)
         FROM cm_discern_receipt cdr
-        LEFT JOIN cm_receipt_order_relation cror ON cdr.id = cror.receiptID
+        LEFT JOIN cm_receipt_order_relation cror ON cdr.id = cror.receiptId
         WHERE cror.orderId = #{orderId}
     </select>
 

+ 12 - 2
src/main/resources/mapper/NewOrderProductMapper.xml

@@ -14,7 +14,6 @@
 		  a.`num` AS `num`,
 		  a.`presentNum` AS `presentNum`,
 		  a.`outStoreType` AS `outStoreType`,
-		  a.organizeSkuId,
 		  a.`skuId` AS `skuId`,
 		  a.`productNo` AS `productNo`,
 		  a.`price` AS `price`,
@@ -48,6 +47,7 @@
 		  a.`payStatus` AS `payStatus`,
 		  a.`name` AS `name`,
 		  cs.`unit` AS `unit`,
+		  cs.`organizeId` AS `organizeId`,
 		  a.`actType` AS `actType`,
 		  a.`actPreferential` AS `actPreferential`,
 		  a.`preferential` AS `preferential`,
@@ -67,7 +67,7 @@
 
     <sql id="orderProductJoins">
 		LEFT JOIN product p ON p.productId = a.productId
-		left join cm_sku cs on a.skuId = cs.skuId
+		left join cm_sku cs on a.skuId = cs.skuId and cs.organizeId= 4
     </sql>
 
     <select id="get" resultType="com.caimei.modules.order.entity.NewOrderProduct">
@@ -86,6 +86,16 @@
 		WHERE a.shopOrderId = #{shopOrderId}
 	</select>
 
+	<select id="CountReturnedPurchaseProduct" resultType="java.lang.Integer">
+		select SUM(crpp.actualReturnedNum) + SUM(crpp.actualCancelNum)
+		from cm_returned_purchase_product crpp
+				 left join cm_returned_purchase rp on rp.id = crpp.returnedID
+		where crpp.shopOrderID = #{shopOrderID}
+		  and crpp.orderProductID = #{orderProductID}
+		  and rp.status = '2'
+		  and rp.delFlag = '0'
+	</select>
+
 	<select id="getReturningNum" resultType="Integer">
 		SELECT
 		  IFNULL(sum(a.actualReturnedNum+a.actualCancelNum),0)

+ 19 - 2
src/main/resources/mapper/NewShopOrderMapper.xml

@@ -67,6 +67,15 @@
             <if test="orderStatusFlag != null and orderStatusFlag != ''">
                 orderStatusFlag = #{orderStatusFlag},
             </if>
+            <if test="refundStatus != null and refundStatus != ''">
+                refundStatus = #{refundStatus},
+            </if>
+            <if test="refundStatus != null and refundStatus != ''">
+                refundStatus = #{refundStatus},
+            </if>
+            <if test="shopStatus != null and shopStatus != ''">
+                shopStatus = #{shopStatus},
+            </if>
             <if test="orderTime != null and orderTime != ''">
                 orderTime = #{orderTime},
             </if>
@@ -174,6 +183,7 @@
                a.orderNo                                            AS orderNo,
                a.userID                                             AS userId,
                a.shopID                                             AS shopId,
+               a.shopStatus                                             AS shopStatus,
                a.itemCount                                          AS itemCount,
                a.townID                                             AS townId,
                a.productAmount                                      AS productAmount,
@@ -245,6 +255,7 @@
                a.orderNo                                            AS orderNo,
                a.userID                                             AS userId,
                a.shopID                                             AS shopId,
+               a.shopStatus                                             AS shopStatus,
                a.itemCount                                          AS itemCount,
                a.townID                                             AS townId,
                a.productAmount                                      AS productAmount,
@@ -264,6 +275,7 @@
                a.brokerage                                          AS brokerage,
                a.refundsAmount                                      AS refundsAmount,
                a.orderStatusFlag                                    AS orderStatusFlag,
+               a.refundStatus                                    AS refundStatus,
                a.orderType                                          AS orderType,
                a.orderTime                                          AS orderTime,
                a.presentNum                                         AS presentNum,
@@ -322,6 +334,8 @@
                         a.orderNo                                            AS orderNo,
                         a.userID                                             AS userId,
                         a.shopID                                             AS shopId,
+                        a.shopStatus                                         AS shopStatus,
+                        a.shopPostFlag                                       AS shopPostFlag,
                         a.itemCount                                          AS itemCount,
                         a.townID                                             AS townId,
                         a.productAmount                                      AS productAmount,
@@ -330,8 +344,8 @@
                         a.payTime                                            AS payTime,
                         a.needPayAmount                                      AS needPayAmount,
                         a.splitCode,
-                        a.realPay                                            AS realPay,
-                        a.receiptAmount                                      AS receiptAmount,
+                        ifnull(a.realPay,0)                                             AS realPay,
+                        ifnull(a.receiptAmount,0)                                     AS receiptAmount,
                         a.receiptStatus                                      as receiptStatus,
                         a.refundAmount                                       AS refundAmount,
                         a.clubID                                             AS clubId,
@@ -341,6 +355,7 @@
                         a.brokerage                                          AS brokerage,
                         a.refundsAmount                                      AS refundsAmount,
                         a.orderStatusFlag                                    AS orderStatusFlag,
+                        a.refundStatus                                    AS refundStatus,
                         a.orderType                                          AS orderType,
                         a.orderTime                                          AS orderTime,
                         a.presentNum                                         AS presentNum,
@@ -422,6 +437,7 @@
         a.orderNo AS orderNo,
         a.userID AS userId,
         a.shopID AS shopId,
+        a.shopStatus                                             AS shopStatus,
         a.itemCount AS itemCount,
         a.townID AS townId,
         a.productAmount AS productAmount,
@@ -441,6 +457,7 @@
         a.brokerage AS brokerage,
         a.refundsAmount AS refundsAmount,
         a.orderStatusFlag AS orderStatusFlag,
+        a.refundStatus AS refundStatus,
         a.orderType AS orderType,
         a.orderTime AS orderTime,
         a.presentNum AS presentNum,

+ 2 - 2
src/main/resources/mapper/PayShopDao.xml

@@ -416,7 +416,7 @@
                          AND rp.delFlag = '0'),
                       0)                                   AS returnedNum
         from cm_order_product cop
-                 left join cm_sku cs on cop.skuId = cs.skuId
+                 left join cm_sku cs on cop.skuId = cs.skuId and cs.organizeId= 4
                  left join product p on p.productID = cop.productID
                  left join cm_order co on co.orderID = cop.orderID
                  left join user u on u.userID = co.userID
@@ -715,4 +715,4 @@
         WHERE shopOrderId=#{shopOrderId}
         AND DATE_ADD(splitTime,INTERVAL 1 DAY) <![CDATA[  <  ]]> now()
     </select>
-</mapper>
+</mapper>