# Conflicts:
#	src/main/resources/views/platform/zhgh/staffbenefit/dsznfmtx/apply/index.html
This commit is contained in:
=
2025-09-19 09:39:00 +08:00
183 changed files with 4782 additions and 2271 deletions
@@ -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);
}
}
@@ -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(
@@ -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();
@@ -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);
}
}
@@ -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);
}
}
@@ -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();
}
}
@@ -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;
}
@@ -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;
}
@@ -19,7 +19,7 @@ import java.util.List;
* @Description TODO
*/
@Data
@Comment("慈善捐专题")
@Comment("慈善捐专题")
@Accessors(chain = true)
@Table("contribution_type")
@EqualsAndHashCode(callSuper = true)
@@ -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);
@@ -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);
}
}
@@ -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);
@@ -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(
@@ -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(
@@ -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);
}
}
@@ -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();
@@ -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
* @namePsychologyIndexController
* @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());
}
}
@@ -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);
@@ -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(
@@ -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(