diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCampaignJoinController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxActivityJoinController.java similarity index 54% rename from mallinkAdmin/src/main/java/com/iformall/controller/market/WxCampaignJoinController.java rename to mallinkAdmin/src/main/java/com/iformall/controller/market/WxActivityJoinController.java index 7df0b85ff..58bde729f 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCampaignJoinController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxActivityJoinController.java @@ -5,9 +5,9 @@ import com.iformall.annotation.SystemControllerLog; import com.iformall.common.ErrorCode; import com.iformall.common.ResultData; import com.iformall.controller.base.BaseController; -import com.iformall.domain.po.WxCampaignJoin; +import com.iformall.domain.po.WxActivityJoin; import com.iformall.exception.MallinkException; -import com.iformall.service.WxCampaignJoinService; +import com.iformall.service.WxActivityJoinService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -24,13 +24,13 @@ import javax.servlet.http.HttpServletResponse; * @author gongbiao */ @RestController -@RequestMapping("wxCampaignJoin") +@RequestMapping("wxActivityJoin") @Api(description = "活动参与信息") -public class WxCampaignJoinController extends BaseController { +public class WxActivityJoinController extends BaseController { private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired - private WxCampaignJoinService wxCampaignJoinService; + private WxActivityJoinService wxActivityJoinService; @ApiOperation("分页列表接口") @GetMapping("list") @@ -38,68 +38,70 @@ public class WxCampaignJoinController extends BaseController { @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) @SystemControllerLog(description = "活动参与信息-列表") - public ResultData list(@ModelAttribute WxCampaignJoin wxCampaignJoin, Integer pageNum, Integer pageSize) { - logger.debug("[" + getIpAddr() + "] WxCampaignJoinController::list"); - if (null == wxCampaignJoin) wxCampaignJoin = new WxCampaignJoin(); - wxCampaignJoin.setTenantId(getTenantId()); - wxCampaignJoin.setSortColumns(WxCampaignJoin.Field.Id_DESC); - final PageInfo page = wxCampaignJoinService.listAsPage(wxCampaignJoin, pageNum, pageSize); + public ResultData list(@ModelAttribute WxActivityJoin wxActivityJoin, Integer pageNum, Integer pageSize) { + logger.debug("[" + getIpAddr() + "] WxActivityJoinController::list"); + if (null == wxActivityJoin) { + wxActivityJoin = new WxActivityJoin(); + } + wxActivityJoin.setTenantId(getTenantId()); + wxActivityJoin.setSortColumns(WxActivityJoin.Field.Id_DESC); + final PageInfo page = wxActivityJoinService.listAsPage(wxActivityJoin, pageNum, pageSize); return new ResultData(page); } @ApiOperation("确认或取消报名") @PostMapping("modifyStatus") @SystemControllerLog(description = "活动参与信息-确认或取消报名") - public ResultData modifyStatus(@RequestBody WxCampaignJoin wxCampaignJoin) { - logger.debug("[" + getIpAddr() + "] WxCampaignJoinController::modifyStatus"); + public ResultData modifyStatus(@RequestBody WxActivityJoin wxActivityJoin) { + logger.debug("[" + getIpAddr() + "] WxActivityJoinController::modifyStatus"); - if (wxCampaignJoin.getId() == null) { + if (wxActivityJoin.getId() == null) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "id不能为空"); } - if (wxCampaignJoin.getStatus() == null) { + if (wxActivityJoin.getStatus() == null) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "status不能为空"); } - return wxCampaignJoinService.modifyStatus(wxCampaignJoin); + return wxActivityJoinService.modifyStatus(wxActivityJoin); } @ApiOperation("导出报名表") @RequestMapping("/exportData") @SystemControllerLog(description = "活动参与信息-导出报名表") - public void exportData(@ModelAttribute WxCampaignJoin wxCampaignJoin, HttpServletRequest request, HttpServletResponse response) { - logger.debug("[" + getIpAddr() + "] WxCampaignJoinController::exportData"); - if (wxCampaignJoin.getCampaignId() == null) { - throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "campaignId不能为空"); + public void exportData(@ModelAttribute WxActivityJoin wxActivityJoin, HttpServletRequest request, HttpServletResponse response) { + logger.debug("[" + getIpAddr() + "] WxActivityJoinController::exportData"); + if (wxActivityJoin.getActivityId() == null) { + throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "activityId不能为空"); } - wxCampaignJoin.setTenantId(getTenantId()); - wxCampaignJoinService.exportData(request, response, wxCampaignJoin); + wxActivityJoin.setTenantId(getTenantId()); + wxActivityJoinService.exportData(request, response, wxActivityJoin); } @ApiOperation("查询报名总数") @GetMapping("queryJoinInfo") @SystemControllerLog(description = "活动参与信息-查询报名总数") - public ResultData queryJoinInfo(@ModelAttribute WxCampaignJoin wxCampaignJoin) { - logger.debug("[" + getIpAddr() + "] WxCampaignJoinController::queryJoinInfo"); + public ResultData queryJoinInfo(@ModelAttribute WxActivityJoin wxActivityJoin) { + logger.debug("[" + getIpAddr() + "] WxActivityJoinController::queryJoinInfo"); - if (wxCampaignJoin.getCampaignId() == null) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "campaignId不能为空"); + if (wxActivityJoin.getActivityId() == null) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "activityId不能为空"); } - wxCampaignJoin.setTenantId(getTenantId()); - return wxCampaignJoinService.queryJoinInfo(wxCampaignJoin); + wxActivityJoin.setTenantId(getTenantId()); + return wxActivityJoinService.queryJoinInfo(wxActivityJoin); } @ApiOperation("发送短信") @GetMapping("sendMsg") @SystemControllerLog(description = "活动参与信息-发送短信") - public ResultData sendMsg(@ModelAttribute WxCampaignJoin wxCampaignJoin) { - logger.debug("[" + getIpAddr() + "] WxCampaignJoinController::confirmCompletion"); + public ResultData sendMsg(@ModelAttribute WxActivityJoin wxActivityJoin) { + logger.debug("[" + getIpAddr() + "] WxActivityJoinController::confirmCompletion"); - if (wxCampaignJoin.getCampaignId() == null) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "campaignId不能为空"); + if (wxActivityJoin.getActivityId() == null) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "activityId不能为空"); } - wxCampaignJoin.setTenantId(getTenantId()); - return wxCampaignJoinService.sendMsg(wxCampaignJoin); + wxActivityJoin.setTenantId(getTenantId()); + return wxActivityJoinService.sendMsg(wxActivityJoin); } } diff --git a/mallinkAdmin/src/main/resources/db/migration/V201906051755__ADD_ACTIVITY_TABLE.sql b/mallinkAdmin/src/main/resources/db/migration/V201906051755__ADD_ACTIVITY_TABLE.sql new file mode 100644 index 000000000..06e367fa4 --- /dev/null +++ b/mallinkAdmin/src/main/resources/db/migration/V201906051755__ADD_ACTIVITY_TABLE.sql @@ -0,0 +1,25 @@ +drop table if exists `wx_activity`; +CREATE TABLE IF NOT EXISTS `wx_activity` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '租户ID', + `cover_img` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '封面图', + `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '活动名称', + `sub_title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '副标题', + `detail` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '活动正文', + `html` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '富文本', + `person_limit` int(11) NOT NULL COMMENT '报名人数', + `activity_start_time` datetime NOT NULL COMMENT '活动开始时间', + `activity_end_time` datetime NOT NULL COMMENT '活动开始时间', + `useCredit` smallint(2) DEFAULT 0 COMMENT '使用积分1是0否', + `credit` int(11) DEFAULT 0 COMMENT '消耗积分', + `type` smallint(2) NOT NULL COMMENT '类型 1固定格式2自由图文', + `status` smallint(2) NOT NULL COMMENT '状态0上线 1下线', + `start_time` datetime NOT NULL COMMENT '活动报名开始时间', + `end_time` datetime NOT NULL COMMENT '活动报名结束时间', + `question` json NOT NULL COMMENT '问题', + `is_expired` smallint(2) DEFAULT 1 COMMENT '是否过期1是0否', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_time` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`id`), + INDEX `id_index` USING BTREE (`id`) comment '' +) ENGINE=`InnoDB` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='活动表' CHECKSUM=0 DELAY_KEY_WRITE=0; \ No newline at end of file diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/CampaginSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/ActivitySchedule.java similarity index 53% rename from mallinkSchedule/src/main/java/com/iformall/schedule/CampaginSchedule.java rename to mallinkSchedule/src/main/java/com/iformall/schedule/ActivitySchedule.java index 50773b1f7..bbf033367 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/CampaginSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/ActivitySchedule.java @@ -1,11 +1,11 @@ package com.iformall.schedule; -import com.iformall.domain.po.WxCampaign; -import com.iformall.domain.po.WxCampaignJoin; +import com.iformall.domain.po.WxActivity; +import com.iformall.domain.po.WxActivityJoin; import com.iformall.domain.po.msg.WxMsgRecord; import com.iformall.enums.*; -import com.iformall.mapper.WxCampaignJoinMapper; -import com.iformall.mapper.WxCampaignMapper; +import com.iformall.mapper.WxActivityJoinMapper; +import com.iformall.mapper.WxActivityMapper; import com.iformall.mq.MqBaseProducer; import com.iformall.utils.DateUtils; import org.apache.commons.collections.map.HashedMap; @@ -23,15 +23,15 @@ import java.util.Map; * @author gongbiao */ @Component -public class CampaginSchedule { +public class ActivitySchedule { private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired - private WxCampaignMapper wxCampaignMapper; + private WxActivityMapper wxActivityMapper; @Autowired - private WxCampaignJoinMapper wxCampaignJoinMapper; + private WxActivityJoinMapper wxActivityJoinMapper; @Autowired private MqBaseProducer mqBaseProducer; @@ -42,34 +42,34 @@ public class CampaginSchedule { @Scheduled(cron = "0 0 12 * * ?") public void sendMsg() { logger.info("限时活动参与提醒任务启动"); - WxCampaign wxCampaign = new WxCampaign(); - wxCampaign.setStatus(EnumCampaignStatus.STATUS_THROW_IN.getCode()); - List wxCampaigns = wxCampaignMapper.queryNotify(wxCampaign); - WxCampaignJoin wxCampaignJoin = null; - for (WxCampaign campaign : wxCampaigns) { - wxCampaignJoin = new WxCampaignJoin(); - wxCampaignJoin.setTenantId(campaign.getTenantId()); - wxCampaignJoin.setCampaignId(campaign.getId()); - wxCampaignJoin.setStatus(EnumCampaignJoinStatus.CONFIRMED.getCode()); - List list = wxCampaignJoinMapper.findList(wxCampaignJoin); - for (WxCampaignJoin campaignJoin : list) { - send(campaign, campaignJoin); + WxActivity wxActivity = new WxActivity(); + wxActivity.setStatus(EnumActivityStatus.STATUS_THROW_IN.getCode()); + List wxActivitys = wxActivityMapper.queryNotify(wxActivity); + WxActivityJoin wxActivityJoin = null; + for (WxActivity activity : wxActivitys) { + wxActivityJoin = new WxActivityJoin(); + wxActivityJoin.setTenantId(activity.getTenantId()); + wxActivityJoin.setActivityId(activity.getId()); + wxActivityJoin.setStatus(EnumActivityJoinStatus.CONFIRMED.getCode()); + List list = wxActivityJoinMapper.findList(wxActivityJoin); + for (WxActivityJoin activityJoin : list) { + send(activity, activityJoin); } } } - private void send(WxCampaign campaign, WxCampaignJoin campaignJoin) { + private void send(WxActivity activity, WxActivityJoin activityJoin) { logger.info("限时活动参与提醒短信发送开始"); - String phone = campaignJoin.getPhone(); - String person = campaignJoin.getName(); + String phone = activityJoin.getPhone(); + String person = activityJoin.getName(); person = StringUtils.isNotEmpty(person) ? person : ""; - String time = DateUtils.date2String(campaign.getActivityStartTime()); - String party = campaign.getTitle(); + String time = DateUtils.date2String(activity.getActivityStartTime()); + String party = activity.getTitle(); WxMsgRecord wxMsgRecord = new WxMsgRecord(); wxMsgRecord.setMsgType(EnumMsgRecordType.SMS.getCode()); wxMsgRecord.setModelType(EnumMsgModel.TIME_LIMIT_CAMPAIGN_NOTIFY.getCode()); wxMsgRecord.setReceiver(phone); - wxMsgRecord.setTenantId(campaignJoin.getTenantId()); + wxMsgRecord.setTenantId(activityJoin.getTenantId()); Map map = new HashedMap(); map.put("person", person); map.put("party", party); @@ -84,23 +84,23 @@ public class CampaginSchedule { * 5分钟一次 */ @Scheduled(cron = "0 */5 * * * ?") - public void campaignExipred() { + public void activityExipred() { logger.info("活动报名结束任务"); - WxCampaign campaign = new WxCampaign(); - campaign.setStatus(EnumCampaignStatus.STATUS_THROW_IN.getCode()); - campaign.setIsExpired(EnumCampaignExpired.YES.getCode()); - wxCampaignMapper.campaignExipred(campaign); + WxActivity activity = new WxActivity(); + activity.setStatus(EnumActivityStatus.STATUS_THROW_IN.getCode()); + activity.setIsExpired(EnumActivityExpired.YES.getCode()); + wxActivityMapper.activityExipred(activity); } /** * 5分钟一次 */ @Scheduled(cron = "0 */5 * * * ?") - public void campaignCompletion() { + public void activityCompletion() { logger.info("活动结束任务"); - WxCampaign campaign = new WxCampaign(); - campaign.setStatus(EnumCampaignStatus.STATUS_TAKE_OFFF.getCode()); - wxCampaignMapper.campaignCompletion(campaign); + WxActivity activity = new WxActivity(); + activity.setStatus(EnumActivityStatus.STATUS_TAKE_OFFF.getCode()); + wxActivityMapper.activityCompletion(activity); } } \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxActivity.java b/mallinkService/src/main/java/com/iformall/domain/po/WxActivity.java new file mode 100644 index 000000000..767763718 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxActivity.java @@ -0,0 +1,158 @@ +package com.iformall.domain.po; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import javax.persistence.Id; +import javax.persistence.Table; +import javax.persistence.Transient; +import java.util.Date; +import java.util.List; + +@Table(name = "wx_activity") +@Data +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +public class WxActivity extends BaseEntity { + + @Id + protected Long id; + + @Transient + protected List ids; + @Transient + protected String sortColumns; + + @Override + public String getSortColumns() { + super.setSortColumns(this.sortColumns); + return super.getSortColumns(); + } + + @io.swagger.annotations.ApiModelProperty(value = "租户", name = "tenantId") + private String tenantId; + @io.swagger.annotations.ApiModelProperty(value = "封面图", name = "coverImg") + private String coverImg; + @io.swagger.annotations.ApiModelProperty(value = "主标题", name = "title") + private String title; + @io.swagger.annotations.ApiModelProperty(value = "副标题", name = "subTitle") + private String subTitle; + @io.swagger.annotations.ApiModelProperty(value = "使用积分1是0否", name = "useCredit") + private Integer useCredit; + @io.swagger.annotations.ApiModelProperty(value = "消耗积分", name = "credit") + private Integer credit; + @io.swagger.annotations.ApiModelProperty(value = "活动人数", name = "personLimit") + private Integer personLimit; + @io.swagger.annotations.ApiModelProperty(value = "活动正文", name = "detail") + private String detail; + @io.swagger.annotations.ApiModelProperty(value = "活动开始报名时间", name = "startTime") + private Date startTime; + @io.swagger.annotations.ApiModelProperty(value = "活动结束报名时间", name = "endTime") + private Date endTime; + @io.swagger.annotations.ApiModelProperty(value = "类型 1固定格式2自由图文", name = "type") + private Integer type; + @io.swagger.annotations.ApiModelProperty(value = "0上线 1下线", name = "status") + private Integer status; + @io.swagger.annotations.ApiModelProperty(value = "创建时间", name = "createTime") + private Date createTime; + @io.swagger.annotations.ApiModelProperty(value = "更新时间", name = "updateTime") + private Date updateTime; + @io.swagger.annotations.ApiModelProperty(value = "富文本", name = "html") + private String html; + @io.swagger.annotations.ApiModelProperty(value = "问题", name = "question") + private String question; + + @io.swagger.annotations.ApiModelProperty(value = "是否过期1是0否", name = "isExpired") + private Integer isExpired; + + @io.swagger.annotations.ApiModelProperty(value = "活动开始时间", name = "activityStartTime") + private Date activityStartTime; + @io.swagger.annotations.ApiModelProperty(value = "活动结束时间", name = "activityEndTime") + private Date activityEndTime; + + @Transient + @io.swagger.annotations.ApiModelProperty(value = "开始时间", name = "starttime") + protected Date starttime; + + @Transient + @io.swagger.annotations.ApiModelProperty(value = "结束时间", name = "endtime") + protected Date endtime; + + + @Transient + @io.swagger.annotations.ApiModelProperty(value = "小程序路径", name = "weappPath") + protected String weappPath; + + @Transient + @io.swagger.annotations.ApiModelProperty(value = "小程序二维码Scene", name = "weappScene") + protected String weappScene; + + public String getWeappPath() { + if (type == null) + return "pages/index/index"; + return "pages/index/index?type=bd&bt=" + type + "&id=" + id; + } + + public String getWeappScene() { + if (type == null) + return ""; + return "t:bd:" + type + ":" + id; + } + + public static enum Field { + Id_ASC("`id` ASC"), Id_DESC("`id` DESC"), TenantId_ASC("`tenant_id` ASC"), TenantId_DESC("`tenant_id` DESC"), CoverImg_ASC("`cover_img` ASC"), CoverImg_DESC("`cover_img` DESC"), Title_ASC("`title` ASC"), Title_DESC("`title` DESC"), SubTitle_ASC("`sub_title` ASC"), SubTitle_DESC("`sub_title` DESC"), StartTime_ASC("`start_time` ASC"), StartTime_DESC("`start_time` DESC"), EndTime_ASC("`end_time` ASC"), EndTime_DESC("`end_time` DESC"), Type_ASC("`type` ASC"), Type_DESC("`type` DESC"), Status_ASC("`status` ASC"), Status_DESC("`status` DESC"), ActivityTime_ASC("`activity_start_time` ASC"), ActivityTime_DESC("`activity_start_time` DESC"), CreateTime_ASC("`create_time` ASC"), CreateTime_DESC("`create_time` DESC"), UpdateTime_ASC("`update_time` ASC"), UpdateTime_DESC("`update_time` DESC"); + private String value; + + Field(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + public void setCol(String value) { + this.value = value; + } + + @Override + public String toString() { + return this.getValue(); + } + } + + public void setSortColumns(WxActivity.Field... fields) { + if (fields == null || fields.length == 0) { + return; + } + for (int k = 0; k < fields.length; k++) { + if (fields[k] == null) { + return; + } + } + StringBuilder sb = new StringBuilder(fields[0].toString()); + for (int k = 1; k < fields.length; k++) { + sb.append(","); + sb.append(fields[k].toString()); + } + this.sortColumns = sb.toString(); + } + + public void setSortColumns(String sortColumns) { + if (sortColumns == null || "".equals(sortColumns.trim())) { + return; + } + if (sortColumns.contains(",")) { + String[] cols = sortColumns.split(","); + List fList = new java.util.ArrayList(); + for (int k = 0; k < cols.length; k++) { + fList.add(Field.valueOf(cols[k])); + } + this.setSortColumns(fList.toArray(new Field[fList.size()])); + } else { + this.setSortColumns(Field.valueOf(sortColumns)); + } + } +} + diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCampaignJoin.java b/mallinkService/src/main/java/com/iformall/domain/po/WxActivityJoin.java similarity index 95% rename from mallinkService/src/main/java/com/iformall/domain/po/WxCampaignJoin.java rename to mallinkService/src/main/java/com/iformall/domain/po/WxActivityJoin.java index 826a8b7c3..8f4a58bd7 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCampaignJoin.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxActivityJoin.java @@ -11,11 +11,11 @@ import javax.persistence.Transient; import java.util.Date; import java.util.List; -@Table(name = "wx_campaign_join") +@Table(name = "wx_activity_join") @Data @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) -public class WxCampaignJoin extends BaseEntity { +public class WxActivityJoin extends BaseEntity { @Id protected Long id; @@ -36,8 +36,8 @@ public class WxCampaignJoin extends BaseEntity { @io.swagger.annotations.ApiModelProperty(value = "C端用户ID", name = "userId") private Long userId; - @io.swagger.annotations.ApiModelProperty(value = "活动ID", name = "campaignId") - private Long campaignId; + @io.swagger.annotations.ApiModelProperty(value = "活动ID", name = "activityId") + private Long activityId; @Excel(name = "姓名", width = 10, orderNum = "1") @io.swagger.annotations.ApiModelProperty(value = "姓名", name = "name") @@ -99,7 +99,7 @@ public class WxCampaignJoin extends BaseEntity { } } - public void setSortColumns(WxCampaignJoin.Field... fields) { + public void setSortColumns(WxActivityJoin.Field... fields) { if (fields == null || fields.length == 0) { return; } @@ -116,6 +116,7 @@ public class WxCampaignJoin extends BaseEntity { this.sortColumns = sb.toString(); } + @Override public void setSortColumns(String sortColumns) { if (sortColumns == null || "".equals(sortColumns.trim())) { return; diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCampaign.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCampaign.java index e630aaa1a..46a2993ab 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCampaign.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCampaign.java @@ -75,23 +75,6 @@ public class WxCampaign extends BaseEntity { @io.swagger.annotations.ApiModelProperty(value="富文本,类型2适用",name="html") private String html; - @io.swagger.annotations.ApiModelProperty(value = "报名人数", name = "personLimit") - private Integer personLimit; - @io.swagger.annotations.ApiModelProperty(value = "活动开始时间", name = "activityStartTime") - private Date activityStartTime; - @io.swagger.annotations.ApiModelProperty(value = "活动结束时间", name = "activityEndTime") - private Date activityEndTime; - @io.swagger.annotations.ApiModelProperty(value = "使用积分1是0否", name = "useCredit") - private Integer useCredit; - @io.swagger.annotations.ApiModelProperty(value = "消耗积分", name = "credit") - private Integer credit; - @io.swagger.annotations.ApiModelProperty(value = "问题", name = "question") - private String question; - @io.swagger.annotations.ApiModelProperty(value = "是否过期1是0否", name = "isExpired") - private Integer isExpired; - @io.swagger.annotations.ApiModelProperty(value = "活动类型1直接投放2限时投放", name = "activityType") - private Integer activityType; - @io.swagger.annotations.ApiModelProperty(value = "产品类型,类型3适用(1-券,2-报名)", name = "produceType") private Integer produceType; @io.swagger.annotations.ApiModelProperty(value = "产品ID,类型3适用", name = "produceId") @@ -101,14 +84,6 @@ public class WxCampaign extends BaseEntity { @io.swagger.annotations.ApiModelProperty(value = "小程序跳转二维码,类型3适用", name = "pageScene") private String pageScene; - @Transient - @io.swagger.annotations.ApiModelProperty(value = "开始时间", name = "starttime") - protected Date starttime; - - @Transient - @io.swagger.annotations.ApiModelProperty(value = "结束时间", name = "endtime") - protected Date endtime; - @Transient @io.swagger.annotations.ApiModelProperty(value="营销物料-小程序路径",name="weappPath") protected String weappPath; diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumCampaignExpired.java b/mallinkService/src/main/java/com/iformall/enums/EnumActivityExpired.java similarity index 70% rename from mallinkService/src/main/java/com/iformall/enums/EnumCampaignExpired.java rename to mallinkService/src/main/java/com/iformall/enums/EnumActivityExpired.java index e69b07c82..f05e521c7 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumCampaignExpired.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumActivityExpired.java @@ -3,14 +3,14 @@ package com.iformall.enums; /** * Created by Stormeye on 2018/08/09. */ -public enum EnumCampaignExpired { +public enum EnumActivityExpired { YES(1, "过期"), NO(0, "未到期"),; - public static EnumCampaignExpired getEnum(Integer code) { - for (EnumCampaignExpired value : values()) { + public static EnumActivityExpired getEnum(Integer code) { + for (EnumActivityExpired value : values()) { if (value.getCode().equals(code)) { return value; } @@ -21,7 +21,7 @@ public enum EnumCampaignExpired { private Integer code; private String message; - EnumCampaignExpired(Integer code, String message) { + EnumActivityExpired(Integer code, String message) { this.code = code; this.message = message; } diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumCampaignJoinSignStatus.java b/mallinkService/src/main/java/com/iformall/enums/EnumActivityJoinSignStatus.java similarity index 68% rename from mallinkService/src/main/java/com/iformall/enums/EnumCampaignJoinSignStatus.java rename to mallinkService/src/main/java/com/iformall/enums/EnumActivityJoinSignStatus.java index 02e982f5d..4d568a777 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumCampaignJoinSignStatus.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumActivityJoinSignStatus.java @@ -4,13 +4,13 @@ package com.iformall.enums; /** * @author gongbiao */ -public enum EnumCampaignJoinSignStatus { +public enum EnumActivityJoinSignStatus { YES(1, "签到"), NO(0, "未签到"),; - public static EnumCampaignJoinSignStatus getEnum(Integer code) { - for (EnumCampaignJoinSignStatus value : values()) { + public static EnumActivityJoinSignStatus getEnum(Integer code) { + for (EnumActivityJoinSignStatus value : values()) { if (value.getCode().equals(code)) { return value; } @@ -21,7 +21,7 @@ public enum EnumCampaignJoinSignStatus { private Integer code; private String message; - EnumCampaignJoinSignStatus(Integer code, String message) { + EnumActivityJoinSignStatus(Integer code, String message) { this.code = code; this.message = message; } diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumCampaignJoinStatus.java b/mallinkService/src/main/java/com/iformall/enums/EnumActivityJoinStatus.java similarity index 72% rename from mallinkService/src/main/java/com/iformall/enums/EnumCampaignJoinStatus.java rename to mallinkService/src/main/java/com/iformall/enums/EnumActivityJoinStatus.java index f291561a1..fcb395c6c 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumCampaignJoinStatus.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumActivityJoinStatus.java @@ -4,15 +4,15 @@ package com.iformall.enums; /** * @author gongbiao */ -public enum EnumCampaignJoinStatus { +public enum EnumActivityJoinStatus { NOT_CONFIRMED(0, "未确认"), CONFIRMED(1, "已确认"), CANCEL(2, "已取消"), EXPIRED(3, "活动过期"),; - public static EnumCampaignJoinStatus getEnum(Integer code) { - for (EnumCampaignJoinStatus value : values()) { + public static EnumActivityJoinStatus getEnum(Integer code) { + for (EnumActivityJoinStatus value : values()) { if (value.getCode().equals(code)) { return value; } @@ -23,7 +23,7 @@ public enum EnumCampaignJoinStatus { private Integer code; private String message; - EnumCampaignJoinStatus(Integer code, String message) { + EnumActivityJoinStatus(Integer code, String message) { this.code = code; this.message = message; } diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumActivityStatus.java b/mallinkService/src/main/java/com/iformall/enums/EnumActivityStatus.java new file mode 100644 index 000000000..86f3ed7ed --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/enums/EnumActivityStatus.java @@ -0,0 +1,37 @@ +package com.iformall.enums; + +/** + * Created by Stormeye on 2018/08/09. + */ +public enum EnumActivityStatus { + + // 0-已上架;1-已下架; + + STATUS_THROW_IN(0, "已上架"), + STATUS_TAKE_OFFF(1, "已下架"),; + + public static EnumActivityStatus getEnum(Integer code) { + for (EnumActivityStatus value : values()) { + if (value.getCode().equals(code)) { + return value; + } + } + return null; + } + + private Integer code; + private String message; + + EnumActivityStatus(Integer code, String message) { + this.code = code; + this.message = message; + } + + public Integer getCode() { + return code; + } + + public String getMessage() { + return message; + } +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxActivityJoinMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxActivityJoinMapper.java new file mode 100644 index 000000000..1d6583c2f --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/mapper/WxActivityJoinMapper.java @@ -0,0 +1,12 @@ +package com.iformall.mapper; + +import com.iformall.common.CommonMapper; +import com.iformall.domain.po.WxActivityJoin; + +import java.util.List; + +public interface WxActivityJoinMapper extends CommonMapper { + + List findList(WxActivityJoin params); + +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxActivityMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxActivityMapper.java new file mode 100644 index 000000000..14316d486 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/mapper/WxActivityMapper.java @@ -0,0 +1,20 @@ +package com.iformall.mapper; + +import com.iformall.common.CommonMapper; +import com.iformall.domain.po.WxActivity; + +import java.util.List; + +/** + * @author gongbiao + */ +public interface WxActivityMapper extends CommonMapper { + + List findList(WxActivity wxActivity); + + List queryNotify(WxActivity wxActivity); + + void activityExipred(WxActivity activity); + + void activityCompletion(WxActivity activity); +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCampaignJoinMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCampaignJoinMapper.java deleted file mode 100644 index fba49dd7c..000000000 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCampaignJoinMapper.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.iformall.mapper; - -import com.iformall.common.CommonMapper; -import com.iformall.domain.po.WxCampaignJoin; - -import java.util.List; - -public interface WxCampaignJoinMapper extends CommonMapper { - - List findList(WxCampaignJoin params); - -} diff --git a/mallinkService/src/main/java/com/iformall/service/WxActivityJoinService.java b/mallinkService/src/main/java/com/iformall/service/WxActivityJoinService.java new file mode 100644 index 000000000..0e13e825d --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/WxActivityJoinService.java @@ -0,0 +1,25 @@ +package com.iformall.service; + +import com.github.pagehelper.PageInfo; +import com.iformall.common.ResultData; +import com.iformall.domain.po.WxActivityJoin; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * @author gongbiao + */ +public interface WxActivityJoinService { + + PageInfo listAsPage(WxActivityJoin wxActivityJoin, Integer pageNum, Integer pageSize); + + ResultData modifyStatus(WxActivityJoin wxActivityJoin); + + void exportData(HttpServletRequest request, HttpServletResponse response, WxActivityJoin wxActivityJoin); + + ResultData queryJoinInfo(WxActivityJoin wxActivityJoin); + + ResultData sendMsg(WxActivityJoin wxActivityJoin); + +} diff --git a/mallinkService/src/main/java/com/iformall/service/WxCampaignJoinService.java b/mallinkService/src/main/java/com/iformall/service/WxCampaignJoinService.java deleted file mode 100644 index d7bcf9423..000000000 --- a/mallinkService/src/main/java/com/iformall/service/WxCampaignJoinService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.iformall.service; - -import com.github.pagehelper.PageInfo; -import com.iformall.common.ResultData; -import com.iformall.domain.po.WxCampaignJoin; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * @author gongbiao - */ -public interface WxCampaignJoinService { - - PageInfo listAsPage(WxCampaignJoin wxCampaignJoin, Integer pageNum, Integer pageSize); - - ResultData modifyStatus(WxCampaignJoin wxCampaignJoin); - - void exportData(HttpServletRequest request, HttpServletResponse response, WxCampaignJoin wxCampaignJoin); - - ResultData queryJoinInfo(WxCampaignJoin wxCampaignJoin); - - ResultData sendMsg(WxCampaignJoin wxCampaignJoin); - -} diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCampaignJoinServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxActivityJoinServiceImpl.java similarity index 63% rename from mallinkService/src/main/java/com/iformall/service/impl/WxCampaignJoinServiceImpl.java rename to mallinkService/src/main/java/com/iformall/service/impl/WxActivityJoinServiceImpl.java index 8de9cc1f3..b10002f67 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCampaignJoinServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxActivityJoinServiceImpl.java @@ -4,16 +4,16 @@ import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.iformall.common.Result; import com.iformall.common.ResultData; -import com.iformall.domain.po.WxCampaign; -import com.iformall.domain.po.WxCampaignJoin; +import com.iformall.domain.po.WxActivity; +import com.iformall.domain.po.WxActivityJoin; import com.iformall.domain.po.msg.WxMsgRecord; import com.iformall.domain.vo.WxBillDailyVo; import com.iformall.enums.*; -import com.iformall.mapper.WxCampaignJoinMapper; -import com.iformall.mapper.WxCampaignMapper; +import com.iformall.mapper.WxActivityJoinMapper; +import com.iformall.mapper.WxActivityMapper; import com.iformall.mq.MqBaseProducer; import com.iformall.service.ExcelService; -import com.iformall.service.WxCampaignJoinService; +import com.iformall.service.WxActivityJoinService; import com.iformall.utils.DateUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; @@ -31,14 +31,14 @@ import java.util.Map; * @author gongbiao */ @Service -public class WxCampaignJoinServiceImpl implements WxCampaignJoinService { +public class WxActivityJoinServiceImpl implements WxActivityJoinService { private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired - WxCampaignJoinMapper wxCampaignJoinMapper; + WxActivityJoinMapper wxActivityJoinMapper; @Autowired - WxCampaignMapper wxCampaignMapper; + WxActivityMapper wxActivityMapper; @Autowired ExcelService excelService; @@ -47,34 +47,34 @@ public class WxCampaignJoinServiceImpl implements WxCampaignJoinService { private MqBaseProducer mqBaseProducer; @Override - public PageInfo listAsPage(WxCampaignJoin record, Integer pageIndex, Integer pageSize) { - return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCampaignJoinMapper.findList(record)); + public PageInfo listAsPage(WxActivityJoin record, Integer pageIndex, Integer pageSize) { + return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxActivityJoinMapper.findList(record)); } @Override - public ResultData modifyStatus(WxCampaignJoin wxCampaignJoin) { - wxCampaignJoinMapper.updateByPrimaryKeySelective(wxCampaignJoin); + public ResultData modifyStatus(WxActivityJoin wxActivityJoin) { + wxActivityJoinMapper.updateByPrimaryKeySelective(wxActivityJoin); return new ResultData(Result.SUCCESS, "操作成功"); } @Override - public void exportData(HttpServletRequest request, HttpServletResponse response, WxCampaignJoin wxCampaignJoin) { - WxCampaign wxCampaign = wxCampaignMapper.selectByPrimaryKey(wxCampaignJoin.getCampaignId()); - String title = wxCampaign.getTitle(); - List list = wxCampaignJoinMapper.findList(wxCampaignJoin); + public void exportData(HttpServletRequest request, HttpServletResponse response, WxActivityJoin wxActivityJoin) { + WxActivity wxActivity = wxActivityMapper.selectByPrimaryKey(wxActivityJoin.getActivityId()); + String title = wxActivity.getTitle(); + List list = wxActivityJoinMapper.findList(wxActivityJoin); excelService.exportExcel(list, null, title, WxBillDailyVo.class, "报名表.xlsx", response, false); } @Override - public ResultData queryJoinInfo(WxCampaignJoin wxCampaignJoin) { - WxCampaign wxCampaign = wxCampaignMapper.selectByPrimaryKey(wxCampaignJoin.getCampaignId()); + public ResultData queryJoinInfo(WxActivityJoin wxActivityJoin) { + WxActivity wxActivity = wxActivityMapper.selectByPrimaryKey(wxActivityJoin.getActivityId()); //活动人数 - Integer personLimit = wxCampaign.getPersonLimit(); + Integer personLimit = wxActivity.getPersonLimit(); //总人数 - int total = wxCampaignJoinMapper.selectCount(wxCampaignJoin); - wxCampaignJoin.setStatus(EnumCampaignJoinStatus.CONFIRMED.getCode()); + int total = wxActivityJoinMapper.selectCount(wxActivityJoin); + wxActivityJoin.setStatus(EnumActivityJoinStatus.CONFIRMED.getCode()); //确认数 - int confirm = wxCampaignJoinMapper.selectCount(wxCampaignJoin); + int confirm = wxActivityJoinMapper.selectCount(wxActivityJoin); Map data = new HashMap<>(); data.put("personLimit", personLimit); data.put("confirm", confirm); @@ -83,16 +83,16 @@ public class WxCampaignJoinServiceImpl implements WxCampaignJoinService { } @Override - public ResultData sendMsg(WxCampaignJoin wxCampaignJoin) { - WxCampaign campaign = wxCampaignMapper.selectByPrimaryKey(wxCampaignJoin.getCampaignId()); - List joinList = wxCampaignJoinMapper.select(wxCampaignJoin); - for (WxCampaignJoin join : joinList) { + public ResultData sendMsg(WxActivityJoin wxActivityJoin) { + WxActivity campaign = wxActivityMapper.selectByPrimaryKey(wxActivityJoin.getActivityId()); + List joinList = wxActivityJoinMapper.select(wxActivityJoin); + for (WxActivityJoin join : joinList) { sendMessage(join, campaign); } return new ResultData(); } - private void sendMessage(WxCampaignJoin join, WxCampaign campaign) { + private void sendMessage(WxActivityJoin join, WxActivity activity) { logger.info("》》》》》》》》》》》"); logger.info("活动发送短信开始"); logger.info("》》》》》》》》》》》"); @@ -102,8 +102,8 @@ public class WxCampaignJoinServiceImpl implements WxCampaignJoinService { //找出用户手机号 String phone = join.getPhone(); //活动名 - String party = campaign.getTitle(); - String time = DateUtils.date2String(campaign.getActivityStartTime()); + String party = activity.getTitle(); + String time = DateUtils.date2String(activity.getActivityStartTime()); Map msgReplaceMap = new HashMap(); msgReplaceMap.put("person", person); msgReplaceMap.put("party", party); diff --git a/mallinkService/src/main/resources/mapper/WxCampaignJoinMapper.xml b/mallinkService/src/main/resources/mapper/WxActivityJoinMapper.xml similarity index 88% rename from mallinkService/src/main/resources/mapper/WxCampaignJoinMapper.xml rename to mallinkService/src/main/resources/mapper/WxActivityJoinMapper.xml index 8e433e0ca..b95708bda 100644 --- a/mallinkService/src/main/resources/mapper/WxCampaignJoinMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxActivityJoinMapper.xml @@ -1,11 +1,11 @@ - - + + - + @@ -22,7 +22,7 @@ - `id`,`tenant_id`,`user_id`,`campaign_id`,`name`,`nick_name`,`birthday`,`sex`,`phone`, + `id`,`tenant_id`,`user_id`,`activity_id`,`name`,`nick_name`,`birthday`,`sex`,`phone`, `address`,`answer`,`sign_in`,`status`,`create_time`,`update_time`,`img_url` @@ -63,7 +63,7 @@ diff --git a/mallinkService/src/main/resources/mapper/WxActivityMapper.xml b/mallinkService/src/main/resources/mapper/WxActivityMapper.xml new file mode 100644 index 000000000..255012e55 --- /dev/null +++ b/mallinkService/src/main/resources/mapper/WxActivityMapper.xml @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + `id`,`tenant_id`,`cover_img`,`title`,`sub_title`,`detail`,`html`,`person_limit`,`activity_start_time`,`activity_end_time`, + `useCredit`,`credit`,`type`,`status`,`start_time`,`end_time`,`question`,`is_expired`,`create_time`,`update_time`, + + + + where 1 = 1 + + + and `id` = #{id} + + + + and `tenant_id` = #{tenantId} + + + + and `title` like concat('%', #{title},'%') + + + + and `sub_title` like concat('%', #{subTitle},'%') + + + + and `detail` like concat('%', #{detail},'%') + + + + and `type` = #{type} + + + + and `status` = #{status} + + + + and `create_time` = #{createTime} + + + + and `update_time` = #{updateTime} + + + + and `use_credit` = #{useCredit} + + + and `is_expired` = #{isExpired} + + + + and `create_time` between #{starttime} and #{endtime} + + + + and id in + + #{idItem} + + + order by ${sortColumns} + + + + + + + + + update wx_activity set is_expired=${isExpired} where status=${status} and now()>end_time + + + + update wx_activity set status#{status} where status!=${status} and now()>activity_end_time + + + + diff --git a/mallinkService/src/main/resources/mapper/WxCampaignMapper.xml b/mallinkService/src/main/resources/mapper/WxCampaignMapper.xml index d774fc889..b398daf32 100644 --- a/mallinkService/src/main/resources/mapper/WxCampaignMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCampaignMapper.xml @@ -22,22 +22,11 @@ - - - - - - - - - - - + `id`,`tenant_id`,`cover_img`,`cover_picture`,`detail_picture`,`title`,`sub_title`,`use_price`,`discount_price`,`detail`,`valid_start_date`,`valid_end_date`,`img_detail`,`type`,`coupon_ids`, - `mechant_id`,`sort_num`,`status`,`create_time`,`update_time`,`html`, - `person_limit`,`activity_start_time`,`activity_end_time`,`use_credit`,`credit`,`question`,`is_expired`,`activity_type` + `mechant_id`,`sort_num`,`status`,`create_time`,`update_time`,`html` @@ -124,21 +113,6 @@ and `update_time` = #{updateTime} - - - and `use_credit` = #{useCredit} - - - and `is_expired` = #{isExpired} - - - and `activity_type` = #{activityType} - - - - and `create_time` between #{starttime} and #{endtime} - - and id in @@ -165,19 +139,5 @@ - - - - - update wx_campaign set is_expired=${isExpired} where status=${status} and now()>valid_end_date - - - - update wx_campaign set status=#{status} where status!=${status} and now()>activity_end_time - -