| @@ -105,4 +105,12 @@ public class WxActivityController extends BaseController { | |||||
| return wxActivityService.sendToCampaign(id); | return wxActivityService.sendToCampaign(id); | ||||
| } | } | ||||
| @ApiOperation("从宣传页下线") | |||||
| @PostMapping("offLineCampaign") | |||||
| @SystemControllerLog(description = "活动-更新状态") | |||||
| public ResultData offLineCampaign(@RequestBody WxActivity wxActivity) { | |||||
| logger.debug("[" + getIpAddr() + "] WxActivityController::updateStatus"); | |||||
| return wxActivityService.offLineCampaign(wxActivity); | |||||
| } | |||||
| } | } | ||||
| @@ -130,24 +130,25 @@ public class WxCUserBasicSignController extends BaseController { | |||||
| wxCUserBasicSign.setUserId(memberId); | wxCUserBasicSign.setUserId(memberId); | ||||
| Map<String, Integer> map = wxCUserBasicSignService.getLastSignIn(wxCUserBasicSign); | Map<String, Integer> map = wxCUserBasicSignService.getLastSignIn(wxCUserBasicSign); | ||||
| int continueMonthSign = map.get("continueMonthSign");//本月连续签到天数 | int continueMonthSign = map.get("continueMonthSign");//本月连续签到天数 | ||||
| int continueSign = map.get("continueSign");//连续签到天数 | |||||
| int signInSevenDay = map.get("signInSevenDay");//7日连续奖励 | int signInSevenDay = map.get("signInSevenDay");//7日连续奖励 | ||||
| int signInFTDay = map.get("signInFTDay");//14日连续奖励 | int signInFTDay = map.get("signInFTDay");//14日连续奖励 | ||||
| int signInTEDay = map.get("signInTEDay");//28日连续奖励 | int signInTEDay = map.get("signInTEDay");//28日连续奖励 | ||||
| if(wxCreditHistory.getCreditType().equals(EnumScoreType.SIGN_IN_SEVENDAY.getCode())){ | 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); | wxCUserBasicSignService.signInCreditHistory(wxCUserBasicSign,EnumScoreType.SIGN_IN_SEVENDAY); | ||||
| return new ResultData(); | return new ResultData(); | ||||
| } | } | ||||
| return new ResultData(ErrorCode.MEM_MONTH_IS_USED); | return new ResultData(ErrorCode.MEM_MONTH_IS_USED); | ||||
| }else if(wxCreditHistory.getCreditType().equals(EnumScoreType.SIGN_IN_FTDAY.getCode())){ | }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); | wxCUserBasicSignService.signInCreditHistory(wxCUserBasicSign,EnumScoreType.SIGN_IN_FTDAY); | ||||
| return new ResultData(); | return new ResultData(); | ||||
| } | } | ||||
| return new ResultData(ErrorCode.MEM_MONTH_IS_USED); | return new ResultData(ErrorCode.MEM_MONTH_IS_USED); | ||||
| }else if(wxCreditHistory.getCreditType().equals(EnumScoreType.SIGN_IN_TEDAY.getCode())){ | }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); | wxCUserBasicSignService.signInCreditHistory(wxCUserBasicSign,EnumScoreType.SIGN_IN_TEDAY); | ||||
| return new ResultData(); | return new ResultData(); | ||||
| } | } | ||||
| @@ -540,6 +540,7 @@ public enum ErrorCode{ | |||||
| ACTIVITY_TIME_ERROR(30005, "活动报名结束时间不能大于活动结束时间"), | ACTIVITY_TIME_ERROR(30005, "活动报名结束时间不能大于活动结束时间"), | ||||
| ACTIVITY_WAIT_CONFIRMED(30006, "您报名的活动还在审核中"), | ACTIVITY_WAIT_CONFIRMED(30006, "您报名的活动还在审核中"), | ||||
| ACTIVITY_EXPIRED(30007, "您报名的活动已过期"), | ACTIVITY_EXPIRED(30007, "您报名的活动已过期"), | ||||
| ACTIVITY_SEND_ERROR_NOONLINE(30008, "活动投放到宣传页失败,活动未上线!"), | |||||
| /** | /** | ||||
| * 文件上传 | * 文件上传 | ||||
| @@ -8,7 +8,8 @@ public enum EnumActivityStatus { | |||||
| STATUS_THROW_IN(0, "已保存"), | STATUS_THROW_IN(0, "已保存"), | ||||
| STATUS_TAKE_OFFF(1, "已下线"), | STATUS_TAKE_OFFF(1, "已下线"), | ||||
| INJECT_CAMPAIGN(2, "已投放"),; | |||||
| INJECT_CAMPAIGN(2, "已投放"), | |||||
| INJECT_ONLINE(3, "已上线"),; | |||||
| public static EnumActivityStatus getEnum(Integer code) { | public static EnumActivityStatus getEnum(Integer code) { | ||||
| for (EnumActivityStatus value : values()) { | for (EnumActivityStatus value : values()) { | ||||
| @@ -46,4 +46,5 @@ public interface WxActivityService { | |||||
| Integer queryStatus(Long id, Long userId); | Integer queryStatus(Long id, Long userId); | ||||
| ResultData offLineCampaign(WxActivity wxActivity); | |||||
| } | } | ||||
| @@ -172,6 +172,9 @@ public class WxActivityServiceImpl implements WxActivityService { | |||||
| if (wxActivity.getEndTime().before(new Date())) { | if (wxActivity.getEndTime().before(new Date())) { | ||||
| return new ResultData(ErrorCode.ACTIVITY_JOIN_TIME_END); | 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.setStatus(EnumActivityStatus.INJECT_CAMPAIGN.getCode()); | ||||
| wxActivity.setUpdateTime(new Date()); | wxActivity.setUpdateTime(new Date()); | ||||
| wxActivityMapper.updateById(wxActivity); | wxActivityMapper.updateById(wxActivity); | ||||
| @@ -233,5 +236,21 @@ public class WxActivityServiceImpl implements WxActivityService { | |||||
| return EnumActivityEnrollStatus.NORMAL.getCode(); | 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, "操作成功"); | |||||
| } | |||||
| } | } | ||||
| @@ -112,6 +112,7 @@ public class WxCUserBasicSignServiceImpl implements WxCUserBasicSignService { | |||||
| wxCUserBasicSignMapper.insert(record); | wxCUserBasicSignMapper.insert(record); | ||||
| } | } | ||||
| signInCreditHistory(record,EnumScoreType.SIGN_IN_DAY); | signInCreditHistory(record,EnumScoreType.SIGN_IN_DAY); | ||||
| continueSignInAddCredit(record); | |||||
| return record; | return record; | ||||
| }else{ | }else{ | ||||
| //补签 | //补签 | ||||
| @@ -148,12 +149,22 @@ public class WxCUserBasicSignServiceImpl implements WxCUserBasicSignService { | |||||
| public Map<String,Integer> getLastSignIn(WxCUserBasicSign record) { | public Map<String,Integer> getLastSignIn(WxCUserBasicSign record) { | ||||
| Map<String,Integer> map = new HashMap<>(); | Map<String,Integer> map = new HashMap<>(); | ||||
| WxCUserBasicSign lastSignIn = wxCUserBasicSignMapper.getLastSignIn(record); | 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 wxCreditHistory = new WxCreditHistory(); | ||||
| wxCreditHistory.setTenantId(record.getFinalTenantId()); | wxCreditHistory.setTenantId(record.getFinalTenantId()); | ||||
| wxCreditHistory.setCUserId(record.getUserId()); | wxCreditHistory.setCUserId(record.getUserId()); | ||||
| @@ -201,4 +212,15 @@ public class WxCUserBasicSignServiceImpl implements WxCUserBasicSignService { | |||||
| wxCreditHistoryService.saveOrUpdate(wxCreditHistory,null); | 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); | |||||
| } | |||||
| } | |||||
| } | } | ||||