222
This commit is contained in:
		@ -25,7 +25,7 @@ public class WgzAndBgtMessageConstant {
 | 
			
		||||
	public static final String WGZ_SYSTEM_HEADLINE_APPLY = "您已申请【%s】项目!";
 | 
			
		||||
	public static final String WGZ_SYSTEM_SUBHEADING_APPLY = "您已成功申请到【%s】项目,请耐心等待回复!";
 | 
			
		||||
	//【报名】务工者给包工头提示
 | 
			
		||||
	public static final String WGZ_HEADLINE_APPLY = "务工者【%s】正在向你申请【%s】的工作岗位!";
 | 
			
		||||
	public static final String WGZ_HEADLINE_APPLY = "务工者【%s】正在向你申请【%s】的岗位!";
 | 
			
		||||
	public static final String WGZ__SUBHEADING_APPLY = "务工者【%s】正在向你申请【%s】岗位,您可点击查看更多信息!";
 | 
			
		||||
 | 
			
		||||
	//务工者消息返回
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,22 @@
 | 
			
		||||
package com.ruoyi.wgz.bo.res;
 | 
			
		||||
 | 
			
		||||
import com.ruoyi.wgz.bo.rests.WgzAppMessageTypeStatisticsTwo;
 | 
			
		||||
import io.swagger.annotations.ApiModel;
 | 
			
		||||
import io.swagger.annotations.ApiModelProperty;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import lombok.NoArgsConstructor;
 | 
			
		||||
import lombok.experimental.Accessors;
 | 
			
		||||
 | 
			
		||||
import java.io.Serializable;
 | 
			
		||||
import java.time.LocalDate;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
@Data
 | 
			
		||||
@NoArgsConstructor
 | 
			
		||||
@Accessors(chain = true)
 | 
			
		||||
@ApiModel("消息类型统计返回参数")
 | 
			
		||||
public class WgzAppMessageTypeStatisticsRes implements Serializable {
 | 
			
		||||
	@ApiModelProperty("消息类型")
 | 
			
		||||
	private List<WgzAppMessageTypeStatisticsTwo> list;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,23 @@
 | 
			
		||||
package com.ruoyi.wgz.bo.rests;
 | 
			
		||||
 | 
			
		||||
import io.swagger.annotations.ApiModel;
 | 
			
		||||
import io.swagger.annotations.ApiModelProperty;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import lombok.NoArgsConstructor;
 | 
			
		||||
import lombok.experimental.Accessors;
 | 
			
		||||
 | 
			
		||||
import java.io.Serializable;
 | 
			
		||||
 | 
			
		||||
@Data
 | 
			
		||||
@NoArgsConstructor
 | 
			
		||||
@Accessors(chain = true)
 | 
			
		||||
@ApiModel("消息类型统计返回参数")
 | 
			
		||||
public class WgzAppMessageTypeStatisticsTwo implements Serializable {
 | 
			
		||||
 | 
			
		||||
	@ApiModelProperty("类型")
 | 
			
		||||
	private String type;
 | 
			
		||||
 | 
			
		||||
	@ApiModelProperty("数量")
 | 
			
		||||
	private Integer num;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@ -4,6 +4,10 @@ import com.ruoyi.wgz.domain.WgzMessage;
 | 
			
		||||
import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus;
 | 
			
		||||
import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache;
 | 
			
		||||
import org.apache.ibatis.annotations.CacheNamespace;
 | 
			
		||||
import org.apache.ibatis.annotations.Param;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 消息Mapper接口
 | 
			
		||||
@ -14,5 +18,8 @@ import org.apache.ibatis.annotations.CacheNamespace;
 | 
			
		||||
// 如使需切换数据源 请勿使用缓存 会造成数据不一致现象
 | 
			
		||||
@CacheNamespace(implementation = MybatisPlusRedisCache.class, eviction = MybatisPlusRedisCache.class)
 | 
			
		||||
public interface WgzMessageMapper extends BaseMapperPlus<WgzMessage> {
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * 消息类型统计(先分组再统计)
 | 
			
		||||
	 */
 | 
			
		||||
	List<Map<String, Object>> userMessageTypeStatistics(@Param("id") Long id);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,6 @@
 | 
			
		||||
package com.ruoyi.wgz.service;
 | 
			
		||||
 | 
			
		||||
import com.ruoyi.wgz.bo.res.WgzAppMessageTypeStatisticsRes;
 | 
			
		||||
import com.ruoyi.wgz.domain.WgzMessage;
 | 
			
		||||
import com.ruoyi.wgz.bo.WgzMessageQueryBo;
 | 
			
		||||
import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
 | 
			
		||||
@ -64,4 +65,9 @@ public interface IWgzMessageService extends IServicePlus<WgzMessage> {
 | 
			
		||||
	 * 发送消息
 | 
			
		||||
	 */
 | 
			
		||||
	Boolean sendAMessage(WgzMessage bo);
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * 消息类型统计
 | 
			
		||||
	 */
 | 
			
		||||
	WgzAppMessageTypeStatisticsRes userMessageTypeStatistics(Long id);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -3,9 +3,14 @@ package com.ruoyi.wgz.service.impl;
 | 
			
		||||
import cn.hutool.core.bean.BeanUtil;
 | 
			
		||||
import cn.hutool.core.util.StrUtil;
 | 
			
		||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 | 
			
		||||
import com.ruoyi.common.core.domain.entity.SysDictData;
 | 
			
		||||
import com.ruoyi.common.utils.PageUtils;
 | 
			
		||||
import com.ruoyi.common.core.page.PagePlus;
 | 
			
		||||
import com.ruoyi.common.core.page.TableDataInfo;
 | 
			
		||||
import com.ruoyi.system.service.ISysDictTypeService;
 | 
			
		||||
import com.ruoyi.wgz.bo.res.WgzAppMessageTypeStatisticsRes;
 | 
			
		||||
import com.ruoyi.wgz.bo.rests.WgzAppMessageTypeStatisticsTwo;
 | 
			
		||||
import org.springframework.beans.factory.annotation.Autowired;
 | 
			
		||||
import org.springframework.scheduling.annotation.Async;
 | 
			
		||||
import org.springframework.stereotype.Service;
 | 
			
		||||
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
 | 
			
		||||
@ -16,6 +21,7 @@ import com.ruoyi.wgz.domain.WgzMessage;
 | 
			
		||||
import com.ruoyi.wgz.mapper.WgzMessageMapper;
 | 
			
		||||
import com.ruoyi.wgz.service.IWgzMessageService;
 | 
			
		||||
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
import java.util.Collection;
 | 
			
		||||
@ -29,7 +35,8 @@ import java.util.Collection;
 | 
			
		||||
@Service
 | 
			
		||||
public class WgzMessageServiceImpl extends ServicePlusImpl<WgzMessageMapper, WgzMessage> implements IWgzMessageService {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private ISysDictTypeService dictTypeService;
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public WgzMessage queryById(Long id){
 | 
			
		||||
@ -106,4 +113,26 @@ public class WgzMessageServiceImpl extends ServicePlusImpl<WgzMessageMapper, Wgz
 | 
			
		||||
	public Boolean sendAMessage(WgzMessage bo) {
 | 
			
		||||
		return save(bo);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public WgzAppMessageTypeStatisticsRes userMessageTypeStatistics(Long id) {
 | 
			
		||||
        WgzAppMessageTypeStatisticsRes res = new WgzAppMessageTypeStatisticsRes();
 | 
			
		||||
        List<WgzAppMessageTypeStatisticsTwo> list = new ArrayList<>();
 | 
			
		||||
        //1、获取字典类型
 | 
			
		||||
        List<SysDictData> data = dictTypeService.selectDictDataByType("message_large_type");
 | 
			
		||||
        for (SysDictData datum : data) {
 | 
			
		||||
            WgzAppMessageTypeStatisticsTwo two = new WgzAppMessageTypeStatisticsTwo();
 | 
			
		||||
            //2、统计数据
 | 
			
		||||
            LambdaQueryWrapper<WgzMessage> wp = new LambdaQueryWrapper<WgzMessage>().
 | 
			
		||||
                    eq(WgzMessage::getRecipientId, id).
 | 
			
		||||
                    eq(WgzMessage::getRecipientType, "1").
 | 
			
		||||
                    eq(WgzMessage::getReadStatus, "0").
 | 
			
		||||
                    eq(WgzMessage::getMessageLargeType, datum.getDictValue());
 | 
			
		||||
            two.setType(datum.getDictValue());
 | 
			
		||||
            two.setNum(baseMapper.delete(wp));
 | 
			
		||||
            list.add(two);
 | 
			
		||||
        }
 | 
			
		||||
        res.setList(list);
 | 
			
		||||
        return res;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -130,9 +130,13 @@ public class WgzUserServiceImpl extends ServicePlusImpl<WgzUserMapper, WgzUser>
 | 
			
		||||
		//2、组装数据 BeanUtils.copyProperties(bo,wgzUser);
 | 
			
		||||
		wgzUser.setPhone(bo.getPhone());
 | 
			
		||||
		wgzUser.setUserId(SnowflakeIdUtil.generateId());
 | 
			
		||||
		wgzUser.setPassword(SecurityUtils.encryptPassword(wgzUser.getPassword()));
 | 
			
		||||
		wgzUser.setCreateBy("admin").
 | 
			
		||||
			setUpdateBy("admin").
 | 
			
		||||
			setPassword(SecurityUtils.encryptPassword(bo.getPassword()));
 | 
			
		||||
		//3、保存数据
 | 
			
		||||
		return  baseMapper.insert(wgzUser) > 0;
 | 
			
		||||
		int insert = baseMapper.insert(wgzUser);
 | 
			
		||||
 | 
			
		||||
		return  insert > 0;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user