tangxiaobao
2022-04-13 e4de90990c948898db5d0c2fc080853a144728c3
Merge remote-tracking branch 'origin/lyq_battery_shop' into lyq_battery_shop
28个文件已修改
2个文件已添加
1035 ■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComBatteryCommodityActivityApi.java 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/WxCallbackApi.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/constants/PayCpmstant.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/common/AddComBatteryCommodityActivityDto.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/common/AddComBatteryCommodityOrderCollageTeamDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/common/EditComBatteryCommodityActivityDto.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/common/EditComBatteryCommodityOrderCollageTeamDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/common/PageComBatteryCommodityOrderCollageTeamDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/common/StartFightOrderDto.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/WxPayNotifyOrderDTO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/common/ComBatteryCommodityActivityVo.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/common/ComBatteryCommodityOrderCollageTeamPeopleVo.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/common/ComBatteryCommodityOrderCollageTeamVo.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/ComBatteryCommodityOrderFeign.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/WxPayUtils.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComBatteryCommodityActivityController.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComBatteryCommodityOrderController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComBatteryCommodityOrderCollageTeamPeopleMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/ComBatteryCommodityActivity.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/ComBatteryCommodityOrder.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/ComBatteryCommodityOrderCollageTeam.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComBatteryCommodityOrderCollageTeamService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComBatteryCommodityOrderService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComBatteryCommodityOrderCollageTeamServiceImpl.java 226 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComBatteryCommodityOrderServiceImpl.java 287 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopOrderServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/RentingHourseOrderServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComBatteryCommodityActivityMapper.xml 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComBatteryCommodityOrderCollageTeamMapper.xml 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComBatteryCommodityOrderCollageTeamPeopleMapper.xml 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ComBatteryCommodityActivityApi.java
New file
@@ -0,0 +1,102 @@
package com.panzhihua.applets.api;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.model.dtos.common.AddComBatteryCommodityActivityDto;
import com.panzhihua.common.model.dtos.common.EditComBatteryCommodityActivityDto;
import com.panzhihua.common.model.dtos.common.PageComBatteryCommodityActivityDto;
import com.panzhihua.common.model.dtos.common.PageComBatteryCommodityOrderCollageTeamDto;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.common.ComBatteryCommodityActivityVo;
import com.panzhihua.common.model.vos.common.ComBatteryCommodityOrderCollageTeamVo;
import com.panzhihua.common.service.community.ComBatteryCommodityActivityFeign;
import com.panzhihua.common.service.community.ComBatteryCommodityOrderCollageTeamFeign;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Date;
/**
 * title: 电动车商城-商家活动表(ComBatteryCommodityActivity)  表控制层
 * <p>
 * projectName 成都呐喊信息技术有限公司-智慧社区项目
 * <p>
 * description: 电动车商城-商家活动表
 *
 * @author lyq
 * @date 2022-03-29 13:17:38
 */
@Slf4j
@Api(tags = {"电动车商城-活动管理"})
@RestController
@RequestMapping("/comBatteryCommodityActivity")
public class ComBatteryCommodityActivityApi extends BaseController {
    @Resource
    private ComBatteryCommodityActivityFeign comBatteryCommodityActivityService;
    @Resource
    private ComBatteryCommodityOrderCollageTeamFeign orderCollageTeamService;
    /**
     * description  queryByPage  分页查询
     *
     * @param comBatteryCommodityActivity 请求参数
     * @return 分页查询返回参数
     * @author lyq
     * @date 2022-03-29 13:17:38
     */
    @ApiOperation(value = "分页查询活动列表",response = ComBatteryCommodityActivityVo.class)
    @PostMapping("/page")
    public R queryByPage(@RequestBody PageComBatteryCommodityActivityDto comBatteryCommodityActivity) {
        comBatteryCommodityActivity.setStatus(1);
        return this.comBatteryCommodityActivityService.queryByPage(comBatteryCommodityActivity);
    }
    /**
     * description  detailById  查询详情
     *
     * @param id 主键id
     * @return 详情数据
     * @author lyq
     * @date 2022-03-29 13:17:38
     */
    @ApiOperation(value = "查询活动详情",response = ComBatteryCommodityActivityVo.class)
    @GetMapping("/detail")
    public R detailById(@RequestParam("id") Long id) {
        return this.comBatteryCommodityActivityService.detailById(id);
    }
    /**
     * description  queryByPage  查询列表
     *
     * @param comBatteryCommodityActivity 请求参数
     * @return 列表数据
     * @author lyq
     * @date 2022-03-29 13:17:38
     */
    @ApiOperation(value = "查询活动列表",response = ComBatteryCommodityActivityVo.class)
    @PostMapping("/list")
    public R queryByList(@RequestBody PageComBatteryCommodityActivityDto comBatteryCommodityActivity) {
        comBatteryCommodityActivity.setStatus(1);
        return this.comBatteryCommodityActivityService.queryByList(comBatteryCommodityActivity);
    }
    @ApiOperation(value = "查询拼团团队列表",response = ComBatteryCommodityOrderCollageTeamVo.class)
    @PostMapping("/assorted/dough")
    public R queryByAssortedDoughList(@RequestBody PageComBatteryCommodityOrderCollageTeamDto orderCollageTeamDto) {
        orderCollageTeamDto.setStatus(1);
        return this.orderCollageTeamService.queryByPage(orderCollageTeamDto);
    }
    @ApiOperation(value = "查询拼团团队详情",response = ComBatteryCommodityOrderCollageTeamVo.class)
    @PostMapping("/assorted/dough/detail")
    public R queryByAssortedDoughDetail(@RequestParam("id") Long id) {
        return this.orderCollageTeamService.detailById(id);
    }
}
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/WxCallbackApi.java
@@ -151,6 +151,44 @@
        }
    }
    @PostMapping("/batteryActivityPayNotify")
    public void batteryActivityPayNotify(HttpServletRequest request, HttpServletResponse response) {
        log.info("购买活动商品微信支付回调start");
        String inputLine = "";
        String notityXml = "";
        try {
            while ((inputLine = request.getReader().readLine()) != null) {
                notityXml += inputLine;
            }
            // 关闭流
            request.getReader().close();
            log.info("购买活动商品微信回调内容信息:" + notityXml);
            // 解析成Json
            org.json.JSONObject xmlJson = XML.toJSONObject(notityXml);
            if (StringUtils.isNotEmpty(xmlJson.toString())) {
                JSONObject resultData = JSON.parseObject(xmlJson.get("xml").toString());
                // 成功支付订单
                if (SUCCESS.equals(resultData.getString("result_code")) && SUCCESS.equals(resultData.getString("result_code"))){
                    WxPayNotifyOrderDTO notifyOrderDTO = getWxNotify(resultData);
                    // 根据订单号修改订单信息
                    commodityOrderFeign.batteryActivityPayNotify(notifyOrderDTO);
                    // 给微信服务器返回 成功标示 否则会一直询问 咱们服务器 是否回调成功
                    PrintWriter writer = response.getWriter();
                    // 返回
                    writer.print(getWxSuccessString());
                } else {// 未成功支付订单
                    // 给微信服务器返回 成功标示 否则会一直询问 咱们服务器 是否回调成功
                    PrintWriter writer = response.getWriter();
                    // 返回
                    writer.print(getWxFailString());
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    /**
     * 将微信支付回调的请求参数转义为对象
     * @param resultData    微信支付回调请求参数
@@ -174,6 +212,9 @@
        // 现金支付金额
        String cashFee = resultData.getString("cash_fee");
        notifyOrderDTO.setCashFee(cashFee);
        //附加数据
        String attach = resultData.getString("attach");
        notifyOrderDTO.setAttach(attach);
        return notifyOrderDTO;
    }
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/constants/PayCpmstant.java
@@ -32,4 +32,8 @@
     * 电动车商城购买商品支付回调地址
     */
    public static final String BATTERY_STORE_PAY_NOTIFY_URL = "/api/applets/wx/batteryPayNotify";
    /**
     * 电动车商城活动订单支付回调地址
     */
    public static final String BATTERY_STORE_ACTIVITY_PAY_NOTIFY_URL = "/api/applets/wx/batteryActivityPayNotify";
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/common/AddComBatteryCommodityActivityDto.java
@@ -132,6 +132,10 @@
    @ApiModelProperty(value = "更新人id")
    private Long updateBy;
    /**
     * 商品规格id
     */
    @ApiModelProperty(value = "商品规格id")
    private Long specsId;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/common/AddComBatteryCommodityOrderCollageTeamDto.java
@@ -27,7 +27,7 @@
     * 活动id
     */
    @ApiModelProperty(value = "活动id")
    private Long acctivityId;
    private Long activityId;
    /**
     * 订单id
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/common/EditComBatteryCommodityActivityDto.java
@@ -120,5 +120,10 @@
    @ApiModelProperty(value = "更新人id")
    private Long updateBy;
    /**
     * 商品规格id
     */
    @ApiModelProperty(value = "商品规格id")
    private Long specsId;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/common/EditComBatteryCommodityOrderCollageTeamDto.java
@@ -31,7 +31,7 @@
     * 活动id
     */
    @ApiModelProperty(value = "活动id")
    private Long acctivityId;
    private Long activityId;
    /**
     * 订单id
     */
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/common/PageComBatteryCommodityOrderCollageTeamDto.java
@@ -31,7 +31,7 @@
     * 活动id
     */
    @ApiModelProperty(value = "活动id")
    private Long acctivityId;
    private Long activityId;
    /**
     * 订单id
     */
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/common/StartFightOrderDto.java
New file
@@ -0,0 +1,49 @@
package com.panzhihua.common.model.dtos.common;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author lyq
 * 发起拼团订单请求参数
 */
@Data
@ApiModel("发起拼团订单请求参数")
public class StartFightOrderDto {
    @ApiModelProperty(value = "用户id",hidden = true)
    private Long userId;
    @ApiModelProperty(value = "用户openId",hidden = true)
    private String openId;
    @ApiModelProperty(value = "商品id")
    private Long commodityId;
    @ApiModelProperty(value = "活动id")
    private Long activityId;
    @ApiModelProperty(value = "用户收货地址id")
    private Long addressId;
    @ApiModelProperty(value = "购买商品数量")
    private Integer count;
    @ApiModelProperty(value = "订单备注")
    private String remark;
    @ApiModelProperty(value = "拼团类型(1.开团 2.参团)")
    private Integer type;
    @ApiModelProperty(value = "拼团团队id")
    private Long teamId;
    /**
     * 拼团类型(1.开团 2.参团)
     */
    public interface Type{
        int KT = 1;
        int PT = 2;
    }
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/WxPayNotifyOrderDTO.java
@@ -25,4 +25,7 @@
    @ApiModelProperty(value = "支付返回参数信息")
    private String result;
    @ApiModelProperty(value = "支付附加数据")
    private String attach;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/common/ComBatteryCommodityActivityVo.java
@@ -131,4 +131,10 @@
    @ApiModelProperty(value = "商户名称")
    private String storeName;
    @ApiModelProperty(value = "商户规格id")
    private Long specsId;
    @ApiModelProperty(value = "商户规格名称")
    private Long specsName;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/common/ComBatteryCommodityOrderCollageTeamPeopleVo.java
@@ -60,4 +60,9 @@
    @ApiModelProperty(value = "创建人id")
    private Long createBy;
    @ApiModelProperty(value = "用户头像")
    private String images;
    @ApiModelProperty(value = "用户昵称")
    private String nickName;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/common/ComBatteryCommodityOrderCollageTeamVo.java
@@ -1,6 +1,7 @@
package com.panzhihua.common.model.vos.common;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
@@ -31,7 +32,7 @@
     * 活动id
     */
    @ApiModelProperty(value = "活动id")
    private Long acctivityId;
    private Long activityId;
    /**
     * 订单id
     */
@@ -60,4 +61,18 @@
    @ApiModelProperty(value = "创建时间")
    private Date createAt;
    @ApiModelProperty(value = "已拼人数")
    private Integer spelledNum;
    @ApiModelProperty(value = "成团人数")
    private Integer collagePeopleNum;
    @ApiModelProperty(value = "团长头像")
    private String images;
    @ApiModelProperty(value = "团长昵称")
    private String nickName;
    @ApiModelProperty(value = "拼团人员列表")
    private List<ComBatteryCommodityOrderCollageTeamPeopleVo> orderCollageTeamPeopleList;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/ComBatteryCommodityOrderFeign.java
@@ -141,4 +141,12 @@
     */
    @PostMapping("/deliver")
    R orderDeliver(@RequestBody OrderDeliverAdminDto deliverAdminDto);
    /**
     * 电动车商城购买活动商品支付回调
     * @param notifyOrderDTO    请求参数
     * @return  购买商品支付回调
     */
    @PostMapping("/batteryActivityPayNotify")
    R batteryActivityPayNotify(@RequestBody WxPayNotifyOrderDTO notifyOrderDTO);
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/WxPayUtils.java
@@ -17,7 +17,7 @@
public class WxPayUtils {
    public static String getUnifiedorder(String appid, String mchId, String payKey, String notifyUrl, String body,
        String openid, String outTradeNo, BigDecimal money) {
        String openid, String outTradeNo, BigDecimal money,String attach) {
        String nonceStr = PayUtil.makeUUID(32);
        SortedMap<Object, Object> params = new TreeMap<>();
        params.put("appid", appid);
@@ -26,6 +26,10 @@
        params.put("nonce_str", nonceStr);
        params.put("notify_url", notifyUrl);
        params.put("openid", openid);
        //附加数据
        if(StringUtils.isNotEmpty(attach)){
            params.put("attach", attach);
        }
        params.put("out_trade_no", outTradeNo);// 商品订单号
        params.put("spbill_create_ip", PayUtil.getLocalIp());// 服务部署的ip
        params.put("total_fee", PayUtil.moneyToIntegerStr(money));// 费用的参数转型
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComBatteryCommodityActivityController.java
@@ -3,6 +3,7 @@
import com.panzhihua.service_community.service.ComBatteryCommodityActivityService;
import com.panzhihua.common.model.dtos.common.*;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.service_community.service.ComBatteryCommodityOrderCollageTeamService;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -23,6 +24,8 @@
    @Resource
    private ComBatteryCommodityActivityService comBatteryCommodityActivityService;
    @Resource
    private ComBatteryCommodityOrderCollageTeamService orderCollageTeamService;
    /**
     * description  queryByPage  分页查询
@@ -113,5 +116,14 @@
        return this.comBatteryCommodityActivityService.updateStatus(id,status);
    }
    /**
     * 创建拼团订单
     * @param orderDto  请求参数
     * @return  创建订单结果
     */
    @PostMapping("/start/fight")
    public R startFight(@RequestBody StartFightOrderDto orderDto){
        return this.orderCollageTeamService.startFight(orderDto);
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComBatteryCommodityOrderController.java
@@ -173,5 +173,15 @@
        return this.comBatteryCommodityOrderService.orderDeliver(deliverAdminDto);
    }
    /**
     * 电动车商城购买活动商品支付回调
     * @param notifyOrderDTO    请求参数
     * @return  购买商品支付回调
     */
    @PostMapping("/batteryActivityPayNotify")
    public R batteryActivityPayNotify(@RequestBody WxPayNotifyOrderDTO notifyOrderDTO){
        return this.comBatteryCommodityOrderService.batteryActivityPayNotify(notifyOrderDTO);
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComBatteryCommodityOrderCollageTeamPeopleMapper.java
@@ -54,5 +54,12 @@
     * @date 2022-03-29 16:07:08
     */
    List<ComBatteryCommodityOrderCollageTeamPeopleVo> queryAllByList(@Param("dto") PageComBatteryCommodityOrderCollageTeamPeopleDto comBatteryCommodityOrderCollageTeamPeople);
    /**
     * 根据拼团团队id查询团队人员信息
     * @param teamId    团队id
     * @return  团队人员信息
     */
    List<ComBatteryCommodityOrderCollageTeamPeopleVo> queryAllByTeamId(@Param("teamId") Long teamId);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/ComBatteryCommodityActivity.java
@@ -87,7 +87,14 @@
     * 更新人id
     */
    private Long updateBy;
    /**
     * 活动商品已卖出数量
     */
    private Integer commoditySaleNum;
    /**
     * 商品规格id
     */
    private Long specsId;
    /**
     * 是否删除枚举(1.是 2.否)
     */
@@ -95,5 +102,13 @@
        int YES = 1;
        int NO = 2;
    }
    /**
     * 状态(1.进行中 2.已下架 3.已结束)
     */
    public interface Status{
        int JXZ = 1;
        int YXJ = 2;
        int YJS = 3;
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/ComBatteryCommodityOrder.java
@@ -173,6 +173,11 @@
     * 收货地区编码
     */
    private String receivingRegionCode;
    /**
     * 拼团id
     */
    private Long teamId;
    /**
     * 是否删除枚举(1.是 2.否)
     */
@@ -208,5 +213,32 @@
    public interface PayType{
        int WX = 1;
    }
    /**
     * 活动状态(1.拼团活动 2.砍价活动 3.限时秒杀)
     */
    public interface ActivityType{
        int PT = 1;
        int KJ = 2;
        int MS = 3;
    }
    /**
     * 拼团状态(1.拼团中 2.拼团成功 3.拼团失败)
     */
    public interface CollageStatus{
        int PTZ = 1;
        int PTCG = 2;
        int PTSB = 3;
    }
    /**
     * 砍价状态(1.砍价中 2.砍价成功 3.砍价失败)
     */
    public interface BargainStatus{
        int KJZ = 1;
        int KJCG = 2;
        int KJSB = 3;
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/ComBatteryCommodityOrderCollageTeam.java
@@ -21,7 +21,7 @@
    /**
     * 活动id
     */
    private Long acctivityId;
    private Long activityId;
    /**
     * 订单id
     */
@@ -42,7 +42,14 @@
     * 创建时间
     */
    private Date createAt;
    /**
     * 状态(1.等待拼团 2.拼团成功 3.拼团失败 4.已退款)
     */
    public interface Status{
        int DDPT = 1;
        int PTCG = 2;
        int PTSB = 3;
        int YTK = 4;
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComBatteryCommodityOrderCollageTeamService.java
@@ -75,4 +75,11 @@
     */
    R queryByList(PageComBatteryCommodityOrderCollageTeamDto comBatteryCommodityOrderCollageTeam);
    /**
     * 创建拼团订单
     * @param orderDto  请求参数
     * @return  创建订单结果
     */
    R startFight(StartFightOrderDto orderDto);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComBatteryCommodityOrderService.java
@@ -124,4 +124,11 @@
     * @return  发货结果
     */
    R orderDeliver(OrderDeliverAdminDto deliverAdminDto);
    /**
     * 电动车商城购买活动商品支付回调
     * @param notifyOrderDTO    请求参数
     * @return  购买商品支付回调
     */
    R batteryActivityPayNotify(WxPayNotifyOrderDTO notifyOrderDTO);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComBatteryCommodityOrderCollageTeamServiceImpl.java
@@ -1,14 +1,30 @@
package com.panzhihua.service_community.service.impl;
import com.panzhihua.service_community.entity.ComBatteryCommodityOrderCollageTeam;
import com.panzhihua.service_community.dao.ComBatteryCommodityOrderCollageTeamMapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.panzhihua.common.constants.PayCpmstant;
import com.panzhihua.common.model.vos.common.ComBatteryCommodityOrderCollageTeamPeopleVo;
import com.panzhihua.common.model.vos.common.ComBatteryCommodityOrderCollageTeamVo;
import com.panzhihua.common.utlis.Snowflake;
import com.panzhihua.common.utlis.WxPayUtils;
import com.panzhihua.service_community.dao.*;
import com.panzhihua.service_community.entity.*;
import com.panzhihua.service_community.service.ComBatteryCommodityOrderCollageTeamService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.panzhihua.service_community.service.ComBatteryTradeOrderService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import com.panzhihua.common.model.dtos.common.*;
import com.panzhihua.common.model.vos.R;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * title: 电动车商城-拼团订单团队表表服务实现类
@@ -20,8 +36,40 @@
 * @author lyq
 * @date 2022-03-29 16:06:58
 */
@Slf4j
@Service("comBatteryCommodityOrderCollageTeamService")
public class ComBatteryCommodityOrderCollageTeamServiceImpl extends ServiceImpl<ComBatteryCommodityOrderCollageTeamMapper, ComBatteryCommodityOrderCollageTeam> implements ComBatteryCommodityOrderCollageTeamService {
    @Resource
    private ComBatteryCommodityActivityMapper commodityActivityMapper;
    @Resource
    private ComBatteryCommodityOrderCollageTeamMapper orderCollageTeamMapper;
    @Resource
    private ComBatteryCommodityOrderCollageTeamPeopleMapper orderCollageTeamPeopleMapper;
    @Resource
    private ComBatteryUserAddressMapper userAddressMapper;
    @Resource
    private SysUserMapper userMapper;
    @Resource
    private ComBatteryTradeOrderService tradeOrderService;
    @Value("${min.app.isTest}")
    private Boolean isTest;
    @Value("${min.app.isRefundTest}")
    private Boolean isRefundTest;
    @Value("${min.app.appid}")
    private String appid;
    @Value("${min.app.payKey}")
    private String payKey;
    @Value("${min.app.mchId}")
    private String mchId;
    @Value("${min.app.currencyNotifyUrl}")
    private String currencyNotifyUrl;
    @Resource
    private ComBatteryCommodityMapper commodityMapper;
    @Resource
    private ComBatteryCommoditySpecsMapper commoditySpecsMapper;
    @Resource
    private ComBatteryCommodityOrderMapper commodityOrderMapper;
    /**
     * description  queryByPage  分页查询
@@ -101,7 +149,12 @@
     */
    @Override
    public R detailById(Long id) {
        return R.ok(this.baseMapper.queryById(id));
        ComBatteryCommodityOrderCollageTeamVo orderCollageTeamVo = this.baseMapper.queryById(id);
        if(orderCollageTeamVo != null){
            List<ComBatteryCommodityOrderCollageTeamPeopleVo> collageTeamPeopleList = orderCollageTeamPeopleMapper.queryAllByTeamId(id);
            orderCollageTeamVo.setOrderCollageTeamPeopleList(collageTeamPeopleList);
        }
        return R.ok(orderCollageTeamVo);
    }
    /**
@@ -116,4 +169,171 @@
    public R queryByList(PageComBatteryCommodityOrderCollageTeamDto comBatteryCommodityOrderCollageTeam) {
        return R.ok(this.baseMapper.queryAllByList(comBatteryCommodityOrderCollageTeam));
    }
    /**
     * 创建拼团订单
     * @param orderDto  请求参数
     * @return  创建订单结果
     */
    @Override
    public synchronized R startFight(StartFightOrderDto orderDto) {
        //查询拼团活动
        ComBatteryCommodityActivity commodityActivity = commodityActivityMapper.selectById(orderDto.getActivityId());
        if(commodityActivity == null){
            return R.fail("未查询到拼团活动");
        }
        if(commodityActivity.getStatus().equals(ComBatteryCommodityActivity.Status.YXJ)){
            return R.fail("该活动已下架");
        }
        if(commodityActivity.getEndTime().getTime() - System.currentTimeMillis() <= 0
                || commodityActivity.getStatus().equals(ComBatteryCommodityActivity.Status.YJS)){
            return R.fail("该活动已结束");
        }
        if(commodityActivity.getCommodityNum() <= commodityActivity.getCommoditySaleNum()){
            return R.fail("活动商品已售空");
        }
        if(orderDto.getType().equals(StartFightOrderDto.Type.PT)){
            //判断该团队人数是否已满
            Integer count = orderCollageTeamPeopleMapper.selectCount(new QueryWrapper<ComBatteryCommodityOrderCollageTeamPeople>().lambda()
                    .eq(ComBatteryCommodityOrderCollageTeamPeople::getTeamId,orderDto.getTeamId()));
            if(count >= commodityActivity.getCollagePeopleNum()){
                return R.fail("拼团人数已满");
            }
            //查询拼团团队
            ComBatteryCommodityOrderCollageTeam orderCollageTeam = orderCollageTeamMapper.selectById(orderDto.getTeamId());
            if(orderCollageTeam == null){
                return R.fail("该拼团不存在");
            }
            if(!orderCollageTeam.getStatus().equals(ComBatteryCommodityOrderCollageTeam.Status.DDPT)){
                return R.fail("该拼团已成功");
            }
        }else{
            Integer count = orderCollageTeamMapper.selectCount(new QueryWrapper<ComBatteryCommodityOrderCollageTeam>().lambda()
                    .eq(ComBatteryCommodityOrderCollageTeam::getActivityId,orderDto.getActivityId())
                    .eq(ComBatteryCommodityOrderCollageTeam::getStatus,ComBatteryCommodityOrderCollageTeam.Status.DDPT));
            if(count >= commodityActivity.getCollageNum()){
                return R.fail("当前正在拼团的数量已达到最大值,不可在开团");
            }
        }
        //查询商品
        ComBatteryCommodity commodity = commodityMapper.selectById(orderDto.getCommodityId());
        if(commodity == null){
            return R.fail("未查询到商品信息");
        }
        //查询用户信息
        SysUser user = userMapper.selectById(orderDto.getUserId());
        if(user == null){
            return R.fail("未查询到用户信息");
        }
        //查询商品规格信息
        ComBatteryCommoditySpecs commoditySpecs = commoditySpecsMapper.selectById(commodityActivity.getSpecsId());
        if(commoditySpecs == null){
            return R.fail("未查询到商品规格信息");
        }
        if(commoditySpecs.getStock() < orderDto.getCount()){
            return R.fail("该商品库存不足,无法下单");
        }
        //查询用户收货地址
        ComBatteryUserAddress userAddress = userAddressMapper.selectById(orderDto.getAddressId());
        if(userAddress == null){
            return R.fail("未查询到用户收货地址");
        }
        Date nowDate = new Date();
        //初始化订单数据
        ComBatteryCommodityOrder commodityOrder = getCreateOrder(commodity,userAddress,user,commoditySpecs,orderDto,nowDate,commodityActivity);
        Map<String,Object> resultMap = new HashMap<>(2);
        if(commodityOrderMapper.insert(commodityOrder) > 0){
            //更新商品库存
            commoditySpecs.setStock(commoditySpecs.getStock() - orderDto.getCount());
            commoditySpecsMapper.updateById(commoditySpecs);
            //微信支付需要调取小程序微信支付
            String result = getWxPayResult(commodityOrder.getFinalAmount(),commodityOrder.getOpenId()
                    ,commodityOrder.getOrderNo(),"购买商品",orderDto.getType().toString());
            resultMap.put("payResult",result);
            resultMap.put("orderId",commodityOrder.getId());
            // 添加微信支付交易流水
            String wxTradeOrderNo = "wx" + Snowflake.getId();
            tradeOrderService.addOrderTradeRecord(user.getUserId(), user.getOpenid(), wxTradeOrderNo, ComBatteryTradeOrder.PayType.WX,
                    commodityOrder.getFinalAmount(), ComBatteryTradeOrder.TradeType.DDC_SHOP, commodityOrder.getId(),
                    commodityOrder.getOrderNo(), user.getUserId(), nowDate);
        }
        return R.ok(resultMap);
    }
    /**
     * 小程序唤起微信支付
     *
     * @param money
     *            需要支付的金额
     * @param openId
     *            用户唤起微信支付的openid
     * @param orderNo
     *            业务订单号
     * @param remark
     *            交易备注
     * @return 小程序支付参数
     */
    private String getWxPayResult(BigDecimal money, String openId, String orderNo, String remark,String type) {
        String result = "";
        // 将剩余金额调起微信支付
        if (isTest) {
            money = BigDecimal.valueOf(0.01);
        }
        // 调用wx支付
        result = WxPayUtils.getUnifiedorder(appid, mchId, payKey, currencyNotifyUrl + PayCpmstant.BATTERY_STORE_ACTIVITY_PAY_NOTIFY_URL
                , remark, openId, orderNo, money,type);
        log.info("用户购买商品微信支付返回参数:" + result);
        return result;
    }
    /**
     * 初始化订单数据
     * @param commodity         商品数据
     * @param userAddress       用户收货地址信息
     * @param user              用户数据
     * @param commoditySpecs    商品规格数据
     * @param orderDto          用户请求参数
     * @param nowDate           操作时间
     * @param commodityActivity           拼团活动数据
     * @return  初始化订单数据
     */
    public static ComBatteryCommodityOrder getCreateOrder(ComBatteryCommodity commodity, ComBatteryUserAddress userAddress
            , SysUser user, ComBatteryCommoditySpecs commoditySpecs, StartFightOrderDto orderDto, Date nowDate
            ,ComBatteryCommodityActivity commodityActivity){
        ComBatteryCommodityOrder commodityOrder = new ComBatteryCommodityOrder();
        commodityOrder.setUserId(user.getUserId());
        commodityOrder.setOpenId(user.getOpenid());
        commodityOrder.setStoreId(commodity.getStoreId());
        commodityOrder.setActivityId(commodityActivity.getId());
        commodityOrder.setCommodityId(commodity.getId());
        commodityOrder.setSpecsId(commoditySpecs.getId());
        commodityOrder.setOrderNo("PT" + Snowflake.getId());
        commodityOrder.setActivityType(commodityActivity.getType());
        commodityOrder.setStatus(ComBatteryCommodityOrder.Status.DFK);
        commodityOrder.setPayStatus(ComBatteryCommodityOrder.PayStatus.WZF);
        commodityOrder.setIsDel(ComBatteryCommodityOrder.IsDel.NO);
        commodityOrder.setPayType(ComBatteryCommodityOrder.PayType.WX);
        commodityOrder.setCount(orderDto.getCount());
        commodityOrder.setPrice(commodityActivity.getPrice());
        commodityOrder.setAmount(commodityActivity.getPrice().multiply(BigDecimal.valueOf(orderDto.getCount())));
        commodityOrder.setFreight(commodity.getPostage());
        commodityOrder.setFinalAmount(commodityOrder.getAmount().add(commodityOrder.getFreight()));
        commodityOrder.setCreateAt(nowDate);
        commodityOrder.setCreateBy(user.getUserId());
        commodityOrder.setRemark(orderDto.getRemark());
        //收货地址
        commodityOrder.setAddressId(userAddress.getId());
        commodityOrder.setReceivingName(userAddress.getName());
        commodityOrder.setReceivingPhone(userAddress.getPhone());
        commodityOrder.setReceivingRegionCode(userAddress.getProvinceAdcode() + "-" + userAddress.getCityAdcode() + "-" + userAddress.getDistrictAdcode());
        commodityOrder.setReceivingRegion(userAddress.getProvinceName() + userAddress.getCityName() + userAddress.getDistrictName());
        commodityOrder.setReceivingAddress(userAddress.getAddress());
        if(orderDto.getTeamId() != null){
            commodityOrder.setTeamId(orderDto.getTeamId());
        }
        return commodityOrder;
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComBatteryCommodityOrderServiceImpl.java
@@ -68,6 +68,12 @@
    private String mchId;
    @Value("${min.app.currencyNotifyUrl}")
    private String currencyNotifyUrl;
    @Resource
    private ComBatteryCommodityOrderCollageTeamMapper orderCollageTeamMapper;
    @Resource
    private ComBatteryCommodityOrderCollageTeamPeopleMapper orderCollageTeamPeopleMapper;
    @Resource
    private ComBatteryCommodityActivityMapper commodityActivityMapper;
    /**
     * description  queryByPage  分页查询
@@ -151,7 +157,7 @@
    @Override
    public R detailById(Long id) {
        ComBatteryCommodityOrderVo commodityOrderVo = this.baseMapper.queryById(id);
        if(commodityOrderVo != null){
        if (commodityOrderVo != null) {
            //查询商品信息
            ComBatteryCommodityVo commodityVo = commodityMapper.queryById(commodityOrderVo.getCommodityId());
            commodityOrderVo.setCommodityVo(commodityVo);
@@ -180,8 +186,9 @@
    /**
     * 修改订单收货地址
     * @param editOrderAddressDto   请求参数
     * @return  修改结果
     *
     * @param editOrderAddressDto 请求参数
     * @return 修改结果
     */
    @Override
    public R updateOrderAddress(EditOrderAddressDto editOrderAddressDto) {
@@ -195,8 +202,9 @@
    /**
     * 修改订单物流信息
     *
     * @param editOrderLogisticsDto 请求参数
     * @return  修改结果
     * @return 修改结果
     */
    @Override
    public R updateOrderLogistics(EditOrderLogisticsDto editOrderLogisticsDto) {
@@ -210,8 +218,9 @@
    /**
     * 电动车商城购买商品支付回调
     * @param notifyOrderDTO    请求参数
     * @return  购买商品支付回调
     *
     * @param notifyOrderDTO 请求参数
     * @return 购买商品支付回调
     */
    @Override
    public R batteryPayNotify(WxPayNotifyOrderDTO notifyOrderDTO) {
@@ -221,7 +230,7 @@
        String payNo = notifyOrderDTO.getWxTradeNo();
        BigDecimal cashFee = new BigDecimal(notifyOrderDTO.getCashFee());
        ComBatteryCommodityOrder commodityOrder = this.baseMapper.selectOne(new QueryWrapper<ComBatteryCommodityOrder>().lambda()
                .eq(ComBatteryCommodityOrder::getOrderNo,orderNo));
                .eq(ComBatteryCommodityOrder::getOrderNo, orderNo));
        if (commodityOrder == null) {
            log.error("用户购买商品订单微信支付回调错误,未查询到支付订单记录,支付订单号:" + orderNo);
            return R.fail("未查询到用户购买商品支付订单记录");
@@ -246,48 +255,49 @@
    /**
     * 小程序用户创建订单
     * @param createOrderDto    请求参数
     * @return  创建结果
     *
     * @param createOrderDto 请求参数
     * @return 创建结果
     */
    @Override
    public R appletsOrderCreate(UserCreateOrderDto createOrderDto) {
        //查询商品
        ComBatteryCommodity commodity = commodityMapper.selectById(createOrderDto.getCommodityId());
        if(commodity == null){
        if (commodity == null) {
            return R.fail("未查询到商品信息");
        }
        //查询商品规格信息
        ComBatteryCommoditySpecs commoditySpecs = commoditySpecsMapper.selectById(createOrderDto.getSpecsId());
        if(commoditySpecs == null){
        if (commoditySpecs == null) {
            return R.fail("未查询到商品规格信息");
        }
        //判断商品库存
        if(commoditySpecs.getStock() < createOrderDto.getCount()){
        if (commoditySpecs.getStock() < createOrderDto.getCount()) {
            return R.fail("您购买的商品库存不足");
        }
        //查询用户收货地址
        ComBatteryUserAddress userAddress = userAddressMapper.selectById(createOrderDto.getAddressId());
        if(userAddress == null){
        if (userAddress == null) {
            return R.fail("未查询到用户收货地址");
        }
        //查询用户信息
        SysUser user = userMapper.selectById(createOrderDto.getUserId());
        if(user == null){
        if (user == null) {
            return R.fail("未查询到用户信息");
        }
        Date nowDate = new Date();
        //初始化订单信息
        ComBatteryCommodityOrder commodityOrder = getCreateOrder(commodity,userAddress,user,commoditySpecs,createOrderDto,nowDate);
        Map<String,Object> resultMap = new HashMap<>(2);
        if(this.baseMapper.insert(commodityOrder) > 0){
        ComBatteryCommodityOrder commodityOrder = getCreateOrder(commodity, userAddress, user, commoditySpecs, createOrderDto, nowDate);
        Map<String, Object> resultMap = new HashMap<>(2);
        if (this.baseMapper.insert(commodityOrder) > 0) {
            //更新商品库存
            commoditySpecs.setStock(commoditySpecs.getStock() - createOrderDto.getCount());
            commoditySpecsMapper.updateById(commoditySpecs);
            //微信支付需要调取小程序微信支付
            String result = getWxPayResult(commodityOrder.getFinalAmount(),commodityOrder.getOpenId(),commodityOrder.getOrderNo(),"购买商品");
            resultMap.put("payResult",result);
            resultMap.put("orderId",commodityOrder.getId());
            String result = getWxPayResult(commodityOrder.getFinalAmount(), commodityOrder.getOpenId(), commodityOrder.getOrderNo(), "购买商品");
            resultMap.put("payResult", result);
            resultMap.put("orderId", commodityOrder.getId());
            // 添加微信支付交易流水
            String wxTradeOrderNo = "wx" + Snowflake.getId();
@@ -300,16 +310,17 @@
    /**
     * 初始化订单数据
     * @param commodity         商品数据
     * @param userAddress       用户收货地址信息
     * @param user              用户数据
     * @param commoditySpecs    商品规格数据
     * @param createOrderDto    用户请求参数
     * @param nowDate           操作时间
     * @return  初始化订单数据
     *
     * @param commodity      商品数据
     * @param userAddress    用户收货地址信息
     * @param user           用户数据
     * @param commoditySpecs 商品规格数据
     * @param createOrderDto 用户请求参数
     * @param nowDate        操作时间
     * @return 初始化订单数据
     */
    private ComBatteryCommodityOrder getCreateOrder(ComBatteryCommodity commodity, ComBatteryUserAddress userAddress
            , SysUser user, ComBatteryCommoditySpecs commoditySpecs, UserCreateOrderDto createOrderDto, Date nowDate){
    public static ComBatteryCommodityOrder getCreateOrder(ComBatteryCommodity commodity, ComBatteryUserAddress userAddress
            , SysUser user, ComBatteryCommoditySpecs commoditySpecs, UserCreateOrderDto createOrderDto, Date nowDate) {
        ComBatteryCommodityOrder commodityOrder = new ComBatteryCommodityOrder();
        commodityOrder.setUserId(user.getUserId());
        commodityOrder.setOpenId(user.getOpenid());
@@ -342,14 +353,10 @@
    /**
     * 小程序唤起微信支付
     *
     * @param money
     *            需要支付的金额
     * @param openId
     *            用户唤起微信支付的openid
     * @param orderNo
     *            业务订单号
     * @param remark
     *            交易备注
     * @param money   需要支付的金额
     * @param openId  用户唤起微信支付的openid
     * @param orderNo 业务订单号
     * @param remark  交易备注
     * @return 小程序支付参数
     */
    private String getWxPayResult(BigDecimal money, String openId, String orderNo, String remark) {
@@ -359,14 +366,16 @@
            money = BigDecimal.valueOf(0.01);
        }
        // 调用wx支付
        result = WxPayUtils.getUnifiedorder(appid, mchId, payKey, currencyNotifyUrl + PayCpmstant.BATTERY_STORE_PAY_NOTIFY_URL, remark, openId, orderNo, money);
        result = WxPayUtils.getUnifiedorder(appid, mchId, payKey, currencyNotifyUrl + PayCpmstant.BATTERY_STORE_PAY_NOTIFY_URL
                , remark, openId, orderNo, money,null);
        log.info("用户购买商品微信支付返回参数:" + result);
        return result;
    }
    /**
     * 定时关闭5分钟未支付订单
     * @return  操作结果
     *
     * @return 操作结果
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
@@ -374,19 +383,19 @@
        log.info("定时器定时关闭超过30分钟未支付订单,并返回商品库存");
        Date nowDate = new Date();
        //获取当前时间减30分钟时间
        Date oldDate = DateUtils.addMinutes(nowDate,-5);
        Date oldDate = DateUtils.addMinutes(nowDate, -5);
        List<ComBatteryCommodityOrder> commodityOrderList = this.baseMapper.selectList(new QueryWrapper<ComBatteryCommodityOrder>()
                .lambda().eq(ComBatteryCommodityOrder::getStatus,ComBatteryCommodityOrder.Status.DFK)
                .eq(ComBatteryCommodityOrder::getPayStatus,ComBatteryCommodityOrder.PayStatus.WZF)
                .eq(ComBatteryCommodityOrder::getIsDel,ComBatteryCommodityOrder.IsDel.NO)
                .lt(ComBatteryCommodityOrder::getCreateAt,oldDate));
                .lambda().eq(ComBatteryCommodityOrder::getStatus, ComBatteryCommodityOrder.Status.DFK)
                .eq(ComBatteryCommodityOrder::getPayStatus, ComBatteryCommodityOrder.PayStatus.WZF)
                .eq(ComBatteryCommodityOrder::getIsDel, ComBatteryCommodityOrder.IsDel.NO)
                .lt(ComBatteryCommodityOrder::getCreateAt, oldDate));
        commodityOrderList.forEach(commodityOrder -> {
            commodityOrder.setStatus(ComBatteryCommodityOrder.Status.YGB);
            commodityOrder.setUpdateAt(nowDate);
            this.baseMapper.updateById(commodityOrder);
            //归还库存
            ComBatteryCommoditySpecs commoditySpecs = commoditySpecsMapper.selectById(commodityOrder.getSpecsId());
            if(commoditySpecs != null){
            if (commoditySpecs != null) {
                commoditySpecs.setStock(commoditySpecs.getStock() + commodityOrder.getCount());
                commoditySpecs.setUpdateAt(nowDate);
                commoditySpecsMapper.updateById(commoditySpecs);
@@ -397,14 +406,15 @@
    /**
     * 电动车商城用户确认收货
     * @param id    订单id
     * @param userId    用户id
     * @return  确认结果
     *
     * @param id     订单id
     * @param userId 用户id
     * @return 确认结果
     */
    @Override
    public R appletsOrderReceiving(Long id, Long userId) {
        ComBatteryCommodityOrder commodityOrder = this.baseMapper.selectById(id);
        if(commodityOrder == null){
        if (commodityOrder == null) {
            return R.fail("未查询到订单信息");
        }
        //确认收货
@@ -412,7 +422,7 @@
        commodityOrder.setReceivingTime(new Date());
        commodityOrder.setUpdateAt(new Date());
        commodityOrder.setUpdateBy(userId);
        if(this.baseMapper.updateById(commodityOrder) > 0){
        if (this.baseMapper.updateById(commodityOrder) > 0) {
            return R.ok();
        }
        return R.fail();
@@ -420,34 +430,199 @@
    /**
     * 后台订单发货
     * @param deliverAdminDto   请求参数
     * @return  发货结果
     *
     * @param deliverAdminDto 请求参数
     * @return 发货结果
     */
    @Override
    public R orderDeliver(OrderDeliverAdminDto deliverAdminDto) {
        //查询订单
        ComBatteryCommodityOrder commodityOrder = this.baseMapper.selectById(deliverAdminDto.getId());
        if(commodityOrder == null){
        if (commodityOrder == null) {
            return R.fail("未查询到订单信息");
        }
        Date nowDate = new Date();
        //判断操作类型
        if(deliverAdminDto.getType().equals(OrderDeliverAdminDto.Type.FH)){
        if (deliverAdminDto.getType().equals(OrderDeliverAdminDto.Type.FH)) {
            commodityOrder.setLogisticsCompany(deliverAdminDto.getLogisticsCompany());
            commodityOrder.setLogisticsNo(deliverAdminDto.getLogisticsNo());
            commodityOrder.setUpdateBy(deliverAdminDto.getUserId());
            commodityOrder.setUpdateAt(nowDate);
            commodityOrder.setDeliveryTime(nowDate);
            commodityOrder.setStatus(ComBatteryCommodityOrder.Status.DSH);
        }else if(deliverAdminDto.getType().equals(OrderDeliverAdminDto.Type.XGWL)){
        } else if (deliverAdminDto.getType().equals(OrderDeliverAdminDto.Type.XGWL)) {
            commodityOrder.setLogisticsCompany(deliverAdminDto.getLogisticsCompany());
            commodityOrder.setLogisticsNo(deliverAdminDto.getLogisticsNo());
            commodityOrder.setUpdateBy(deliverAdminDto.getUserId());
            commodityOrder.setUpdateAt(nowDate);
        }
        if(this.baseMapper.updateById(commodityOrder) > 0){
        if (this.baseMapper.updateById(commodityOrder) > 0) {
            return R.ok();
        }
        return R.fail();
    }
    /**
     * 电动车商城购买活动商品支付回调
     *
     * @param notifyOrderDTO 请求参数
     * @return 购买商品支付回调
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public synchronized R batteryActivityPayNotify(WxPayNotifyOrderDTO notifyOrderDTO) {
        Date payTime = DateUtils.stringToDate(notifyOrderDTO.getPayTime(), new SimpleDateFormat("yyyyMMddHHmmss"));
        Date nowDate = new Date();
        String orderNo = notifyOrderDTO.getOrderTradeNo();
        String payNo = notifyOrderDTO.getWxTradeNo();
        BigDecimal cashFee = new BigDecimal(notifyOrderDTO.getCashFee());
        //查询该订单数据
        ComBatteryCommodityOrder commodityOrder = this.baseMapper.selectOne(new QueryWrapper<ComBatteryCommodityOrder>().lambda()
                .eq(ComBatteryCommodityOrder::getOrderNo, orderNo));
        if (commodityOrder == null) {
            log.error("用户购买商品订单微信支付回调错误,未查询到支付订单记录,支付订单号:" + orderNo);
            return R.fail("未查询到用户购买商品支付订单记录");
        }
        if (!commodityOrder.getPayStatus().equals(ComBatteryCommodityOrder.PayStatus.WZF)) {
            log.error("用户购买商品订单微信支付回调错误,错误原因:支付订单状态已发生改变,不可重复回调,订单号:" + orderNo);
            return R.fail("支付订单状态已发生改变,不可重复回调");
        }
        //更新订单
        if (commodityOrder.getActivityId() != null) {
            switch (commodityOrder.getActivityType()) {
                case ComBatteryCommodityOrder.ActivityType.PT:
                    //拼团订单成功支付处理
                    commodityOrder.setCollageStatus(ComBatteryCommodityOrder.CollageStatus.PTZ);
                    commodityOrder.setStatus(ComBatteryCommodityOrder.Status.DPT);
                    ComBatteryCommodityOrderCollageTeam orderCollageTeam = null;
                    if(notifyOrderDTO.getAttach() != null && notifyOrderDTO.getAttach().equals("1")){
                        //用户开团,创建团队信息
                        orderCollageTeam = getOrderCollageTeam(commodityOrder,nowDate);
                        orderCollageTeamMapper.insert(orderCollageTeam);
                    }else{
                        //用户参团,查询参加的团队信息
                        orderCollageTeam = orderCollageTeamMapper.selectById(commodityOrder.getTeamId());
                        //判断当前拼团人员是否已足够成团
                        syncAssortedDoughStatus(orderCollageTeam.getId(),nowDate);
                        //判断当前拼团活动是否已完成
                        syncAssortedDoughActivityStatus(commodityOrder.getActivityId(),nowDate);
                    }
                    if(orderCollageTeam != null){
                        //创建用户开团人员记录
                        ComBatteryCommodityOrderCollageTeamPeople orderCollageTeamPeople = getOrderCollageTeamPeople(commodityOrder.getUserId()
                                ,nowDate,orderCollageTeam,notifyOrderDTO.getAttach());
                        orderCollageTeamPeopleMapper.insert(orderCollageTeamPeople);
                    }
                    break;
                case ComBatteryCommodityOrder.ActivityType.KJ:
                    break;
                case ComBatteryCommodityOrder.ActivityType.MS:
                    commodityOrder.setStatus(ComBatteryCommodityOrder.Status.DFH);
                    break;
                default:
                    break;
            }
        }
        // 更新微信支付流水记录
        tradeOrderService.renewPayTrade(commodityOrder.getId(), cashFee, notifyOrderDTO.getWxTradeNo(), payTime, nowDate);
        commodityOrder.setPayStatus(ComBatteryCommodityOrder.PayStatus.YZF);
        commodityOrder.setPayNo(payNo);
        commodityOrder.setPayAmount(cashFee);
        commodityOrder.setUpdateAt(nowDate);
        commodityOrder.setPayTime(payTime);
        this.baseMapper.updateById(commodityOrder);
        return R.ok();
    }
    /**
     * 初始化拼团团队数据
     * @param commodityOrder    用户订单数据
     * @param nowDate   操作时间
     * @return  拼团团队数据
     */
    private ComBatteryCommodityOrderCollageTeam getOrderCollageTeam(ComBatteryCommodityOrder commodityOrder,Date nowDate){
        ComBatteryCommodityOrderCollageTeam orderCollageTeam = new ComBatteryCommodityOrderCollageTeam();
        orderCollageTeam.setActivityId(commodityOrder.getActivityId());
        orderCollageTeam.setOrderId(commodityOrder.getId());
        orderCollageTeam.setOrderNo(commodityOrder.getOrderNo());
        orderCollageTeam.setUserId(commodityOrder.getUserId());
        orderCollageTeam.setStatus(ComBatteryCommodityOrderCollageTeam.Status.DDPT);
        orderCollageTeam.setCreateAt(nowDate);
        return orderCollageTeam;
    }
    /**
     * 初始化拼团团队人员数据
     * @param userId    用户id
     * @param nowDate   操作时间
     * @param orderCollageTeam  拼团团队数据
     * @param type  拼团类型(1.开团 2.参团)
     * @return  拼团团队人员数据
     */
    private ComBatteryCommodityOrderCollageTeamPeople getOrderCollageTeamPeople(Long userId
            ,Date nowDate,ComBatteryCommodityOrderCollageTeam orderCollageTeam,String type){
        ComBatteryCommodityOrderCollageTeamPeople orderCollageTeamPeople = new ComBatteryCommodityOrderCollageTeamPeople();
        orderCollageTeamPeople.setUserId(userId);
        orderCollageTeamPeople.setTeamId(orderCollageTeam.getId());
        orderCollageTeamPeople.setHeadUserId(orderCollageTeam.getUserId());
        orderCollageTeamPeople.setType(Integer.parseInt(type));
        orderCollageTeamPeople.setCreateAt(nowDate);
        orderCollageTeamPeople.setCreateBy(userId);
        return orderCollageTeamPeople;
    }
    /**
     * 同步拼团活动状态
     * @param activityId    活动id
     */
    private void syncAssortedDoughActivityStatus(Long activityId,Date nowDate){
        ComBatteryCommodityActivity commodityActivity = commodityActivityMapper.selectById(activityId);
        if(commodityActivity != null){
            //查询该活动已成团数量
            Integer count = orderCollageTeamMapper.selectCount(new QueryWrapper<ComBatteryCommodityOrderCollageTeam>().lambda()
                    .eq(ComBatteryCommodityOrderCollageTeam::getActivityId,activityId)
                    .eq(ComBatteryCommodityOrderCollageTeam::getStatus,ComBatteryCommodityOrderCollageTeam.Status.PTCG));
            if(count >= commodityActivity.getCollageNum()){
                //该活动已达到活动拼团数量,修改为已结束状态
                commodityActivity.setStatus(ComBatteryCommodityActivity.Status.YJS);
                commodityActivity.setUpdateAt(nowDate);
                commodityActivityMapper.updateById(commodityActivity);
            }
        }
    }
    /**
     * 判断当前拼团团队是否已满足拼团条件
     * @param teamId    拼团团队id
     * @param nowDate    操作时间
     */
    private void syncAssortedDoughStatus(Long teamId,Date nowDate){
        //查询拼团团队id
        ComBatteryCommodityOrderCollageTeam orderCollageTeam = orderCollageTeamMapper.selectById(teamId);
        if(orderCollageTeam != null){
            ComBatteryCommodityActivity commodityActivity = commodityActivityMapper.selectById(orderCollageTeam.getActivityId());
            if(commodityActivity != null){
                Integer count = orderCollageTeamPeopleMapper.selectCount(new QueryWrapper<ComBatteryCommodityOrderCollageTeamPeople>()
                        .lambda().eq(ComBatteryCommodityOrderCollageTeamPeople::getTeamId,teamId));
                if(count >= commodityActivity.getCollageNum()){
                    //拼团条件满足,将所有已拼单的用户的订单更新为待发货状态
                    //更新拼团团队记录
                    orderCollageTeam.setStatus(ComBatteryCommodityOrderCollageTeam.Status.PTCG);
                    orderCollageTeamMapper.updateById(orderCollageTeam);
                    //查询拼团订单并进行更新
                    List<ComBatteryCommodityOrder> commodityOrderList = this.baseMapper.selectList(new QueryWrapper<ComBatteryCommodityOrder>().lambda()
                            .eq(ComBatteryCommodityOrder::getTeamId,teamId).eq(ComBatteryCommodityOrder::getStatus,ComBatteryCommodityOrder.Status.DPT)
                            .eq(ComBatteryCommodityOrder::getCollageStatus,ComBatteryCommodityOrder.CollageStatus.PTZ)
                            .eq(ComBatteryCommodityOrder::getActivityType,ComBatteryCommodityOrder.ActivityType.PT));
                    commodityOrderList.forEach(commodityOrder -> {
                        commodityOrder.setStatus(ComBatteryCommodityOrder.Status.DFH);
                        commodityOrder.setCollageStatus(ComBatteryCommodityOrder.CollageStatus.PTCG);
                        commodityOrder.setUpdateAt(nowDate);
                        this.baseMapper.updateById(commodityOrder);
                    });
                }
            }
        }
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopOrderServiceImpl.java
@@ -317,7 +317,7 @@
            }
            // 调用wx支付
            String xml = WxPayUtils.getUnifiedorder(appid, mchId, payKey, notifyUrl, "商品购买", orderCreateDTO.getOpenId(),
                orderNo, money);
                orderNo, money,null);
            log.info("微信支付返回参数:" + xml);
            shopOrderVO.setPayResult(xml);
        } catch (Exception e) {
@@ -906,7 +906,7 @@
            }
            // 调用wx支付
            String xml = WxPayUtils.getUnifiedorder(appid, mchId, payKey, notifyUrl, "商品购买", orderPayDTO.getOpenId(),
                orderDO.getOrderNo(), money);
                orderDO.getOrderNo(), money,null);
            log.info("微信支付返回参数:" + xml);
            shopOrderVO.setPayResult(xml);
        } catch (Exception e) {
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/RentingHourseOrderServiceImpl.java
@@ -148,7 +148,7 @@
                }
                // 调用wx支付
                WxPayUtils.getUnifiedorder(appid, mchId, payKey, notifyUrl, "签订租房合同", wxPayOrderVO.getOpenId(),
                        wxPayOrderVO.getOrderSn(), money);
                        wxPayOrderVO.getOrderSn(), money,null);
                return R.ok();
            } catch (Exception e) {
                log.error("调用微信支付异常,异常原因:" + e.getMessage());
@@ -162,7 +162,7 @@
                }
                // 调用wx支付
                WxPayUtils.getUnifiedorder(appid, mchId, payKey, notifyUrl, "定金支付", wxPayOrderVO.getOpenId(),
                        wxPayOrderVO.getOrderSn(), money);
                        wxPayOrderVO.getOrderSn(), money,null);
                return R.ok();
            } catch (Exception e) {
                log.error("调用微信支付异常,异常原因:" + e.getMessage());
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComBatteryCommodityActivityMapper.xml
@@ -8,6 +8,7 @@
        <result property="name" column="name" jdbcType="VARCHAR"/>
        <result property="type" column="type" jdbcType="INTEGER"/>
        <result property="commodityId" column="commodity_id" jdbcType="INTEGER"/>
        <result property="specsId" column="specs_id" jdbcType="INTEGER"/>
        <result property="storeId" column="store_id" jdbcType="INTEGER"/>
        <result property="status" column="status" jdbcType="INTEGER"/>
        <result property="isDel" column="is_del" jdbcType="INTEGER"/>
@@ -44,6 +45,8 @@
        cbca.create_by,
        cbca.update_at,
        cbca.update_by,
        cbca.specs_id,
        cbcs.`name` as specsName,
        cbc.`name` as commodityName,
        cbc.`code` as commodityCode,
        cbs.`name` as storeName
@@ -51,6 +54,7 @@
        com_battery_commodity_activity AS cbca
        left join com_battery_commodity as cbc on cbc.id = cbca.commodity_id
        left join com_battery_store as cbs on cbs.id = cbca.store_id
        left join com_battery_commodity_specs as cbcs on cbcs.id = cbca.specs_id
        where cbca.id = #{id}
    </select>
@@ -74,6 +78,8 @@
        cbca.create_by,
        cbca.update_at,
        cbca.update_by,
        cbca.specs_id,
        cbcs.`name` as specsName,
        cbc.`name` as commodityName,
        cbc.`code` as commodityCode,
        cbs.`name` as storeName
@@ -81,6 +87,7 @@
        com_battery_commodity_activity AS cbca
        left join com_battery_commodity as cbc on cbc.id = cbca.commodity_id
        left join com_battery_store as cbs on cbs.id = cbca.store_id
        left join com_battery_commodity_specs as cbcs on cbcs.id = cbca.specs_id
        <where>
            and cbca.is_del = 2
            <if test="dto.id != null">
@@ -100,9 +107,9 @@
            </if>
            <if test="dto.keyWord != null and dto.keyWord != ''">
                and (
                    cbca.`name` like concat ('%',#{statisticsAdminDTO.nickName},'%') or
                    cbc.`name` like concat ('%',#{statisticsAdminDTO.nickName},'%') or
                    cbc.`code` like concat ('%',#{statisticsAdminDTO.nickName},'%')
                    cbca.`name` like concat ('%',#{statisticsAdminDTO.keyWord},'%') or
                    cbc.`name` like concat ('%',#{statisticsAdminDTO.keyWord},'%') or
                    cbc.`code` like concat ('%',#{statisticsAdminDTO.keyWord},'%')
                )
            </if>
        </where>
@@ -129,6 +136,8 @@
        cbca.create_by,
        cbca.update_at,
        cbca.update_by,
        cbca.specs_id,
        cbcs.`name` as specsName,
        cbc.`name` as commodityName,
        cbc.`code` as commodityCode,
        cbs.`name` as storeName
@@ -136,6 +145,7 @@
        com_battery_commodity_activity AS cbca
        left join com_battery_commodity as cbc on cbc.id = cbca.commodity_id
        left join com_battery_store as cbs on cbs.id = cbca.store_id
        left join com_battery_commodity_specs as cbcs on cbcs.id = cbca.specs_id
        <where>
            and cbca.is_del = 2
            <if test="dto.id != null">
@@ -155,9 +165,9 @@
            </if>
            <if test="dto.keyWord != null and dto.keyWord != ''">
                and (
                    cbca.`name` like concat ('%',#{statisticsAdminDTO.nickName},'%') or
                    cbc.`name` like concat ('%',#{statisticsAdminDTO.nickName},'%') or
                    cbc.`code` like concat ('%',#{statisticsAdminDTO.nickName},'%')
                    cbca.`name` like concat ('%',#{statisticsAdminDTO.keyWord},'%') or
                    cbc.`name` like concat ('%',#{statisticsAdminDTO.keyWord},'%') or
                    cbc.`code` like concat ('%',#{statisticsAdminDTO.keyWord},'%')
                )
            </if>
        </where>
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComBatteryCommodityOrderCollageTeamMapper.xml
@@ -5,7 +5,7 @@
    <resultMap type="com.panzhihua.service_community.entity.ComBatteryCommodityOrderCollageTeam"
               id="ComBatteryCommodityOrderCollageTeamMap">
        <result property="id" column="id" jdbcType="INTEGER"/>
        <result property="acctivityId" column="acctivity_id" jdbcType="INTEGER"/>
        <result property="activityId" column="activity_id" jdbcType="INTEGER"/>
        <result property="orderId" column="order_id" jdbcType="INTEGER"/>
        <result property="orderNo" column="order_no" jdbcType="VARCHAR"/>
        <result property="userId" column="user_id" jdbcType="INTEGER"/>
@@ -14,73 +14,106 @@
    </resultMap>
    <!--查询单个-->
    <select id="queryById" resultMap="ComBatteryCommodityOrderCollageTeamMap">
        select
          id, acctivity_id, order_id, order_no, user_id, status, create_at
        from com_battery_commodity_order_collage_team
        where id = #{id}
    <select id="queryById" resultType="com.panzhihua.common.model.vos.common.ComBatteryCommodityOrderCollageTeamVo">
        SELECT
            cbcoot.id,
            cbcoot.activity_id,
            cbcoot.order_id,
            cbcoot.order_no,
            cbcoot.user_id,
            cbcoot.`status`,
            cbcoot.create_at,
            (select count(id) from com_battery_commodity_order_collage_team_people where team_id = cbcoot.id) as spelledNum,
            cbca.collage_people_num,
            su.image_url as images,
            su.`nick_name`
        FROM
            com_battery_commodity_order_collage_team as cbcoot
            left join sys_user as su on su.user_id = cbcoot.user_id
            left join com_battery_commodity_activity as cbca on cbca.id = cbcoot.activity_id
        where cbcoot.id = #{id}
    </select>
    <!--查询指定行数据-->
    <select id="queryAllByLimit" resultMap="ComBatteryCommodityOrderCollageTeamMap">
        select
        id, acctivity_id, order_id, order_no, user_id, status, create_at
        from com_battery_commodity_order_collage_team
    <select id="queryAllByLimit" resultType="com.panzhihua.common.model.vos.common.ComBatteryCommodityOrderCollageTeamVo">
        SELECT
        cbcoot.id,
        cbcoot.activity_id,
        cbcoot.order_id,
        cbcoot.order_no,
        cbcoot.user_id,
        cbcoot.`status`,
        cbcoot.create_at,
        (select count(id) from com_battery_commodity_order_collage_team_people where team_id = cbcoot.id) as spelledNum,
        cbca.collage_people_num,
        su.image_url as images,
        su.`nick_name`
        FROM
        com_battery_commodity_order_collage_team as cbcoot
        left join sys_user as su on su.user_id = cbcoot.user_id
        left join com_battery_commodity_activity as cbca on cbca.id = cbcoot.activity_id
        <where>
            <if test="dto.id != null">
                and id = #{dto.id}
                and cbcoot.id = #{dto.id}
            </if>
            <if test="dto.acctivityId != null">
                and acctivity_id = #{dto.acctivityId}
            <if test="dto.activityId != null">
                and cbcoot.activity_id = #{dto.activityId}
            </if>
            <if test="dto.orderId != null">
                and order_id = #{dto.orderId}
                and cbcoot.order_id = #{dto.orderId}
            </if>
            <if test="dto.orderNo != null and dto.orderNo != ''">
                and order_no = #{dto.orderNo}
                and cbcoot.order_no = #{dto.orderNo}
            </if>
            <if test="dto.userId != null">
                and user_id = #{dto.userId}
                and cbcoot.user_id = #{dto.userId}
            </if>
            <if test="dto.status != null">
                and status = #{dto.status}
            </if>
            <if test="dto.createAt != null">
                and create_at = #{dto.createAt}
                and cbcoot.status = #{dto.status}
            </if>
        </where>
        order by create_at desc
        order by cbcoot.create_at desc
    </select>
    <!--查询所有数据-->
    <select id="queryAllByList" resultMap="ComBatteryCommodityOrderCollageTeamMap">
        select
        id, acctivity_id, order_id, order_no, user_id, status, create_at
        from com_battery_commodity_order_collage_team
    <select id="queryAllByList" resultType="com.panzhihua.common.model.vos.common.ComBatteryCommodityOrderCollageTeamVo">
        SELECT
        cbcoot.id,
        cbcoot.activity_id,
        cbcoot.order_id,
        cbcoot.order_no,
        cbcoot.user_id,
        cbcoot.`status`,
        cbcoot.create_at,
        (select count(id) from com_battery_commodity_order_collage_team_people where team_id = cbcoot.id) as spelledNum,
        cbca.collage_people_num,
        su.image_url as images,
        su.`nick_name`
        FROM
        com_battery_commodity_order_collage_team as cbcoot
        left join sys_user as su on su.user_id = cbcoot.user_id
        left join com_battery_commodity_activity as cbca on cbca.id = cbcoot.activity_id
        <where>
            <if test="dto.id != null">
                and id = #{dto.id}
                and cbcoot.id = #{dto.id}
            </if>
            <if test="dto.acctivityId != null">
                and acctivity_id = #{dto.acctivityId}
            <if test="dto.activityId != null">
                and cbcoot.activity_id = #{dto.activityId}
            </if>
            <if test="dto.orderId != null">
                and order_id = #{dto.orderId}
                and cbcoot.order_id = #{dto.orderId}
            </if>
            <if test="dto.orderNo != null and dto.orderNo != ''">
                and order_no = #{dto.orderNo}
                and cbcoot.order_no = #{dto.orderNo}
            </if>
            <if test="dto.userId != null">
                and user_id = #{dto.userId}
                and cbcoot.user_id = #{dto.userId}
            </if>
            <if test="dto.status != null">
                and status = #{dto.status}
            </if>
            <if test="dto.createAt != null">
                and create_at = #{dto.createAt}
                and cbcoot.status = #{dto.status}
            </if>
        </where>
        order by create_at desc
        order by cbcoot.create_at desc
    </select>
</mapper>
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComBatteryCommodityOrderCollageTeamPeopleMapper.xml
@@ -14,7 +14,7 @@
    </resultMap>
    <!--查询单个-->
    <select id="queryById" resultMap="ComBatteryCommodityOrderCollageTeamPeopleMap">
    <select id="queryById" resultType="com.panzhihua.common.model.vos.common.ComBatteryCommodityOrderCollageTeamPeopleVo">
        select
          id, team_id, head_user_id, user_id, type, create_at, create_by
        from com_battery_commodity_order_collage_team_people
@@ -22,7 +22,7 @@
    </select>
    <!--查询指定行数据-->
    <select id="queryAllByLimit" resultMap="ComBatteryCommodityOrderCollageTeamPeopleMap">
    <select id="queryAllByLimit" resultType="com.panzhihua.common.model.vos.common.ComBatteryCommodityOrderCollageTeamPeopleVo">
        select
        id, team_id, head_user_id, user_id, type, create_at, create_by
        from com_battery_commodity_order_collage_team_people
@@ -53,7 +53,7 @@
    </select>
    <!--查询所有数据-->
    <select id="queryAllByList" resultMap="ComBatteryCommodityOrderCollageTeamPeopleMap">
    <select id="queryAllByList" resultType="com.panzhihua.common.model.vos.common.ComBatteryCommodityOrderCollageTeamPeopleVo">
        select
        id, team_id, head_user_id, user_id, type, create_at, create_by
        from com_battery_commodity_order_collage_team_people
@@ -83,5 +83,23 @@
        order by create_at desc
    </select>
    <select id="queryAllByTeamId" resultType="com.panzhihua.common.model.vos.common.ComBatteryCommodityOrderCollageTeamPeopleVo">
        SELECT
            cbcootp.id,
            cbcootp.team_id,
            cbcootp.head_user_id,
            cbcootp.user_id,
            cbcootp.type,
            cbcootp.create_at,
            cbcootp.create_by,
            su.nick_name,
            su.image_url as images
        FROM
            com_battery_commodity_order_collage_team_people as cbcootp
            left join sys_user as su on su.user_id = cbcootp.user_id
        where cbcootp.team_id = #{teamId}
        order by cbcootp.create_at
    </select>
</mapper>