diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/InvestSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/InvestSchedule.java new file mode 100644 index 000000000..42e282771 --- /dev/null +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/InvestSchedule.java @@ -0,0 +1,122 @@ +package com.iformall.schedule; + +import com.alibaba.fastjson.JSONArray; +import com.google.common.collect.ImmutableListMultimap; +import com.google.common.collect.Multimaps; +import com.iformall.domain.po.invest.*; +import com.iformall.domain.vo.invest.InvestCustomerVo; +import com.iformall.enums.*; +import com.iformall.service.invest.*; +import com.iformall.utils.DateUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; + +import java.util.*; + + +@Component +public class InvestSchedule { + + @Autowired + InvestBizService bizService; + @Autowired + InvestTaskService taskService; + @Autowired + InvestMessageService messageService; + @Autowired + InvestDemandService demandService; + @Autowired + InvestCustomerService customerService; + @Autowired + InvestFollowRecordService followRecordService; + + + @Scheduled(cron = "0 0 14 * * ?") // 每天凌晨1点盘点前一天的数据 + //@Scheduled(cron = "*/30 * * * * ?") // 测试10秒中一次 + public void messageSchedule() { + //一个月内未完成提醒 + taskMonthMessage(); + //一周内未跟踪提醒 + demandWeekMessage(); + } + + private void taskMonthMessage() { + //已经存在的提醒 + List taskMessages = messageService.listByTypeAndTag(EnumFollowType.TASK, EnumInvestMessageTag.TASK_CREATE); + ImmutableListMultimap taskMessageUserIdMap = Multimaps.index(taskMessages, InvestMessageEntity::getOwner); + + //初始化时间条件 + Calendar start = Calendar.getInstance(); + Calendar end = Calendar.getInstance(); + end.add(Calendar.MONTH, 1); + //查询满足条件 + List tasks = taskService.listByStatusAndTime(Arrays.asList(EnumTaskStatus.INTENTION, EnumTaskStatus.NEGOTIATING), start.getTime(), end.getTime()); + for (InvestTaskEntity task : tasks) { + String owner = task.getOwner(); + if (StringUtils.isEmpty(owner)) { + continue; + } + List ownerArray = JSONArray.parseArray(owner, Long.class); + for (Long ownerId : ownerArray) { + List messageList = taskMessageUserIdMap.get(ownerId); + if (CollectionUtils.isEmpty(messageList)) { + continue; + } + for (InvestMessageEntity messageEntity : messageList) { + if (messageEntity.getTid().equals(task.getId())) { + continue; + } + String message = String.format(EnumInvestMessageType.TASK_REMIND.getInfo(), task.getId(), DateUtils.format(task.getLastTime())); + messageService.saveBatchMessage(ownerArray, message, EnumInvestMessageTag.TASK_MONTH, EnumFollowType.TASK, task.getId()); + } + } + } + } + + private void demandWeekMessage() { + //已经存在的提醒 + List demandMessages = messageService.listByTypeAndTag(EnumFollowType.DEMAND, EnumInvestMessageTag.CUSTOMER_WEEK); + ImmutableListMultimap demandMessageUserIdMap = Multimaps.index(demandMessages, InvestMessageEntity::getOwner); + + //初始化时间条件 + Calendar start = Calendar.getInstance(); + start.add(Calendar.DAY_OF_YEAR, 7); + + //查询跟踪列表 + List follows = followRecordService.listByTime(EnumFollowType.DEMAND, start.getTime()); + + List demands = customerService.listByIds(InvestHelper.getIds(follows, InvestFollowRecordEntity::getFollowId), Arrays.asList(EnumCustomerType.INTENTIONAL, EnumCustomerType.POTENTIAL)); + + /** + * 已经已经提醒过的用户 + */ + List userDemandFlag = new ArrayList<>(); + for (InvestCustomerVo demand : demands) { + Long owner = demand.getDemandOwner(); + if (Objects.isNull(owner)) { + continue; + } + List messageList = demandMessageUserIdMap.get(owner); + if (CollectionUtils.isEmpty(messageList)) { + continue; + } + for (InvestMessageEntity messageEntity : messageList) { + if (messageEntity.getTid().equals(messageEntity.getId())) { + continue; + } + String userDemandFlagItem = StringUtils.join(messageEntity.getOwner(), messageEntity.getId()); + //已经提醒过的用户不在提醒 + if (userDemandFlag.contains(userDemandFlagItem)) { + continue; + } + String message = String.format(EnumInvestMessageType.COSTOMER_REMIND.getInfo(), demand.getId()); + messageService.saveBatchMessage(Arrays.asList(owner), message, EnumInvestMessageTag.CUSTOMER_WEEK, EnumFollowType.DEMAND, demand.getId()); + userDemandFlag.add(userDemandFlagItem); + } + + } + } +} \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/domain/po/invest/InvestMessageEntity.java b/mallinkService/src/main/java/com/iformall/domain/po/invest/InvestMessageEntity.java index a729146a5..3ffef6e4a 100755 --- a/mallinkService/src/main/java/com/iformall/domain/po/invest/InvestMessageEntity.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/invest/InvestMessageEntity.java @@ -3,6 +3,7 @@ package com.iformall.domain.po.invest; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonIgnore; import com.iformall.enums.EnumFollowType; +import com.iformall.enums.EnumInvestMessageTag; import lombok.Data; import lombok.EqualsAndHashCode; @@ -36,6 +37,14 @@ public class InvestMessageEntity extends InvestBaseEntity { */ @io.swagger.annotations.ApiModelProperty(value = "数据类型:0-招商任务;1-客户需求", name = "type") private EnumFollowType type; + + /** + * 消息标签:0-创建任务提醒;1-创建客户提醒;2-一个月内没完成任务;3-一周没有跟进客户 + */ + @JsonIgnore + @io.swagger.annotations.ApiModelProperty(value = "消息标签:0-创建任务提醒;1-创建客户提醒;2-一个月内没完成任务;3-一周没有跟进客户", name = "tag") + private EnumInvestMessageTag tag; + /** * 消息内容 */ diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/invest/InvestCustomerVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/invest/InvestCustomerVo.java new file mode 100644 index 000000000..300887205 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/vo/invest/InvestCustomerVo.java @@ -0,0 +1,19 @@ +package com.iformall.domain.vo.invest; + +import com.iformall.domain.po.invest.InvestCustomerEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = true) +public class InvestCustomerVo extends InvestCustomerEntity { + + /** + * 负责人 + */ + @io.swagger.annotations.ApiModelProperty(value = "负责人", name = "owner") + private Long demandId; + + @io.swagger.annotations.ApiModelProperty(value = "客户需求负责人", name = "demandOwner") + private Long demandOwner; +} diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/invest/InvestRemindQuery.java b/mallinkService/src/main/java/com/iformall/domain/vo/invest/InvestRemindQuery.java index a76b0802c..eb03ebe51 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/invest/InvestRemindQuery.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/invest/InvestRemindQuery.java @@ -17,7 +17,7 @@ public class InvestRemindQuery extends InvestPageQuery { private Long ownerId; @io.swagger.annotations.ApiModelProperty(value = "预约时间", name = "dateType") private EnumRemindDateType dateType; - @io.swagger.annotations.ApiModelProperty(value = "预约时间", name = "dateType",example = "2018-10-01 00:00:00") + @io.swagger.annotations.ApiModelProperty(value = "预约时间", name = "remindDate",example = "2018-10-01 00:00:00") private Date remindDate; } diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumInvestMessageTag.java b/mallinkService/src/main/java/com/iformall/enums/EnumInvestMessageTag.java new file mode 100644 index 000000000..4ffb1432d --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/enums/EnumInvestMessageTag.java @@ -0,0 +1,42 @@ +package com.iformall.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import com.fasterxml.jackson.annotation.JsonValue; + +/** + * 消息标签:0-创建任务;1-创建客户;2-一个月内没完成任务;3-一周没有跟进客户 + */ +public enum EnumInvestMessageTag { + TASK_CREATE(0, "创建任务"), + CUSTOMER_CREATE(1, "创建客户"), + TASK_MONTH(2, "一个月内没完成任务"), + CUSTOMER_WEEK(3, "一周没有跟进客户"), + ; + + public static EnumInvestMessageTag getEnum(Integer code) { + for (EnumInvestMessageTag value : values()) { + if (value.getCode().equals(code)) { + return value; + } + } + return null; + } + + @EnumValue + private final Integer code; + private final String info; + + EnumInvestMessageTag(Integer code, String info) { + this.code = code; + this.info = info; + } + + @JsonValue + public Integer getCode() { + return code; + } + + public String getInfo() { + return info; + } +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/InvestCustomerDao.java b/mallinkService/src/main/java/com/iformall/mapper/InvestCustomerDao.java index 58b484307..5b6c6e5fc 100755 --- a/mallinkService/src/main/java/com/iformall/mapper/InvestCustomerDao.java +++ b/mallinkService/src/main/java/com/iformall/mapper/InvestCustomerDao.java @@ -2,8 +2,14 @@ package com.iformall.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.iformall.domain.po.invest.InvestCustomerEntity; +import com.iformall.domain.vo.invest.InvestCustomerVo; +import com.iformall.enums.EnumCustomerType; import org.apache.ibatis.annotations.Mapper; +import java.io.Serializable; +import java.util.Collection; +import java.util.List; + /** * 客户列表 * @@ -13,5 +19,6 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface InvestCustomerDao extends BaseMapper { - + + List listByIds(Collection ids, List type) ; } diff --git a/mallinkService/src/main/java/com/iformall/service/invest/InvestBaseService.java b/mallinkService/src/main/java/com/iformall/service/invest/InvestBaseService.java index 6367b486f..98b5544f0 100755 --- a/mallinkService/src/main/java/com/iformall/service/invest/InvestBaseService.java +++ b/mallinkService/src/main/java/com/iformall/service/invest/InvestBaseService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.iformall.domain.vo.invest.InvestPageQuery; import com.iformall.domain.vo.invest.InvestPageResult; import com.iformall.enums.EnumFollowType; +import com.iformall.enums.EnumInvestMessageTag; import com.iformall.enums.EnumInvestMessageType; import java.io.Serializable; @@ -32,7 +33,7 @@ public interface InvestBaseService { * @param tid * @return */ - default boolean saveBatchMessage(List ownerArray, EnumInvestMessageType message, EnumFollowType type, Long tid) { + default boolean saveBatchMessage(List ownerArray, String message, EnumInvestMessageTag tag, EnumFollowType type, Long tid) { return false; } } diff --git a/mallinkService/src/main/java/com/iformall/service/invest/InvestCustomerService.java b/mallinkService/src/main/java/com/iformall/service/invest/InvestCustomerService.java index ae2bb266b..cd7cf55bb 100755 --- a/mallinkService/src/main/java/com/iformall/service/invest/InvestCustomerService.java +++ b/mallinkService/src/main/java/com/iformall/service/invest/InvestCustomerService.java @@ -2,8 +2,14 @@ package com.iformall.service.invest; import com.baomidou.mybatisplus.extension.service.IService; import com.iformall.domain.po.invest.InvestCustomerEntity; +import com.iformall.domain.vo.invest.InvestCustomerVo; import com.iformall.domain.vo.invest.InvestPageQuery; import com.iformall.domain.vo.invest.InvestPageResult; +import com.iformall.enums.EnumCustomerType; + +import java.io.Serializable; +import java.util.Collection; +import java.util.List; /** * 客户列表 @@ -15,5 +21,8 @@ import com.iformall.domain.vo.invest.InvestPageResult; public interface InvestCustomerService extends IService,InvestBaseService { InvestPageResult queryPage(InvestPageQuery params); + + List listByIds(Collection idList, List type) ; + } diff --git a/mallinkService/src/main/java/com/iformall/service/invest/InvestFollowRecordService.java b/mallinkService/src/main/java/com/iformall/service/invest/InvestFollowRecordService.java index 3a38a2f54..2e5e8c949 100755 --- a/mallinkService/src/main/java/com/iformall/service/invest/InvestFollowRecordService.java +++ b/mallinkService/src/main/java/com/iformall/service/invest/InvestFollowRecordService.java @@ -4,6 +4,10 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.iformall.domain.po.invest.InvestFollowRecordEntity; import com.iformall.domain.vo.invest.InvestPageQuery; import com.iformall.domain.vo.invest.InvestPageResult; +import com.iformall.enums.EnumFollowType; + +import java.util.Date; +import java.util.List; /** * 跟踪记录 @@ -15,5 +19,7 @@ import com.iformall.domain.vo.invest.InvestPageResult; public interface InvestFollowRecordService extends IService,InvestBaseService { InvestPageResult queryPage(InvestPageQuery params); + + List listByTime(EnumFollowType followType, Date start); } diff --git a/mallinkService/src/main/java/com/iformall/service/invest/InvestMessageService.java b/mallinkService/src/main/java/com/iformall/service/invest/InvestMessageService.java index 474a98540..af4c66619 100755 --- a/mallinkService/src/main/java/com/iformall/service/invest/InvestMessageService.java +++ b/mallinkService/src/main/java/com/iformall/service/invest/InvestMessageService.java @@ -2,6 +2,8 @@ package com.iformall.service.invest; import com.baomidou.mybatisplus.extension.service.IService; import com.iformall.domain.po.invest.InvestMessageEntity; +import com.iformall.enums.EnumFollowType; +import com.iformall.enums.EnumInvestMessageTag; import com.iformall.enums.EnumInvestMessageType; import java.util.List; @@ -15,5 +17,7 @@ import java.util.List; */ public interface InvestMessageService extends IService,InvestBaseService { boolean removeAll() ; + + List listByTypeAndTag(EnumFollowType type, EnumInvestMessageTag tag) ; } diff --git a/mallinkService/src/main/java/com/iformall/service/invest/InvestTaskService.java b/mallinkService/src/main/java/com/iformall/service/invest/InvestTaskService.java index 39913d600..36660ee2c 100755 --- a/mallinkService/src/main/java/com/iformall/service/invest/InvestTaskService.java +++ b/mallinkService/src/main/java/com/iformall/service/invest/InvestTaskService.java @@ -2,6 +2,10 @@ package com.iformall.service.invest; import com.baomidou.mybatisplus.extension.service.IService; import com.iformall.domain.po.invest.InvestTaskEntity; +import com.iformall.enums.EnumTaskStatus; + +import java.util.Date; +import java.util.List; /** * 招商任务 @@ -12,5 +16,6 @@ import com.iformall.domain.po.invest.InvestTaskEntity; */ public interface InvestTaskService extends IService,InvestBaseService { + List listByStatusAndTime(List status, Date start, Date end); } diff --git a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestBaseServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestBaseServiceImpl.java index fc86ddeb0..135d0693d 100644 --- a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestBaseServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestBaseServiceImpl.java @@ -13,10 +13,7 @@ import com.iformall.domain.po.invest.*; import com.iformall.domain.vo.invest.InvestPageQuery; import com.iformall.domain.vo.invest.InvestPageResult; import com.iformall.domain.vo.invest.InvestUserContext; -import com.iformall.enums.EnumFollowType; -import com.iformall.enums.EnumInvestMessageType; -import com.iformall.enums.EnumInvestType; -import com.iformall.enums.EnumShopStatus; +import com.iformall.enums.*; import com.iformall.exception.MallinkException; import com.iformall.service.MallUserInfoService; import com.iformall.service.WxBrandService; @@ -107,7 +104,7 @@ public class InvestBaseServiceImpl, T> extends ServiceIm } @Override - public boolean saveBatchMessage(List ownerArray, EnumInvestMessageType message, EnumFollowType type, Long tid) { + public boolean saveBatchMessage(List ownerArray, String message, EnumInvestMessageTag tag, EnumFollowType type, Long tid) { if (CollectionUtils.isEmpty(ownerArray)) { return false; } @@ -127,7 +124,8 @@ public class InvestBaseServiceImpl, T> extends ServiceIm messageEntity.setTid(tid); messageEntity.setType(type); messageEntity.setTenantId(InvestUserContext.getUser().getTenantId()); - messageEntity.setMessage(EnumInvestMessageType.message(message)); + messageEntity.setMessage(message); + messageEntity.setTag(tag); messageEntityList.add(messageEntity); } return messageService.saveBatch(messageEntityList); diff --git a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestCustomerServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestCustomerServiceImpl.java index 030ed4c0c..2ff9af5ac 100755 --- a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestCustomerServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestCustomerServiceImpl.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.iformall.common.ErrorCode; import com.iformall.common.TableLog; import com.iformall.domain.po.invest.InvestCustomerEntity; +import com.iformall.domain.vo.invest.InvestCustomerVo; +import com.iformall.enums.EnumCustomerType; import com.iformall.mapper.InvestCustomerDao; import com.iformall.service.WxBrandService; import com.iformall.service.WxBusinessService; @@ -11,6 +13,9 @@ import com.iformall.service.invest.InvestCustomerService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.io.Serializable; +import java.util.Collection; +import java.util.List; import java.util.Objects; import static com.iformall.service.invest.InvestHelper.isTrue; @@ -69,4 +74,10 @@ public class InvestCustomerServiceImpl extends InvestBaseServiceImpl listByIds(Collection idList, List type) { + return getBaseMapper().listByIds(idList, type); + } } diff --git a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestDemandServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestDemandServiceImpl.java index 32685b998..6d18448fa 100755 --- a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestDemandServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestDemandServiceImpl.java @@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.iformall.common.TableLog; import com.iformall.domain.po.invest.InvestDemandEntity; +import com.iformall.enums.EnumCustomerType; import com.iformall.enums.EnumFollowType; +import com.iformall.enums.EnumInvestMessageTag; import com.iformall.enums.EnumInvestMessageType; import com.iformall.mapper.InvestDemandDao; import com.iformall.service.MallUserInfoService; @@ -14,9 +16,8 @@ import com.iformall.service.invest.InvestDemandService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.Arrays; -import java.util.List; -import java.util.Objects; +import java.io.Serializable; +import java.util.*; @Service @@ -57,7 +58,7 @@ public class InvestDemandServiceImpl extends InvestBaseServiceImpl ownerArray = Arrays.asList(owner); - this.saveBatchMessage(ownerArray, EnumInvestMessageType.CUSTOMER_CREATE, EnumFollowType.DEMAND, entity.getId()); + this.saveBatchMessage(ownerArray, EnumInvestMessageType.CUSTOMER_CREATE.getInfo(), EnumInvestMessageTag.CUSTOMER_CREATE, EnumFollowType.DEMAND, entity.getId()); } } @@ -91,4 +92,5 @@ public class InvestDemandServiceImpl extends InvestBaseServiceImpl().eq(InvestDemandEntity::getCustomerId,customerId)) ; } + } diff --git a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestFollowRecordServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestFollowRecordServiceImpl.java index 44a7c2679..c9ea2e401 100755 --- a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestFollowRecordServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestFollowRecordServiceImpl.java @@ -1,8 +1,10 @@ package com.iformall.service.invest.impl; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.iformall.common.ErrorCode; import com.iformall.domain.po.invest.InvestFollowRecordEntity; +import com.iformall.domain.po.invest.InvestTaskEntity; import com.iformall.domain.vo.invest.InvestPageQuery; import com.iformall.domain.vo.invest.InvestPageResult; import com.iformall.domain.vo.invest.InvestUserContext; @@ -15,6 +17,8 @@ import com.iformall.service.invest.InvestTaskService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.Date; +import java.util.List; import java.util.Objects; @Service @@ -34,6 +38,14 @@ public class InvestFollowRecordServiceImpl extends InvestBaseServiceImpl listByTime(EnumFollowType followType, Date start) { + LambdaUpdateWrapper query = new LambdaUpdateWrapper<>() ; + query.eq(InvestFollowRecordEntity::getType,followType) ; + query.ge(InvestFollowRecordEntity::getCreateDate, start); + return list(query); + } + @Override public boolean save(InvestFollowRecordEntity entity) { entity.setOperator(InvestUserContext.getUserId()); diff --git a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestMessageServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestMessageServiceImpl.java index 2d58551c4..b6f1b83dc 100755 --- a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestMessageServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestMessageServiceImpl.java @@ -1,14 +1,19 @@ package com.iformall.service.invest.impl; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.iformall.domain.po.invest.InvestMessageEntity; import com.iformall.domain.vo.invest.InvestUserContext; +import com.iformall.enums.EnumFollowType; +import com.iformall.enums.EnumInvestMessageTag; import com.iformall.mapper.InvestMessageDao; import com.iformall.service.invest.InvestHelper; import com.iformall.service.invest.InvestMessageService; import org.springframework.stereotype.Service; +import java.util.List; + @Service public class InvestMessageServiceImpl extends InvestBaseServiceImpl implements InvestMessageService { @@ -56,4 +61,12 @@ public class InvestMessageServiceImpl extends InvestBaseServiceImpl listByTypeAndTag(EnumFollowType type, EnumInvestMessageTag tag) { + LambdaQueryWrapper messageQueryWrapper = new LambdaQueryWrapper<>(); + messageQueryWrapper.eq(InvestMessageEntity::getType, type); + messageQueryWrapper.ge(InvestMessageEntity::getTag, tag); + return list(messageQueryWrapper); + } } diff --git a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestTaskServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestTaskServiceImpl.java index 334f08c3f..972384772 100755 --- a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestTaskServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestTaskServiceImpl.java @@ -2,10 +2,13 @@ package com.iformall.service.invest.impl; import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.iformall.common.TableLog; import com.iformall.domain.po.invest.InvestTaskEntity; import com.iformall.enums.EnumFollowType; +import com.iformall.enums.EnumInvestMessageTag; import com.iformall.enums.EnumInvestMessageType; +import com.iformall.enums.EnumTaskStatus; import com.iformall.mapper.InvestTaskDao; import com.iformall.service.MallUserInfoService; import com.iformall.service.WxShopService; @@ -30,7 +33,6 @@ public class InvestTaskServiceImpl extends InvestBaseServiceImpl updateWrapper) { super.updateActon(entity, updateWrapper, this::checkBeforeSaveOrUpdate); saveMessage(entity); - //TODO 同步一下签约状态 return true; } @@ -55,7 +56,7 @@ public class InvestTaskServiceImpl extends InvestBaseServiceImpl ownerArray = JSONArray.parseArray(owner, Long.class); - this.saveBatchMessage(ownerArray, EnumInvestMessageType.TASK_CREATE, EnumFollowType.TASK, entity.getId()); + this.saveBatchMessage(ownerArray, EnumInvestMessageType.TASK_CREATE.getInfo(), EnumInvestMessageTag.TASK_CREATE, EnumFollowType.TASK, entity.getId()); } } @@ -85,4 +86,14 @@ public class InvestTaskServiceImpl extends InvestBaseServiceImpl listByStatusAndTime(List status, Date start, Date end) { + LambdaQueryWrapper taskQueryWrapper = new LambdaQueryWrapper<>(); + taskQueryWrapper.in(InvestTaskEntity::getStatus, status); + taskQueryWrapper.ge(InvestTaskEntity::getLastTime, start); + taskQueryWrapper.le(InvestTaskEntity::getLastTime, end); + taskQueryWrapper.isNotNull(InvestTaskEntity::getOwner); + return this.list(taskQueryWrapper); + } } diff --git a/mallinkService/src/main/resources/mapper/InvestCustomerDao.xml b/mallinkService/src/main/resources/mapper/InvestCustomerDao.xml index cf66975a3..d8498fa40 100644 --- a/mallinkService/src/main/resources/mapper/InvestCustomerDao.xml +++ b/mallinkService/src/main/resources/mapper/InvestCustomerDao.xml @@ -18,5 +18,24 @@ + \ No newline at end of file