framework/src/main/java/cn/lili/modules/lmk/domain/form/StorePrizeProofForm.java
@@ -27,10 +27,11 @@ @ApiModelProperty("抽奖活动领取表id") private String storePrizeClaimId; @NotBlank(message = "附件地址不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("附件地址") private String urlPath; private String content; public static StorePrizeProof getEntityByForm(@NonNull StorePrizeProofForm form, StorePrizeProof entity) { if(entity == null) { entity = new StorePrizeProof(); framework/src/main/java/cn/lili/modules/lmk/domain/query/PrizeClaimRecordQuery.java
@@ -19,5 +19,6 @@ @ApiModel(value = "PrizeClaimRecord查询参数", description = "店铺抽奖活动领取表查询参数") public class PrizeClaimRecordQuery extends AbsQuery { private String storePrizeId; private String storeId; } framework/src/main/java/cn/lili/modules/lmk/service/PrizeClaimRecordService.java
@@ -50,7 +50,7 @@ * @param query * @return */ Result page(PrizeClaimRecordQuery query); Result page(PrizeClaimRecordQuery query,String from); /** * 根据id查找 framework/src/main/java/cn/lili/modules/lmk/service/ScanPrizeService.java
@@ -48,7 +48,7 @@ * @param query * @return */ Result page(ScanPrizeQuery query,String form); Result page(ScanPrizeQuery query); /** * 根据id查找 framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeClaimRecordServiceImpl.java
@@ -18,6 +18,7 @@ import cn.lili.modules.lmk.mapper.PrizeClaimRecordMapper; import cn.lili.modules.lmk.service.PrizeClaimRecordService; import cn.lili.base.Result; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import cn.lili.modules.lmk.domain.form.PrizeClaimRecordForm; @@ -104,8 +105,14 @@ * @return */ @Override public Result page(PrizeClaimRecordQuery query) { public Result page(PrizeClaimRecordQuery query,String from) { IPage<PrizeClaimRecordVO> page = PageUtil.getPage(query, PrizeClaimRecordVO.class); if ("seller".equals(from)){ String storeId = UserContext.getCurrentUser().getStoreId(); query.setStoreId(storeId); } baseMapper.getPage(page, query); return Result.ok().data(page.getRecords()).total(page.getTotal()); } framework/src/main/java/cn/lili/modules/lmk/service/impl/ScanPrizeServiceImpl.java
@@ -119,19 +119,12 @@ * @return */ @Override public Result page(ScanPrizeQuery query,String form) { public Result page(ScanPrizeQuery query) { IPage<ScanPrizeVO> page = PageUtil.getPage(query, ScanPrizeVO.class); LambdaQueryWrapper<ScanPrize> wrapper = Wrappers.lambdaQuery(); wrapper.eq(Objects.nonNull(query.getStoreId()), ScanPrize::getStoreId, query.getStoreId()); wrapper.eq(StringUtils.isNotBlank(query.getStatus()), ScanPrize::getStatus, query.getStatus()); wrapper.eq(StringUtils.isNotBlank(query.getGenerateStatus()), ScanPrize::getGenerateStatus, query.getGenerateStatus()); if("seller".equals(form)){ String storeId = UserContext.getCurrentUser().getStoreId(); if (StringUtils.isNotBlank(storeId)){ wrapper.eq(ScanPrize::getStoreId, storeId); } } baseMapper.getPage(page, query); return Result.ok().data(page.getRecords()).total(page.getTotal()); } framework/src/main/java/cn/lili/modules/lmk/service/impl/StorePrizeProofServiceImpl.java
@@ -1,5 +1,10 @@ package cn.lili.modules.lmk.service.impl; import cn.lili.modules.lmk.domain.entity.PrizeClaimRecord; import cn.lili.modules.lmk.domain.vo.PrizeClaimRecordVO; import cn.lili.modules.lmk.enums.general.MaterialStatusEnum; import cn.lili.modules.lmk.mapper.PrizeClaimRecordMapper; import cn.lili.modules.lmk.service.PrizeClaimRecordService; import com.baomidou.mybatisplus.core.metadata.IPage; import cn.lili.modules.lmk.domain.entity.StorePrizeProof; import cn.lili.modules.lmk.mapper.StorePrizeProofMapper; @@ -30,6 +35,7 @@ private final StorePrizeProofMapper storePrizeProofMapper; private final PrizeClaimRecordMapper prizeClaimRecordMapper; /** * 添加 * @param form @@ -38,7 +44,19 @@ @Override public Result add(StorePrizeProofForm form) { StorePrizeProof entity = StorePrizeProofForm.getEntityByForm(form, null); baseMapper.insert(entity); System.out.println(form); PrizeClaimRecord prizeClaimRecord = prizeClaimRecordMapper.selectById(form.getStorePrizeClaimId()); System.out.println(prizeClaimRecord); if (prizeClaimRecord != null) { prizeClaimRecord.setMaterial(MaterialStatusEnum.GENERATE.name()); prizeClaimRecordMapper.updateById(prizeClaimRecord); baseMapper.insert(entity); } //修改 领取记录的状态 return Result.ok("添加成功"); } framework/src/main/resources/mapper/lmk/PrizeClaimRecordMapper.xml
@@ -59,6 +59,9 @@ <if test="query.storePrizeId !=null and query.storePrizeId !=''"> AND LPCR.store_prize_id = #{query.storePrizeId} </if> <if test="query.storeId !=null and query.storeId !=''"> AND LPCR.store_id = #{query.storeId} </if> </select> </mapper> manager-api/src/main/java/cn/lili/controller/lmk/ScanPrizeController.java
@@ -1,9 +1,15 @@ package cn.lili.controller.lmk; import cn.lili.common.utils.StringUtils; import cn.lili.group.Update; import cn.lili.group.Add; import cn.lili.modules.lmk.domain.entity.StorePrizeProof; import cn.lili.modules.lmk.domain.query.PrizeClaimRecordQuery; import cn.lili.modules.lmk.mapper.StorePrizeProofMapper; import cn.lili.modules.lmk.service.PrizeClaimRecordService; import cn.lili.modules.lmk.service.StorePrizeProofService; import cn.lili.utils.COSUtil; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import org.springframework.validation.annotation.Validated; import org.springframework.security.access.prepost.PreAuthorize; import lombok.RequiredArgsConstructor; @@ -35,6 +41,9 @@ private final ScanPrizeService scanPrizeService; private final PrizeClaimRecordService prizeClaimRecordService; private final StorePrizeProofMapper storePrizeProofMapper; private final COSUtil cosUtil; @PutMapping @ApiOperation(value = "修改", notes = "修改") public Result update(@RequestBody @Validated(Update.class) ScanPrizeForm form) { @@ -56,7 +65,7 @@ @GetMapping("/page") @ApiOperation(value = "分页", notes = "分页") public Result page(ScanPrizeQuery query) { return scanPrizeService.page(query,"manager"); return scanPrizeService.page(query); } @GetMapping("/{id}") @@ -101,7 +110,20 @@ @GetMapping("/getClaimPage") public Result getClaimPage(PrizeClaimRecordQuery query){ return prizeClaimRecordService.page(query); return prizeClaimRecordService.page(query,"manager"); } @GetMapping("/getDetailData/{id}") public Result getDetailData(@PathVariable String id){ StorePrizeProof vo = new LambdaQueryChainWrapper<>(storePrizeProofMapper) .eq(StorePrizeProof::getStorePrizeClaimId, id) .eq(StorePrizeProof::getDeleteFlag, 0) .one(); if (StringUtils.isNotBlank(vo.getUrlPath())) { vo.setUrlPath( cosUtil.getPreviewUrl(vo.getUrlPath())); } return Result.ok().data(vo); } } seller-api/src/main/java/cn/lili/controller/activity/ManagerUploadController.java
New file @@ -0,0 +1,61 @@ package cn.lili.controller.activity; import cn.lili.base.Result; import cn.lili.modules.lmk.domain.vo.LmkFileVO; import cn.lili.modules.lmk.service.ActivityService; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @RestController @RequiredArgsConstructor @RequestMapping("/store/lmk/common") @Slf4j public class ManagerUploadController { private final ActivityService activityService; @PostMapping("/upload") public Result handleFileUpload(@RequestPart("file") MultipartFile file) throws Exception { System.out.println("开始上传"); if (file == null) { return Result.error("上传文件不能为空"); } System.out.println(file.getSize()); System.out.println(file.getName()); // 上传到云服务器 Result result = activityService.uploadObject(file); Object object = result.get("data"); LmkFileVO lmkFileVO = null; if (object != null) { if (object instanceof LmkFileVO) { lmkFileVO = (LmkFileVO) object; //插入数据库 return Result.ok().data(lmkFileVO); } else { log.error("类型不匹配,期望:{} 实际:{}", LmkFileVO.class.getName(), object.getClass().getName()); return Result.error("类型不匹配"); } } return Result.error("上传云服务器异常"); } @GetMapping("/getUrl/{fileKey}") public Result getUrl(@PathVariable(value = "fileKey") String fileKey){ return Result.ok().data(activityService.getPreviewUrl(fileKey)); } @DeleteMapping("/delByKey") @ApiOperation(value = "删除某个文件") public Result delByKey(@RequestBody String fileKey) { return activityService.deleteObject(fileKey); } } seller-api/src/main/java/cn/lili/controller/activity/StorePrizeClaimController.java
@@ -2,13 +2,15 @@ import cn.lili.base.Result; import cn.lili.modules.lmk.domain.form.StorePrizeProofForm; import cn.lili.modules.lmk.domain.query.PrizeClaimRecordQuery; import cn.lili.modules.lmk.domain.query.ScanPrizeQuery; import cn.lili.modules.lmk.service.PrizeClaimRecordService; import cn.lili.modules.lmk.service.ScanPrizeService; import cn.lili.modules.lmk.service.StorePrizeProofService; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.*; /** * lmk-shop-java @@ -20,11 +22,17 @@ @RestController @RequestMapping("/store/lmk/scan-prize") public class StorePrizeClaimController { private final ScanPrizeService scanPrizeService; private final PrizeClaimRecordService prizeClaimRecordService; private final StorePrizeProofService storePrizeProofService; @GetMapping("/page") @ApiOperation(value = "分页", notes = "分页") public Result page(ScanPrizeQuery query) { return scanPrizeService.page(query,"seller"); public Result page(PrizeClaimRecordQuery query) { return prizeClaimRecordService.page(query,"seller"); } @PostMapping public Result add(@RequestBody StorePrizeProofForm storePrizeProofForm) { return storePrizeProofService.add(storePrizeProofForm); } }