提交 6ce8e851 authored 作者: taojinlong's avatar taojinlong

Merge branch 'dev' of github.com:dataease/dataease into dev

......@@ -410,13 +410,13 @@
</move>
<copy todir="src/main/resources/static/de-app">
<fileset dir="../../dataease-app/dist/build/h5">
<fileset dir="../mobile/dist/build/h5">
<exclude name="*.html"/>
</fileset>
</copy>
<copy file="../../dataease-app/dist/build/h5/index.html" tofile="src/main/resources/templates/app.html" />
<copy file="../mobile/dist/build/h5/index.html" tofile="src/main/resources/templates/app.html" />
</target>
......
......@@ -7,7 +7,7 @@ import java.util.Map;
public interface HomeMapper {
List<HomeItemDTO> queryStore(Long userId);
List<HomeItemDTO> queryStore(Map<String, Object> param);
List<HomeItemDTO> queryHistory();
......
......@@ -12,6 +12,9 @@
on s.panel_group_id = g.id
where s.user_id = #{userId}
and FIND_IN_SET( g.id, cids )
<if test="lastTime != null">
and #{lastTime} > s.create_time
</if>
order by s.create_time desc
</select>
......@@ -33,6 +36,9 @@
</foreach>
and s.type = 1 )
)
<if test="lastTime != null">
and #{lastTime} > s.create_time
</if>
order by s.create_time desc
</select>
......
......@@ -78,7 +78,7 @@ public abstract class TaskHandler implements InitializingBean {
}
private String getDayOfWeek(Calendar instance) {
int index = instance.get(Calendar.DAY_OF_WEEK) - 1;
int index = instance.get(Calendar.DAY_OF_WEEK);
return week[index];
}
......
......@@ -3,20 +3,16 @@ package io.dataease.mobile.api;
import io.dataease.mobile.dto.DirItemDTO;
import io.dataease.mobile.dto.DirRequest;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.List;
@Api(tags = "移动端:目录")
@RequestMapping("/mobile/dir")
public interface DirApi {
@ApiOperation("查询")
@PostMapping("/query")
List<DirItemDTO> query(@RequestBody DirRequest request);
}
package io.dataease.mobile.api;
import io.dataease.commons.utils.Pager;
import io.dataease.mobile.dto.HomeItemDTO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.dataease.mobile.dto.HomeRequest;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.List;
@Api(tags = "移动端:首页")
@RequestMapping("/mobile/home")
public interface HomeApi {
@ApiOperation("查询")
@ApiImplicitParam(value = "类型", name = "type", paramType = "path", allowableValues = "{@code 0(收藏), 1(历史), 2(分享)}")
@PostMapping("/query/{type}")
List<HomeItemDTO> query(@PathVariable Integer type);
@PostMapping("/query")
Pager<List<HomeItemDTO>> query(@RequestBody HomeRequest request);
@ApiOperation("详情")
@ApiImplicitParam(value = "ID", name = "id", paramType = "path")
@PostMapping("/detail/{id}")
Object detail(@PathVariable String id);
......
package io.dataease.mobile.api;
import io.dataease.mobile.dto.MeItemDTO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@Api(tags = "移动端:我的")
@RequestMapping("/mobile/me")
public interface MeApi {
@ApiOperation("查询个人信息")
@PostMapping("/query")
MeItemDTO query();
}
package io.dataease.mobile.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
@ApiModel("目录数据实体")
public class DirItemDTO implements Serializable {
@ApiModelProperty("ID")
private String id;
@ApiModelProperty("名称")
private String text;
@ApiModelProperty(value = "类型", allowableValues = "{@code folder, panel}")
private String type;
@ApiModelProperty("子集数")
private Integer subs;
}
......@@ -7,13 +7,10 @@ import lombok.Data;
import java.io.Serializable;
@Data
@ApiModel("目录查询条件")
public class DirRequest implements Serializable {
@ApiModelProperty("父ID")
private String pid;
@ApiModelProperty("名称")
private String name;
}
package io.dataease.mobile.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
@ApiModel("首页数据实体")
public class HomeItemDTO implements Serializable {
@ApiModelProperty("ID")
private String id;
@ApiModelProperty("标题")
private String title;
@ApiModelProperty("时间")
private Long time;
}
package io.dataease.mobile.dto;
import lombok.Data;
import java.io.Serializable;
@Data
public class HomeRequest implements Serializable {
private Integer type;
private Long lastTime;
}
package io.dataease.mobile.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
@ApiModel("个人信息")
public class MeItemDTO implements Serializable {
@ApiModelProperty("组织名称")
private String deptName;
@ApiModelProperty("创建时间")
private Long createTime;
}
package io.dataease.mobile.server;
import io.dataease.commons.utils.Pager;
import io.dataease.mobile.api.HomeApi;
import io.dataease.mobile.dto.HomeItemDTO;
import io.dataease.mobile.dto.HomeRequest;
import io.dataease.mobile.service.HomeService;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
......@@ -13,13 +15,17 @@ public class HomeServer implements HomeApi {
@Resource
private HomeService homeService;
@Override
public List<HomeItemDTO> query(Integer type) {
return homeService.query(type);
public Pager<List<HomeItemDTO>> query(HomeRequest request) {
return homeService.query(request);
}
@Override
public Object detail(String id) {
return null;
}
}
package io.dataease.mobile.service;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import io.dataease.auth.api.dto.CurrentRoleDto;
import io.dataease.auth.api.dto.CurrentUserDto;
import io.dataease.commons.utils.AuthUtils;
import io.dataease.commons.utils.PageUtils;
import io.dataease.commons.utils.Pager;
import io.dataease.mobile.dto.HomeItemDTO;
import io.dataease.base.mapper.ext.HomeMapper;
import io.dataease.mobile.dto.HomeRequest;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.HashMap;
......@@ -18,23 +23,33 @@ public class HomeService {
@Resource
private HomeMapper homeMapper;
public List<HomeItemDTO> query(Integer type) {
public Pager<List<HomeItemDTO>> query(HomeRequest request) {
CurrentUserDto user = AuthUtils.getUser();
switch (type){
Page<Object> page = PageHelper.startPage(1, 13, true);
Map<String, Object> param = new HashMap<>();
param.put("userId", user.getUserId());
switch (request.getType()){
case 1:
return homeMapper.queryHistory();
case 2:
Map<String, Object> param = new HashMap<>();
Long deptId = user.getDeptId();
List<Long> roleIds = user.getRoles().stream().map(CurrentRoleDto::getId).collect(Collectors.toList());
param.put("userId", user.getUserId());
param.put("deptId", deptId);
param.put("roleIds", roleIds);
List<HomeItemDTO> result = homeMapper.queryShare(param);
return result;
if (null != request.getLastTime()) {
param.put("lastTime", request.getLastTime());
}
return PageUtils.setPageInfo(page, homeMapper.queryShare(param));
default:
return homeMapper.queryStore(user.getUserId());
param.put("userId", user.getUserId());
if (null != request.getLastTime()) {
param.put("lastTime", request.getLastTime());
}
return PageUtils.setPageInfo(page, homeMapper.queryStore(param));
}
}
}
# just a flag
ENV = 'development'
# base api
VUE_APP_BASE_API = 'http://localhost:8081/'
# vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable,
# to control whether the babel-plugin-dynamic-import-node plugin is enabled.
# It only does one thing by converting all import() to require().
# This configuration can significantly increase the speed of hot updates,
# when you have a large number of pages.
# Detail: https://github.com/vuejs/vue-cli/blob/dev/packages/@vue/babel-preset-app/index.js
VUE_CLI_BABEL_TRANSPILE_MODULES = true
# just a flag
ENV = 'production'
# base api
# VUE_APP_BASE_API = 'http://localhost:8081/'
VUE_APP_BASE_API = '/'
# dataease-mobile
## Project setup
```
npm install
```
### Compiles and hot-reloads for development
```
npm run serve
```
### Compiles and minifies for production
```
npm run build
```
### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).
const plugins = []
if (process.env.UNI_OPT_TREESHAKINGNG) {
plugins.push(require('@dcloudio/vue-cli-plugin-uni-optimize/packages/babel-plugin-uni-api/index.js'))
}
if (
(
process.env.UNI_PLATFORM === 'app-plus' &&
process.env.UNI_USING_V8
) ||
(
process.env.UNI_PLATFORM === 'h5' &&
process.env.UNI_H5_BROWSER === 'builtin'
)
) {
const path = require('path')
const isWin = /^win/.test(process.platform)
const normalizePath = path => (isWin ? path.replace(/\\/g, '/') : path)
const input = normalizePath(process.env.UNI_INPUT_DIR)
try {
plugins.push([
require('@dcloudio/vue-cli-plugin-hbuilderx/packages/babel-plugin-console'),
{
file (file) {
file = normalizePath(file)
if (file.indexOf(input) === 0) {
return path.relative(input, file)
}
return false
}
}
])
} catch (e) {}
}
process.UNI_LIBRARIES = process.UNI_LIBRARIES || ['@dcloudio/uni-ui']
process.UNI_LIBRARIES.forEach(libraryName => {
plugins.push([
'import',
{
'libraryName': libraryName,
'customName': (name) => {
return `${libraryName}/lib/${name}/${name}`
}
}
])
})
module.exports = {
presets: [
[
'@vue/app',
{
modules: 'commonjs',
useBuiltIns: process.env.UNI_PLATFORM === 'h5' ? 'usage' : 'entry'
}
]
],
plugins
}
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><title></title><script>document.addEventListener('DOMContentLoaded', function() {
document.documentElement.style.fontSize = document.documentElement.clientWidth / 20 + 'px'
})
var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)'))
document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><link rel="stylesheet" href="/de-app/static/index.a5c69d49.css"></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id="app"></div><script src="/de-app/static/js/chunk-vendors.2822c2ee.js"></script><script src="/de-app/static/js/index.12bd8b7a.js"></script></body></html>
\ No newline at end of file
差异被折叠。
This source diff could not be displayed because it is too large. You can view the blob instead.
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论