From 5b7d9c5dc4066df05f817a503365c9b95dda824e Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期四, 31 七月 2025 10:56:46 +0800 Subject: [PATCH] 二维码分享,以及活动相关问题 --- framework/src/main/java/cn/lili/modules/lmk/mapper/ActivityMapper.java | 2 manager-api/src/main/java/cn/lili/controller/goods/GoodsManagerController.java | 9 ++ framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityReportServiceImpl.java | 40 ++++++++++ framework/src/main/java/cn/lili/modules/lmk/domain/query/WxKitchenVideoQuery.java | 3 framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityServiceImpl.java | 101 ++++++++++++++----------- framework/src/main/java/cn/lili/modules/lmk/service/MyActivityService.java | 1 framework/src/main/java/cn/lili/modules/lmk/service/ActivityReportService.java | 25 ++++++ framework/src/main/java/cn/lili/modules/lmk/service/impl/MyActivityServiceImpl.java | 9 -- framework/src/main/java/cn/lili/modules/lmk/domain/query/WxHealthVideoQuery.java | 2 9 files changed, 139 insertions(+), 53 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/query/WxHealthVideoQuery.java b/framework/src/main/java/cn/lili/modules/lmk/domain/query/WxHealthVideoQuery.java index dc2111f..a133a5f 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/domain/query/WxHealthVideoQuery.java +++ b/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 */ diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/query/WxKitchenVideoQuery.java b/framework/src/main/java/cn/lili/modules/lmk/domain/query/WxKitchenVideoQuery.java index 218a45a..4cf6e6f 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/domain/query/WxKitchenVideoQuery.java +++ b/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 */ diff --git a/framework/src/main/java/cn/lili/modules/lmk/mapper/ActivityMapper.java b/framework/src/main/java/cn/lili/modules/lmk/mapper/ActivityMapper.java index c895d2e..c003c28 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/mapper/ActivityMapper.java +++ b/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 */ diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/ActivityReportService.java b/framework/src/main/java/cn/lili/modules/lmk/service/ActivityReportService.java new file mode 100644 index 0000000..2f277dd --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/lmk/service/ActivityReportService.java @@ -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); +} diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/MyActivityService.java b/framework/src/main/java/cn/lili/modules/lmk/service/MyActivityService.java index ead9ce6..1e68bba 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/service/MyActivityService.java +++ b/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); diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityReportServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityReportServiceImpl.java new file mode 100644 index 0000000..a5729f7 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityReportServiceImpl.java @@ -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); + } + + +} diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityServiceImpl.java index 2557297..67827d3 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityServiceImpl.java +++ b/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("瀛樺湪娲诲姩宸叉湁鎶ュ悕浜哄憳锛屾棤娉曞垹闄わ紒"); } } - //鏈粡杩噐eturn鍒欏垹闄� - 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 diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/MyActivityServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/MyActivityServiceImpl.java index fb4f416..03a8c80 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/MyActivityServiceImpl.java +++ b/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 diff --git a/manager-api/src/main/java/cn/lili/controller/goods/GoodsManagerController.java b/manager-api/src/main/java/cn/lili/controller/goods/GoodsManagerController.java index 9271290..c25f8a7 100644 --- a/manager-api/src/main/java/cn/lili/controller/goods/GoodsManagerController.java +++ b/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) { -- Gitblit v1.8.0