Browse Source

王公峰:常用语系统启动更新redis

feature/dangjian
wanggongfeng 6 years ago
parent
commit
d0231d1143
  1. 8
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java
  2. 5
      esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/phrases/ActPhraseDTO.java
  3. 17
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/phrases/controller/ActPhraseController.java
  4. 8
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/phrases/dao/ActPhraseDao.java
  5. 5
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/phrases/entity/ActPhraseEntity.java
  6. 46
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/phrases/entity/ActPhraseRedisEntity.java
  7. 7
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/phrases/service/ActPhraseService.java
  8. 64
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/phrases/service/impl/ActPhraseServiceImpl.java
  9. 19
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/support/initbean/InitRedisCache.java
  10. 4
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/phrases/ActPhraseDao.xml

8
esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java

@ -146,6 +146,14 @@ public class RedisKeys {
return rootPrefix.concat("options:category:events");
}
/**
* @Author wanggongfeng
* @Description常用语
*/
public static String getPhraseListKey() {
return rootPrefix.concat("epdc:heart:phrase:list");
}
/**
* @param ruleCode 积分规则编码
* @return java.lang.String

5
esua-epdc/epdc-module/epdc-heart/epdc-heart-client/src/main/java/com/elink/esua/epdc/phrases/ActPhraseDTO.java

@ -84,4 +84,9 @@ public class ActPhraseDTO implements Serializable {
*/
private Date updatedTime;
/**
* code
*/
private String code;
}

17
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/phrases/controller/ActPhraseController.java

@ -23,11 +23,11 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.AssertUtils;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.phrases.ActPhraseDTO;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.modules.phrases.excel.ActPhraseExcel;
import com.elink.esua.epdc.modules.phrases.service.ActPhraseService;
import com.elink.esua.epdc.phrases.ActPhraseDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -91,4 +91,17 @@ public class ActPhraseController {
ExcelUtils.exportExcelToTarget(response, null, list, ActPhraseExcel.class);
}
/**
* 查询常用语更新Redis
*/
public void insertPhraseListToRedis(){
actPhraseService.insertPhraseListToRedis();
}
/*@PostMapping("queryCategoryInfo")
public Result<List<CategoryInfoResultDTO>> queryCategoryInfo(@RequestBody CategoryInfoFormDTO formDTO) {
List<CategoryInfoResultDTO> data = categoryService.listCategoryInfo(formDTO);
return new Result<List<CategoryInfoResultDTO>>().ok(data);
}*/
}

8
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/phrases/dao/ActPhraseDao.java

@ -19,8 +19,11 @@ package com.elink.esua.epdc.modules.phrases.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.modules.phrases.entity.ActPhraseEntity;
import com.elink.esua.epdc.modules.phrases.entity.ActPhraseRedisEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 常用语表
*
@ -30,4 +33,9 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface ActPhraseDao extends BaseDao<ActPhraseEntity> {
/**
* 按序号顺序查询常用语
* @return
*/
List<ActPhraseRedisEntity> selectListPhraseInOrder();
}

5
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/phrases/entity/ActPhraseEntity.java

@ -55,4 +55,9 @@ public class ActPhraseEntity extends BaseEpdcEntity {
*/
private Integer usageNum;
/**
* code
*/
private String code;
}

46
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/phrases/entity/ActPhraseRedisEntity.java

@ -0,0 +1,46 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.modules.phrases.entity;
import lombok.Data;
/**
* 常用语表
*
* @author qu qu@elink-cn.com
* @since v1.0.0 2019-12-11
*/
@Data
public class ActPhraseRedisEntity {
/**
* ID
*/
private String id;
/**
* 常用语
*/
private String phrase;
/**
* code
*/
private String code;
}

7
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/phrases/service/ActPhraseService.java

@ -19,8 +19,8 @@ package com.elink.esua.epdc.modules.phrases.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.phrases.ActPhraseDTO;
import com.elink.esua.epdc.modules.phrases.entity.ActPhraseEntity;
import com.elink.esua.epdc.phrases.ActPhraseDTO;
import java.util.List;
import java.util.Map;
@ -92,4 +92,9 @@ public interface ActPhraseService extends BaseService<ActPhraseEntity> {
* @date 2019-12-11
*/
void delete(String[] ids);
/**
* 查询常用语更新Radis
*/
void insertPhraseListToRedis();
}

64
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/phrases/service/impl/ActPhraseServiceImpl.java

@ -20,14 +20,18 @@ package com.elink.esua.epdc.modules.phrases.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.redis.RedisKeys;
import com.elink.esua.epdc.commons.tools.redis.RedisUtils;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.modules.phrases.dao.ActPhraseDao;
import com.elink.esua.epdc.phrases.ActPhraseDTO;
import com.elink.esua.epdc.modules.phrases.entity.ActPhraseEntity;
import com.elink.esua.epdc.modules.phrases.entity.ActPhraseRedisEntity;
import com.elink.esua.epdc.modules.phrases.redis.ActPhraseRedis;
import com.elink.esua.epdc.modules.phrases.service.ActPhraseService;
import com.elink.esua.epdc.phrases.ActPhraseDTO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -48,6 +52,8 @@ public class ActPhraseServiceImpl extends BaseServiceImpl<ActPhraseDao, ActPhras
@Autowired
private ActPhraseRedis actPhraseRedis;
@Autowired
private RedisUtils redisUtils;
@Override
public PageData<ActPhraseDTO> page(Map<String, Object> params) {
@ -83,8 +89,21 @@ public class ActPhraseServiceImpl extends BaseServiceImpl<ActPhraseDao, ActPhras
@Override
@Transactional(rollbackFor = Exception.class)
public void save(ActPhraseDTO dto) {
String categoryCode = dto.getCode();
if (StringUtils.isNotBlank(categoryCode)) {
if (getCodeCount(dto) > 0) {
throw new RenException("您输入的编码已存在");
}
}
ActPhraseEntity entity = ConvertUtils.sourceToTarget(dto, ActPhraseEntity.class);
insert(entity);
//redis存储
String key = RedisKeys.getPhraseListKey();
redisUtils.delete(key);
List<ActPhraseRedisEntity> list = baseDao.selectListPhraseInOrder();
redisUtils.set(key,list);
}
@Override
@ -92,6 +111,13 @@ public class ActPhraseServiceImpl extends BaseServiceImpl<ActPhraseDao, ActPhras
public void update(ActPhraseDTO dto) {
ActPhraseEntity entity = ConvertUtils.sourceToTarget(dto, ActPhraseEntity.class);
updateById(entity);
//redis存储
String key = RedisKeys.getPhraseListKey();
redisUtils.delete(key);
List<ActPhraseRedisEntity> list = baseDao.selectListPhraseInOrder();
redisUtils.set(key,list);
}
@Override
@ -99,6 +125,40 @@ public class ActPhraseServiceImpl extends BaseServiceImpl<ActPhraseDao, ActPhras
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
//redis存储
String key = RedisKeys.getPhraseListKey();
redisUtils.delete(key);
List<ActPhraseRedisEntity> list = baseDao.selectListPhraseInOrder();
redisUtils.set(key,list);
}
/**
* 统计编码数量
* @param dto
* @return
*/
public Integer getCodeCount(ActPhraseDTO dto) {
QueryWrapper<ActPhraseEntity> wrapper = new QueryWrapper<>();
wrapper.eq("code", dto.getCode());
String id = dto.getId();
wrapper.ne(id != null, "id", dto.getId());
wrapper.eq("del_flag", "0");
return baseDao.selectCount(wrapper);
}
/**
* 查询启动时需存入radis内的常用语
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void insertPhraseListToRedis(){
//redis存储
String key = RedisKeys.getPhraseListKey();
redisUtils.delete(key);
List<ActPhraseRedisEntity> list = baseDao.selectListPhraseInOrder();
redisUtils.set(key,list);
}
}

19
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/support/initbean/InitRedisCache.java

@ -0,0 +1,19 @@
package com.elink.esua.epdc.support.initbean;
import com.elink.esua.epdc.modules.phrases.controller.ActPhraseController;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class InitRedisCache implements InitializingBean {
@Autowired
private ActPhraseController actPhraseController;
@Override
public void afterPropertiesSet() throws Exception{
//redis存储常用语
actPhraseController.insertPhraseListToRedis();
}
}

4
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/phrases/ActPhraseDao.xml

@ -16,5 +16,9 @@
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<select id="selectListPhraseInOrder" resultType="com.elink.esua.epdc.modules.phrases.entity.ActPhraseRedisEntity">
select id,code,phrase from epdc_act_phrase where DEL_FLAG = '0' and SHOW_FLAG = '1' ORDER BY SORT ,UPDATED_TIME
</select>
</mapper>
Loading…
Cancel
Save