趁着周末无聊,做了一款博客小程序,记录日常工作中遇到的一些问题,方便在手机上温故。
创新互联公司是一家专业提供都安企业网站建设,专注与做网站、成都网站设计、H5技术、小程序制作等业务。10年已为都安众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。借鉴了网上的一些类似功能,用了大概近一个月的时间,完成了第一个版本。
主要功能有:
3.2、源码展示
- 小程序使用uniapp框架,开箱即用。
- 前端使用 vue、ElementUI。
- 后端使用 java 主流框架 Springboot。
- 中间件 Redis
获取积分
@Override
public void addRecord(IntegralValueEnum valueEnum, Long userId) { threadPoolTaskExecutor.execute(() ->{ if (ObjectUtils.isEmpty(userId)) { return;
}
switch (valueEnum.getType()) { // 增加积分
case IntegralTypeConstant.INCREASE:
// 当天积分获取记录
ListintegralRecordEntities = baseDao.selectList(Wrappers.lambdaQuery()
.eq(IntegralRecordEntity::getType, IntegralTypeConstant.INCREASE)
.eq(IntegralRecordEntity::getSourceName, valueEnum.getTitle())
.eq(IntegralRecordEntity::getCreator, userId)
.ge(IntegralRecordEntity::getCreateDate, DateUtils.getZeroDate(true))
.lt(IntegralRecordEntity::getCreateDate, DateUtils.getZeroDate(false))
.orderByDesc(IntegralRecordEntity::getCreateDate));
if (CollUtil.isEmpty(integralRecordEntities)) { updateIntegral(valueEnum, userId, valueEnum.value());
} else { // 今日已获得该类型的积分值
int sum = integralRecordEntities.stream().mapToInt(IntegralRecordEntity::getUpdateNum).sum();
if (sum >= valueEnum.getMaxNum()) { log.error("今日获取积分已达上限, name={}, userId={}", valueEnum.title(), userId);
return;
}
// 此次应加积分(忽略超出的积分)
int updateIntegralNum = (valueEnum.maxNum() - sum) >valueEnum.value() ? valueEnum.value() : valueEnum.maxNum() - sum;
updateIntegral(valueEnum, userId, updateIntegralNum);
}
break;
// 扣减积分
case IntegralTypeConstant.DEDUCTIONS:
IntegralEntity integralEntity = integralDao.selectOne(Wrappers.lambdaQuery()
.eq(IntegralEntity::getCreator, userId));
if (ObjectUtils.isEmpty(integralEntity)) { return;
}
int differenceValue = Math.max(integralEntity.getIntegralNum() - valueEnum.value(), 0);
updateIntegral(valueEnum, userId, differenceValue);
break;
default:
}
});
}
文章详情
public ArticleDTO appGet(Long id, UserEntity user) {ArticleEntity entity = this.selectById(id);
ArticleDTO articleDTO = ConvertUtils.sourceToTarget(entity, ArticleDTO.class);
articleDTO.setPictures(JsonUtils.parseArray(entity.getPictures(), String.class).toArray(new String[0]));
Long count = myLinkDao.selectCount(Wrappers.lambdaQuery()
.eq(MyLinkEntity::getCategory, BusinessTypeConstant.ARTICLE)
.eq(MyLinkEntity::getStatus, StringPool.ONE)
.eq(MyLinkEntity::getSourceId, id));
articleDTO.setCollectionNum(count.intValue());
if (ObjectUtils.isNotEmpty(user)) {Long i = myLinkDao.selectCount(Wrappers.lambdaQuery()
.eq(MyLinkEntity::getCategory, BusinessTypeConstant.ARTICLE)
.eq(MyLinkEntity::getStatus, StringPool.ZERO)
.eq(MyLinkEntity::getCreator, user.getId())
.eq(MyLinkEntity::getSourceId, id));
articleDTO.setIsCollect(i >0);
} else {articleDTO.setIsCollect(false);
}
return articleDTO;
}
有需要前后端源码的,可私聊看演示。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧