diff --git a/mallinkService/src/main/java/com/iformall/domain/po/tt/TtUserCollectFollow.java b/mallinkService/src/main/java/com/iformall/domain/po/tt/TtUserCollectFollow.java index b374c4e0f..c6f7ffd1e 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/tt/TtUserCollectFollow.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/tt/TtUserCollectFollow.java @@ -13,6 +13,8 @@ public class TtUserCollectFollow extends TenantEntity { protected Long id; + private Long userId; + @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") private Date createDate; @io.swagger.annotations.ApiModelProperty(value="更新时间",name="updateDate") diff --git a/mallinkService/src/main/java/com/iformall/service/tt/TtCouponService.java b/mallinkService/src/main/java/com/iformall/service/tt/TtCouponService.java index cb2fd9ff1..3ab92b7f7 100644 --- a/mallinkService/src/main/java/com/iformall/service/tt/TtCouponService.java +++ b/mallinkService/src/main/java/com/iformall/service/tt/TtCouponService.java @@ -2,7 +2,9 @@ package com.iformall.service.tt; import com.github.pagehelper.PageInfo; import com.iformall.common.ResultData; +import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.tt.TtCoupon; +import org.springframework.scheduling.annotation.Async; public interface TtCouponService { @@ -43,4 +45,7 @@ public interface TtCouponService { ResultData puton(Long id); ResultData putoff(Long id); + + @Async + void collectCoupon(TenantEntity tenantEntity,Long memberId, Long id); } diff --git a/mallinkService/src/main/java/com/iformall/service/tt/impl/TtCouponServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/tt/impl/TtCouponServiceImpl.java index 1ea0d5a11..30a36e39f 100644 --- a/mallinkService/src/main/java/com/iformall/service/tt/impl/TtCouponServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/tt/impl/TtCouponServiceImpl.java @@ -1,12 +1,18 @@ package com.iformall.service.tt.impl; import com.alibaba.fastjson.JSONArray; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.iformall.common.CommonMapper; import com.iformall.common.ErrorCode; import com.iformall.common.IdWorker; import com.iformall.common.ResultData; +import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.tt.TtCoupon; +import com.iformall.domain.po.tt.TtUserCollect; import com.iformall.enums.EnumTtCouponStatus; import com.iformall.enums.EnumTtCouponType; import com.iformall.mapper.*; @@ -33,6 +39,9 @@ public class TtCouponServiceImpl implements TtCouponService { @Autowired WxMerchantService wxMerchantService; + @Autowired + TtUserCollectMapper ttUserCollectMapper; + @Override public PageInfo listAsPage(TtCoupon record, Integer pageIndex, Integer pageSize) { @@ -80,6 +89,10 @@ public class TtCouponServiceImpl implements TtCouponService { if(record.getType().equals(EnumTtCouponType.COUPON_COLUMN.getCode()) && record.getColumnCoupons() != null && record.getColumnCoupons().size() > 0){ + TtCoupon couponD = new TtCoupon(); + couponD.setColumnId(record.getId()); + couponD.setType(EnumTtCouponType.COUPON_MORE.getCode()); + ttCouponMapper.delete(new QueryWrapper(couponD)); for (TtCoupon ttc:record.getColumnCoupons()) { ttc.updateTenantInfo(record); ttc.setType(EnumTtCouponType.COUPON_MORE.getCode()); @@ -140,4 +153,21 @@ public class TtCouponServiceImpl implements TtCouponService { ttCouponMapper.updateById(byId); return new ResultData(); } + + @Override + public void collectCoupon(TenantEntity tenantEntity,Long memberId, Long id) { + final IdWorker idWorker = IdWorker.get(); + TtUserCollect userCollect = new TtUserCollect(); + userCollect.setId(idWorker.nextId()); + userCollect.updateTenantInfo(tenantEntity); + userCollect.setUserId(memberId); + userCollect.setCouponId(id); + userCollect.setCreateDate(new Date()); + userCollect.setUpdateDate(new Date()); + try { + ttUserCollectMapper.insert(userCollect); + } catch (Exception e) { +// e.printStackTrace(); + } + } } diff --git a/mallinkTTAdmin/src/main/java/com/iformall/controller/tt/TtCouponController.java b/mallinkTTAdmin/src/main/java/com/iformall/controller/tt/TtCouponController.java index fe4bc6e55..fda0143a4 100644 --- a/mallinkTTAdmin/src/main/java/com/iformall/controller/tt/TtCouponController.java +++ b/mallinkTTAdmin/src/main/java/com/iformall/controller/tt/TtCouponController.java @@ -68,6 +68,7 @@ public class TtCouponController extends BaseController { public ResultData list(@ModelAttribute TtCoupon record, Integer pageNum, Integer pageSize, Integer dataType) { logger.debug("[" + getIpAddr() + "] TtCouponController::list"); if (record == null) record = new TtCoupon(); + record.updateTenantInfo(getTenantInfo()); return new ResultData(ttCouponService.listAsPage(record, pageNum, pageSize)); } @@ -97,26 +98,56 @@ public class TtCouponController extends BaseController { if(record.getBusinessId() == null){ return new ResultData(ErrorCode.SYS_SERVER_ERROR,"未选择分类"); } - if(StringUtils.isBlank(record.getVideoId())){ -// return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL,"未上传视频"); - }else{ - VideUploadResult result = videoFactory.getExcutor(videoType).getVideoDetail(record.getVideoId()); - if(result.isSuccess()){ - record.setVideoTime(result.getDuration()); - TtVideoLibrary video = new TtVideoLibrary(); - video.updateTenantInfo(tenantEntity); - video.setVideoId(record.getVideoId()); - video.setVideoUrl(result.getVideoUrl()); - video.setPreview(result.getCoverURL()); - video.setDuration(result.getDuration()); - ttVideoLibraryService.saveOrUpdate(video); + if(record.getType() == null){ + return new ResultData(ErrorCode.SYS_SERVER_ERROR,"type为空"); + } + if(record.getType().equals(EnumTtCouponType.COUPON_SINGLE.getCode())){ + if(StringUtils.isBlank(record.getVideoId())){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL,"未上传视频"); }else{ - return new ResultData(ErrorCode.SYS_SERVER_ERROR,result.getMsg()); + VideUploadResult result = videoFactory.getExcutor(videoType).getVideoDetail(record.getVideoId()); + if(result.isSuccess()){ + record.setVideoTime(result.getDuration()); + TtVideoLibrary video = new TtVideoLibrary(); + video.updateTenantInfo(tenantEntity); + video.setVideoId(record.getVideoId()); + video.setVideoUrl(result.getVideoUrl()); + video.setPreview(result.getCoverURL()); + video.setDuration(result.getDuration()); + ttVideoLibraryService.saveOrUpdate(video); + }else{ + return new ResultData(ErrorCode.SYS_SERVER_ERROR,result.getMsg()); + } } + }else if(record.getType().equals(EnumTtCouponType.COUPON_COLUMN.getCode())){ + if(record.getColumnCoupons() != null && record.getColumnCoupons().size() > 0){ + for (TtCoupon ttc:record.getColumnCoupons()) { + if(StringUtils.isBlank(ttc.getVideoId())) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL, "部分未上传视频"); + } + VideUploadResult result = videoFactory.getExcutor(videoType).getVideoDetail(ttc.getVideoId()); + if(result.isSuccess()){ + ttc.setVideoTime(result.getDuration()); + TtVideoLibrary video = new TtVideoLibrary(); + video.updateTenantInfo(tenantEntity); + video.setVideoId(record.getVideoId()); + video.setVideoUrl(result.getVideoUrl()); + video.setPreview(result.getCoverURL()); + video.setDuration(result.getDuration()); + ttVideoLibraryService.saveOrUpdate(video); + }else{ + return new ResultData(ErrorCode.SYS_SERVER_ERROR,result.getMsg()); + } + } + }else{ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL, "未上传视频"); + } + }else{ + return new ResultData(ErrorCode.SYS_SERVER_ERROR,"未识别type类型"); } - record.setType(EnumTtCouponType.COUPON_SINGLE.getCode()); +// record.setType(EnumTtCouponType.COUPON_SINGLE.getCode()); ResultData resultData = ttCouponService.saveOrUpdate(record); if (resultData.code != 200) { return resultData; diff --git a/mallinkTTAdmin/src/main/java/com/iformall/controller/video/VideoController.java b/mallinkTTAdmin/src/main/java/com/iformall/controller/video/VideoController.java index 1ba72eead..5eeb548b2 100644 --- a/mallinkTTAdmin/src/main/java/com/iformall/controller/video/VideoController.java +++ b/mallinkTTAdmin/src/main/java/com/iformall/controller/video/VideoController.java @@ -76,7 +76,7 @@ public class VideoController extends BaseController { /** * 上传视频 * - * @param multiReq + * @param * @return * @throws Exception */ diff --git a/mallinkTTCApi/src/main/java/com/iformall/controller/TtCouponController.java b/mallinkTTCApi/src/main/java/com/iformall/controller/TtCouponController.java index 8bc00f59e..dc95afb1f 100644 --- a/mallinkTTCApi/src/main/java/com/iformall/controller/TtCouponController.java +++ b/mallinkTTCApi/src/main/java/com/iformall/controller/TtCouponController.java @@ -1,7 +1,9 @@ package com.iformall.controller; +import com.iformall.common.ErrorCode; import com.iformall.common.ResultData; import com.iformall.domain.po.tt.TtCoupon; +import com.iformall.exception.MallinkException; import com.iformall.service.tt.TtCouponService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -28,7 +30,7 @@ public class TtCouponController extends BaseController { @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) public ResultData list(@ModelAttribute TtCoupon record, Integer pageNum, Integer pageSize, Integer dataType) { - logger.debug("[" + getIpAddr() + "] WxCouponController::list"); + logger.debug("[" + getIpAddr() + "] TtCouponController::list"); if (record == null) record = new TtCoupon(); return new ResultData(ttCouponService.listAsPage(record, pageNum, pageSize)); } @@ -37,8 +39,33 @@ public class TtCouponController extends BaseController { @GetMapping("/findById") @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) public ResultData findById(@RequestParam Long id) { - logger.debug("[" + getIpAddr() + "] WxCouponController::findById"); - return new ResultData(ttCouponService.getById(id)); + logger.debug("[" + getIpAddr() + "] TtCouponController::findById"); + if (id == null) { + return new ResultData(ResultData.ERROR, "缺少id"); + } + return new ResultData(ttCouponService.detail(id)); + } + + @ApiOperation("收藏") + @GetMapping("/collectCoupon") + @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) + public ResultData collectCoupon(@RequestParam Long id) { + logger.debug("[" + getIpAddr() + "] TtCouponController::findById"); + if (id == null) { + return new ResultData(ResultData.ERROR, "缺少id"); + } + TtCoupon byId = ttCouponService.getById(id); + if(byId == null){ + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR,"找不到课程"); + } + Long memberId; + try { + memberId = getMemberId(); + } catch (MallinkException e) { + return new ResultData(e.getErrorCode(), e.getMessage()); + } + ttCouponService.collectCoupon(getTenantInfo(),memberId,byId.getId()); + return new ResultData(); } }