Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
软件工程实践2022年春W班
添砖Java队
project_Team1
提交
3df4ac68
P
project_Team1
项目概览
软件工程实践2022年春W班
/
添砖Java队
/
project_Team1
通知
7
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
project_Team1
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
3df4ac68
编写于
4月 30, 2022
作者:
iovt1
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'revert-
e16140e5
' into 'master'
Revert "Merge branch '021900840dev' into 'master'" See merge request
!8
上级
e16140e5
6a826ad0
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
11 addition
and
371 deletion
+11
-371
back/imminent/pom.xml
back/imminent/pom.xml
+0
-42
back/imminent/src/main/java/com/one/controller/ItemController.java
...nent/src/main/java/com/one/controller/ItemController.java
+4
-48
back/imminent/src/main/java/com/one/dao/ItemDao.java
back/imminent/src/main/java/com/one/dao/ItemDao.java
+1
-28
back/imminent/src/main/java/com/one/dao/sqlProvider/ItemSqlProvider.java
...rc/main/java/com/one/dao/sqlProvider/ItemSqlProvider.java
+0
-43
back/imminent/src/main/java/com/one/domain/Item.java
back/imminent/src/main/java/com/one/domain/Item.java
+4
-5
back/imminent/src/main/java/com/one/domain/ResponseBody.java
back/imminent/src/main/java/com/one/domain/ResponseBody.java
+0
-49
back/imminent/src/main/java/com/one/service/IItemService.java
.../imminent/src/main/java/com/one/service/IItemService.java
+1
-10
back/imminent/src/main/java/com/one/service/impl/ItemServiceImpl.java
...t/src/main/java/com/one/service/impl/ItemServiceImpl.java
+0
-65
back/imminent/src/main/java/com/one/service/utils/ConvertUtil.java
...nent/src/main/java/com/one/service/utils/ConvertUtil.java
+0
-76
back/imminent/src/main/resources/application.yml
back/imminent/src/main/resources/application.yml
+1
-5
未找到文件。
back/imminent/pom.xml
浏览文件 @
3df4ac68
...
...
@@ -17,40 +17,6 @@
<java.version>
1.8
</java.version>
</properties>
<dependencies>
<!-- 解决MybatisPlus时间转换异常java.sql.SQLFeatureNotSupportedException -->
<dependency>
<groupId>
org.mybatis
</groupId>
<artifactId>
mybatis-typehandlers-jsr310
</artifactId>
<version>
1.0.1
</version>
</dependency>
<dependency>
<groupId>
com.fasterxml.jackson.datatype
</groupId>
<artifactId>
jackson-datatype-jsr310
</artifactId>
<version>
2.9.2
</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper -->
<dependency>
<groupId>
com.github.pagehelper
</groupId>
<artifactId>
pagehelper
</artifactId>
<version>
5.3.0
</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-beanutils/commons-beanutils -->
<dependency>
<groupId>
commons-beanutils
</groupId>
<artifactId>
commons-beanutils
</artifactId>
<version>
1.9.3
</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.github.jsqlparser/jsqlparser -->
<dependency>
<groupId>
com.github.jsqlparser
</groupId>
<artifactId>
jsqlparser
</artifactId>
<version>
4.4
</version>
</dependency>
<dependency>
<groupId>
com.baomidou
</groupId>
<artifactId>
mybatis-plus-boot-starter
</artifactId>
...
...
@@ -148,14 +114,6 @@
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-compiler-plugin
</artifactId>
<configuration>
<source>
9
</source>
<target>
9
</target>
</configuration>
</plugin>
</plugins>
</build>
...
...
back/imminent/src/main/java/com/one/controller/ItemController.java
浏览文件 @
3df4ac68
package
com.one.controller
;
import
com.one.domain.Item
;
import
com.one.domain.ResponseBody
;
import
com.one.service.impl.ItemServiceImpl
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.CrossOrigin
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
java.util.List
;
import
java.util.Map
;
import
org.springframework.web.bind.annotation.RestController
;
@CrossOrigin
(
origins
=
"*"
)
@RestController
@RequestMapping
(
"/
api/
item"
)
@RequestMapping
(
"/item"
)
public
class
ItemController
{
@Autowired
ItemServiceImpl
itemService
;
@GetMapping
(
"/findItemsByName"
)
public
ResponseBody
<
List
<
Item
>>
findItemsByName
(
@RequestParam
(
"user_id"
)
int
user_id
,
@RequestParam
(
"item_name"
)
String
item_name
,
@RequestParam
(
"page"
)
int
page
){
return
itemService
.
findItemsByName
(
user_id
,
item_name
,
page
);
}
@GetMapping
(
"/findItemsByLabel"
)
public
ResponseBody
<
List
<
Item
>>
findItemsByLabel
(
@RequestParam
(
"user_id"
)
int
user_id
,
@RequestParam
(
"item_label"
)
String
item_label
,
@RequestParam
(
"page"
)
int
page
){
return
itemService
.
findItemsByName
(
user_id
,
item_label
,
page
);
}
@GetMapping
(
"/findItemsByState"
)
public
ResponseBody
<
List
<
Item
>>
findItemsByState
(
@RequestParam
(
"user_id"
)
int
user_id
,
@RequestParam
(
"item_state"
)
int
item_state
,
@RequestParam
(
"page"
)
int
page
){
return
itemService
.
findItemsByState
(
user_id
,
item_state
,
page
);
}
@PostMapping
(
"addItem"
)
public
ResponseBody
<
Map
<
String
,
Integer
>>
addItem
(
@RequestParam
Map
<
String
,
Object
>
requestParam
){
ResponseBody
<
Map
<
String
,
Integer
>>
responseBody
=
itemService
.
addItem
(
requestParam
);
return
responseBody
;
}
@PostMapping
(
"changeItem"
)
public
ResponseBody
<
Map
<
String
,
Integer
>>
changeItem
(
@RequestParam
Map
<
String
,
Object
>
requestParam
){
ResponseBody
<
Map
<
String
,
Integer
>>
responseBody
=
itemService
.
changeItem
(
requestParam
);
return
responseBody
;
}
@PostMapping
(
"deleteItem"
)
public
ResponseBody
<
Map
<
String
,
Integer
>>
deleteItem
(
@RequestParam
(
"id"
)
int
id
){
ResponseBody
<
Map
<
String
,
Integer
>>
responseBody
=
itemService
.
deleteItem
(
id
);
return
responseBody
;
}
}
back/imminent/src/main/java/com/one/dao/ItemDao.java
浏览文件 @
3df4ac68
package
com.one.dao
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.one.dao.sqlProvider.ItemSqlProvider
;
import
com.one.domain.Item
;
import
org.apache.ibatis.annotations.*
;
import
java.util.List
;
import
org.apache.ibatis.annotations.Mapper
;
@Mapper
public
interface
ItemDao
extends
BaseMapper
<
Item
>
{
//TODO item_name模糊搜索
@Select
(
"select * from item where item_name LIKE concat('%',#{item_name},'%') and item_possessor_id=#{user_id} limit #{page_current},7"
)
List
<
Item
>
selectItemsByName
(
@Param
(
"item_name"
)
String
item_name
,
@Param
(
"user_id"
)
int
user_id
,
@Param
(
"page_current"
)
int
page_current
);
@Select
(
"select * from item"
)
List
<
Item
>
selectAll
();
@Select
(
"select * from item where item_label=#{item_label} and item_possessor_id=#{user_id} limit #{page_current},7"
)
List
<
Item
>
selectItemsByLabel
(
@Param
(
"item_label"
)
String
item_label
,
@Param
(
"user_id"
)
int
user_id
,
@Param
(
"page_current"
)
int
page_current
);
@Select
(
"select * from item where item_state=#{item_state} and item_possessor_id=#{user_id} limit #{page_current},7"
)
List
<
Item
>
selectItemsByState
(
@Param
(
"item_state"
)
int
item_state
,
@Param
(
"user_id"
)
int
user_id
,
@Param
(
"page_current"
)
int
page_current
);
@Insert
(
"insert into item values "
+
"(#{id},#{item_name},#{item_state},#{item_label},#{item_authority},#{item_possessor_id},"
+
"#{item_start_date},#{item_end_date},#{item_remind_date},#{item_coming_date},#{item_pic_path})"
)
@Options
(
useGeneratedKeys
=
true
,
keyColumn
=
"id"
,
keyProperty
=
"id"
)
int
insertItem
(
Item
item
);
@UpdateProvider
(
type
=
ItemSqlProvider
.
class
,
method
=
"update"
)
@Options
(
useGeneratedKeys
=
true
,
keyColumn
=
"id"
,
keyProperty
=
"id"
)
int
update
(
Item
item
);
@Delete
(
"delete from item where id=#{id}"
)
int
delete
(
int
id
);
}
back/imminent/src/main/java/com/one/dao/sqlProvider/ItemSqlProvider.java
已删除
100644 → 0
浏览文件 @
e16140e5
package
com.one.dao.sqlProvider
;
import
com.one.domain.Item
;
import
org.apache.ibatis.jdbc.SQL
;
import
java.lang.reflect.Field
;
import
java.lang.reflect.Modifier
;
import
java.util.Locale
;
public
class
ItemSqlProvider
{
public
String
update
(
Item
item
)
{
return
new
SQL
()
{
{
UPDATE
(
"item"
);
Field
[]
fields
=
item
.
getClass
().
getDeclaredFields
();
//选择非空字段添加到sql语句中
for
(
Field
field
:
fields
)
{
String
varName
=
field
.
getName
();
varName
=
varName
.
toLowerCase
(
Locale
.
ROOT
);
try
{
//跳过static或final字段
int
mod
=
field
.
getModifiers
();
if
(
Modifier
.
isStatic
(
mod
)
||
Modifier
.
isFinal
(
mod
))
{
continue
;
}
//打开字段访问权限
field
.
setAccessible
(
true
);
//获取字段属性值
Object
o
=
field
.
get
(
item
);
if
(
o
!=
null
)
{
SET
(
varName
+
"=#{"
+
varName
+
"}"
);
}
//关闭字段访问权限
field
.
setAccessible
(
false
);
}
catch
(
IllegalAccessException
e
)
{
e
.
printStackTrace
();
}
}
WHERE
(
"id=#{id}"
);
}
}.
toString
();
}
}
back/imminent/src/main/java/com/one/domain/Item.java
浏览文件 @
3df4ac68
...
...
@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.annotation.IdType;
import
java.time.LocalDate
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
java.io.Serializable
;
import
java.sql.Date
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
...
...
@@ -32,13 +31,13 @@ public class Item implements Serializable {
private
Integer
item_possessor_id
;
private
Date
item_start_date
;
private
Local
Date
item_start_date
;
private
Date
item_end_date
;
private
Local
Date
item_end_date
;
private
Date
item_remind_date
;
private
Local
Date
item_remind_date
;
private
Date
item_coming_date
;
private
Local
Date
item_coming_date
;
/**
* url
...
...
back/imminent/src/main/java/com/one/domain/ResponseBody.java
已删除
100644 → 0
浏览文件 @
e16140e5
package
com.one.domain
;
public
class
ResponseBody
<
T
>{
private
String
code
;
private
String
message
;
T
data
;
public
ResponseBody
()
{
}
public
ResponseBody
(
String
code
,
String
message
,
T
data
)
{
this
.
code
=
code
;
this
.
message
=
message
;
this
.
data
=
data
;
}
@Override
public
String
toString
()
{
return
"{"
+
"code='"
+
code
+
'\''
+
", message='"
+
message
+
'\''
+
", data="
+
data
+
'}'
;
}
public
String
getCode
()
{
return
code
;
}
public
void
setCode
(
String
code
)
{
this
.
code
=
code
;
}
public
String
getMessage
()
{
return
message
;
}
public
void
setMessage
(
String
message
)
{
this
.
message
=
message
;
}
public
T
getData
()
{
return
data
;
}
public
void
setData
(
T
data
)
{
this
.
data
=
data
;
}
}
back/imminent/src/main/java/com/one/service/IItemService.java
浏览文件 @
3df4ac68
package
com.one.service
;
import
com.one.dao.ItemDao
;
import
com.one.domain.Item
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.one.domain.ResponseBody
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
java.util.List
;
import
java.util.Map
;
public
interface
IItemService
extends
IService
<
Item
>
{
ResponseBody
<
List
<
Item
>>
findItemsByName
(
int
user_id
,
String
item_name
,
int
page_current
);
ResponseBody
<
List
<
Item
>>
findItemsByLabel
(
int
user_id
,
String
item_label
,
int
page_current
);
ResponseBody
<
Map
<
String
,
Integer
>>
addItem
(
Map
<
String
,
Object
>
itemMap
);
ResponseBody
<
Map
<
String
,
Integer
>>
changeItem
(
Map
<
String
,
Object
>
itemMap
);
}
back/imminent/src/main/java/com/one/service/impl/ItemServiceImpl.java
浏览文件 @
3df4ac68
...
...
@@ -2,76 +2,11 @@ package com.one.service.impl;
import
com.one.domain.Item
;
import
com.one.dao.ItemDao
;
import
com.one.domain.ResponseBody
;
import
com.one.service.IItemService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.one.service.utils.ConvertUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Service
public
class
ItemServiceImpl
extends
ServiceImpl
<
ItemDao
,
Item
>
implements
IItemService
{
@Autowired
ItemDao
itemdao
;
public
final
String
CODE_SUCCESS
=
"211"
;
public
final
String
MESSAGE_SUCCESS_NAME
=
"succeed in getting item list by name"
;
public
final
String
MESSAGE_SUCCESS_LABEL
=
"succeed in getting item list by label"
;
public
final
String
MESSAGE_SUCCESS_STATE
=
"succeed in getting item list by state"
;
public
final
String
MESSAGE_SUCCESS_ADD
=
"succeed in adding item"
;
public
final
String
MESSAGE_SUCCESS_CHANGE
=
"succeed in changing item"
;
public
final
String
MESSAGE_SUCCESS_DELETE
=
"succeed in deleting item"
;
public
ResponseBody
<
List
<
Item
>>
findItemsByName
(
int
user_id
,
String
item_name
,
int
page_current
){
List
<
Item
>
items
=
itemdao
.
selectItemsByName
(
item_name
,
user_id
,
page_current
);
ResponseBody
<
List
<
Item
>>
responseBody
=
new
ResponseBody
<>(
CODE_SUCCESS
,
MESSAGE_SUCCESS_NAME
,
items
);
return
responseBody
;
}
public
ResponseBody
<
List
<
Item
>>
findItemsByLabel
(
int
user_id
,
String
item_label
,
int
page_current
){
List
<
Item
>
items
=
itemdao
.
selectItemsByLabel
(
item_label
,
user_id
,
page_current
);
ResponseBody
<
List
<
Item
>>
responseBody
=
new
ResponseBody
<>(
CODE_SUCCESS
,
MESSAGE_SUCCESS_LABEL
,
items
);
return
responseBody
;
}
public
ResponseBody
<
List
<
Item
>>
findItemsByState
(
int
user_id
,
int
item_state
,
int
page_current
){
List
<
Item
>
items
=
itemdao
.
selectItemsByState
(
item_state
,
user_id
,
page_current
);
ResponseBody
<
List
<
Item
>>
responseBody
=
new
ResponseBody
<>(
CODE_SUCCESS
,
MESSAGE_SUCCESS_STATE
,
items
);
return
responseBody
;
}
public
ResponseBody
<
Map
<
String
,
Integer
>>
addItem
(
Map
<
String
,
Object
>
itemMap
){
Item
item
=
new
Item
();
item
=
(
Item
)
ConvertUtil
.
mapToObj
(
itemMap
,
item
);
int
rows
=
itemdao
.
insertItem
(
item
);
Map
<
String
,
Integer
>
dataMap
=
new
HashMap
<>();
dataMap
.
put
(
"item_id"
,
item
.
getId
());
ResponseBody
<
Map
<
String
,
Integer
>>
responseBody
=
new
ResponseBody
<>(
CODE_SUCCESS
,
MESSAGE_SUCCESS_ADD
,
dataMap
);
return
responseBody
;
}
public
ResponseBody
<
Map
<
String
,
Integer
>>
changeItem
(
Map
<
String
,
Object
>
itemMap
){
Item
item
=
new
Item
();
item
=
(
Item
)
ConvertUtil
.
mapToObj
(
itemMap
,
item
);
System
.
out
.
println
(
item
);
int
rows
=
itemdao
.
update
(
item
);
System
.
out
.
println
(
"影响行数: "
+
rows
);
Map
<
String
,
Integer
>
dataMap
=
new
HashMap
<>();
dataMap
.
put
(
"item_id"
,
item
.
getId
());
ResponseBody
<
Map
<
String
,
Integer
>>
responseBody
=
new
ResponseBody
<>(
CODE_SUCCESS
,
MESSAGE_SUCCESS_CHANGE
,
dataMap
);
return
responseBody
;
}
public
ResponseBody
<
Map
<
String
,
Integer
>>
deleteItem
(
int
id
){
int
rows
=
itemdao
.
delete
(
id
);
System
.
out
.
println
(
"影响行数: "
+
rows
);
Map
<
String
,
Integer
>
dataMap
=
new
HashMap
<>();
dataMap
.
put
(
"item_id"
,
id
);
ResponseBody
<
Map
<
String
,
Integer
>>
responseBody
=
new
ResponseBody
<>(
CODE_SUCCESS
,
MESSAGE_SUCCESS_DELETE
,
dataMap
);
return
responseBody
;
}
}
back/imminent/src/main/java/com/one/service/utils/ConvertUtil.java
已删除
100644 → 0
浏览文件 @
e16140e5
package
com.one.service.utils
;
import
ch.qos.logback.classic.pattern.DateConverter
;
import
com.one.domain.Item
;
import
org.apache.commons.beanutils.BeanUtils
;
import
org.apache.commons.beanutils.ConvertUtils
;
import
org.apache.commons.beanutils.Converter
;
import
org.apache.commons.beanutils.converters.DateTimeConverter
;
import
java.lang.reflect.Field
;
import
java.lang.reflect.InvocationTargetException
;
import
java.lang.reflect.Modifier
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
java.util.logging.SimpleFormatter
;
/**
* 这个工具类帮助转换类格式转换
*/
public
class
ConvertUtil
{
public
static
void
objsToMap
(
List
<
Item
>
items
){
}
public
static
Map
<
String
,
Object
>
objToMap
(
Object
obj
){
//利用反射
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
// 获取f对象对应类中的所有属性域
Field
[]
fields
=
obj
.
getClass
().
getDeclaredFields
();
for
(
int
i
=
0
;
i
<
fields
.
length
;
i
++){
String
varName
=
fields
[
i
].
getName
();
varName
=
varName
.
toLowerCase
(
Locale
.
ROOT
);
try
{
//获取访问控制权限
// boolean accessFlag = fields[i].canAccess(fields[i]); //这个方法因为serialVersionUID非空会报异常暂时不用
boolean
accessFlag
=
fields
[
i
].
isAccessible
();
fields
[
i
].
setAccessible
(
true
);
Object
o
=
fields
[
i
].
get
(
obj
);
if
(
o
!=
null
){
map
.
put
(
varName
,
o
.
toString
());
}
fields
[
i
].
setAccessible
(
accessFlag
);
}
catch
(
IllegalAccessException
e
)
{
e
.
printStackTrace
();
}
}
return
map
;
}
public
static
Object
mapToObj
(
Map
<
String
,
Object
>
map
,
Object
obj
){
try
{
ConvertUtils
.
register
(
new
Converter
()
{
@Override
public
Object
convert
(
Class
aClass
,
Object
o
)
{
SimpleDateFormat
format
=
new
SimpleDateFormat
(
"yyyy-mm-dd"
);
Date
parse
=
null
;
try
{
parse
=
(
Date
)
format
.
parse
(
o
.
toString
());
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
return
parse
;
}
},
Date
.
class
);
BeanUtils
.
populate
(
obj
,
map
);
}
catch
(
IllegalAccessException
e
)
{
e
.
printStackTrace
();
}
catch
(
InvocationTargetException
e
)
{
e
.
printStackTrace
();
}
return
obj
;
}
}
back/imminent/src/main/resources/application.yml
浏览文件 @
3df4ac68
...
...
@@ -4,8 +4,4 @@ spring:
driver-class-name
:
com.mysql.cj.jdbc.Driver
url
:
jdbc:mysql://47.106.185.140:3306/imminent?serverTimezone=UTC
username
:
root
password
:
12345678
mybatis-plus
:
configuration
:
map-underscore-to-camel-case
:
false
password
:
12345678
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录