..
This commit is contained in:
+127
@@ -0,0 +1,127 @@
|
||||
package com.budwk.app.zhgh.dayofficework.birthdayWishes.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
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.models.Sys_task;
|
||||
import com.budwk.app.sys.services.SysTaskService;
|
||||
import com.budwk.app.task.services.TaskPlatformService;
|
||||
import com.budwk.app.zhgh.dayofficework.birthdayWishes.models.BirthdayWishesPlan;
|
||||
import com.budwk.app.zhgh.dayofficework.birthdayWishes.service.BirthdayWishesService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Chain;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.ioc.aop.Aop;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.json.Json;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
@IocBean
|
||||
@At("/platform/birthdayWishes/plan")
|
||||
@Ok("json:full")
|
||||
@Api(tags = "生日祝福")
|
||||
public class BirthdayWishesPlanController {
|
||||
|
||||
@Inject
|
||||
private Dao dao;
|
||||
@Inject
|
||||
private BirthdayWishesService birthdayWishesService;
|
||||
@Inject
|
||||
private SysTaskService sysTaskService;
|
||||
@Inject
|
||||
private TaskPlatformService taskPlatformService;
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/zhgh/dayofficework/birthdayWishes/plan/index.html")
|
||||
@SaCheckPermission("birthdayWishes")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@Ok("json:full")
|
||||
@SaCheckPermission("birthdayWishes")
|
||||
public Result pageData(PageForm pageForm) {
|
||||
Cnd cnd = Cnd.NEW();
|
||||
Pagination pagination = birthdayWishesService.listPage(pageForm.getPageNumber(), pageForm.getPageSize(), cnd);
|
||||
return Result.success(pagination);
|
||||
}
|
||||
|
||||
@At
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@ApiOperation("添加计划")
|
||||
@SaCheckPermission("birthdayWishes")
|
||||
public Result insert(BirthdayWishesPlan wishesPlan) {
|
||||
dao.insert(wishesPlan);
|
||||
|
||||
// 插入定时任务
|
||||
Sys_task sysTask = new Sys_task();
|
||||
sysTask.setId(wishesPlan.getId());
|
||||
sysTask.setName(wishesPlan.getName());
|
||||
sysTask.setJobClass("com.budwk.app.zhgh.dayofficework.birthdayWishes.task.BirthdayWishesTask");
|
||||
sysTask.setCron(wishesPlan.getCron());
|
||||
sysTask.setData(Json.toJson(wishesPlan));
|
||||
sysTask.setDisabled(!wishesPlan.getEnabled());
|
||||
// sysTaskService.fastInsert(sysTask);
|
||||
sysTaskService.insert("sys_task", Chain.from(sysTask));
|
||||
|
||||
// 添加定时任务
|
||||
if (wishesPlan.getEnabled()) {
|
||||
if (!taskPlatformService.isExist(sysTask.getId(), sysTask.getId())) {
|
||||
taskPlatformService.add(sysTask.getId(), sysTask.getId(), sysTask.getJobClass(), sysTask.getCron(), sysTask.getNote(), sysTask.getData());
|
||||
}
|
||||
}
|
||||
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@ApiOperation("更新计划")
|
||||
@SaCheckPermission("birthdayWishes")
|
||||
public Result update(BirthdayWishesPlan wishesPlan) {
|
||||
dao.update(wishesPlan);
|
||||
|
||||
Sys_task sysTask = sysTaskService.fetch(wishesPlan.getId());
|
||||
sysTask.setName(wishesPlan.getName());
|
||||
sysTask.setCron(wishesPlan.getCron());
|
||||
sysTask.setData(Json.toJson(wishesPlan));
|
||||
sysTask.setDisabled(!wishesPlan.getEnabled());
|
||||
sysTaskService.update(sysTask);
|
||||
|
||||
if (wishesPlan.getEnabled()) {
|
||||
if (taskPlatformService.isExist(sysTask.getId(), sysTask.getId())) {
|
||||
taskPlatformService.delete(sysTask.getId(), sysTask.getId());
|
||||
}
|
||||
taskPlatformService.add(sysTask.getId(), sysTask.getId(), sysTask.getJobClass(), sysTask.getCron(), sysTask.getNote(), sysTask.getData());
|
||||
} else {
|
||||
if (taskPlatformService.isExist(sysTask.getId(), sysTask.getId())) {
|
||||
taskPlatformService.delete(sysTask.getId(), sysTask.getId());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@ApiOperation("删除计划")
|
||||
@SaCheckPermission("birthdayWishes")
|
||||
public Result delete(@Param("id") String id) {
|
||||
dao.delete(BirthdayWishesPlan.class, id);
|
||||
dao.clear(Sys_task.class, Cnd.where(Sys_task::getId, "=", id));
|
||||
if (taskPlatformService.isExist(id, id)) {
|
||||
taskPlatformService.delete(id, id);
|
||||
}
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
package com.budwk.app.zhgh.dayofficework.birthdayWishes.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;
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@Table("birthday_wishes_plan")
|
||||
@Comment("生日祝福计划")
|
||||
public class BirthdayWishesPlan extends BaseModel {
|
||||
|
||||
@Name
|
||||
@Comment("ID")
|
||||
@PrevInsert(uu32 = true)
|
||||
private String id;
|
||||
|
||||
@Comment("计划名称")
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
private String name;
|
||||
|
||||
@Comment("定时任务")
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
private String cron;
|
||||
|
||||
@Comment("模板")
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 200)
|
||||
private String template;
|
||||
|
||||
@Comment("是否启用")
|
||||
@Column
|
||||
@ColDefine(type = ColType.BOOLEAN)
|
||||
@Default("1")
|
||||
private Boolean enabled;
|
||||
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
package com.budwk.app.zhgh.dayofficework.birthdayWishes.service;
|
||||
|
||||
import com.budwk.app.base.service.BaseService;
|
||||
import com.budwk.app.zhgh.dayofficework.birthdayWishes.models.BirthdayWishesPlan;
|
||||
|
||||
public interface BirthdayWishesService extends BaseService<BirthdayWishesPlan> {
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
package com.budwk.app.zhgh.dayofficework.birthdayWishes.service.impl;
|
||||
|
||||
import com.budwk.app.base.service.impl.BaseServiceImpl;
|
||||
import com.budwk.app.zhgh.dayofficework.birthdayWishes.models.BirthdayWishesPlan;
|
||||
import com.budwk.app.zhgh.dayofficework.birthdayWishes.service.BirthdayWishesService;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
|
||||
@IocBean(args = {"refer:dao"})
|
||||
public class BirthdayWishesServiceImpl extends BaseServiceImpl<BirthdayWishesPlan> implements BirthdayWishesService {
|
||||
public BirthdayWishesServiceImpl(Dao dao) {
|
||||
super(dao);
|
||||
}
|
||||
}
|
||||
+61
@@ -0,0 +1,61 @@
|
||||
package com.budwk.app.zhgh.dayofficework.birthdayWishes.task;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.budwk.app.sys.models.Sys_msg;
|
||||
import com.budwk.app.sys.services.SysMsgService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.json.Json;
|
||||
import org.quartz.Job;
|
||||
import org.quartz.JobDataMap;
|
||||
import org.quartz.JobExecutionContext;
|
||||
import org.quartz.JobExecutionException;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@IocBean
|
||||
@Slf4j
|
||||
public class BirthdayWishesTask implements Job {
|
||||
|
||||
@Inject
|
||||
protected SysMsgService sysMsgService;
|
||||
@Inject
|
||||
protected Dao dao;
|
||||
|
||||
|
||||
@Override
|
||||
public void execute(JobExecutionContext context) throws JobExecutionException {
|
||||
log.info("=================================执行计划任务:{}", context.getJobDetail().getKey().getName());
|
||||
JobDataMap dataMap = context.getJobDetail().getJobDataMap();
|
||||
log.info("=================================参数:{}", Json.toJson(dataMap));
|
||||
|
||||
String planName = dataMap.getString("name");
|
||||
|
||||
String today = DateUtil.today();
|
||||
|
||||
Sys_msg msg = new Sys_msg();
|
||||
msg.setTitle(planName + today);
|
||||
msg.setType("user");
|
||||
msg.setSendType("show");
|
||||
msg.setSendAt(DateUtil.current());
|
||||
msg.setNote(dataMap.getString("template"));
|
||||
|
||||
// 查询今天生日的会员用户
|
||||
Sql sql = Sqls.create("SELECT loginname FROM sys_user WHERE member = 1 AND MONTH(birthday) = MONTH(CURRENT_DATE) AND DAY(birthday) = DAY(CURRENT_DATE)");
|
||||
sql.setCallback(Sqls.callback.strList());
|
||||
dao.execute(sql);
|
||||
List<String> users = sql.getList(String.class);
|
||||
// 转为数组
|
||||
String[] userArray = users.toArray(String[]::new);
|
||||
log.info("=================================查询今天生日会员用户:{}", users);
|
||||
|
||||
if(userArray.length > 0){
|
||||
log.info("=================================发送消息:{}", msg);
|
||||
sysMsgService.saveMsg(msg, userArray, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
+10
-5
@@ -1,6 +1,8 @@
|
||||
package com.budwk.app.zhgh.staffbenefit.huimin.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckLogin;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.param.PageForm;
|
||||
import com.budwk.app.base.result.Result;
|
||||
@@ -27,21 +29,24 @@ public class HuiminManageController {
|
||||
private HuiminService huiminService;
|
||||
|
||||
@At("")
|
||||
@SaCheckLogin
|
||||
@Ok("beetl:/platform/zhgh/dayofficework/huimin/manage/index.html")
|
||||
@SaCheckPermission("huimin.manage")
|
||||
@Ok("beetl:/platform/zhgh/staffbenefit/huimin/manage/index.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckLogin
|
||||
@SaCheckPermission("huimin.manage")
|
||||
public Result pageData(PageForm pageForm) {
|
||||
Cnd cnd = Cnd.NEW();
|
||||
if(StrUtil.isNotBlank(pageForm.getSearchKeyword())){
|
||||
cnd.where().andLike(Huimin::getTitle, pageForm.getSearchKeyword());
|
||||
}
|
||||
Pagination pagination = huiminService.listPage(pageForm.getPageNumber(), pageForm.getPageSize(), cnd);
|
||||
return Result.success(pagination);
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckLogin
|
||||
@SaCheckPermission("huimin.manage")
|
||||
@ApiOperation("新增惠民服务")
|
||||
public Result insert(@Param("data") Huimin huimin) {
|
||||
huiminService.insert(huimin);
|
||||
@@ -57,7 +62,7 @@ public class HuiminManageController {
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckLogin
|
||||
@SaCheckPermission("huimin.manage")
|
||||
@ApiOperation("删除惠民服务")
|
||||
public Result delete(String id) {
|
||||
huiminService.delete(id);
|
||||
|
||||
+12
-6
@@ -1,9 +1,12 @@
|
||||
package com.budwk.app.zhgh.staffbenefit.huimin.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckLogin;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.dev33.satoken.annotation.SaMode;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
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.huimin.models.Huimin;
|
||||
import com.budwk.app.zhgh.staffbenefit.huimin.service.HuiminService;
|
||||
import io.swagger.annotations.Api;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -24,22 +27,25 @@ public class HuiminMineController {
|
||||
private HuiminService huiminService;
|
||||
|
||||
@At("")
|
||||
@SaCheckLogin
|
||||
@SaCheckPermission("huimin.mine")
|
||||
@Ok("beetl:/platform/zhgh/staffbenefit/huimin/mine/index.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At("/h5")
|
||||
@SaCheckLogin
|
||||
@SaCheckPermission("h5.huimin.mine")
|
||||
@Ok("beetl:/platform/zhghh5/staffbenefit/huimin/mine/index.html")
|
||||
public void h5Index(){
|
||||
public void h5Index() {
|
||||
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckLogin
|
||||
public Result pageData(PageForm pageForm){
|
||||
@SaCheckPermission(value = {"huimin.mine", "h5.huimin.mine"}, mode = SaMode.OR)
|
||||
public Result pageData(PageForm pageForm) {
|
||||
Cnd cnd = Cnd.NEW();
|
||||
if (StrUtil.isNotBlank(pageForm.getSearchKeyword())) {
|
||||
cnd.where().andLike(Huimin::getTitle, pageForm.getSearchKeyword());
|
||||
}
|
||||
Pagination pagination = huiminService.listPage(pageForm.getPageNumber(), pageForm.getPageSize(), cnd);
|
||||
return Result.success(pagination);
|
||||
}
|
||||
|
||||
@@ -39,4 +39,14 @@ public class Huimin extends BaseModel {
|
||||
@Default("1")
|
||||
private Boolean enable;
|
||||
|
||||
@Comment("外部链接")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 255)
|
||||
@Column
|
||||
private String link;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.INT)
|
||||
@Comment("分组id")
|
||||
private Integer groupId;
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user