Skip to content

Commit 9a57012

Browse files
committed
Merge
1 parent e1b5661 commit 9a57012

File tree

26 files changed

+193
-56
lines changed

26 files changed

+193
-56
lines changed

api/db/update2.3.sql

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
INSERT INTO `sys_depart`(`id`, `parent_id`, `depart_name`, `depart_name_en`, `depart_name_abbr`, `depart_order`, `description`, `org_category`, `org_type`, `org_code`, `mobile`, `fax`, `address`, `memo`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES ('e25b60b02ecc497cb449647cfb80cdb5', '', '注册用户', NULL, NULL, 0, NULL, '1', '1', 'A04', NULL, NULL, NULL, NULL, NULL, '0', 'admin', '2021-05-25 10:59:00', NULL, NULL);
2+
INSERT INTO `sys_dict`(`id`, `dict_name`, `dict_code`, `description`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `type`) VALUES ('1397023567569317889', '系统配置', 'sys_config', '', 0, 'admin', '2021-05-25 10:55:48', NULL, NULL, 0);
3+
INSERT INTO `sys_dict_item`(`id`, `dict_id`, `item_text`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES ('1397023658023677954', '1397023567569317889', 'default_role', '1252532277234982913', '注册用户默认角色', 1, 1, 'admin', '2021-05-25 10:56:10', 'admin', '2021-05-25 10:56:31');
4+
INSERT INTO `sys_dict_item`(`id`, `dict_id`, `item_text`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES ('1397024574076448769', '1397023567569317889', 'default_depart', 'e25b60b02ecc497cb449647cfb80cdb5', '注册用户默认班级', 1, 1, 'admin', '2021-05-25 10:59:48', NULL, NULL);
5+
INSERT INTO `sys_dict_item`(`id`, `dict_id`, `item_text`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES ('1397031902876065794', '1278612830199599105', '优秀作品', '2', '', 1, 1, 'admin', '2021-05-25 11:28:55', NULL, NULL);

api/jeecg-boot-base-common/src/main/java/org/jeecg/common/system/util/JwtUtil.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
public class JwtUtil {
2828

2929
// Token过期时间30分钟(用户登录过期时间是此时间的两倍,以token在reids缓存时间为准)
30-
public static final long EXPIRE_TIME = 30 * 60 * 1000;
30+
public static final long EXPIRE_TIME = 300 * 60 * 1000;
3131

3232
/**
3333
* 校验token是否正确

api/jeecg-boot-module-system/src/main/java/org/jeecg/config/ShiroConfig.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,8 +139,12 @@ public ShiroFilterFactoryBean shiroFilter(SecurityManager securityManager) {
139139

140140
//支付
141141
filterChainDefinitionMap.put("/teaching/teachingOrder/createOrder", "anon");
142+
142143
// 作业
143144
filterChainDefinitionMap.put("/teaching/teachingWork/studentWorkInfo", "anon");
145+
filterChainDefinitionMap.put("/teaching/teachingWork/greatWork", "anon");
146+
filterChainDefinitionMap.put("/teaching/teachingWork/starWork", "anon");
147+
filterChainDefinitionMap.put("/teaching/teachingWork/leaderboard", "anon");
144148

145149

146150
//学生

api/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysUserController.java

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import org.jeecg.common.system.api.ISysBaseAPI;
2222
import org.jeecg.common.system.query.QueryGenerator;
2323
import org.jeecg.common.system.util.JwtUtil;
24+
import org.jeecg.common.system.vo.DictModel;
2425
import org.jeecg.common.system.vo.LoginUser;
2526
import org.jeecg.common.util.PasswordUtil;
2627
import org.jeecg.common.util.PmsUtil;
@@ -88,6 +89,9 @@ public class SysUserController {
8889
@Autowired
8990
private ISysDepartRoleService departRoleService;
9091

92+
@Autowired
93+
private ISysDictService sysDictService;
94+
9195
@Autowired
9296
private RedisUtil redisUtil;
9397

@@ -155,6 +159,7 @@ public Result<SysUser> add(@RequestBody JSONObject jsonObject) {
155159
user.setPassword(passwordEncode);
156160
user.setStatus(1);
157161
user.setDelFlag(CommonConstant.DEL_FLAG_0);
162+
sysUserService.save(user);
158163
sysUserService.addUserWithRole(user, selectedRoles);
159164
sysUserService.addUserWithDepart(user, selectedDeparts);
160165
result.success("添加成功!");
@@ -973,12 +978,13 @@ public Result<JSONObject> userRegister(@RequestBody JSONObject jsonObject, SysUs
973978
return result;
974979
}
975980
}
976-
977-
if (!smscode.equals(code)) {
978-
result.setMessage("手机验证码错误");
979-
result.setSuccess(false);
980-
return result;
981-
}
981+
if(oConvertUtils.isNotEmpty(phone)){
982+
if (!smscode.equals(code)) {
983+
result.setMessage("手机验证码错误");
984+
result.setSuccess(false);
985+
return result;
986+
}
987+
}
982988

983989
try {
984990
user.setCreateTime(new Date());// 设置创建时间
@@ -993,8 +999,17 @@ public Result<JSONObject> userRegister(@RequestBody JSONObject jsonObject, SysUs
993999
user.setStatus(CommonConstant.USER_UNFREEZE);
9941000
user.setDelFlag(CommonConstant.DEL_FLAG_0);
9951001
user.setActivitiSync(CommonConstant.ACT_SYNC_0);
996-
sysUserService.addUserWithRole(user,"ee8626f80f7c2619917b6236f3a7f02b");//默认临时角色 test
997-
result.success("注册成功");
1002+
sysUserService.save(user);
1003+
DictModel defaultRole = sysDictService.queryDictItemByCode("sys_config", "default_role");
1004+
if (defaultRole != null){
1005+
// sysUserService.addUserWithRole(user,"ee8626f80f7c2619917b6236f3a7f02b");//默认 test
1006+
sysUserService.addUserWithRole(user,defaultRole.getValue());
1007+
}
1008+
DictModel defaultDepart = sysDictService.queryDictItemByCode("sys_config", "default_depart");
1009+
if (defaultDepart != null){
1010+
sysUserService.addUserWithDepart(user, defaultDepart.getValue());
1011+
}
1012+
result.success("注册成功");
9981013
} catch (Exception e) {
9991014
result.error500("注册失败");
10001015
}

api/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysDictMapper.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,4 +115,6 @@ public interface SysDictMapper extends BaseMapper<SysDict> {
115115
*/
116116
@Deprecated
117117
public Page<DictModel> queryDictTablePageList(Page page, @Param("query") DictQuery query);
118+
119+
public DictModel queryDictItemByCode(@Param("code") String code, @Param("key") String key);
118120
}

api/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysDictMapper.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,5 +105,11 @@
105105
and ${query.code} = #{query.codeValue}
106106
</if>
107107
</select>
108+
<select id="queryDictItemByCode" resultType="org.jeecg.common.system.vo.DictModel">
109+
select s.item_value as "value",s.item_text as "text" from sys_dict_item s
110+
where dict_id = (select id from sys_dict where dict_code = #{code})
111+
and s.item_text = #{key}
112+
limit 1
113+
</select>
108114

109115
</mapper>

api/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysDictService.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@
2020
*/
2121
public interface ISysDictService extends IService<SysDict> {
2222

23-
public List<DictModel> queryDictItemsByCode(String code);
23+
public DictModel queryDictItemByCode(String code, String key);
24+
25+
public List<DictModel> queryDictItemsByCode(String code);
2426

2527
public Map<String,List<DictModel>> queryAllDictItems();
2628

api/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysDictServiceImpl.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,13 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> impl
4242
@Autowired
4343
private SysDictItemMapper sysDictItemMapper;
4444

45+
@Override
46+
@Cacheable(value = CacheConstant.SYS_DICT_CACHE,key = "#code+#key")
47+
public DictModel queryDictItemByCode(String code, String key) {
48+
log.debug("无缓存dictCache的时候调用这里!");
49+
return sysDictMapper.queryDictItemByCode(code, key);
50+
}
51+
4552
/**
4653
* 通过查询指定code 获取字典
4754
* @param code

api/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ public SysUser getUserByName(String username) {
118118
@Override
119119
@Transactional
120120
public void addUserWithRole(SysUser user, String roles) {
121-
this.save(user);
121+
// this.save(user);
122122
if(oConvertUtils.isNotEmpty(roles)) {
123123
String[] arr = roles.split(",");
124124
for (String roleId : arr) {

api/jeecg-boot-module-system/src/main/java/org/jeecg/modules/teaching/controller/TeachingWorkController.java

Lines changed: 59 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@
99
import javax.servlet.http.HttpServletRequest;
1010
import javax.servlet.http.HttpServletResponse;
1111

12+
import org.apache.commons.lang.StringUtils;
1213
import org.jeecg.common.aspect.annotation.PermissionData;
14+
import org.jeecg.common.util.IPUtils;
15+
import org.jeecg.common.util.RedisUtil;
1316
import org.jeecg.modules.common.controller.BaseController;
1417
import org.jeecg.modules.teaching.model.StudentWorkModel;
1518
import org.jeecg.modules.teaching.vo.StudentWorkSendVO;
@@ -62,6 +65,8 @@ public class TeachingWorkController extends BaseController {
6265
private ITeachingWorkCorrectService teachingWorkCorrectService;
6366
@Autowired
6467
private ITeachingWorkCommentService teachingWorkCommentService;
68+
@Autowired
69+
private RedisUtil redisUtil;
6570

6671
/**
6772
* 我的作业分页列表查询
@@ -72,7 +77,6 @@ public class TeachingWorkController extends BaseController {
7277
* @param req
7378
* @return
7479
*/
75-
@AutoLog(value = "我的作业-分页列表查询")
7680
@ApiOperation(value = "我的作业-分页列表查询", notes = "我的作业-分页列表查询")
7781
@GetMapping(value = "/mine")
7882
public Result<?> mine(StudentWorkModel teachingWork,
@@ -165,15 +169,67 @@ public Result<?> queryPageList(StudentWorkModel studentWorkModel,
165169
return Result.ok(pageList);
166170
}
167171

168-
@AutoLog(value = "学生作业详情")
169-
@ApiOperation(value = "")
172+
@GetMapping("greatWork")
173+
public Result<?> greatWorkList(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
174+
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize){
175+
IPage<StudentWorkModel> pageList = teachingWorkService.listWorkModel(new Page<>(pageNo, pageSize), new QueryWrapper<StudentWorkModel>()
176+
.eq("teaching_work.work_status", 2));
177+
return Result.ok(pageList);
178+
}
179+
180+
@ApiOperation(value = "点赞作品")
181+
@GetMapping("/starWork")
182+
public Result starWork(@RequestParam(name = "workId") String workId, HttpServletRequest request) {
183+
Result<TeachingWork> result = new Result<TeachingWork>();
184+
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
185+
String userId = sysUser == null ? null : sysUser.getId();
186+
TeachingWork teachingWork = teachingWorkService.getById(workId);
187+
if (teachingWork == null) {
188+
result.error500("未找到对作业");
189+
} else {
190+
String ip = IPUtils.getIpAddr(request);
191+
if (redisUtil.get("starWork-" + workId + userId + ip) == null) {
192+
if (Objects.nonNull(teachingWork.getStarNum())) {
193+
teachingWork.setStarNum(teachingWork.getStarNum() + 1);
194+
} else {
195+
teachingWork.setStarNum(1);
196+
}
197+
teachingWorkService.updateById(teachingWork);
198+
redisUtil.set("starWork-" + workId + userId + ip, "1");
199+
result.setMessage("点赞成功");
200+
result.setSuccess(true);
201+
} else {
202+
result.setMessage("已经点赞过了");
203+
result.setSuccess(true);
204+
}
205+
}
206+
return result;
207+
}
208+
209+
//劲作排行榜(本周作品,年度作品) TODO 缓存1
210+
@ApiOperation(value = "劲作排行榜")
211+
@GetMapping(value = "/leaderboard")
212+
public Result<?> listLeaderboard(@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
213+
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
214+
HttpServletRequest request) {
215+
QueryWrapper<StudentWorkModel> queryWrapper = new QueryWrapper<StudentWorkModel>();
216+
queryWrapper.orderByDesc("teaching_work.star_num");
217+
queryWrapper.ge("teaching_work.work_status", 1);
218+
IPage<StudentWorkModel> pageList = teachingWorkService.listWorkModel(new Page<>(pageNo, pageSize), queryWrapper);
219+
return Result.ok(pageList);
220+
}
221+
170222
@GetMapping("/studentWorkInfo")
171223
public Result<StudentWorkModel> studentWorkInfo(@RequestParam(name = "workId") String workId){
172224
Result<StudentWorkModel> result = new Result<StudentWorkModel>();
173225
StudentWorkModel teachingWork = teachingWorkService.studentWorkInfo(workId);
174226
if (teachingWork == null) {
175227
result.error500("未找到对作业");
176228
} else {
229+
TeachingWork work = new TeachingWork();
230+
work.setId(teachingWork.getId());
231+
work.setViewNum(teachingWork.getViewNum() + 1);
232+
teachingWorkService.updateById(work);
177233
result.setResult(teachingWork);
178234
result.setSuccess(true);
179235
}

0 commit comments

Comments
 (0)