framework/src/main/java/cn/lili/modules/lmk/domain/query/WxHealthVideoQuery.java
@@ -16,6 +16,8 @@ @ApiModel(value = "微信小程序大健康查询参数", description = "微信小程序大健康查询参数") public class WxHealthVideoQuery extends AbsQuery { @ApiModelProperty("来源默认system,system/user") private String source; /** * @see VideoTypeEnum */ framework/src/main/java/cn/lili/modules/lmk/domain/query/WxKitchenVideoQuery.java
@@ -16,6 +16,9 @@ @ApiModel(value = "微信小程序大健康查询参数", description = "微信小程序大健康查询参数") public class WxKitchenVideoQuery extends AbsQuery { @ApiModelProperty("来源默认system,system/user") private String source; /** * @see VideoTypeEnum */ framework/src/main/java/cn/lili/modules/lmk/mapper/ActivityMapper.java
@@ -24,7 +24,7 @@ public interface ActivityMapper extends BaseMapper<Activity> { /** * id查找客户黑名单 * id查找 * @param id * @return */ framework/src/main/java/cn/lili/modules/lmk/service/ActivityReportService.java
New file @@ -0,0 +1,25 @@ package cn.lili.modules.lmk.service; import cn.lili.base.Result; import cn.lili.modules.lmk.domain.entity.ActivityReport; import cn.lili.modules.lmk.domain.vo.ActivityReportVO; import com.baomidou.mybatisplus.extension.service.IService; import org.apache.ibatis.annotations.Param; public interface ActivityReportService extends IService<ActivityReport> { /** * 删除活动报名人员信息 * @param activityId 活动id * @return */ public Result delByActivityId(String activityId); /** * 获得活动报名信息 * @param activityId 活动id * @param userId 用户id * @return */ public ActivityReportVO getActivityReport(String activityId,String userId); } framework/src/main/java/cn/lili/modules/lmk/service/MyActivityService.java
@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.extension.service.IService; public interface MyActivityService extends IService<Activity> { public Result getMyActivityList(MyActivityQuery query); public Result activityCancel(String activityId); framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityReportServiceImpl.java
New file @@ -0,0 +1,40 @@ package cn.lili.modules.lmk.service.impl; import cn.lili.base.Result; import cn.lili.modules.lmk.domain.entity.ActivityReport; import cn.lili.modules.lmk.domain.vo.ActivityReportVO; import cn.lili.modules.lmk.mapper.ActivityReportMapper; import cn.lili.modules.lmk.service.ActivityReportService; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; /** * lmk-shop-java * 活动报名实现类 * * @author : zxl * @date : 2025-07-31 10:04 **/ @Service @RequiredArgsConstructor public class ActivityReportServiceImpl extends ServiceImpl<ActivityReportMapper, ActivityReport> implements ActivityReportService { private final ActivityReportMapper activityReportMapper; @Override public Result delByActivityId(String activityId) { baseMapper.delete(new LambdaQueryChainWrapper<>(baseMapper) .eq(ActivityReport::getActivityId, activityId) .eq(ActivityReport::getDeleteFlag,Boolean.FALSE)); return Result.ok(); } @Override public ActivityReportVO getActivityReport(String activityId, String userId) { return baseMapper.getActivityReport(activityId,userId); } } framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityServiceImpl.java
@@ -14,6 +14,7 @@ import cn.lili.modules.lmk.domain.vo.ActivityVO; import cn.lili.modules.lmk.mapper.ActivityMapper; import cn.lili.modules.lmk.service.ActivityAuditRecordService; import cn.lili.modules.lmk.service.ActivityReportService; import cn.lili.modules.lmk.service.ActivityService; import cn.lili.modules.lmk.service.LmkFileService; import cn.lili.modules.member.entity.vo.MemberVO; @@ -25,14 +26,17 @@ import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.Assert; import org.springframework.web.multipart.MultipartFile; import java.util.Date; import java.util.List; import java.util.stream.Collectors; @Service @RequiredArgsConstructor @Transactional public class ActivityServiceImpl extends ServiceImpl<ActivityMapper, Activity> implements ActivityService { private final LmkFileService lmkFileService; @@ -40,6 +44,8 @@ private final COSUtil cOSUtil; private final ActivityAuditRecordService activityAuditRecordService; private final ActivityReportService activityReportService; @Override @@ -99,19 +105,34 @@ public Result remove(List<String> ids) { //判断活动id是否已经存在报名人员 for(String id : ids){ if (isPublishActivity(id)){ return Result.error("存在活动已发布删除前请下架该活动!"); } if(haveApplicationMembers(id)){ return Result.error("存在活动已有报名人员,无法删除!"); canDeleteActivity(id); } return Result.ok("删除成功"); } /** * 判断是否能删除活动 并删除活动相关信息 * @param id * @return */ public Result canDeleteActivity(String id){ Activity activity = baseMapper.selectById(id); //活动是否发布 if (activity.getPublish()){ throw new RuntimeException("存在活动已发布删除前请下架该活动!"); } //检查报名人员前判断活动是否结束了 结束了就允许删除 Date currentDate = new Date(); if (currentDate.before(activity.getEndTime())){ //活动未结束 且报名人员的情况 if(haveApplicationMembers(activity.getId())){ throw new RuntimeException("存在活动已有报名人员,无法删除!"); } } //未经过return则删除 for (String id : ids){ delActivityAndInformation(id); } delActivityAndInformation(activity); return Result.ok("删除成功"); } //判断活动是否存在报名人员 @@ -121,34 +142,25 @@ return (long) activityMembersPage(activityMembersQuery).get("total") > 0; } //判断互动是否发布 public Boolean isPublishActivity(String id){ Activity activity = baseMapper.selectById(id); return activity.getPublish(); } //删除活动同时删除活动的相关信息 public void delActivityAndInformation(String id){ ActivityVO vo = baseMapper.getById(id); if (StringUtils.isNotEmpty(vo.getCover())){ lmkFileService.deleteObject(vo.getCover()); public void delActivityAndInformation(Activity activity){ if (StringUtils.isNotEmpty(activity.getCover())){ lmkFileService.deleteObject(activity.getCover()); } baseMapper.deleteById(id); baseMapper.deleteById(activity.getId()); //删除审核记录 activityAuditRecordService.delActivityAuditById(id); activityAuditRecordService.delActivityAuditById(activity.getId()); //删除活动报名人员 activityReportService.delByActivityId(activity.getId()); } @Override public Result removeById(String id) { //先判断活动是否有报名人员 if (isPublishActivity(id)){ return Result.error("该活动已发布删除前请下架该活动!"); } if(haveApplicationMembers(id)){ return Result.error("该活动已有报名人员,无法删除!"); } //删除,同时判断该对象的封面是否存在 ,存在则在云服务器删除 delActivityAndInformation(id); return Result.ok("删除成功"); return canDeleteActivity(id); } @Override @@ -235,31 +247,32 @@ @Override public Result activityChangeStatus(ActivityForm form) { //判断活动 Activity entity = baseMapper.selectById(form.getId()); entity.setPublish(form.getPublish()); if (!form.getPublish()){ //下架判断是否有人员报名,有报名的话禁止提醒无法下架 //下架判断是否有人员报名,有报名且活动未结束的话禁止提醒无法下架 ActivityMembersQuery activityMembersQuery = new ActivityMembersQuery(); activityMembersQuery.setId(form.getId()); if((long)activityMembersPage(activityMembersQuery).get("total") > 0){ return Result.error("该活动无法下架,已存在报名人员"); Date currentTime = new Date(); if (currentTime.before(entity.getEndTime())){ if(haveApplicationMembers(form.getId())){ return Result.error("该活动无法下架,已存在报名人员"); } } return Result.ok(); }else { //判断该活动是否审核通过 if(activityAuditRecordService.getActivityActivityIsAudit(form.getId())){ baseMapper.updateById(entity); return Result.ok(); }else { if(!activityAuditRecordService.getActivityActivityIsAudit(form.getId())){ return Result.error("活动未通过审核"); } } baseMapper.updateById(entity); return Result.ok(); } @Override framework/src/main/java/cn/lili/modules/lmk/service/impl/MyActivityServiceImpl.java
@@ -2,14 +2,11 @@ import cn.lili.base.Result; import cn.lili.common.enums.ActivityCoverTypeEnum; import cn.lili.common.enums.ActivityStatusEnum; import cn.lili.common.security.context.UserContext; import cn.lili.common.utils.StringUtils; import cn.lili.modules.lmk.domain.entity.Activity; import cn.lili.modules.lmk.domain.entity.ActivityReport; import cn.lili.modules.lmk.domain.entity.MyCollect; import cn.lili.modules.lmk.domain.form.ActivityReportForm; import cn.lili.modules.lmk.domain.query.ActivityReportQuery; import cn.lili.modules.lmk.domain.query.MyActivityQuery; import cn.lili.modules.lmk.domain.vo.ActivityReportVO; import cn.lili.modules.lmk.domain.vo.ActivityVO; @@ -17,22 +14,18 @@ import cn.lili.modules.lmk.mapper.ActivityMapper; import cn.lili.modules.lmk.mapper.ActivityReportMapper; import cn.lili.modules.lmk.mapper.MyCollectMapper; import cn.lili.modules.lmk.service.ActivityReportService; import cn.lili.modules.lmk.service.MyActivityService; import cn.lili.utils.COSUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xkzhangsan.time.utils.StringUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.util.Assert; import java.util.Date; import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.stream.Collectors; @Service @RequiredArgsConstructor manager-api/src/main/java/cn/lili/controller/goods/GoodsManagerController.java
@@ -12,6 +12,7 @@ import cn.lili.modules.goods.entity.dto.GoodsSearchParams; import cn.lili.modules.goods.entity.enums.GoodsAuthEnum; import cn.lili.modules.goods.entity.enums.GoodsStatusEnum; import cn.lili.modules.goods.entity.vos.GoodsSkuVO; import cn.lili.modules.goods.entity.vos.GoodsVO; import cn.lili.modules.goods.service.GoodsService; import cn.lili.modules.goods.service.GoodsSkuService; @@ -54,6 +55,14 @@ @Autowired private COSUtil cosUtil; @ApiOperation(value = "获得skuId") @GetMapping("/getFirstSkuId/{id}") public ResultMessage<String> getFirstSkuId(@PathVariable String id) { List<GoodsSkuVO> goodsListByGoodsId = goodsSkuService.getGoodsListByGoodsId(id); System.out.println(goodsListByGoodsId); return ResultUtil.data(goodsListByGoodsId.get(0).getId()); } @ApiOperation(value = "分页获取") @GetMapping(value = "/list") public ResultMessage<IPage<Goods>> getByPage(GoodsSearchParams goodsSearchParams) {