| | |
| | | |
| | | import com.panzhihua.common.controller.BaseController; |
| | | import com.panzhihua.common.model.dtos.common.*; |
| | | import com.panzhihua.common.model.vos.LoginUserInfoVO; |
| | | import com.panzhihua.common.model.vos.R; |
| | | import com.panzhihua.common.model.vos.common.ComBatteryCommodityActivityVo; |
| | | import com.panzhihua.common.model.vos.common.ComBatteryCommodityOrderBargainVo; |
| | |
| | | @ApiOperation(value = "分页查询活动列表",response = ComBatteryCommodityActivityVo.class) |
| | | @PostMapping("/page") |
| | | public R queryByPage(@RequestBody PageComBatteryCommodityActivityDto comBatteryCommodityActivity) { |
| | | comBatteryCommodityActivity.setStatus(1); |
| | | comBatteryCommodityActivity.setIsApplets(1); |
| | | if(comBatteryCommodityActivity.getIsUser().equals(1)){ |
| | | comBatteryCommodityActivity.setUserId(this.getUserId()); |
| | | } |
| | | return this.comBatteryCommodityActivityService.queryByPage(comBatteryCommodityActivity); |
| | | } |
| | | |
| | |
| | | @ApiOperation(value = "查询活动详情",response = ComBatteryCommodityActivityVo.class) |
| | | @GetMapping("/detail") |
| | | public R detailById(@RequestParam("id") Long id) { |
| | | return this.comBatteryCommodityActivityService.detailById(id); |
| | | LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin(); |
| | | Long userId = 0L; |
| | | if(loginUserInfo != null){ |
| | | userId = loginUserInfo.getUserId(); |
| | | } |
| | | return this.comBatteryCommodityActivityService.detailById(id,userId); |
| | | } |
| | | |
| | | /** |
| | |
| | | @ApiOperation(value = "查询活动列表",response = ComBatteryCommodityActivityVo.class) |
| | | @PostMapping("/list") |
| | | public R queryByList(@RequestBody PageComBatteryCommodityActivityDto comBatteryCommodityActivity) { |
| | | comBatteryCommodityActivity.setStatus(1); |
| | | comBatteryCommodityActivity.setIsApplets(1); |
| | | return this.comBatteryCommodityActivityService.queryByList(comBatteryCommodityActivity); |
| | | } |
| | | |
| | |
| | | @PostMapping("/assorted/dough") |
| | | public R queryByAssortedDoughList(@RequestBody PageComBatteryCommodityOrderCollageTeamDto orderCollageTeamDto) { |
| | | orderCollageTeamDto.setStatus(1); |
| | | LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin(); |
| | | if(loginUserInfo != null){ |
| | | orderCollageTeamDto.setUserId(loginUserInfo.getUserId()); |
| | | } |
| | | return this.orderCollageTeamService.queryByPage(orderCollageTeamDto); |
| | | } |
| | | |
| | | @ApiOperation(value = "查询拼团团队详情",response = ComBatteryCommodityOrderCollageTeamVo.class) |
| | | @PostMapping("/assorted/dough/detail") |
| | | @GetMapping("/assorted/dough/detail") |
| | | public R queryByAssortedDoughDetail(@RequestParam("id") Long id) { |
| | | return this.orderCollageTeamService.detailById(id); |
| | | LoginUserInfoVO loginUserInfo = this.getLoginUserInfoSureNoLogin(); |
| | | Long userId = 0L; |
| | | if(loginUserInfo != null){ |
| | | userId = loginUserInfo.getUserId(); |
| | | } |
| | | return this.orderCollageTeamService.detailById(id,userId); |
| | | } |
| | | |
| | | /** |
| | |
| | | @ApiOperation(value = "创建拼团订单") |
| | | @PostMapping("/start/fight") |
| | | public R startFight(@RequestBody StartFightOrderDto orderDto){ |
| | | orderDto.setUserId(this.getUserId()); |
| | | return this.comBatteryCommodityActivityService.startFight(orderDto); |
| | | } |
| | | |
| | |
| | | @ApiOperation(value = "创建砍价订单") |
| | | @PostMapping("/start/bargain") |
| | | public R startBargain(@RequestBody StartBargainOrderDto orderDto){ |
| | | orderDto.setUserId(this.getUserId()); |
| | | return this.comBatteryCommodityActivityService.startBargain(orderDto); |
| | | } |
| | | |
| | |
| | | @ApiOperation(value = "帮好友砍价") |
| | | @PostMapping("/start/user/bargain") |
| | | public R startUserBargain(@RequestBody StartUserBargainOrderDto orderDto){ |
| | | orderDto.setUserId(this.getUserId()); |
| | | return this.comBatteryCommodityActivityService.startUserBargain(orderDto); |
| | | } |
| | | |
| | |
| | | @ApiOperation(value = "创建秒杀订单") |
| | | @PostMapping("/start/seckill") |
| | | public R startSeckill(@RequestBody StartSeckillOrderDto orderDto){ |
| | | orderDto.setUserId(this.getUserId()); |
| | | return this.comBatteryCommodityActivityService.startSeckill(orderDto); |
| | | } |
| | | |
| | |
| | | @PostMapping("/page") |
| | | public R queryByPage(@RequestBody PageComBatteryCommodityOrderDto comBatteryCommodityOrder) { |
| | | comBatteryCommodityOrder.setUserId(this.getUserId()); |
| | | comBatteryCommodityOrder.setIsApplets(1); |
| | | return this.comBatteryCommodityOrderService.queryByPage(comBatteryCommodityOrder); |
| | | } |
| | | |
| | |
| | | @ApiOperation(value = "查询活动详情",response = ComBatteryCommodityActivityVo.class) |
| | | @GetMapping("/detail") |
| | | public R detailById(@RequestParam("id") Long id) { |
| | | return this.comBatteryCommodityActivityService.detailById(id); |
| | | return this.comBatteryCommodityActivityService.detailById(id,0L); |
| | | } |
| | | |
| | | /** |
| | |
| | | @ApiModelProperty(value = "关键词") |
| | | private String keyWord; |
| | | |
| | | @ApiModelProperty(value = "用户id",hidden = true) |
| | | private Long userId; |
| | | |
| | | @ApiModelProperty(value = "是否是查询自己参与的活动(1.是 2.否)") |
| | | private Integer isUser = 2; |
| | | |
| | | @ApiModelProperty(value = "是否是小程序(1.是 2.否)") |
| | | private Integer isApplets; |
| | | |
| | | } |
| | | |
| | |
| | | @ApiModelProperty(value = "下单时间结束查询") |
| | | private String endTime; |
| | | |
| | | @ApiModelProperty(value = "是否是小程序查询(1.是 2.否)") |
| | | private Integer isApplets; |
| | | |
| | | } |
| | | |
New file |
| | |
| | | package com.panzhihua.common.model.vos.common; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.util.Date; |
| | | |
| | | @Data |
| | | public class ComBatteryActivityTeamVo { |
| | | |
| | | @ApiModelProperty(value = "是否可以开团(1.是 2.否)") |
| | | private Integer isOpen = 1; |
| | | |
| | | @ApiModelProperty(value = "团队id") |
| | | private Long teamId; |
| | | |
| | | @ApiModelProperty(value = "拼团结束时间") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | private Date teamEndTime; |
| | | } |
| | |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | |
| | | private Long specsId; |
| | | |
| | | @ApiModelProperty(value = "商户规格名称") |
| | | private Long specsName; |
| | | private String specsName; |
| | | |
| | | @ApiModelProperty(value = "活动已卖出数量") |
| | | private Integer commoditySaleNum; |
| | | |
| | | @ApiModelProperty(value = "是否可以开团(1.是 2.否)") |
| | | private Integer isOpen = 1; |
| | | |
| | | @ApiModelProperty(value = "团队id") |
| | | private Long teamId; |
| | | |
| | | @ApiModelProperty(value = "拼团结束时间") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | private Date teamEndTime; |
| | | |
| | | @ApiModelProperty(value = "是否可以砍价(1.是 2.否)") |
| | | private Integer isBargain = 1; |
| | | |
| | | @ApiModelProperty(value = "砍价记录id") |
| | | private Long bargainId; |
| | | |
| | | @ApiModelProperty(value = "砍价结束时间") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | private Date bargainEndTime; |
| | | } |
| | |
| | | |
| | | @ApiModelProperty(value = "好友帮砍价记录列表") |
| | | private List<ComBatteryCommodityOrderBargainRecordVo> orderBargainRecordList; |
| | | |
| | | @ApiModelProperty(value = "用户昵称") |
| | | private String nickName; |
| | | |
| | | @ApiModelProperty(value = "用户头像") |
| | | private String imageUrl; |
| | | |
| | | @ApiModelProperty(value = "商品名称") |
| | | private String commodityName; |
| | | |
| | | @ApiModelProperty(value = "商品图片") |
| | | private String commodityImages; |
| | | |
| | | @ApiModelProperty(value = "砍价状态(1.砍价中 2.砍价成功 3.砍价失败)") |
| | | private Integer bargainStatus; |
| | | } |
| | |
| | | |
| | | @ApiModelProperty(value = "拼团人员列表") |
| | | private List<ComBatteryCommodityOrderCollageTeamPeopleVo> orderCollageTeamPeopleList; |
| | | |
| | | @ApiModelProperty(value = "是否可以参与(1.是 2.否)") |
| | | private Integer isPartake = 1; |
| | | } |
| | |
| | | |
| | | @ApiModelProperty(value = "收货地区编码") |
| | | private String receivingRegionCode; |
| | | |
| | | @ApiModelProperty(value = "用户昵称") |
| | | private String nickName; |
| | | } |
| | |
| | | * @date 2022-03-29 13:17:41 |
| | | */ |
| | | @GetMapping("/detail") |
| | | R detailById(@RequestParam("id") Long id); |
| | | R detailById(@RequestParam("id") Long id,@RequestParam("userId") Long userId); |
| | | |
| | | /** |
| | | * description queryByList 查询列表 |
| | |
| | | * @date 2022-03-29 16:07:00 |
| | | */ |
| | | @GetMapping("/detail") |
| | | R detailById(@RequestParam("id") Long id); |
| | | R detailById(@RequestParam("id") Long id,@RequestParam("userId") Long userId); |
| | | |
| | | /** |
| | | * description queryByList 查询列表 |
| | |
| | | public R edit(@RequestBody EditComBatteryCommodityActivityDto comBatteryCommodityActivity) { |
| | | comBatteryCommodityActivity.setUpdateAt(new Date()); |
| | | comBatteryCommodityActivity.setUpdateBy(this.getUserId()); |
| | | if(comBatteryCommodityActivity.getStatus() == null){ |
| | | comBatteryCommodityActivity.setStatus(1); |
| | | } |
| | | return this.comBatteryCommodityActivityService.update(comBatteryCommodityActivity); |
| | | } |
| | | |
| | |
| | | @ApiOperation(value = "查询活动详情",response = ComBatteryCommodityActivityVo.class) |
| | | @GetMapping("/detail") |
| | | public R detailById(@RequestParam("id") Long id) { |
| | | return this.comBatteryCommodityActivityService.detailById(id); |
| | | return this.comBatteryCommodityActivityService.detailById(id,0L); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @date 2022-03-29 13:17:38 |
| | | */ |
| | | @GetMapping("/detail") |
| | | public R detailById(@RequestParam("id") Long id) { |
| | | return this.comBatteryCommodityActivityService.detailById(id); |
| | | public R detailById(@RequestParam("id") Long id,@RequestParam("userId") Long userId) { |
| | | return this.comBatteryCommodityActivityService.detailById(id,userId); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @date 2022-03-29 16:06:55 |
| | | */ |
| | | @GetMapping("/detail") |
| | | public R detailById(@RequestParam("id") Long id) { |
| | | return this.comBatteryCommodityOrderCollageTeamService.detailById(id); |
| | | public R detailById(@RequestParam("id") Long id,@RequestParam("userId") Long userId) { |
| | | return this.comBatteryCommodityOrderCollageTeamService.detailById(id,userId); |
| | | } |
| | | |
| | | /** |
| | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * title: 电动车商城-拼团订单团队表表数据库访问层 |
| | |
| | | * @date 2022-03-29 16:06:56 |
| | | */ |
| | | List<ComBatteryCommodityOrderCollageTeamVo> queryAllByList(@Param("dto") PageComBatteryCommodityOrderCollageTeamDto comBatteryCommodityOrderCollageTeam); |
| | | |
| | | /** |
| | | * 查询用户是否已经参与以下团队信息 |
| | | * @param teamId 团队id |
| | | * @param userId 用户id |
| | | * @return 是否已经参与以下团队信息 |
| | | */ |
| | | Map<String,Object> getUserCollageDetail(@Param("teamId") Long teamId,@Param("userId") Long userId); |
| | | } |
| | | |
| | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * title: 电动车商城-订单表表数据库访问层 |
| | |
| | | * @date 2022-03-29 16:05:36 |
| | | */ |
| | | List<ComBatteryCommodityOrderVo> queryAllByList(@Param("dto") PageComBatteryCommodityOrderDto comBatteryCommodityOrder); |
| | | |
| | | ComBatteryActivityTeamVo queryTeamIdByUserId(@Param("userId") Long userId, @Param("activityId") Long activityId); |
| | | |
| | | ComBatteryActivityTeamVo queryTeamIdByUserIdBargain(@Param("userId") Long userId, @Param("activityId") Long activityId); |
| | | } |
| | | |
| | |
| | | int YXJ = 2; |
| | | int YJS = 3; |
| | | } |
| | | |
| | | /** |
| | | * 活动类型(1.拼团活动 2.砍价活动 3.限时秒杀) |
| | | */ |
| | | public interface Type{ |
| | | int PT = 1; |
| | | int KJ = 2; |
| | | int MS = 3; |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | import com.panzhihua.common.model.dtos.common.*; |
| | | import com.panzhihua.common.model.vos.R; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | |
| | | /** |
| | | * title: 电动车商城-商家活动表表服务接口 |
| | |
| | | * description detailById 查询详情 |
| | | * |
| | | * @param id 主键id |
| | | * @param userId 用户id |
| | | * @return 详情数据 |
| | | * @author lyq |
| | | * @date 2022-03-29 13:17:40 |
| | | */ |
| | | R detailById(Long id); |
| | | R detailById(Long id,Long userId); |
| | | |
| | | /** |
| | | * description queryByPage 查询列表 |
| | |
| | | */ |
| | | R updateStatus(Long id,Integer status); |
| | | |
| | | |
| | | } |
| | |
| | | * @author lyq |
| | | * @date 2022-03-29 16:06:57 |
| | | */ |
| | | R detailById(Long id); |
| | | R detailById(Long id,Long userId); |
| | | |
| | | /** |
| | | * description queryByPage 查询列表 |
| | |
| | | package com.panzhihua.service_community.service.impl; |
| | | |
| | | import com.panzhihua.common.model.vos.common.ComBatteryActivityTeamVo; |
| | | import com.panzhihua.common.model.vos.common.ComBatteryCommodityActivityVo; |
| | | import com.panzhihua.common.model.vos.common.ComBatteryCommodityOrderVo; |
| | | import com.panzhihua.common.model.vos.common.ComBatteryCommodityVo; |
| | | import com.panzhihua.service_community.dao.ComBatteryCommodityMapper; |
| | | import com.panzhihua.service_community.dao.ComBatteryCommodityOrderMapper; |
| | | import com.panzhihua.service_community.entity.ComBatteryCommodityActivity; |
| | | import com.panzhihua.service_community.dao.ComBatteryCommodityActivityMapper; |
| | | import com.panzhihua.service_community.service.ComBatteryCommodityActivityService; |
| | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * title: 电动车商城-商家活动表表服务实现类 |
| | |
| | | |
| | | @Resource |
| | | private ComBatteryCommodityMapper commodityMapper; |
| | | @Resource |
| | | private ComBatteryCommodityOrderMapper commodityOrderMapper; |
| | | |
| | | /** |
| | | * description queryByPage 分页查询 |
| | |
| | | * description detailById 查询详情 |
| | | * |
| | | * @param id 主键id |
| | | * @param userId 用户id |
| | | * @return 详情数据 |
| | | * @author lyq |
| | | * @date 2022-03-29 13:17:40 |
| | | */ |
| | | @Override |
| | | public R detailById(Long id) { |
| | | public R detailById(Long id,Long userId) { |
| | | ComBatteryCommodityActivityVo commodityActivityVo = this.baseMapper.queryById(id); |
| | | if(commodityActivityVo != null){ |
| | | ComBatteryCommodityVo commodityVo = commodityMapper.queryById(commodityActivityVo.getCommodityId()); |
| | | commodityActivityVo.setCommodityVo(commodityVo); |
| | | if(userId != null && userId > 0){ |
| | | //查询用户参与拼团活动信息 |
| | | ComBatteryActivityTeamVo ptResult = commodityOrderMapper.queryTeamIdByUserId(userId,id); |
| | | if(ptResult != null && ptResult.getTeamId() != null){ |
| | | commodityActivityVo.setIsOpen(2); |
| | | commodityActivityVo.setTeamId(ptResult.getTeamId()); |
| | | commodityActivityVo.setTeamEndTime(ptResult.getTeamEndTime()); |
| | | } |
| | | //查询用户参与砍价活动信息 |
| | | ComBatteryActivityTeamVo kjResult =commodityOrderMapper.queryTeamIdByUserIdBargain(userId,id); |
| | | if(kjResult != null && kjResult.getTeamId() != null){ |
| | | commodityActivityVo.setIsBargain(2); |
| | | commodityActivityVo.setBargainId(kjResult.getTeamId()); |
| | | commodityActivityVo.setBargainEndTime(kjResult.getTeamEndTime()); |
| | | } |
| | | } |
| | | } |
| | | return R.ok(commodityActivityVo); |
| | | } |
| | |
| | | } |
| | | return R.fail("修改失败"); |
| | | } |
| | | |
| | | } |
| | |
| | | Integer count = commodityOrderMapper.selectCount(new QueryWrapper<ComBatteryCommodityOrder>() |
| | | .lambda().eq(ComBatteryCommodityOrder::getStatus,ComBatteryCommodityOrder.Status.DKJ) |
| | | .eq(ComBatteryCommodityOrder::getBargainStatus,ComBatteryCommodityOrder.BargainStatus.KJZ) |
| | | .eq(ComBatteryCommodityOrder::getIsDel,ComBatteryCommodityOrder.IsDel.NO)); |
| | | .eq(ComBatteryCommodityOrder::getIsDel,ComBatteryCommodityOrder.IsDel.NO) |
| | | .eq(ComBatteryCommodityOrder::getActivityId,orderDto.getActivityId()) |
| | | .eq(ComBatteryCommodityOrder::getUserId,orderDto.getUserId())); |
| | | if(count > 0){ |
| | | return R.fail("您已存在正在砍价中的订单,不可再发起砍价订单"); |
| | | } |
| | |
| | | commodityOrder.setActivityId(commodityActivity.getId()); |
| | | commodityOrder.setCommodityId(commodity.getId()); |
| | | commodityOrder.setSpecsId(commoditySpecs.getId()); |
| | | commodityOrder.setOrderNo("PT" + Snowflake.getId()); |
| | | commodityOrder.setOrderNo("KJ" + Snowflake.getId()); |
| | | commodityOrder.setActivityType(commodityActivity.getType()); |
| | | commodityOrder.setStatus(ComBatteryCommodityOrder.Status.DFK); |
| | | commodityOrder.setPayStatus(ComBatteryCommodityOrder.PayStatus.WZF); |
| | |
| | | return R.fail("该砍价活动已结束"); |
| | | } |
| | | } |
| | | Integer count = orderBargainRecordMapper.selectCount(new QueryWrapper<ComBatteryCommodityOrderBargainRecord>().lambda() |
| | | .eq(ComBatteryCommodityOrderBargainRecord::getBargainId,orderDto.getBargainId()) |
| | | .eq(ComBatteryCommodityOrderBargainRecord::getUserId,orderDto.getUserId())); |
| | | if(count > 0){ |
| | | return R.fail("您已经参加此砍价,不可重复参加"); |
| | | } |
| | | //商品原价 |
| | | BigDecimal originalPrice = orderBargain.getOriginalPrice(); |
| | | //商品目标价格 |
| | |
| | | BigDecimal minPrice = originalPrice.subtract(targetPrice).multiply(BigDecimal.valueOf(0.05)); |
| | | BigDecimal randomNumber = MathUtils.getRandomNumber(maxPrice,minPrice); |
| | | if(randomNumber.compareTo(surplusPrice) > 0){ |
| | | randomNumber = currentPrice; |
| | | randomNumber = surplusPrice; |
| | | } |
| | | //初始化用户帮砍价记录 |
| | | ComBatteryCommodityOrderBargainRecord orderBargainRecord = getOrderBargainRecord(orderBargain.getId() |
| | |
| | | package com.panzhihua.service_community.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.panzhihua.common.constants.PayCpmstant; |
| | | import com.panzhihua.common.model.vos.common.ComBatteryCommodityOrderCollageTeamPeopleVo; |
| | | import com.panzhihua.common.model.vos.common.ComBatteryCommodityOrderCollageTeamVo; |
| | |
| | | */ |
| | | @Override |
| | | public R queryByPage(PageComBatteryCommodityOrderCollageTeamDto comBatteryCommodityOrderCollageTeam) { |
| | | return R.ok(this.baseMapper.queryAllByLimit(comBatteryCommodityOrderCollageTeam, new Page(comBatteryCommodityOrderCollageTeam.getPageNum(), comBatteryCommodityOrderCollageTeam.getPageSize()))); |
| | | IPage<ComBatteryCommodityOrderCollageTeamVo> orderCollageTeamVoIPage = this.baseMapper.queryAllByLimit(comBatteryCommodityOrderCollageTeam |
| | | , new Page(comBatteryCommodityOrderCollageTeam.getPageNum(), comBatteryCommodityOrderCollageTeam.getPageSize())); |
| | | //判断该用户是否参与了以下拼团 |
| | | if(comBatteryCommodityOrderCollageTeam.getUserId() != null && comBatteryCommodityOrderCollageTeam.getUserId() != 0L){ |
| | | Long userId = comBatteryCommodityOrderCollageTeam.getUserId(); |
| | | orderCollageTeamVoIPage.getRecords().forEach(orderCollageTeam -> { |
| | | Map<String,Object> resultMap = this.baseMapper.getUserCollageDetail(orderCollageTeam.getId(),userId); |
| | | if(resultMap != null){ |
| | | if(Integer.parseInt(resultMap.get("ktCount").toString()) > 0){ |
| | | orderCollageTeam.setIsPartake(2); |
| | | } |
| | | if(Integer.parseInt(resultMap.get("ptCount").toString()) > 0){ |
| | | orderCollageTeam.setIsPartake(2); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | return R.ok(orderCollageTeamVoIPage); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @date 2022-03-29 16:06:58 |
| | | */ |
| | | @Override |
| | | public R detailById(Long id) { |
| | | public R detailById(Long id,Long userId) { |
| | | ComBatteryCommodityOrderCollageTeamVo orderCollageTeamVo = this.baseMapper.queryById(id); |
| | | if(orderCollageTeamVo != null){ |
| | | List<ComBatteryCommodityOrderCollageTeamPeopleVo> collageTeamPeopleList = orderCollageTeamPeopleMapper.queryAllByTeamId(id); |
| | | orderCollageTeamVo.setOrderCollageTeamPeopleList(collageTeamPeopleList); |
| | | //判断该用户是否参与了以下拼团 |
| | | if(userId != null && userId != 0L){ |
| | | Map<String,Object> resultMap = this.baseMapper.getUserCollageDetail(orderCollageTeamVo.getId(),userId); |
| | | if(resultMap != null){ |
| | | if(Integer.parseInt(resultMap.get("ktCount").toString()) > 0){ |
| | | orderCollageTeamVo.setIsPartake(2); |
| | | } |
| | | if(Integer.parseInt(resultMap.get("ptCount").toString()) > 0){ |
| | | orderCollageTeamVo.setIsPartake(2); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | return R.ok(orderCollageTeamVo); |
| | | } |
| | |
| | | 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)){ |
| | | //判断该团队人数是否已满 |
| | |
| | | commoditySpecs.setUpdateAt(nowDate); |
| | | commoditySpecsMapper.updateById(commoditySpecs); |
| | | } |
| | | if(commodityOrder.getActivityId() != null){ |
| | | ComBatteryCommodityActivity commodityActivity = commodityActivityMapper.selectById(commodityOrder.getActivityId()); |
| | | if(!commodityActivity.getType().equals(ComBatteryCommodityActivity.Type.PT)){ |
| | | commodityActivity.setCommoditySaleNum(commodityActivity.getCommoditySaleNum() - commodityOrder.getCount()); |
| | | commodityActivityMapper.updateById(commodityActivity); |
| | | } |
| | | } |
| | | }); |
| | | return R.ok(); |
| | | } |
| | |
| | | //用户开团,创建团队信息 |
| | | orderCollageTeam = getOrderCollageTeam(commodityOrder,nowDate); |
| | | orderCollageTeamMapper.insert(orderCollageTeam); |
| | | commodityOrder.setTeamId(orderCollageTeam.getId()); |
| | | }else{ |
| | | //用户参团,查询参加的团队信息 |
| | | orderCollageTeam = orderCollageTeamMapper.selectById(commodityOrder.getTeamId()); |
| | |
| | | ComBatteryCommodityOrderCollageTeamPeople orderCollageTeamPeople = getOrderCollageTeamPeople(commodityOrder.getUserId() |
| | | ,nowDate,orderCollageTeam,notifyOrderDTO.getAttach()); |
| | | orderCollageTeamPeopleMapper.insert(orderCollageTeamPeople); |
| | | //判断当前拼团人员是否已足够成团 |
| | | syncAssortedDoughStatus(orderCollageTeam.getId(),nowDate); |
| | | } |
| | | //判断当前拼团活动是否已完成 |
| | | syncAssortedDoughActivityStatus(commodityOrder.getActivityId(),nowDate); |
| | | break; |
| | | case ComBatteryCommodityOrder.ActivityType.KJ: |
| | | //砍价订单成功支付处理 |
| | |
| | | commodityOrder.setUpdateAt(nowDate); |
| | | commodityOrder.setPayTime(payTime); |
| | | this.baseMapper.updateById(commodityOrder); |
| | | |
| | | if(commodityOrder.getTeamId() != null){ |
| | | //判断当前拼团人员是否已足够成团 |
| | | syncAssortedDoughStatus(commodityOrder.getTeamId(),nowDate); |
| | | } |
| | | if(commodityOrder.getActivityId() != null && commodityOrder.getActivityType().equals(ComBatteryCommodityOrder.ActivityType.PT)){ |
| | | //判断当前拼团活动是否已完成 |
| | | syncAssortedDoughActivityStatus(commodityOrder.getActivityId(),nowDate); |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
| | |
| | | if(commodityActivity != null){ |
| | | Integer count = orderCollageTeamPeopleMapper.selectCount(new QueryWrapper<ComBatteryCommodityOrderCollageTeamPeople>() |
| | | .lambda().eq(ComBatteryCommodityOrderCollageTeamPeople::getTeamId,teamId)); |
| | | if(count >= commodityActivity.getCollageNum()){ |
| | | if(count >= commodityActivity.getCollagePeopleNum()){ |
| | | //拼团条件满足,将所有已拼单的用户的订单更新为待发货状态 |
| | | //更新拼团团队记录 |
| | | orderCollageTeam.setStatus(ComBatteryCommodityOrderCollageTeam.Status.PTCG); |
| | |
| | | //查询商品信息 |
| | | ComBatteryCommodity commodity = commodityMapper.selectById(commodityOrder.getCommodityId()); |
| | | if(commodity != null){ |
| | | orderBargain.setCurrentPrice(commodity.getPrice()); |
| | | orderBargain.setOriginalPrice(commodity.getPrice()); |
| | | orderBargain.setCurrentPrice(commodity.getPrice()); |
| | | } |
| | | //查询活动信息 |
| | |
| | | cbca.update_at, |
| | | cbca.update_by, |
| | | cbca.specs_id, |
| | | cbca.commodity_sale_num, |
| | | cbcs.`name` as specsName, |
| | | cbc.`name` as commodityName, |
| | | cbc.`code` as commodityCode, |
| | |
| | | cbca.update_at, |
| | | cbca.update_by, |
| | | cbca.specs_id, |
| | | cbca.commodity_sale_num, |
| | | cbcs.`name` as specsName, |
| | | cbc.`name` as commodityName, |
| | | cbc.`code` as commodityCode, |
| | |
| | | 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 |
| | | <if test="dto.userId != null"> |
| | | left join com_battery_commodity_order as cbco on cbco.activity_id = cbca.id |
| | | </if> |
| | | <where> |
| | | and cbca.is_del = 2 |
| | | <if test="dto.id != null"> |
| | |
| | | </if> |
| | | <if test="dto.type != null"> |
| | | and cbca.type = #{dto.type} |
| | | </if> |
| | | <if test="dto.userId != null"> |
| | | and cbco.user_id = #{dto.userId} and cbco.pay_status = 2 and cbco.is_del = 2 |
| | | </if> |
| | | <if test="dto.commodityId != null"> |
| | | and cbca.commodity_id = #{dto.commodityId} |
| | |
| | | </if> |
| | | <if test="dto.status != null"> |
| | | and cbca.status = #{dto.status} |
| | | </if> |
| | | <if test="dto.isApplets != null and dto.isApplets == 1"> |
| | | and cbca.status in (1,3) |
| | | </if> |
| | | <if test="dto.keyWord != null and dto.keyWord != ''"> |
| | | and ( |
| | |
| | | cbca.update_at, |
| | | cbca.update_by, |
| | | cbca.specs_id, |
| | | cbca.commodity_sale_num, |
| | | cbcs.`name` as specsName, |
| | | cbc.`name` as commodityName, |
| | | cbc.`code` as commodityCode, |
| | |
| | | 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 |
| | | <if test="dto.userId != null"> |
| | | left join com_battery_commodity_order as cbco on cbco.activity_id = cbca.id |
| | | </if> |
| | | <where> |
| | | and cbca.is_del = 2 |
| | | <if test="dto.id != null"> |
| | | and cbca.id = #{dto.id} |
| | | </if> |
| | | <if test="dto.userId != null"> |
| | | and cbco.user_id = #{dto.userId} and cbco.pay_status = 2 and cbco.is_del = 2 |
| | | </if> |
| | | <if test="dto.type != null"> |
| | | and cbca.type = #{dto.type} |
| | |
| | | <if test="dto.status != null"> |
| | | and cbca.status = #{dto.status} |
| | | </if> |
| | | <if test="dto.isApplets != null and dto.isApplets == 1"> |
| | | and cbca.status in (1,3) |
| | | </if> |
| | | <if test="dto.keyWord != null and dto.keyWord != ''"> |
| | | and ( |
| | | cbca.`name` like concat ('%',#{statisticsAdminDTO.keyWord},'%') or |
| | |
| | | su.nick_name as nickName, |
| | | su.image_url as imageUrl, |
| | | cbc.`name` as commodityName, |
| | | cbc.images as commodityImages, |
| | | cbco.bargain_status |
| | | FROM |
| | | com_battery_commodity_order_bargain as cbcob |
| | |
| | | <if test="dto.orderNo != null and dto.orderNo != ''"> |
| | | and cbcoot.order_no = #{dto.orderNo} |
| | | </if> |
| | | <if test="dto.userId != null"> |
| | | and cbcoot.user_id = #{dto.userId} |
| | | </if> |
| | | <if test="dto.status != null"> |
| | | and cbcoot.status = #{dto.status} |
| | | </if> |
| | |
| | | order by cbcoot.create_at desc |
| | | </select> |
| | | |
| | | <select id="getUserCollageDetail" resultType="map"> |
| | | SELECT |
| | | count( id ) as ktCount, |
| | | (select count(id) from com_battery_commodity_order_collage_team_people where team_id = #{teamId} and user_id = #{userId} and `type` = 2) as ptCount |
| | | FROM |
| | | com_battery_commodity_order_collage_team_people |
| | | WHERE |
| | | team_id = #{teamId} AND head_user_id = #{userId} |
| | | </select> |
| | | |
| | | </mapper> |
| | | |
| | |
| | | cbco.receiving_region, |
| | | cbco.receiving_address, |
| | | su.phone, |
| | | su.nick_name as nickName, |
| | | cbc.`name` as commodityName, |
| | | cbcs.`images` as commodityImages, |
| | | cbcs.`name` as specsName |
| | |
| | | </if> |
| | | <if test="dto.payType != null"> |
| | | and cbco.pay_type = #{dto.payType} |
| | | </if> |
| | | <if test="dto.isApplets != null and dto.isApplets == 1"> |
| | | and cbco.status in (2,3,4) |
| | | </if> |
| | | <if test="dto.payNo != null and dto.payNo != ''"> |
| | | and cbco.pay_no = #{dto.payNo} |
| | |
| | | order by cbco.create_at desc |
| | | </select> |
| | | |
| | | <select id="queryTeamIdByUserId" resultType="com.panzhihua.common.model.vos.common.ComBatteryActivityTeamVo"> |
| | | select id as teamId,create_at as teamEndTime from com_battery_commodity_order_collage_team |
| | | where activity_id = #{activityId} and user_id = #{userId} and status = 1 |
| | | </select> |
| | | |
| | | <select id="queryTeamIdByUserIdBargain" resultType="com.panzhihua.common.model.vos.common.ComBatteryActivityTeamVo"> |
| | | select cbcob.id as teamId,cbcob.create_at as teamEndTime from com_battery_commodity_order_bargain as cbcob |
| | | left join com_battery_commodity_order as cbco on cbco.id = cbcob.order_id |
| | | where cbcob.user_id = #{userId} and cbcob.activity_id = #{activityId} and cbco.bargain_status = 1 |
| | | </select> |
| | | |
| | | </mapper> |
| | | |
| | |
| | | <!--查询指定行数据--> |
| | | <select id="queryAllByLimit" resultType="com.panzhihua.common.model.vos.common.ComBatteryCommoditySpecsVo"> |
| | | select |
| | | id, store_id, commodity_id, name, stock, price, images, is_del, create_at, create_by, update_at, update_by |
| | | from com_battery_commodity_specs |
| | | cbcs.id, cbcs.store_id, cbcs.commodity_id, cbcs.`name`, cbcs.stock, cbcs.price, cbcs.images, cbcs.is_del, cbcs.create_at |
| | | , cbcs.create_by, cbcs.update_at, cbcs.update_by,cbc.`name` as commodityName |
| | | from com_battery_commodity_specs as cbcs |
| | | left join com_battery_commodity as cbc on cbc.id = cbcs.commodity_id |
| | | <where> |
| | | and is_del = 2 |
| | | and cbcs.is_del = 2 |
| | | <if test="dto.id != null"> |
| | | and id = #{dto.id} |
| | | and cbcs.id = #{dto.id} |
| | | </if> |
| | | <if test="dto.storeId != null"> |
| | | and store_id = #{dto.storeId} |
| | | and cbcs.store_id = #{dto.storeId} |
| | | </if> |
| | | <if test="dto.commodityId != null"> |
| | | and commodity_id = #{dto.commodityId} |
| | | and cbcs.commodity_id = #{dto.commodityId} |
| | | </if> |
| | | <if test="dto.keyWord != null and dto.keyWord != ''"> |
| | | and `name` like concat('%',#{dto.keyWord},'%') |
| | | and cbcs.`name` like concat('%',#{dto.keyWord},'%') |
| | | </if> |
| | | </where> |
| | | order by create_at desc |
| | | order by cbcs.create_at desc |
| | | </select> |
| | | |
| | | <!--查询所有数据--> |
| | |
| | | noLoginUrl.add("/api/applets/fms/service/page"); |
| | | noLoginUrl.add("/api/applets/fms/service/detail"); |
| | | noLoginUrl.add("/api/applets/wx/batteryPayNotify"); |
| | | noLoginUrl.add("/api/applets/wx/batteryActivityPayNotify"); |
| | | if (noLoginUrl.contains(requestURI)) { |
| | | List<SimpleGrantedAuthority> authorities = new ArrayList<>(); |
| | | authorities.add(new SimpleGrantedAuthority(SecurityConstants.ROLE_APPLETS)); |