Merge remote-tracking branch 'origin/main'
This commit is contained in:
+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;
|
||||
}
|
||||
+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,
|
||||
|
||||
+56
@@ -6,6 +6,7 @@ import cn.dev33.satoken.annotation.SaMode;
|
||||
import cn.hutool.core.lang.Dict;
|
||||
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.flow.constant.FlowConst;
|
||||
@@ -16,18 +17,24 @@ import com.budwk.app.flow.enums.ProcessSubmitTypeEnum;
|
||||
import com.budwk.app.flow.service.FlowCommonService;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import com.budwk.app.zhgh.staffbenefit.dsznfmtx.models.Dsznfmtx;
|
||||
import com.budwk.app.zhgh.staffbenefit.dsznfmtx.service.DsznfmtxService;
|
||||
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.util.NutMap;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@@ -49,6 +56,8 @@ public class DsznfmtxApplyController {
|
||||
@Inject
|
||||
private BaseService baseService;
|
||||
@Inject
|
||||
private DsznfmtxService dsznfmtxService;
|
||||
@Inject
|
||||
private FlowEngine flowEngine;
|
||||
@Inject
|
||||
private FlowCommonService flowCommonService;
|
||||
@@ -111,6 +120,53 @@ public class DsznfmtxApplyController {
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@Ok("json")
|
||||
@ApiOperation("是否为退休、离休、离退休人员")
|
||||
@SaCheckPermission(value = {"dsznfmtx.apply", "h5.dsznfmtx.apply"}, mode = SaMode.OR)
|
||||
public Object checkRetirementStatus(HttpServletRequest req) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
info.id,
|
||||
info.userState
|
||||
FROM
|
||||
sys_user info
|
||||
$condition
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and("info.id", "=", SecurityUtil.getUserId());
|
||||
sql.setCondition(cnd);
|
||||
List<NutMap> map = dsznfmtxService.listMap(sql);
|
||||
|
||||
if (!map.isEmpty()) {
|
||||
NutMap user = map.get(0);
|
||||
String userState = user.getString("userState");
|
||||
// 检查用户状态是否为退休相关状态
|
||||
if ("退休".equals(userState) || "离休".equals(userState) || "离退休".equals(userState)) {
|
||||
return Result.success(true);
|
||||
}
|
||||
}
|
||||
|
||||
return Result.success(false);
|
||||
|
||||
}
|
||||
|
||||
@At
|
||||
@Ok("json")
|
||||
@ApiOperation("是否已经申请过")
|
||||
@SaCheckPermission(value = {"dsznfmtx.apply", "h5.dsznfmtx.apply"}, mode = SaMode.OR)
|
||||
public Object checkUserApplied(HttpServletRequest req) {
|
||||
try {
|
||||
// 查询该用户是否已有申请记录
|
||||
long count = dao.count(Dsznfmtx.class, Cnd.where("userId", "=", SecurityUtil.getUserId()));
|
||||
// 返回true表示已申请,false表示未申请
|
||||
return Result.success(count > 0);
|
||||
} catch (Exception e) {
|
||||
log.error("检查用户申请状态失败", e);
|
||||
return Result.error("检查用户申请状态失败");
|
||||
}
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckLogin
|
||||
public Result findOne(String id) {
|
||||
|
||||
@@ -146,5 +146,6 @@ public class Dsznfmtx extends BaseModel implements Serializable {
|
||||
@Comment("办证机关")
|
||||
private String office;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -126,7 +126,7 @@ public class MaternityLeaveCollectController {
|
||||
@At
|
||||
@ApiOperation("删除")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@SaCheckPermission(value = {"maternityLeave.mine", "h5.maternityLeave.mine"}, mode = SaMode.OR)
|
||||
@SaCheckPermission(value = {"maternityLeave.collect", "h5.maternityLeave.collect"}, mode = SaMode.OR)
|
||||
@SLog( tag = "删除工会报销", msg = "删除工会报销")
|
||||
public Result delete(@Param("id") String id) {
|
||||
maternityLeaveService.delete(id);
|
||||
|
||||
+1
-1
@@ -53,7 +53,7 @@ public class MaternityLeaveSchoolAuditController {
|
||||
|
||||
@At
|
||||
@ApiOperation("分页查询")
|
||||
@SaCheckPermission(value = {"maternityLeave.unionAudit", "h5.maternityLeave.unionAudit"}, mode = SaMode.OR)
|
||||
@SaCheckPermission(value = {"maternityLeave.schoolAudit", "h5.maternityLeave.schoolAudit"}, mode = SaMode.OR)
|
||||
public Result pageData(PageForm pageForm,
|
||||
boolean approval,
|
||||
Integer year,
|
||||
|
||||
Reference in New Issue
Block a user