Merge branch 'main' of https://dd3skj.picp.vip/zhaoxinyu/v4
# Conflicts: # src/main/resources/views/platform/zhgh/staffbenefit/dsznfmtx/apply/index.html
This commit is contained in:
+4
-1
@@ -347,11 +347,14 @@ public class FamilyActivityApplyController {
|
||||
public Result doSignUp(FamilyUser familyUser) {
|
||||
try {
|
||||
lock.lock();
|
||||
FamilyActivity activity = dao.fetch(FamilyActivity.class, familyUser.getActivityId());
|
||||
if(Lang.isEmpty(familyUser.getMobileColumnsValue())) {
|
||||
return Result.error(99,"请填写" + activity.getKeyWord() + "信息");
|
||||
}
|
||||
boolean courseByUser = familyActivityService.isSignCourseByUser(familyUser.getCourseId(), SecurityUtil.getUserId());
|
||||
if(courseByUser) {
|
||||
return Result.error(99,"您已报过该活动");
|
||||
}
|
||||
FamilyActivity activity = familyActivityService.fetch(familyUser.getActivityId());
|
||||
boolean validFamilyCount = familyActivityService.validFamilyCount(familyUser);
|
||||
if(validFamilyCount) {
|
||||
return Result.error(99,activity.getKeyWord() + "人数最多为" + activity.getFamilyMaxCount());
|
||||
|
||||
+2
-2
@@ -98,7 +98,7 @@ public class FamilyActivityStatisticsServiceImpl extends BaseServiceImpl<FamilyU
|
||||
family_user tsuu
|
||||
LEFT JOIN `vw_user` u ON u.id = tsuu.userId
|
||||
$condition
|
||||
ORDER BY FIELD( tsuu.state, 1, 3, 2, 4 ),u.unionid desc, u.unitid desc
|
||||
ORDER BY FIELD( tsuu.state, 1, 3, 2, 4 ),tsuu.signUpTime desc,u.unionid desc, u.unitid desc
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.andEX("tsuu.courseId", "=", courseId);
|
||||
@@ -150,7 +150,7 @@ public class FamilyActivityStatisticsServiceImpl extends BaseServiceImpl<FamilyU
|
||||
family_user tsuu
|
||||
LEFT JOIN `vw_user` u ON u.id = tsuu.userId
|
||||
$condition
|
||||
ORDER BY FIELD( tsuu.state, 1, 3, 2, 4 ),u.unionid desc, u.unitid desc
|
||||
ORDER BY FIELD( tsuu.state, 1, 3, 2, 4 ),tsuu.signUpTime desc,u.unionid desc, u.unitid desc
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.andEX("tsuu.courseId", "=", courseId);
|
||||
|
||||
+2
-2
@@ -97,7 +97,7 @@ public class TrainSignUpActivityStatisticsServiceImpl extends BaseServiceImpl<Tr
|
||||
train_sign_up_user tsuu
|
||||
LEFT JOIN `vw_user` u ON u.id = tsuu.userId
|
||||
$condition
|
||||
ORDER BY FIELD( tsuu.state, 1, 3, 2, 4 ),u.unionid desc, u.unitid desc
|
||||
ORDER BY FIELD( tsuu.state, 1, 3, 2, 4 ),tsuu.signUpTime desc,u.unionid desc, u.unitid desc
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.andEX("tsuu.courseId", "=", courseId);
|
||||
@@ -143,7 +143,7 @@ public class TrainSignUpActivityStatisticsServiceImpl extends BaseServiceImpl<Tr
|
||||
train_sign_up_user tsuu
|
||||
LEFT JOIN `vw_user` u ON u.id = tsuu.userId
|
||||
$condition
|
||||
ORDER BY FIELD( tsuu.state, 1, 3, 2, 4 ),u.unionid desc, u.unitid desc
|
||||
ORDER BY FIELD( tsuu.state, 1, 3, 2, 4 ),tsuu.signUpTime desc,u.unionid desc, u.unitid desc
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.andEX("tsuu.courseId", "=", courseId);
|
||||
|
||||
+15
-3
@@ -75,7 +75,12 @@ public class ActivityWorksCollectionReadController {
|
||||
up.*,
|
||||
co.NAME AS activityName,
|
||||
su.typeName AS subjectName,
|
||||
wo.worksTypeName AS worksName
|
||||
wo.worksTypeName AS worksName,
|
||||
(
|
||||
SELECT COUNT(*)
|
||||
FROM activity_works_collection_upload_like_num likeNum
|
||||
WHERE likeNum.uploadId = up.id
|
||||
) AS num
|
||||
from
|
||||
activity_works_collection_upload up
|
||||
LEFT JOIN activity_works_collection co ON up.activityId = co.id
|
||||
@@ -99,6 +104,7 @@ public class ActivityWorksCollectionReadController {
|
||||
if(!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name())) {
|
||||
cnd.and("up.unionId", "=", SecurityUtil.getUnionId());
|
||||
}
|
||||
cnd.desc("up.createdAt");
|
||||
sql.setCondition(cnd);
|
||||
Pagination pagination = baseService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
return Result.success(pagination);
|
||||
@@ -121,7 +127,12 @@ public class ActivityWorksCollectionReadController {
|
||||
co.NAME AS activityName,
|
||||
su.typeName AS subjectName,
|
||||
wo.worksTypeName AS worksName,
|
||||
u.sex
|
||||
u.sex,
|
||||
(
|
||||
SELECT COUNT(*)
|
||||
FROM activity_works_collection_upload_like_num likeNum
|
||||
WHERE likeNum.uploadId = up.id
|
||||
) AS num
|
||||
from
|
||||
activity_works_collection_upload up
|
||||
LEFT JOIN activity_works_collection co ON up.activityId = co.id
|
||||
@@ -145,6 +156,7 @@ public class ActivityWorksCollectionReadController {
|
||||
if(!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name())) {
|
||||
cnd.and("up.unionId", "=", SecurityUtil.getUnionId());
|
||||
}
|
||||
cnd.desc("num");
|
||||
sql.setCondition(cnd);
|
||||
List<NutMap> listMap = baseService.listMap(sql);
|
||||
|
||||
@@ -159,7 +171,7 @@ public class ActivityWorksCollectionReadController {
|
||||
exportEntities.add(new ExcelExportEntity("作品类型", "worksName", 20));
|
||||
exportEntities.add(new ExcelExportEntity("作品名称", "name", 20));
|
||||
exportEntities.add(new ExcelExportEntity("作品描述", "description", 20));
|
||||
//exportEntities.add(new ExcelExportEntity("点赞次数", "dz_num", 20));
|
||||
exportEntities.add(new ExcelExportEntity("点赞次数", "num", 20));
|
||||
|
||||
try {
|
||||
ExportParams exportParams = new ExportParams();
|
||||
|
||||
+18
-3
@@ -1,12 +1,10 @@
|
||||
package com.budwk.app.zhgh.activity.workscollection.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.param.PageForm;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.base.service.BaseService;
|
||||
import com.budwk.app.sys.models.Sys_user;
|
||||
import com.budwk.app.sys.views.View_user;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import com.budwk.app.zhgh.activity.basic.models.ActivityUserScope;
|
||||
@@ -27,7 +25,6 @@ import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -50,6 +47,8 @@ public class ActivityWorksCollectionUploadController {
|
||||
public void index() {
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @param pageForm 分页
|
||||
* @param activityId 活动id
|
||||
@@ -63,6 +62,8 @@ public class ActivityWorksCollectionUploadController {
|
||||
select
|
||||
up.*,
|
||||
co.NAME AS activityName,
|
||||
co.startDateTime AS activityStartDateTime,
|
||||
co.endDateTime AS activityEndDateTime,
|
||||
su.typeName AS subjectName,
|
||||
wo.worksTypeName AS worksName
|
||||
from
|
||||
@@ -78,6 +79,7 @@ public class ActivityWorksCollectionUploadController {
|
||||
cnd.andEX("up.activityId", "=", activityId);
|
||||
cnd.andEX("up.subjectId", "=", subjectId);
|
||||
cnd.andEX("up.worksId", "=", worksId);
|
||||
cnd.desc("up.createdAt");
|
||||
sql.setCondition(cnd);
|
||||
Pagination pagination = baseService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
return Result.success(pagination);
|
||||
@@ -91,8 +93,12 @@ public class ActivityWorksCollectionUploadController {
|
||||
@At
|
||||
@SaCheckPermission("activity.workscollection.upload")
|
||||
public Result insert(@Param("data") @Valid Activity_works_collection_upload upload) {
|
||||
|
||||
String activityId = upload.getActivityId();
|
||||
Activity_works_collection activity = dao.fetch(Activity_works_collection.class, activityId);
|
||||
if (activity.getEndDateTime().getTime() < System.currentTimeMillis()){
|
||||
return Result.error("活动已结束!");
|
||||
}
|
||||
if (activity.getActivityGroupId() != null) {
|
||||
int count = dao.count(ActivityUserScope.class, Cnd.where(ActivityUserScope::getGroupId, "=", activity.getActivityGroupId())
|
||||
.and(ActivityUserScope::getUserId, "=", SecurityUtil.getUserId()));
|
||||
@@ -119,6 +125,10 @@ public class ActivityWorksCollectionUploadController {
|
||||
@At
|
||||
@SaCheckPermission("activity.workscollection.upload")
|
||||
public Result update(@Param("data") @Valid Activity_works_collection_upload upload) {
|
||||
Activity_works_collection activity = dao.fetch(Activity_works_collection.class, upload.getActivityId());
|
||||
if (activity.getEndDateTime().getTime() < System.currentTimeMillis()){
|
||||
return Result.error("活动已结束!");
|
||||
}
|
||||
dao.updateIgnoreNull(upload);
|
||||
return Result.success();
|
||||
}
|
||||
@@ -133,6 +143,11 @@ public class ActivityWorksCollectionUploadController {
|
||||
@At
|
||||
@SaCheckPermission("activity.workscollection.upload")
|
||||
public Result delete(@Valid String id) {
|
||||
Activity_works_collection_upload upload = dao.fetch(Activity_works_collection_upload.class, id);
|
||||
Activity_works_collection activity = dao.fetch(Activity_works_collection.class, upload.getActivityId());
|
||||
if (activity.getEndDateTime().getTime() < System.currentTimeMillis()){
|
||||
return Result.error("活动已结束!");
|
||||
}
|
||||
dao.delete(Activity_works_collection_upload.class, id);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
-42
@@ -1,42 +0,0 @@
|
||||
package com.budwk.app.zhgh.activity.workscollection.controller.h5;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
|
||||
/**
|
||||
* 手机端作品征集
|
||||
*/
|
||||
@IocBean
|
||||
@At("/platform/h5/activity/worksCollection")
|
||||
@Ok("json:full")
|
||||
public class H5ActivityWorksCollectionController {
|
||||
|
||||
/**
|
||||
* 活动列表页面
|
||||
*/
|
||||
@At("/activity")
|
||||
@Ok("beetl:/platform/zhghh5/activity/workscollection/activity/index.html")
|
||||
@SaCheckPermission("activity.workscollection.upload")
|
||||
public void activity() {
|
||||
}
|
||||
|
||||
/**
|
||||
* 上传页面
|
||||
*/
|
||||
@At("/upload")
|
||||
@Ok("beetl:/platform/zhghh5/activity/workscollection/upload/index.html")
|
||||
@SaCheckPermission("activity.workscollection.upload")
|
||||
public void upload() {
|
||||
}
|
||||
|
||||
/**
|
||||
* 我的上传页面
|
||||
*/
|
||||
@At("/upload/mine")
|
||||
@Ok("beetl:/platform/zhghh5/activity/workscollection/upload/mine.html")
|
||||
@SaCheckPermission("activity.workscollection.upload")
|
||||
public void uploadMine() {
|
||||
}
|
||||
}
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
package com.budwk.app.zhgh.activity.workscollection.controller.h5;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import com.budwk.app.base.service.BaseService;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
|
||||
/**
|
||||
* @author zhf
|
||||
* @date 2025/9/16 08:54
|
||||
* @description 我的作品
|
||||
*/
|
||||
@IocBean
|
||||
@At("/platform/activity/worksCollection/mine/h5")
|
||||
@Ok("json:full")
|
||||
@ApiOperation("手机端我的作品")
|
||||
public class H5ActivityWorksMineCollectionController {
|
||||
|
||||
|
||||
@Inject
|
||||
private BaseService baseService;
|
||||
@Inject
|
||||
private Dao dao;
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/zhghh5/activity/workscollection/mine/index.html")
|
||||
@SaCheckPermission("h5.activity.workscollection.mine")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
+158
@@ -0,0 +1,158 @@
|
||||
package com.budwk.app.zhgh.activity.workscollection.controller.h5;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.base.service.BaseService;
|
||||
import com.budwk.app.sys.views.View_user;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import com.budwk.app.zhgh.activity.workscollection.models.Activity_works_collection;
|
||||
import com.budwk.app.zhgh.activity.workscollection.models.Activity_works_collection_upload;
|
||||
import com.budwk.app.zhgh.activity.workscollection.models.Activity_works_collection_upload_like_num;
|
||||
import com.budwk.app.zhgh.activity.workscollection.param.ActivityWorksCollectionReadPageParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.dao.util.cri.SqlExpressionGroup;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
|
||||
import javax.validation.Valid;
|
||||
|
||||
/**
|
||||
* @author zhf
|
||||
* @date 2025/9/18 10:00
|
||||
* @description
|
||||
*/
|
||||
@IocBean
|
||||
@At("/platform/activity/worksCollection/read/h5")
|
||||
@Ok("json:full")
|
||||
@ApiOperation("手机端作品阅览")
|
||||
public class H5ActivityWorksReadCollectionController {
|
||||
|
||||
|
||||
@Inject
|
||||
private BaseService baseService;
|
||||
@Inject
|
||||
private Dao dao;
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/zhghh5/activity/workscollection/read/index.html")
|
||||
@SaCheckPermission("h5.activity.workscollection.read")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("h5.activity.workscollection.read")
|
||||
public Result pageData(@Valid ActivityWorksCollectionReadPageParam pageForm) {
|
||||
Sql sql = Sqls.create("""
|
||||
select
|
||||
up.*,
|
||||
co.NAME AS activityName,
|
||||
co.nbCount,
|
||||
su.typeName AS subjectName,
|
||||
wo.worksTypeName AS worksName,
|
||||
(
|
||||
SELECT COUNT(*)
|
||||
FROM activity_works_collection_upload_like_num likeNum
|
||||
WHERE likeNum.uploadId = up.id
|
||||
) AS num,
|
||||
EXISTS(
|
||||
SELECT 1
|
||||
FROM activity_works_collection_upload_like_num thisLikeNum
|
||||
WHERE thisLikeNum.uploadId = up.id
|
||||
AND thisLikeNum.userId = @userId
|
||||
) AS isThisLike
|
||||
from
|
||||
activity_works_collection_upload up
|
||||
LEFT JOIN activity_works_collection co ON up.activityId = co.id
|
||||
LEFT JOIN activity_works_subjecttype su ON up.subjectId = su.id
|
||||
LEFT JOIN activity_works_workstype wo ON up.worksId = wo.id
|
||||
$condition
|
||||
""").setParam("userId", SecurityUtil.getUserId());
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.andEX("YEAR(co.startDateTime)", "=", pageForm.getYear());
|
||||
cnd.andEX("up.activityId", "=", pageForm.getActivityId());
|
||||
cnd.andEX("up.subjectId", "=", pageForm.getSubjectId());
|
||||
cnd.andEX("up.worksId", "=", pageForm.getWorksId());
|
||||
cnd.andEX("unionId", "=", pageForm.getUnionId());
|
||||
cnd.andEX("unitId", "=", pageForm.getUnitId());
|
||||
if (StrUtil.isAllNotBlank(pageForm.getSearchKeyword())) {
|
||||
SqlExpressionGroup seg = new SqlExpressionGroup();
|
||||
seg.orLike("userName", pageForm.getSearchKeyword());
|
||||
seg.orLike("loginName", pageForm.getSearchKeyword());
|
||||
cnd.and(seg);
|
||||
}
|
||||
if (pageForm.getPageOrderName().equals("num")) {
|
||||
cnd.desc(pageForm.getPageOrderName()).asc("createdAt");
|
||||
} else {
|
||||
cnd.asc(pageForm.getPageOrderName());
|
||||
}
|
||||
sql.setCondition(cnd);
|
||||
Pagination pagination = baseService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
return Result.success(pagination);
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ApiOperation("点赞")
|
||||
@SLog(tag = "作品点赞", msg = "作品Id:${uploadId}")
|
||||
@SaCheckPermission("h5.activity.workscollection.read")
|
||||
public Result doLike(@Valid String uploadId) {
|
||||
Activity_works_collection_upload upload = dao.fetch(Activity_works_collection_upload.class, uploadId);
|
||||
Activity_works_collection activity = dao.fetch(Activity_works_collection.class, upload.getActivityId());
|
||||
if (activity.getNbStartDateTime().getTime() > System.currentTimeMillis()) {
|
||||
return Result.error("点赞未开始!开始时间:" + DateUtil.format(activity.getNbStartDateTime(), "yyyy-MM-dd HH:mm:ss"));
|
||||
}
|
||||
if (activity.getNbEndDateTime().getTime() < System.currentTimeMillis()) {
|
||||
return Result.error("点赞已结束!结束时间:" + DateUtil.format(activity.getNbEndDateTime(), "yyyy-MM-dd HH:mm:ss"));
|
||||
}
|
||||
int count = dao.count(Activity_works_collection_upload_like_num.class,
|
||||
Cnd.where(Activity_works_collection_upload_like_num::getActivityId, "=", activity.getId())
|
||||
.and("DATE(FROM_UNIXTIME(createdAt / 1000))", "=", DateUtil.today())
|
||||
.and(Activity_works_collection_upload_like_num::getUserId, "=", SecurityUtil.getUserId()));
|
||||
if (count >= activity.getNbCount()) {
|
||||
return Result.error("当前活动每天只能点赞" + activity.getNbCount() + "次!");
|
||||
}
|
||||
View_user vwUser = dao.fetch(View_user.class, Cnd.where(View_user::getId, "=", SecurityUtil.getUserId()));
|
||||
Activity_works_collection_upload_like_num likeNum = new Activity_works_collection_upload_like_num();
|
||||
likeNum.setUploadId(uploadId);
|
||||
likeNum.setActivityId(activity.getId());
|
||||
likeNum.setUserId(SecurityUtil.getUserId());
|
||||
likeNum.setUserName(SecurityUtil.getUserUsername());
|
||||
likeNum.setLoginName(SecurityUtil.getUserLoginname());
|
||||
likeNum.setUnitId(SecurityUtil.getUnitId());
|
||||
likeNum.setUnitName(vwUser.getUnitName());
|
||||
likeNum.setUnionId(SecurityUtil.getUnionId());
|
||||
likeNum.setUnionName(vwUser.getUnionName());
|
||||
dao.insert(likeNum);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ApiOperation("取消点赞")
|
||||
@SaCheckPermission("h5.activity.workscollection.read")
|
||||
public Result doDeleteLike(@Valid String uploadId) {
|
||||
Activity_works_collection_upload upload = dao.fetch(Activity_works_collection_upload.class, uploadId);
|
||||
Activity_works_collection activity = dao.fetch(Activity_works_collection.class, upload.getActivityId());
|
||||
if (activity.getNbStartDateTime().getTime() > System.currentTimeMillis()) {
|
||||
return Result.error("点赞未开始!开始时间:" + DateUtil.format(activity.getNbStartDateTime(), "yyyy-MM-dd HH:mm:ss"));
|
||||
}
|
||||
if (activity.getNbEndDateTime().getTime() < System.currentTimeMillis()) {
|
||||
return Result.error("点赞已结束!结束时间:" + DateUtil.format(activity.getNbEndDateTime(), "yyyy-MM-dd HH:mm:ss"));
|
||||
}
|
||||
dao.clear(Activity_works_collection_upload_like_num.class,
|
||||
Cnd.where(Activity_works_collection_upload_like_num::getUploadId, "=", uploadId)
|
||||
.and(Activity_works_collection_upload_like_num::getUserId, "=", SecurityUtil.getUserId()));
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
}
|
||||
+79
@@ -0,0 +1,79 @@
|
||||
package com.budwk.app.zhgh.activity.workscollection.controller.h5;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.dev33.satoken.annotation.SaMode;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.param.PageForm;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.base.service.BaseService;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.dao.util.cri.Static;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
/**
|
||||
* 手机端作品征集
|
||||
*/
|
||||
@IocBean
|
||||
@At("/platform/activity/worksCollection/upload/h5")
|
||||
@Ok("json:full")
|
||||
@ApiOperation("手机端作品征集")
|
||||
public class H5ActivityWorksUploadCollectionController {
|
||||
|
||||
@Inject
|
||||
private BaseService baseService;
|
||||
@Inject
|
||||
private Dao dao;
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/zhghh5/activity/workscollection/upload/index.html")
|
||||
@SaCheckPermission("h5.activity.workscollection.upload")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@At
|
||||
@ApiOperation("活动查询")
|
||||
@SaCheckPermission(value = {"h5.activity.workscollection.upload"}, mode = SaMode.OR)
|
||||
public Result activityPageData(PageForm pageForm,
|
||||
@Param(value = "year") Integer year,
|
||||
@Param(value = "activityType") Integer activityType) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
awc.*,
|
||||
aus.groupName activityGroupName
|
||||
FROM
|
||||
`activity_works_collection` awc
|
||||
LEFT JOIN activity_user_scope aus ON aus.groupId = awc.activityGroupId
|
||||
AND aus.userId = @userId
|
||||
""").setParam("userId", SecurityUtil.getUserId());
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.andEX("YEAR(awc.startDateTime)", "=", year);
|
||||
//查询报名中
|
||||
if (activityType == 2) {
|
||||
cnd.and(new Static("now() > awc.startDateTime and now() < awc.endDateTime"));
|
||||
}//查询已结束的
|
||||
else if (activityType == 3) {
|
||||
cnd.and(new Static("now() > awc.startDateTime"));
|
||||
} else if (activityType == 4) {
|
||||
cnd.and(new Static("now() < awc.endDateTime"));
|
||||
}
|
||||
cnd.and("awc.enable", "=", 1);
|
||||
cnd.and("awc.type", "=", 1);
|
||||
sql.setCondition(cnd);
|
||||
Pagination pagination = baseService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
return Result.success(pagination);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
+72
@@ -0,0 +1,72 @@
|
||||
package com.budwk.app.zhgh.activity.workscollection.models;
|
||||
|
||||
import com.budwk.app.base.model.BaseModel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.nutz.dao.entity.annotation.*;
|
||||
import org.nutz.dao.interceptor.annotation.PrevInsert;
|
||||
|
||||
/**
|
||||
* @author zhf
|
||||
* @date 2025/9/18 10:46
|
||||
* @description 作品点赞数量
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Table("activity_works_collection_upload_like_num")
|
||||
@TableMeta("{'mysql-charset':'utf8mb4'}")
|
||||
@Comment("作品点赞数量")
|
||||
public class Activity_works_collection_upload_like_num extends BaseModel {
|
||||
|
||||
@Name
|
||||
@Comment("ID")
|
||||
@PrevInsert(uu32 = true)
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String id;
|
||||
|
||||
|
||||
@Column
|
||||
@Comment("活动Id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32, notNull = true)
|
||||
private String activityId;
|
||||
|
||||
@Column
|
||||
@Comment("作品Id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32, notNull = true)
|
||||
private String uploadId;
|
||||
|
||||
@Column
|
||||
@Comment("点赞人id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32, notNull = true)
|
||||
private String userId;
|
||||
|
||||
@Column
|
||||
@Comment("点赞人姓名")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 100, notNull = true)
|
||||
private String userName;
|
||||
|
||||
@Column
|
||||
@Comment("点赞人工号")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 100, notNull = true)
|
||||
private String loginName;
|
||||
|
||||
@Column
|
||||
@Comment("点赞人单位id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 200, notNull = true)
|
||||
private String unitId;
|
||||
|
||||
@Column
|
||||
@Comment("点赞人单位")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 200, notNull = true)
|
||||
private String unitName;
|
||||
|
||||
@Column
|
||||
@Comment("点赞人分工会id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32, notNull = true)
|
||||
private String unionId;
|
||||
|
||||
@Column
|
||||
@Comment("点赞人分工会")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50, notNull = true)
|
||||
private String unionName;
|
||||
}
|
||||
+50
@@ -0,0 +1,50 @@
|
||||
package com.budwk.app.zhgh.dayofficework.message.example;
|
||||
|
||||
import com.budwk.app.zhgh.dayofficework.message.service.GlobalMessageSendService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 全局消息发送使用示例
|
||||
* 展示如何使用简化的API发送消息
|
||||
*/
|
||||
@IocBean
|
||||
@Slf4j
|
||||
public class MessageSendExample {
|
||||
|
||||
@Inject
|
||||
private GlobalMessageSendService globalMessageSendService;
|
||||
|
||||
/**
|
||||
* 示例1:发送简单的系统通知(自动发送到所有启用的渠道)
|
||||
*/
|
||||
public void sendSimpleNotification() {
|
||||
String title = "系统维护通知";
|
||||
String content = "系统将于今晚22:00-24:00进行维护,请提前保存工作内容。";
|
||||
List<String> receiverIds = Arrays.asList("user1", "user2", "user3");
|
||||
|
||||
// 最简单的调用方式,自动发送到所有启用的渠道
|
||||
globalMessageSendService.sendMessage(title, content, receiverIds);
|
||||
|
||||
log.info("简单系统通知发送完成");
|
||||
}
|
||||
|
||||
/**
|
||||
* 示例2:发送待办通知(自动发送到所有启用的渠道)
|
||||
*/
|
||||
public void sendTodoNotification() {
|
||||
String title = "审批待办";
|
||||
String content = "您有一个新的审批任务需要处理,请及时登录系统查看。";
|
||||
List<String> receiverIds = Arrays.asList("manager1", "manager2");
|
||||
|
||||
// 自动发送到所有启用的渠道
|
||||
globalMessageSendService.sendMessage(title, content, 2, receiverIds, null);
|
||||
|
||||
log.info("待办通知发送完成");
|
||||
}
|
||||
|
||||
}
|
||||
+1
-1
@@ -79,7 +79,7 @@ public class OutlayReimburseApplyController {
|
||||
@ApiOperation("查询这个预算已经报销了的金额")
|
||||
@SaCheckPermission(value = {"outlay.reimburse.apply", "h5.outlay.reimburse.apply"}, mode = SaMode.OR)
|
||||
public Result getBxMoneyByBudgetId(String budgetId) {
|
||||
return Result.success(outlayReimburseApplyService.getBxMoneyByActivityId(budgetId,null));
|
||||
return Result.success(outlayReimburseApplyService.getBxMoneyByActivityId(budgetId));
|
||||
}
|
||||
|
||||
|
||||
|
||||
+1
-2
@@ -24,10 +24,9 @@ public interface OutlayReimburseApplyService extends BaseService<OutlayReimburse
|
||||
/**
|
||||
* 查询这个预算已经报销了的金额
|
||||
* @param budgetId
|
||||
* @param isSchoolBudget 是否是校会预算
|
||||
* @return
|
||||
*/
|
||||
BigDecimal getBxMoneyByActivityId(String budgetId,Boolean isSchoolBudget);
|
||||
BigDecimal getBxMoneyByActivityId(String budgetId);
|
||||
|
||||
/**
|
||||
* 判断这个报销的记录预算是否充足
|
||||
|
||||
+8
-10
@@ -136,21 +136,19 @@ public class OutlayReimburseApplyServiceImpl extends BaseServiceImpl<OutlayReimb
|
||||
}
|
||||
|
||||
@Override
|
||||
public BigDecimal getBxMoneyByActivityId(String budgetId, Boolean isSchoolBudget) {
|
||||
public BigDecimal getBxMoneyByActivityId(String budgetId) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
rei.money
|
||||
FROM
|
||||
`outlay_reimburse` rei
|
||||
LEFT JOIN wf_process_instance ins ON ins.businessNo = rei.id
|
||||
WHERE
|
||||
rei.budgetId = @budgetId
|
||||
AND ins.state = 20
|
||||
$condition
|
||||
""").setParam("budgetId", budgetId);
|
||||
Cnd cnd = Cnd.NEW();
|
||||
if (isSchoolBudget != null) {
|
||||
cnd.and("isSchoolBudget", "=", isSchoolBudget);
|
||||
}
|
||||
cnd.and("rei.budgetId", "=", budgetId);
|
||||
cnd.and("ins.state", "=", 20);
|
||||
sql.setCondition(cnd);
|
||||
|
||||
List<NutMap> reiList = listMap(sql);
|
||||
|
||||
@@ -174,7 +172,7 @@ public class OutlayReimburseApplyServiceImpl extends BaseServiceImpl<OutlayReimb
|
||||
if (budget.getIsRepeatReimburse()) {
|
||||
//1.查询已经报销了的总金额
|
||||
if (budget.getIsSchoolBudget()) {
|
||||
BigDecimal bXMoney = getBxMoneyByActivityId(budgetId, budget.getIsSchoolBudget());
|
||||
BigDecimal bXMoney = getBxMoneyByActivityId(budgetId);
|
||||
//如果是分工会进来并且报销的活动是校会预算
|
||||
// 1. 计算本次加上之前的报销总金额
|
||||
BigDecimal totalReimbursement = bXMoney.add(moneyBig);
|
||||
@@ -185,7 +183,7 @@ public class OutlayReimburseApplyServiceImpl extends BaseServiceImpl<OutlayReimb
|
||||
return Result.success();
|
||||
}
|
||||
} else {
|
||||
BigDecimal bXMoney = getBxMoneyByActivityId(budgetId, budget.getIsSchoolBudget());
|
||||
BigDecimal bXMoney = getBxMoneyByActivityId(budgetId);
|
||||
//如果是自己的项目就能超20%
|
||||
//1.算出现在还能报销多少钱
|
||||
BigDecimal twentyPercent = budget.getTotalBudgetMoney().multiply(new BigDecimal("20")).divide(new BigDecimal("100"), 2, BigDecimal.ROUND_HALF_UP);
|
||||
@@ -218,7 +216,7 @@ public class OutlayReimburseApplyServiceImpl extends BaseServiceImpl<OutlayReimb
|
||||
//如果报销的项目是可以重复报销的
|
||||
if (budget.getIsRepeatReimburse()) {
|
||||
//这个预算已经报销了多少钱
|
||||
BigDecimal totalMoney = getBxMoneyByActivityId(budgetId, null);
|
||||
BigDecimal totalMoney = getBxMoneyByActivityId(budgetId );
|
||||
//查出这个活动有没有跟其他预算关联,如果跟其他预算关联了,代表当前这条预算是分工会也能报校工会也能报,
|
||||
// schoolBudgetId字段不为空就代表这条预算是使用的校工会的金额
|
||||
List<ActivityBudget> budgetList = dao().query(ActivityBudget.class,
|
||||
|
||||
+5
-5
@@ -42,7 +42,7 @@ import java.util.List;
|
||||
@Slf4j
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
@Api(tags = "慈善捐款明细")
|
||||
@Api(tags = "慈善捐助明细")
|
||||
@At("/platform/contribution/detailed")
|
||||
public class ContributionDetailedController {
|
||||
|
||||
@@ -86,9 +86,9 @@ public class ContributionDetailedController {
|
||||
|
||||
List<ExcelExportEntity> entityList = new ArrayList<>();
|
||||
entityList.add(new ExcelExportEntity("序号", "index", 10));
|
||||
entityList.add(new ExcelExportEntity("捐款项目", "contributionName", 20));
|
||||
entityList.add(new ExcelExportEntity("捐款人工号", "loginName", 20));
|
||||
entityList.add(new ExcelExportEntity("捐款人姓名", "userName", 20));
|
||||
entityList.add(new ExcelExportEntity("捐助项目", "contributionName", 20));
|
||||
entityList.add(new ExcelExportEntity("捐助人工号", "loginName", 20));
|
||||
entityList.add(new ExcelExportEntity("捐助人姓名", "userName", 20));
|
||||
entityList.add(new ExcelExportEntity("联系方式", "mobile", 20));
|
||||
entityList.add(new ExcelExportEntity("所属工会", "unionName", 20));
|
||||
entityList.add(new ExcelExportEntity("所属单位", "unitName", 20));
|
||||
@@ -99,6 +99,6 @@ public class ContributionDetailedController {
|
||||
ExportParams exportParams = new ExportParams();
|
||||
exportParams.setType(ExcelType.XSSF);
|
||||
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, entityList, listMap);
|
||||
CommonDownloadUtil.download("捐款明细.xlsx", workbook, response);
|
||||
CommonDownloadUtil.download("捐助明细.xlsx", workbook, response);
|
||||
}
|
||||
}
|
||||
|
||||
+6
-6
@@ -36,7 +36,7 @@ import java.util.List;
|
||||
@Slf4j
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
@Api(tags = "慈善捐款项目")
|
||||
@Api(tags = "慈善捐助项目")
|
||||
@At("/platform/contribution/list")
|
||||
public class ContributionProjectController {
|
||||
|
||||
@@ -76,9 +76,9 @@ public class ContributionProjectController {
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("新增/修改慈善捐款项目")
|
||||
@ApiOperation("新增/修改慈善捐助项目")
|
||||
@SaCheckPermission("contribution.list")
|
||||
@SLog(type = "contribution", tag = "新增/修改慈善捐款项目", msg = "新增/修改慈善捐款项目")
|
||||
@SLog(type = "contribution", tag = "新增/修改慈善捐助项目", msg = "新增/修改慈善捐助项目")
|
||||
public Object onSubmit(ContributionProject project) {
|
||||
if(StrUtil.isBlank(project.getId())) {
|
||||
project.setContributionCreationDate(DateUtil.now());
|
||||
@@ -88,16 +88,16 @@ public class ContributionProjectController {
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("删除慈善捐款项目")
|
||||
@ApiOperation("删除慈善捐助项目")
|
||||
@SaCheckPermission("contribution.list")
|
||||
@SLog(type = "contribution", tag = "删除慈善捐款项目", msg = "删除慈善捐款项目")
|
||||
@SLog(type = "contribution", tag = "删除慈善捐助项目", msg = "删除慈善捐助项目")
|
||||
public Object onDelete(String id) {
|
||||
typeService.dao().delete(ContributionProject.class, id);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("查询慈善捐款项目")
|
||||
@ApiOperation("查询慈善捐助项目")
|
||||
@SaCheckPermission("contribution.list")
|
||||
public Result queryContributionList() {
|
||||
List<ContributionProject> list = typeService.dao().query(
|
||||
|
||||
+3
-3
@@ -34,7 +34,7 @@ import java.util.stream.Collectors;
|
||||
@Slf4j
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
@Api(tags = "慈善捐款分工会统计")
|
||||
@Api(tags = "慈善捐助分工会统计")
|
||||
@At("/platform/contribution/statistics")
|
||||
public class ContributionStatisticsController {
|
||||
|
||||
@@ -66,13 +66,13 @@ public class ContributionStatisticsController {
|
||||
.stream()
|
||||
.toList();
|
||||
|
||||
//这个项目每个分工会有多少个人捐款
|
||||
//这个项目每个分工会有多少个人捐助
|
||||
List<ContributionApply> list = userList.stream()
|
||||
.filter(n -> n.getUnionId().equals(union.getId()) && n.getContributionId().equals(contributionId))
|
||||
.toList();
|
||||
map.setv("contributionUserNum", list.size());
|
||||
|
||||
//捐款多少笔
|
||||
//捐助多少笔
|
||||
long conCount = applyList.stream()
|
||||
.filter(n -> n.getUnionId().equals(union.getId()) && n.getContributionId().equals(contributionId))
|
||||
.count();
|
||||
|
||||
+32
-7
@@ -6,6 +6,8 @@ import com.budwk.app.base.annotation.SLog;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.param.PageForm;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.zhgh.staffbenefit.contribution.model.ContributionApply;
|
||||
import com.budwk.app.zhgh.staffbenefit.contribution.model.ContributionProject;
|
||||
import com.budwk.app.zhgh.staffbenefit.contribution.model.ContributionType;
|
||||
import com.budwk.app.zhgh.staffbenefit.contribution.service.ContributionTypeService;
|
||||
import io.swagger.annotations.Api;
|
||||
@@ -13,9 +15,13 @@ import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.dao.util.cri.SqlExpressionGroup;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.lang.Lang;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
|
||||
@@ -31,7 +37,7 @@ import java.util.List;
|
||||
@Slf4j
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
@Api(tags = "慈善捐款专题")
|
||||
@Api(tags = "慈善捐助专题")
|
||||
@At("/platform/contribution/type")
|
||||
public class ContributionTypeController {
|
||||
|
||||
@@ -63,28 +69,47 @@ public class ContributionTypeController {
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("新增/修改慈善捐款专题")
|
||||
@ApiOperation("新增/修改慈善捐助专题")
|
||||
@SaCheckPermission("contribution.type")
|
||||
@SLog(type = "contribution", tag = "新增/修改慈善捐款专题", msg = "新增/修改慈善捐款专题")
|
||||
@SLog(type = "contribution", tag = "新增/修改慈善捐助专题", msg = "新增/修改慈善捐助专题")
|
||||
public Object onSubmit(ContributionType type) {
|
||||
typeService.insertOrUpdate(type);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("删除慈善捐款专题")
|
||||
@ApiOperation("删除慈善捐助专题")
|
||||
@SaCheckPermission("contribution.type")
|
||||
@SLog(type = "contribution", tag = "删除慈善捐款专题", msg = "删除慈善捐款专题")
|
||||
@SLog(type = "contribution", tag = "删除慈善捐助专题", msg = "删除慈善捐助专题")
|
||||
public Object onDelete(String id) {
|
||||
typeService.delete(id);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("查询慈善捐款专题")
|
||||
@SaCheckPermission("contribution.type")
|
||||
@ApiOperation("查询慈善捐助专题")
|
||||
@SaCheckPermission("contribution")
|
||||
public Result queryContributionType() {
|
||||
List<ContributionType> list = typeService.query(Cnd.NEW().desc(ContributionType::getTypeCode));
|
||||
return Result.success(list);
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("查询单个慈善捐助专题")
|
||||
@SaCheckPermission("contribution")
|
||||
public Result fetchOne(String id) {
|
||||
ContributionType type = typeService.fetch(id);
|
||||
List<ContributionProject> list = dao.query(ContributionProject.class, Cnd.where(ContributionProject::getContributionTypeCode, "=", type.getTypeCode()).and(ContributionProject::getIsContributionEnable, "=", true));
|
||||
|
||||
List<String> projects = list.stream().map(ContributionProject::getId).toList();
|
||||
|
||||
List<ContributionApply> applyList = dao.query(ContributionApply.class, Cnd.where(ContributionApply::getContributionId, "in", projects));
|
||||
double sum = applyList.stream().mapToDouble(ContributionApply::getMoney).sum();
|
||||
|
||||
NutMap nutMap = Lang.obj2nutmap(type);
|
||||
nutMap.put("projectCount", list.size());
|
||||
nutMap.put("totalMoney", sum);
|
||||
nutMap.put("peopleCount", applyList.size());
|
||||
return Result.success(nutMap);
|
||||
}
|
||||
}
|
||||
|
||||
+115
@@ -0,0 +1,115 @@
|
||||
package com.budwk.app.zhgh.staffbenefit.contribution.h5Controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.param.PageForm;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.base.service.BaseService;
|
||||
import com.budwk.app.zhgh.staffbenefit.contribution.model.ContributionApply;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.ioc.aop.Aop;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.lang.Strings;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @ClassName H5ContributionListController
|
||||
* @Author JyuHsin
|
||||
* @Date 2025/9/18 11:12
|
||||
* @Version 1.0
|
||||
* @Description TODO
|
||||
*/
|
||||
@Slf4j
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
@Api(tags = "移动端-慈善捐助项目")
|
||||
@At("/platform/contribution/list/h5")
|
||||
public class H5ContributionListController {
|
||||
|
||||
@Inject
|
||||
private Dao dao;
|
||||
@Inject
|
||||
private BaseService baseService;
|
||||
|
||||
@At("")
|
||||
@SaCheckPermission("h5.contribution.list")
|
||||
@Ok("beetl:/platform/zhghh5/staffbenefit/contribution/list/index.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("分页查询")
|
||||
@SaCheckPermission("h5.contribution.list")
|
||||
public Result pageData(PageForm pageForm,
|
||||
@Param(value = "year") Integer year,
|
||||
@Param(value = "type") String type) {
|
||||
Cnd cnd = Cnd.NEW();
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
con.*,
|
||||
con.id as contributionId,
|
||||
type.id as typeId,
|
||||
type.typeName
|
||||
FROM
|
||||
`contribution_project` con
|
||||
LEFT JOIN contribution_type type ON type.typeCode = con.contributionTypeCode
|
||||
$condition
|
||||
""");
|
||||
cnd.andEX("con.contributionTypeCode", "=", type);
|
||||
cnd.andEX("year(contributionCreationDate)", "=", year);
|
||||
cnd.and("isContributionEnable", "=", true);
|
||||
cnd.desc("contributionCreationDate");
|
||||
cnd.asc("contributionMode");
|
||||
sql.setCondition(cnd);
|
||||
Pagination pagination = baseService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
return Result.success(pagination);
|
||||
}
|
||||
@At
|
||||
@ApiOperation("移动端-慈善捐助")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@SaCheckPermission("h5.contribution.list")
|
||||
@SLog(tag = "慈善捐助-捐助", msg = "慈善捐助")
|
||||
public Object submit(ContributionApply apply) {
|
||||
if(StrUtil.isBlank(apply.getId())) {
|
||||
apply.setContributionTime(DateUtil.now());
|
||||
}
|
||||
dao.insertOrUpdate(apply);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("查询单个慈善捐助专题")
|
||||
@SaCheckPermission("contribution")
|
||||
public Result fetchOne(String id) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
con.*,
|
||||
( SELECT SUM( money ) FROM contribution_apply apply WHERE apply.contributionId = con.id ) totalMoney,
|
||||
( SELECT COUNT( 1 ) FROM contribution_apply apply WHERE apply.contributionId = con.id ) peopleCount
|
||||
FROM
|
||||
`contribution_project` con
|
||||
WHERE con.id = @id
|
||||
""");
|
||||
sql.setParam("id", id);
|
||||
sql.setCallback(Sqls.callback.map());
|
||||
dao.execute(sql);
|
||||
NutMap nutMap = (NutMap) sql.getResult();
|
||||
return Result.success(nutMap);
|
||||
}
|
||||
}
|
||||
+91
@@ -0,0 +1,91 @@
|
||||
package com.budwk.app.zhgh.staffbenefit.contribution.h5Controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.param.PageForm;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.base.service.BaseService;
|
||||
import com.budwk.app.zhgh.dayofficework.meeting.model.MeetingTimePeriod;
|
||||
import com.budwk.app.zhgh.dayofficework.meeting.model.MeetingTimePeriodUser;
|
||||
import com.budwk.app.zhgh.staffbenefit.contribution.model.ContributionApply;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.ioc.aop.Aop;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
/**
|
||||
* @ClassName H5ContributionMineController
|
||||
* @Author JyuHsin
|
||||
* @Date 2025/9/18 15:17
|
||||
* @Version 1.0
|
||||
* @Description TODO
|
||||
*/
|
||||
@Slf4j
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
@Api(tags = "移动端-我的慈善捐助")
|
||||
@At("/platform/contribution/mine/h5")
|
||||
public class H5ContributionMineController {
|
||||
|
||||
@Inject
|
||||
private Dao dao;
|
||||
@Inject
|
||||
private BaseService baseService;
|
||||
|
||||
@At("")
|
||||
@SaCheckPermission("h5.contribution.mine")
|
||||
@Ok("beetl:/platform/zhghh5/staffbenefit/contribution/mine/index.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("分页查询")
|
||||
@SaCheckPermission("h5.contribution.mine")
|
||||
public Result pageData(PageForm pageForm,
|
||||
@Param(value = "year") Integer year,
|
||||
@Param(value = "type") String type) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
ca.*,
|
||||
ca.id as applyId,
|
||||
cp.contributionName AS projectName,
|
||||
cp.contributionTypeCode,
|
||||
cp.contributionStartTime,
|
||||
cp.contributionEndTime,
|
||||
ct.id as typeId
|
||||
FROM
|
||||
contribution_apply ca
|
||||
LEFT JOIN contribution_project cp ON ca.contributionId = cp.id
|
||||
LEFT JOIN contribution_type ct ON cp.contributionTypeCode = ct.typeCode
|
||||
$condition
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.andEX("year(ca.contributionTime)", "=", year);
|
||||
cnd.andEX("cp.contributionTypeCode", "=", type);
|
||||
cnd.desc("ca.contributionTime");
|
||||
sql.setCondition(cnd);
|
||||
Pagination pagination = baseService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
return Result.success(pagination);
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("删除慈善捐助")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@SaCheckPermission("h5.contribution.mine")
|
||||
@SLog(tag = "慈善捐助-删除慈善捐助", msg = "删除慈善捐助")
|
||||
public Object delete(String id) {
|
||||
dao.delete(ContributionApply.class, id);
|
||||
return Result.success();
|
||||
}
|
||||
}
|
||||
+4
-4
@@ -19,7 +19,7 @@ import java.util.List;
|
||||
* @Description TODO
|
||||
*/
|
||||
@Data
|
||||
@Comment("慈善捐款明细")
|
||||
@Comment("慈善捐助明细")
|
||||
@Accessors(chain = true)
|
||||
@Table("contribution_apply")
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@@ -82,7 +82,7 @@ public class ContributionApply extends BaseModel {
|
||||
private String mobile;
|
||||
|
||||
@Column
|
||||
@Comment("捐款金额")
|
||||
@Comment("捐助金额")
|
||||
@ColDefine(type = ColType.DOUBLE)
|
||||
private double money;
|
||||
|
||||
@@ -92,12 +92,12 @@ public class ContributionApply extends BaseModel {
|
||||
private String payMode;
|
||||
|
||||
@Column
|
||||
@Comment("捐款时间")
|
||||
@Comment("捐助时间")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
private String contributionTime;
|
||||
|
||||
@Column
|
||||
@Comment("捐款图片")
|
||||
@Comment("捐助图片")
|
||||
@ColDefine(type = ColType.MYSQL_JSON)
|
||||
private List<JSONObject> contributionFiles;
|
||||
}
|
||||
|
||||
+7
-7
@@ -18,7 +18,7 @@ import java.util.List;
|
||||
* @Description TODO
|
||||
*/
|
||||
@Data
|
||||
@Comment("慈善捐款")
|
||||
@Comment("慈善捐助")
|
||||
@Accessors(chain = true)
|
||||
@Table("contribution_project")
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@@ -41,7 +41,7 @@ public class ContributionProject extends BaseModel {
|
||||
private String contributionIntroduce;
|
||||
|
||||
@Column
|
||||
@Comment("所属捐款专题")
|
||||
@Comment("所属捐助专题")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 10)
|
||||
private String contributionTypeCode;
|
||||
|
||||
@@ -61,22 +61,22 @@ public class ContributionProject extends BaseModel {
|
||||
private Boolean isContributionEnable;
|
||||
|
||||
@Column
|
||||
@Comment("捐款模式")
|
||||
@Comment("捐助模式")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 30)
|
||||
private String contributionMode;
|
||||
private Integer contributionMode;
|
||||
|
||||
@Column
|
||||
@Comment("捐款链接")
|
||||
@Comment("捐助链接")
|
||||
@ColDefine(type = ColType.TEXT)
|
||||
private String contributionUrl;
|
||||
|
||||
@Column
|
||||
@Comment("捐款开启时间")
|
||||
@Comment("捐助开启时间")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 40)
|
||||
private String contributionStartTime;
|
||||
|
||||
@Column
|
||||
@Comment("捐款结束时间")
|
||||
@Comment("捐助结束时间")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 40)
|
||||
private String contributionEndTime;
|
||||
}
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ import java.util.List;
|
||||
* @Description TODO
|
||||
*/
|
||||
@Data
|
||||
@Comment("慈善捐款专题")
|
||||
@Comment("慈善捐助专题")
|
||||
@Accessors(chain = true)
|
||||
@Table("contribution_type")
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@ import org.nutz.dao.sql.Sql;
|
||||
public interface ContributionApplyService extends BaseService<ContributionApply> {
|
||||
|
||||
/**
|
||||
* 生成查询捐款明细的sql
|
||||
* 生成查询捐助明细的sql
|
||||
* @return
|
||||
*/
|
||||
Sql generateSql(String unionId, String unitId, String payMode, String contributionName);
|
||||
|
||||
+55
-3
@@ -1,23 +1,34 @@
|
||||
package com.budwk.app.zhgh.staffbenefit.legal.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.dev33.satoken.annotation.SaMode;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.param.PageForm;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.sys.views.View_user;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import com.budwk.app.zhgh.staffbenefit.legal.model.LegalApply;
|
||||
import com.budwk.app.zhgh.staffbenefit.legal.service.LegalApplyService;
|
||||
import com.budwk.app.zhgh.staffbenefit.psychology.model.PsychologyApply;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.dao.util.cri.SqlExpressionGroup;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @ClassName LegalApplyController
|
||||
* @Author JyuHsin
|
||||
@@ -37,17 +48,23 @@ public class LegalApplyController {
|
||||
@Inject
|
||||
private LegalApplyService applyService;
|
||||
|
||||
@At("")
|
||||
@At("/")
|
||||
@SaCheckPermission("legal.apply")
|
||||
@Ok("beetl:/platform/zhgh/staffbenefit/legal/apply/index.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At("/h5")
|
||||
@SaCheckPermission("h5.legal.apply")
|
||||
@Ok("beetl:/platform/zhghh5/staffbenefit/legal/apply/index.html")
|
||||
public void h5Index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("新增/修改法律援助预约")
|
||||
@SaCheckPermission("legal.apply")
|
||||
@SaCheckPermission(value = {"legal.apply", "h5.legal.apply"}, mode = SaMode.OR)
|
||||
@SLog(tag = "法律援助系统-援助申请", msg = "新增/修改法律援助预约")
|
||||
public Object onSubmit(LegalApply apply) {
|
||||
public Object submit(LegalApply apply) {
|
||||
LegalApply legalApply = applyService.fetch(apply.getId());
|
||||
if(StrUtil.isNotBlank(legalApply.getUserId())) {
|
||||
return Result.error("该时段已被预约");
|
||||
@@ -68,4 +85,39 @@ public class LegalApplyController {
|
||||
//TODO:这里后面要加发短信
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("移动端预约查询咨询师")
|
||||
@SaCheckPermission(value = {"legal.apply", "h5.legal.apply"}, mode = SaMode.OR)
|
||||
@SLog(tag = "法律援助系统-移动端预约查询咨询师", msg = "移动端预约查询咨询师")
|
||||
public Object h5PageData(PageForm pageForm, String sex) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
pd.*
|
||||
FROM
|
||||
legal_doctor pd
|
||||
$condition
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and(Cnd.likeEX("pd.sex", sex));
|
||||
if (StrUtil.isNotBlank(pageForm.getSearchKeyword())) {
|
||||
SqlExpressionGroup seg = new SqlExpressionGroup();
|
||||
seg.or("pd.userName", "like", "%" + pageForm.getSearchKeyword() + "%");
|
||||
seg.or("pd.loginName", "like", "%" + pageForm.getSearchKeyword() + "%");
|
||||
cnd.and(seg);
|
||||
}
|
||||
sql.setCondition(cnd);
|
||||
Pagination pagination = applyService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
List<NutMap> list = pagination.getList(NutMap.class);
|
||||
for (NutMap nutMap : list) {
|
||||
List<LegalApply> applyList = dao.query(
|
||||
LegalApply.class,
|
||||
Cnd.where(LegalApply::getDoctorUser, "=", nutMap.getString("userId"))
|
||||
.and(LegalApply::getStartTime, ">=", DateUtil.now())
|
||||
.and(LegalApply::getUserId, "is", null)
|
||||
);
|
||||
nutMap.put("times", applyList);
|
||||
}
|
||||
return Result.success(pagination);
|
||||
}
|
||||
}
|
||||
|
||||
+11
-4
@@ -1,6 +1,7 @@
|
||||
package com.budwk.app.zhgh.staffbenefit.legal.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.dev33.satoken.annotation.SaMode;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
import com.budwk.app.base.constant.RoleConstant;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
@@ -42,15 +43,21 @@ public class LegalListController {
|
||||
@Inject
|
||||
private LegalApplyService applyService;
|
||||
|
||||
@At("")
|
||||
@At("/")
|
||||
@SaCheckPermission("legal.list")
|
||||
@Ok("beetl:/platform/zhgh/staffbenefit/legal/list/index.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At("/h5")
|
||||
@SaCheckPermission("h5.legal.list")
|
||||
@Ok("beetl:/platform/zhghh5/staffbenefit/legal/list/index.html")
|
||||
public void h5Index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("分页查询")
|
||||
@SaCheckPermission("legal.list")
|
||||
@SaCheckPermission(value = {"legal.list", "h5.legal.list"}, mode = SaMode.OR)
|
||||
public Result pageData(PageForm pageForm,
|
||||
@Param(value = "year") Integer year) {
|
||||
Sql sql = Sqls.create("""
|
||||
@@ -87,9 +94,9 @@ public class LegalListController {
|
||||
|
||||
@At
|
||||
@ApiOperation("删除法律援助预约")
|
||||
@SaCheckPermission("legal.list")
|
||||
@SaCheckPermission(value = {"legal.list", "h5.legal.list"}, mode = SaMode.OR)
|
||||
@SLog(tag = "法律援助系统-法律援助预约", msg = "删除法律援助预约")
|
||||
public Object onDelete(String id) {
|
||||
public Object delete(String id) {
|
||||
LegalApply apply = applyService.fetch(id);
|
||||
apply.setUserId(null);
|
||||
apply.setLoginName(null);
|
||||
|
||||
+15
-7
@@ -1,6 +1,7 @@
|
||||
package com.budwk.app.zhgh.staffbenefit.legal.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.dev33.satoken.annotation.SaMode;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
@@ -50,15 +51,21 @@ public class LegalOnlinePostController {
|
||||
@Inject
|
||||
private BaseService baseService;
|
||||
|
||||
@At("")
|
||||
@At("/")
|
||||
@SaCheckPermission("legal.onlinePost")
|
||||
@Ok("beetl:/platform/zhgh/staffbenefit/legal/onlinePost/index.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At("/h5")
|
||||
@SaCheckPermission("h5.legal.onlinePost")
|
||||
@Ok("beetl:/platform/zhghh5/staffbenefit/legal/onlinePost/index.html")
|
||||
public void h5Index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("分页查询")
|
||||
@SaCheckPermission("legal.onlinePost")
|
||||
@SaCheckPermission(value = {"legal.onlinePost", "h5.legal.onlinePost"}, mode = SaMode.OR)
|
||||
public Result pageData(PageForm pageForm,
|
||||
@Param(value = "year") Integer year,
|
||||
@Param(value = "isReply") Boolean isReply) {
|
||||
@@ -78,6 +85,7 @@ public class LegalOnlinePostController {
|
||||
cnd.andEX("YEAR(pop.postingTime)", "=", year);
|
||||
cnd.groupBy("pop.id");
|
||||
cnd.having(Cnd.where("count(por.id)", isReply == null ? ">=" : isReply ? ">" : "=", 0));
|
||||
cnd.desc("pop.postingTime");
|
||||
sql.setCondition(cnd);
|
||||
Pagination pagination = baseService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
return Result.success(pagination);
|
||||
@@ -85,9 +93,9 @@ public class LegalOnlinePostController {
|
||||
|
||||
@At
|
||||
@ApiOperation("新增/修改法律援助线上发帖")
|
||||
@SaCheckPermission("legal.onlinePost")
|
||||
@SaCheckPermission(value = {"legal.onlinePost", "h5.legal.onlinePost"}, mode = SaMode.OR)
|
||||
@SLog(tag = "法律援助系统-线上发帖", msg = "新增/修改法律援助线上发帖")
|
||||
public Object onSubmit(LegalOnlinePost post) {
|
||||
public Object submit(LegalOnlinePost post) {
|
||||
if(StrUtil.isBlank(post.getId())) {
|
||||
View_user user = dao.fetch(View_user.class, Cnd.where("id", "=", SecurityUtil.getUserId()));
|
||||
post.setPoster(user.getId());
|
||||
@@ -106,16 +114,16 @@ public class LegalOnlinePostController {
|
||||
|
||||
@At
|
||||
@ApiOperation("删除法律援助线上发帖")
|
||||
@SaCheckPermission("legal.onlinePost")
|
||||
@SaCheckPermission(value = {"legal.onlinePost", "h5.legal.onlinePost"}, mode = SaMode.OR)
|
||||
@SLog(tag = "法律援助系统-线上发帖", msg = "删除法律援助线上发帖")
|
||||
public Object onDelete(String id) {
|
||||
public Object delete(String id) {
|
||||
dao.delete(LegalOnlinePost.class, id);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("查询法律援助线上发帖")
|
||||
@SaCheckPermission("legal.onlinePost")
|
||||
@SaCheckPermission(value = {"legal.onlinePost", "h5.legal.onlinePost"}, mode = SaMode.OR)
|
||||
public Result fetchOne(String id) {
|
||||
LegalOnlinePost onlinePost = dao.fetch(LegalOnlinePost.class, id);
|
||||
List<LegalOnlineReply> replyList = dao.query(
|
||||
|
||||
+12
-5
@@ -1,6 +1,7 @@
|
||||
package com.budwk.app.zhgh.staffbenefit.legal.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.dev33.satoken.annotation.SaMode;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
@@ -48,15 +49,21 @@ public class LegalOnlineReplyController {
|
||||
@Inject
|
||||
private BaseService baseService;
|
||||
|
||||
@At("")
|
||||
@At("/")
|
||||
@SaCheckPermission("legal.onlineReply")
|
||||
@Ok("beetl:/platform/zhgh/staffbenefit/legal/onlineReply/index.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At("/h5")
|
||||
@SaCheckPermission("h5.legal.onlineReply")
|
||||
@Ok("beetl:/platform/zhghh5/staffbenefit/legal/onlineReply/index.html")
|
||||
public void h5Index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("分页查询")
|
||||
@SaCheckPermission("legal.onlineReply")
|
||||
@SaCheckPermission(value = {"legal.onlineReply", "h5.legal.onlineReply"}, mode = SaMode.OR)
|
||||
public Result pageData(PageForm pageForm,
|
||||
@Param(value = "year") Integer year,
|
||||
@Param(value = "isReply") Boolean isReply) {
|
||||
@@ -86,9 +93,9 @@ public class LegalOnlineReplyController {
|
||||
|
||||
@At
|
||||
@ApiOperation("新增/修改法律援助线上回复")
|
||||
@SaCheckPermission("legal.onlineReply")
|
||||
@SaCheckPermission(value = {"legal.onlineReply", "h5.legal.onlineReply"}, mode = SaMode.OR)
|
||||
@SLog(tag = "法律援助系统-线上回复", msg = "新增/修改法律援助线上回复")
|
||||
public Object onSubmit(LegalOnlineReply reply) {
|
||||
public Object submit(LegalOnlineReply reply) {
|
||||
if (StrUtil.isBlank(reply.getId())) {
|
||||
View_user user = dao.fetch(View_user.class, Cnd.where("id", "=", SecurityUtil.getUserId()));
|
||||
reply.setReplyUserId(user.getId());
|
||||
@@ -107,7 +114,7 @@ public class LegalOnlineReplyController {
|
||||
|
||||
@At
|
||||
@ApiOperation("查询法律援助线上回复")
|
||||
@SaCheckPermission("legal.onlineReply")
|
||||
@SaCheckPermission(value = {"legal.onlineReply", "h5.legal.onlineReply"}, mode = SaMode.OR)
|
||||
public Result fetchOne(String id) {
|
||||
LegalOnlinePost onlinePost = dao.fetch(LegalOnlinePost.class, id);
|
||||
List<LegalOnlineReply> replyList = dao.query(
|
||||
|
||||
+55
-3
@@ -1,11 +1,16 @@
|
||||
package com.budwk.app.zhgh.staffbenefit.psychology.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.dev33.satoken.annotation.SaMode;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.param.PageForm;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.sys.views.View_user;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import com.budwk.app.zhgh.staffbenefit.condolence.model.Condolence;
|
||||
import com.budwk.app.zhgh.staffbenefit.psychology.model.PsychologyApply;
|
||||
import com.budwk.app.zhgh.staffbenefit.psychology.service.PsychologyApplyService;
|
||||
import io.swagger.annotations.Api;
|
||||
@@ -13,11 +18,17 @@ import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.dao.util.cri.SqlExpressionGroup;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @ClassName PsychologyApplyController
|
||||
* @Author JyuHsin
|
||||
@@ -37,17 +48,23 @@ public class PsychologyApplyController {
|
||||
@Inject
|
||||
private PsychologyApplyService applyService;
|
||||
|
||||
@At("")
|
||||
@At("/")
|
||||
@SaCheckPermission("psychology.apply")
|
||||
@Ok("beetl:/platform/zhgh/staffbenefit/psychology/apply/index.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At("/h5")
|
||||
@SaCheckPermission("h5.psychology.apply")
|
||||
@Ok("beetl:/platform/zhghh5/staffbenefit/psychology/apply/index.html")
|
||||
public void h5Index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("新增/修改心理咨询预约")
|
||||
@SaCheckPermission("psychology.apply")
|
||||
@SaCheckPermission(value = {"psychology.apply", "h5.psychology.apply"}, mode = SaMode.OR)
|
||||
@SLog(tag = "心理咨询系统-心理咨询预约", msg = "新增/修改心理咨询预约")
|
||||
public Object onSubmit(PsychologyApply apply) {
|
||||
public Object submit(PsychologyApply apply) {
|
||||
PsychologyApply psychologyApply = applyService.fetch(apply.getId());
|
||||
if(StrUtil.isNotBlank(psychologyApply.getUserId())) {
|
||||
return Result.error("该时段已被预约");
|
||||
@@ -67,4 +84,39 @@ public class PsychologyApplyController {
|
||||
//TODO:这里后面要加发短信
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("移动端预约查询咨询师")
|
||||
@SaCheckPermission(value = {"psychology.apply", "h5.psychology.apply"}, mode = SaMode.OR)
|
||||
@SLog(tag = "心理咨询系统-移动端预约查询咨询师", msg = "移动端预约查询咨询师")
|
||||
public Object h5PageData(PageForm pageForm, String sex) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
pd.*
|
||||
FROM
|
||||
psychology_doctor pd
|
||||
$condition
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and(Cnd.likeEX("pd.sex", sex));
|
||||
if (StrUtil.isNotBlank(pageForm.getSearchKeyword())) {
|
||||
SqlExpressionGroup seg = new SqlExpressionGroup();
|
||||
seg.or("pd.userName", "like", "%" + pageForm.getSearchKeyword() + "%");
|
||||
seg.or("pd.loginName", "like", "%" + pageForm.getSearchKeyword() + "%");
|
||||
cnd.and(seg);
|
||||
}
|
||||
sql.setCondition(cnd);
|
||||
Pagination pagination = applyService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
List<NutMap> list = pagination.getList(NutMap.class);
|
||||
for (NutMap nutMap : list) {
|
||||
List<PsychologyApply> applyList = dao.query(
|
||||
PsychologyApply.class,
|
||||
Cnd.where(PsychologyApply::getDoctorUser, "=", nutMap.getString("userId"))
|
||||
.and(PsychologyApply::getStartTime, ">=", DateUtil.now())
|
||||
.and(PsychologyApply::getUserId, "is", null)
|
||||
);
|
||||
nutMap.put("times", applyList);
|
||||
}
|
||||
return Result.success(pagination);
|
||||
}
|
||||
}
|
||||
|
||||
+4
-4
@@ -74,9 +74,9 @@ public class PsychologyDoctorController {
|
||||
|
||||
@At
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@ApiOperation("新增/修改心理咨询师")
|
||||
@ApiOperation("新增/修改咨询师")
|
||||
@SaCheckPermission("psychology.doctorManage")
|
||||
@SLog(tag = "心理咨询系统-心理咨询师", msg = "新增/修改心理咨询师")
|
||||
@SLog(tag = "心理咨询系统-咨询师", msg = "新增/修改咨询师")
|
||||
public Object onSubmit(PsychologyDoctor doctor) {
|
||||
Sys_role role = sysRoleService.getByCode(RoleConstant.PSYCHOLOGY_DOCTOR);
|
||||
if(StrUtil.isBlank(doctor.getId())) {
|
||||
@@ -102,9 +102,9 @@ public class PsychologyDoctorController {
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("删除心理咨询师")
|
||||
@ApiOperation("删除咨询师")
|
||||
@SaCheckPermission("psychology.doctorManage")
|
||||
@SLog(tag = "心理咨询系统-心理咨询师", msg = "删除心理咨询师")
|
||||
@SLog(tag = "心理咨询系统-咨询师", msg = "删除咨询师")
|
||||
public Object onDelete(String id) {
|
||||
doctorService.delete(id);
|
||||
return Result.success();
|
||||
|
||||
-67
@@ -1,67 +0,0 @@
|
||||
package com.budwk.app.zhgh.staffbenefit.psychology.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.zhgh.staffbenefit.psychology.model.PsychologyDoctor;
|
||||
import com.budwk.app.zhgh.staffbenefit.psychology.service.PsychologyDoctorService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.lang.Lang;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author zzr
|
||||
* @name:PsychologyIndexController
|
||||
* @Date 2025/9/12 10:54
|
||||
* @version 1.0
|
||||
* @注释
|
||||
*/
|
||||
@Slf4j
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
@Api(tags = "心理咨询")
|
||||
@At("/platform/psychology/index")
|
||||
public class PsychologyIndexController {
|
||||
|
||||
@Inject
|
||||
private PsychologyDoctorService psychologyDoctorService;
|
||||
|
||||
@At("")
|
||||
// @SaCheckPermission("psychology.index")
|
||||
@Ok("beetl:/platform/zhgh/staffbenefit/psychology/index/index.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At
|
||||
// @SaCheckPermission("psychology.index")
|
||||
@Ok("beetl:/platform/zhghh5/staffbenefit/psychology/index/index.html")
|
||||
public void h5() {
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ApiOperation("手机端咨询师列表展示")
|
||||
// @SaCheckPermission("psychology.index")
|
||||
public Result listConsultantByH5(){
|
||||
Pagination<PsychologyDoctor> pagination = psychologyDoctorService.listPage(1, 4, Cnd.NEW());
|
||||
List<PsychologyDoctor> list = pagination.getList();
|
||||
// 判断有没有咨询师,并且咨询师数量小于4的话,要顺序填充到4个,便于前端展示
|
||||
if (Lang.isNotEmpty(list) && list.size() < 4) {
|
||||
List<PsychologyDoctor> filledList = new ArrayList<>(4);
|
||||
for (int i = 0; i < 4; i++) {
|
||||
filledList.add(list.get(i % list.size()));
|
||||
}
|
||||
pagination.setList(filledList);
|
||||
}
|
||||
return Result.success(pagination.getList());
|
||||
}
|
||||
}
|
||||
+11
-4
@@ -1,6 +1,7 @@
|
||||
package com.budwk.app.zhgh.staffbenefit.psychology.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.dev33.satoken.annotation.SaMode;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
import com.budwk.app.base.constant.RoleConstant;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
@@ -43,15 +44,21 @@ public class PsychologyListController {
|
||||
@Inject
|
||||
private PsychologyApplyService applyService;
|
||||
|
||||
@At("")
|
||||
@At("/")
|
||||
@SaCheckPermission("psychology.list")
|
||||
@Ok("beetl:/platform/zhgh/staffbenefit/psychology/list/index.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At("/h5")
|
||||
@SaCheckPermission("h5.psychology.list")
|
||||
@Ok("beetl:/platform/zhghh5/staffbenefit/psychology/list/index.html")
|
||||
public void h5Index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("分页查询")
|
||||
@SaCheckPermission("psychology.list")
|
||||
@SaCheckPermission(value = {"psychology.list", "h5.psychology.list"}, mode = SaMode.OR)
|
||||
public Result pageData(PageForm pageForm,
|
||||
@Param(value = "year") Integer year) {
|
||||
Sql sql = Sqls.create("""
|
||||
@@ -88,9 +95,9 @@ public class PsychologyListController {
|
||||
|
||||
@At
|
||||
@ApiOperation("删除心理咨询预约")
|
||||
@SaCheckPermission("psychology.list")
|
||||
@SaCheckPermission(value = {"psychology.list", "h5.psychology.list"}, mode = SaMode.OR)
|
||||
@SLog(tag = "心理咨询系统-心理咨询预约", msg = "删除心理咨询预约")
|
||||
public Object onDelete(String id) {
|
||||
public Object delete(String id) {
|
||||
PsychologyApply apply = applyService.fetch(id);
|
||||
apply.setUserId(null);
|
||||
apply.setLoginName(null);
|
||||
|
||||
+15
-7
@@ -1,6 +1,7 @@
|
||||
package com.budwk.app.zhgh.staffbenefit.psychology.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.dev33.satoken.annotation.SaMode;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
@@ -50,15 +51,21 @@ public class PsychologyOnlinePostController {
|
||||
@Inject
|
||||
private BaseService baseService;
|
||||
|
||||
@At("")
|
||||
@At("/")
|
||||
@SaCheckPermission("psychology.onlinePost")
|
||||
@Ok("beetl:/platform/zhgh/staffbenefit/psychology/onlinePost/index.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At("/h5")
|
||||
@SaCheckPermission("h5.psychology.onlinePost")
|
||||
@Ok("beetl:/platform/zhghh5/staffbenefit/psychology/onlinePost/index.html")
|
||||
public void h5Index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("分页查询")
|
||||
@SaCheckPermission("psychology.onlinePost")
|
||||
@SaCheckPermission(value = {"psychology.onlinePost", "h5.psychology.onlinePost"}, mode = SaMode.OR)
|
||||
public Result pageData(PageForm pageForm,
|
||||
@Param(value = "year") Integer year,
|
||||
@Param(value = "isReply") Boolean isReply) {
|
||||
@@ -78,6 +85,7 @@ public class PsychologyOnlinePostController {
|
||||
cnd.andEX("YEAR(pop.postingTime)", "=", year);
|
||||
cnd.groupBy("pop.id");
|
||||
cnd.having(Cnd.where("count(por.id)", isReply == null ? ">=" : isReply ? ">" : "=", 0));
|
||||
cnd.desc("pop.postingTime");
|
||||
sql.setCondition(cnd);
|
||||
Pagination pagination = baseService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
return Result.success(pagination);
|
||||
@@ -85,9 +93,9 @@ public class PsychologyOnlinePostController {
|
||||
|
||||
@At
|
||||
@ApiOperation("新增/修改心理咨询线上发帖")
|
||||
@SaCheckPermission("psychology.onlinePost")
|
||||
@SaCheckPermission(value = {"psychology.onlinePost", "h5.psychology.onlinePost"}, mode = SaMode.OR)
|
||||
@SLog(tag = "心理咨询系统-线上发帖", msg = "新增/修改心理咨询线上发帖")
|
||||
public Object onSubmit(PsychologyOnlinePost post) {
|
||||
public Object submit(PsychologyOnlinePost post) {
|
||||
if(StrUtil.isBlank(post.getId())) {
|
||||
View_user user = dao.fetch(View_user.class, Cnd.where("id", "=", SecurityUtil.getUserId()));
|
||||
post.setPoster(user.getId());
|
||||
@@ -106,16 +114,16 @@ public class PsychologyOnlinePostController {
|
||||
|
||||
@At
|
||||
@ApiOperation("删除心理咨询线上发帖")
|
||||
@SaCheckPermission("psychology.onlinePost")
|
||||
@SaCheckPermission(value = {"psychology.onlinePost", "h5.psychology.onlinePost"}, mode = SaMode.OR)
|
||||
@SLog(tag = "心理咨询系统-线上发帖", msg = "删除心理咨询线上发帖")
|
||||
public Object onDelete(String id) {
|
||||
public Object delete(String id) {
|
||||
dao.delete(PsychologyOnlinePost.class, id);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("查询心理咨询线上发帖")
|
||||
@SaCheckPermission("psychology.onlinePost")
|
||||
@SaCheckPermission(value = {"psychology.onlinePost", "h5.psychology.onlinePost"}, mode = SaMode.OR)
|
||||
public Result fetchOne(String id) {
|
||||
PsychologyOnlinePost onlinePost = dao.fetch(PsychologyOnlinePost.class, id);
|
||||
List<PsychologyOnlineReply> replyList = dao.query(
|
||||
|
||||
+12
-5
@@ -1,6 +1,7 @@
|
||||
package com.budwk.app.zhgh.staffbenefit.psychology.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.dev33.satoken.annotation.SaMode;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
@@ -48,15 +49,21 @@ public class PsychologyOnlineReplyController {
|
||||
@Inject
|
||||
private BaseService baseService;
|
||||
|
||||
@At("")
|
||||
@At("/")
|
||||
@SaCheckPermission("psychology.onlineReply")
|
||||
@Ok("beetl:/platform/zhgh/staffbenefit/psychology/onlineReply/index.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At("/h5")
|
||||
@SaCheckPermission("h5.psychology.onlineReply")
|
||||
@Ok("beetl:/platform/zhghh5/staffbenefit/psychology/onlineReply/index.html")
|
||||
public void h5Index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("分页查询")
|
||||
@SaCheckPermission("psychology.onlineReply")
|
||||
@SaCheckPermission(value = {"psychology.onlineReply", "h5.psychology.onlineReply"}, mode = SaMode.OR)
|
||||
public Result pageData(PageForm pageForm,
|
||||
@Param(value = "year") Integer year,
|
||||
@Param(value = "isReply") Boolean isReply) {
|
||||
@@ -86,9 +93,9 @@ public class PsychologyOnlineReplyController {
|
||||
|
||||
@At
|
||||
@ApiOperation("新增/修改心理咨询线上回复")
|
||||
@SaCheckPermission("psychology.onlineReply")
|
||||
@SaCheckPermission(value = {"psychology.onlineReply", "h5.psychology.onlineReply"}, mode = SaMode.OR)
|
||||
@SLog(tag = "心理咨询系统-线上回复", msg = "新增/修改心理咨询线上回复")
|
||||
public Object onSubmit(PsychologyOnlineReply reply) {
|
||||
public Object submit(PsychologyOnlineReply reply) {
|
||||
if (StrUtil.isBlank(reply.getId())) {
|
||||
View_user user = dao.fetch(View_user.class, Cnd.where("id", "=", SecurityUtil.getUserId()));
|
||||
reply.setReplyUserId(user.getId());
|
||||
@@ -107,7 +114,7 @@ public class PsychologyOnlineReplyController {
|
||||
|
||||
@At
|
||||
@ApiOperation("查询心理咨询线上回复")
|
||||
@SaCheckPermission("psychology.onlineReply")
|
||||
@SaCheckPermission(value = {"psychology.onlineReply", "h5.psychology.onlineReply"}, mode = SaMode.OR)
|
||||
public Result fetchOne(String id) {
|
||||
PsychologyOnlinePost onlinePost = dao.fetch(PsychologyOnlinePost.class, id);
|
||||
List<PsychologyOnlineReply> replyList = dao.query(
|
||||
|
||||
Reference in New Issue
Block a user