From 62684750af35a54d75b1d9c21dc3a3f58ec2e46f Mon Sep 17 00:00:00 2001 From: xhxu Date: Tue, 26 Jan 2021 13:27:36 +0800 Subject: [PATCH] qiandao --- .../market/WxActivityController.java | 8 +++++ .../WxCUserBasicSignController.java | 7 ++-- .../java/com/iformall/common/ErrorCode.java | 1 + .../iformall/enums/EnumActivityStatus.java | 3 +- .../iformall/service/WxActivityService.java | 1 + .../service/impl/WxActivityServiceImpl.java | 19 +++++++++++ .../impl/WxCUserBasicSignServiceImpl.java | 32 ++++++++++++++++--- 7 files changed, 62 insertions(+), 9 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxActivityController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxActivityController.java index 5ef94bdb3..87c71911f 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxActivityController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxActivityController.java @@ -105,4 +105,12 @@ public class WxActivityController extends BaseController { return wxActivityService.sendToCampaign(id); } + @ApiOperation("从宣传页下线") + @PostMapping("offLineCampaign") + @SystemControllerLog(description = "活动-更新状态") + public ResultData offLineCampaign(@RequestBody WxActivity wxActivity) { + logger.debug("[" + getIpAddr() + "] WxActivityController::updateStatus"); + return wxActivityService.offLineCampaign(wxActivity); + } + } diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCUserBasicSignController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCUserBasicSignController.java index 9951397fd..76524e9de 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCUserBasicSignController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCUserBasicSignController.java @@ -130,24 +130,25 @@ public class WxCUserBasicSignController extends BaseController { wxCUserBasicSign.setUserId(memberId); Map map = wxCUserBasicSignService.getLastSignIn(wxCUserBasicSign); int continueMonthSign = map.get("continueMonthSign");//本月连续签到天数 + int continueSign = map.get("continueSign");//连续签到天数 int signInSevenDay = map.get("signInSevenDay");//7日连续奖励 int signInFTDay = map.get("signInFTDay");//14日连续奖励 int signInTEDay = map.get("signInTEDay");//28日连续奖励 if(wxCreditHistory.getCreditType().equals(EnumScoreType.SIGN_IN_SEVENDAY.getCode())){ - if(continueMonthSign >= 7 && signInSevenDay == 0){ + if(continueSign >= 7 && signInSevenDay == 0){ wxCUserBasicSignService.signInCreditHistory(wxCUserBasicSign,EnumScoreType.SIGN_IN_SEVENDAY); return new ResultData(); } return new ResultData(ErrorCode.MEM_MONTH_IS_USED); }else if(wxCreditHistory.getCreditType().equals(EnumScoreType.SIGN_IN_FTDAY.getCode())){ - if(continueMonthSign >= 14 && signInFTDay == 0){ + if(continueSign >= 14 && signInFTDay == 0){ wxCUserBasicSignService.signInCreditHistory(wxCUserBasicSign,EnumScoreType.SIGN_IN_FTDAY); return new ResultData(); } return new ResultData(ErrorCode.MEM_MONTH_IS_USED); }else if(wxCreditHistory.getCreditType().equals(EnumScoreType.SIGN_IN_TEDAY.getCode())){ - if(continueMonthSign >= 28 && signInTEDay == 0){ + if(continueSign >= 28 && signInTEDay == 0){ wxCUserBasicSignService.signInCreditHistory(wxCUserBasicSign,EnumScoreType.SIGN_IN_TEDAY); return new ResultData(); } diff --git a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java index 9169a0fc8..607aac091 100644 --- a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java +++ b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java @@ -540,6 +540,7 @@ public enum ErrorCode{ ACTIVITY_TIME_ERROR(30005, "活动报名结束时间不能大于活动结束时间"), ACTIVITY_WAIT_CONFIRMED(30006, "您报名的活动还在审核中"), ACTIVITY_EXPIRED(30007, "您报名的活动已过期"), + ACTIVITY_SEND_ERROR_NOONLINE(30008, "活动投放到宣传页失败,活动未上线!"), /** * 文件上传 diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumActivityStatus.java b/mallinkService/src/main/java/com/iformall/enums/EnumActivityStatus.java index d97f28f98..a7f896a0f 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumActivityStatus.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumActivityStatus.java @@ -8,7 +8,8 @@ public enum EnumActivityStatus { STATUS_THROW_IN(0, "已保存"), STATUS_TAKE_OFFF(1, "已下线"), - INJECT_CAMPAIGN(2, "已投放"),; + INJECT_CAMPAIGN(2, "已投放"), + INJECT_ONLINE(3, "已上线"),; public static EnumActivityStatus getEnum(Integer code) { for (EnumActivityStatus value : values()) { diff --git a/mallinkService/src/main/java/com/iformall/service/WxActivityService.java b/mallinkService/src/main/java/com/iformall/service/WxActivityService.java index 4ed660f41..09239f594 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxActivityService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxActivityService.java @@ -46,4 +46,5 @@ public interface WxActivityService { Integer queryStatus(Long id, Long userId); + ResultData offLineCampaign(WxActivity wxActivity); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxActivityServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxActivityServiceImpl.java index adee61af0..3da2fc67f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxActivityServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxActivityServiceImpl.java @@ -172,6 +172,9 @@ public class WxActivityServiceImpl implements WxActivityService { if (wxActivity.getEndTime().before(new Date())) { return new ResultData(ErrorCode.ACTIVITY_JOIN_TIME_END); } + if(wxActivity.getStatus().equals(EnumActivityStatus.INJECT_ONLINE.getCode())){ + return new ResultData(ErrorCode.ACTIVITY_SEND_ERROR_NOONLINE); + } wxActivity.setStatus(EnumActivityStatus.INJECT_CAMPAIGN.getCode()); wxActivity.setUpdateTime(new Date()); wxActivityMapper.updateById(wxActivity); @@ -233,5 +236,21 @@ public class WxActivityServiceImpl implements WxActivityService { return EnumActivityEnrollStatus.NORMAL.getCode(); } + @Override + public ResultData offLineCampaign(WxActivity wxActivity) { + WxActivity activity = wxActivityMapper.selectById(wxActivity.getId()); + if (activity == null) { + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); + } + if (wxActivity.getStatus().equals(EnumActivityStatus.STATUS_TAKE_OFFF.getCode())) { + WxCampaign campaign = new WxCampaign(); + campaign.setProduceId(wxActivity.getId()); + WxCampaign wxCampaign = wxCampaignMapper.selectOne(new QueryWrapper(campaign)); + wxCampaign.setStatus(EnumCampaignStatus.STATUS_TAKE_OFFF.getCode()); + wxCampaignMapper.updateById(wxCampaign); + } + return new ResultData(Result.SUCCESS, "操作成功"); + } + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicSignServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicSignServiceImpl.java index cbbef4e25..432aaa302 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicSignServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicSignServiceImpl.java @@ -112,6 +112,7 @@ public class WxCUserBasicSignServiceImpl implements WxCUserBasicSignService { wxCUserBasicSignMapper.insert(record); } signInCreditHistory(record,EnumScoreType.SIGN_IN_DAY); + continueSignInAddCredit(record); return record; }else{ //补签 @@ -148,12 +149,22 @@ public class WxCUserBasicSignServiceImpl implements WxCUserBasicSignService { public Map getLastSignIn(WxCUserBasicSign record) { Map map = new HashMap<>(); WxCUserBasicSign lastSignIn = wxCUserBasicSignMapper.getLastSignIn(record); - if(lastSignIn != null && DateUtils.isSameMonth(lastSignIn.getSigninDate(),new Date())){ - //本月连续签到天数 - map.put("continueMonthSign",lastSignIn.getContinueMonthSign()); - }else{ - map.put("continueMonthSign",0); + if(lastSignIn != null){ + long daysL = DateUtils.startToEnd(lastSignIn.getSigninDate(), new Date()); + int daysI = new Long(daysL).intValue(); + if(daysI <= 1){ + map.put("continueSign",lastSignIn.getContinueSign()%28); + }else{ + map.put("continueSign",0); + } } + +// if(lastSignIn != null && DateUtils.isSameMonth(lastSignIn.getSigninDate(),new Date())){ +// //本月连续签到天数 +// map.put("continueMonthSign",lastSignIn.getContinueMonthSign()); +// }else{ +// map.put("continueMonthSign",0); +// } WxCreditHistory wxCreditHistory = new WxCreditHistory(); wxCreditHistory.setTenantId(record.getFinalTenantId()); wxCreditHistory.setCUserId(record.getUserId()); @@ -201,4 +212,15 @@ public class WxCUserBasicSignServiceImpl implements WxCUserBasicSignService { wxCreditHistoryService.saveOrUpdate(wxCreditHistory,null); } + private void continueSignInAddCredit(WxCUserBasicSign record){ + int i = record.getContinueSign() % 28; + if(record.getContinueSign() > 0 && i == 0){ + signInCreditHistory(record,EnumScoreType.SIGN_IN_TEDAY); + }else if(i == 7){ + signInCreditHistory(record,EnumScoreType.SIGN_IN_SEVENDAY); + }else if(i == 14){ + signInCreditHistory(record,EnumScoreType.SIGN_IN_FTDAY); + } + } + }