init
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
package io.v.nutz.zhgh.benefiting.controller;
|
||||
|
||||
import io.v.nutz.base.annontation.ViReturn;
|
||||
import io.v.nutz.base.service.BaseService;
|
||||
import io.v.nutz.base.dao.CndPlus;
|
||||
import io.v.nutz.base.query.PageForm;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.nutz.dao.Cnd;
|
||||
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.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
/**
|
||||
* @ClassName BenefitingExhibitController
|
||||
* @Description TODO 惠民服务 商品展示
|
||||
* @Author zzr
|
||||
* @Date 2023/7/27 14:40
|
||||
*/
|
||||
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
@At("/platform/benefiting/exhibit")
|
||||
public class BenefitingExhibitController {
|
||||
|
||||
@Inject
|
||||
private BaseService baseService;
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/benefiting/exhibit.html")
|
||||
@RequiresPermissions("benefiting.people.exhibit")
|
||||
public void index() {}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("benefiting.people.exhibit")
|
||||
public Object pageData(PageForm pageForm,
|
||||
@Param(value = "year", required = false) Integer year,
|
||||
@Param(value = "projectId", required = false) String projectId,
|
||||
@Param(value = "types", required = false) String[] types,
|
||||
@Param(value = "goodsName", required = false) String goodsName) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
be.*,
|
||||
bp.projectName,
|
||||
bp.`year`,
|
||||
bt.typeName
|
||||
FROM
|
||||
`benefiting_exhibit` be
|
||||
LEFT JOIN `benefiting_project` bp ON be.projectId = bp.id
|
||||
left join `benefiting_type` bt on be.typeId=bt.id
|
||||
$condition
|
||||
""");
|
||||
CndPlus cnd = CndPlus.create();
|
||||
cnd.andEX("bp.`year`","=",year);
|
||||
cnd.andEX("be.projectId","=",projectId);
|
||||
cnd.and(Cnd.likeEX("be.goodsName",goodsName));
|
||||
if (types != null && types.length > 0) {
|
||||
cnd.andEX("be.typeId", "in", types);
|
||||
}
|
||||
sql.setCondition(cnd);
|
||||
return baseService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
}
|
||||
}
|
||||
+99
@@ -0,0 +1,99 @@
|
||||
package io.v.nutz.zhgh.benefiting.controller;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import io.v.nutz.base.annontation.ViReturn;
|
||||
import io.v.nutz.zhgh.benefiting.model.BenefitingExhibit;
|
||||
import io.v.nutz.zhgh.benefiting.model.BenefitingProject;
|
||||
import io.v.nutz.zhgh.benefiting.service.BenefitingProjectService;
|
||||
import io.v.nutz.base.query.PageForm;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Cnd;
|
||||
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.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
/**
|
||||
* @ClassName BenefitingProjectManageController
|
||||
* @Description TODO 惠民服务 项目管理
|
||||
* @Author zzr
|
||||
* @Date 2023/7/27 14:40
|
||||
*/
|
||||
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
@At("/platform/benefiting/manage")
|
||||
public class BenefitingProjectManageController {
|
||||
|
||||
@Inject
|
||||
private BenefitingProjectService benefitingProjectService;
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/benefiting/manage.html")
|
||||
@RequiresPermissions("benefiting.people.manage")
|
||||
public void index() {}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("benefiting.people.manage")
|
||||
public Object pageData(PageForm pageForm,
|
||||
@Param(value = "year",required = false)Integer year,
|
||||
@Param(value = "projectName",required = false)String projectName){
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.andEX("year", "=", year);
|
||||
cnd.andEX("projectName", "=", projectName);
|
||||
cnd.desc("createTime");
|
||||
return benefitingProjectService.list(pageForm,cnd);
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@RequiresPermissions("benefiting.people.manage")
|
||||
public Object doAdd(BenefitingProject project, @Param(value = "deleteRowIds", required = false) String[] deleteRowIds){
|
||||
if (Strings.isBlank(project.getId())){
|
||||
project.setYear(DateUtil.thisYear());
|
||||
project.setCreateTime(DateUtil.dateSecond());
|
||||
benefitingProjectService.insertWith(project, "benefitingExhibits");
|
||||
}else {
|
||||
benefitingProjectService.dao().clear(BenefitingExhibit.class, Cnd.where("id", "in", deleteRowIds));
|
||||
project.getBenefitingExhibits().forEach(v -> {
|
||||
v.setProjectId(project.getId());
|
||||
});
|
||||
benefitingProjectService.dao().insertOrUpdate(project.getBenefitingExhibits());
|
||||
benefitingProjectService.update(project);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("benefiting.people.manage")
|
||||
public Object findOne(String id){
|
||||
return benefitingProjectService.findOne(id);
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("benefiting.people.manage")
|
||||
public Object doDelete(String id){
|
||||
benefitingProjectService.delete(id);
|
||||
benefitingProjectService.dao().clear(BenefitingExhibit.class, Cnd.where("projectId", "=", id));
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("benefiting.people.manage")
|
||||
public Object getAll(){
|
||||
return benefitingProjectService.query();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,104 @@
|
||||
package io.v.nutz.zhgh.benefiting.controller;
|
||||
|
||||
import cn.wizzer.framework.base.Result;
|
||||
import io.v.nutz.base.annontation.ViReturn;
|
||||
import io.v.nutz.base.service.BaseService;
|
||||
import io.v.nutz.zhgh.benefiting.model.BenefitingType;
|
||||
import io.v.nutz.base.query.PageForm;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.nutz.dao.Cnd;
|
||||
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.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
/**
|
||||
* @ClassName BenefitingTypeController
|
||||
* @Description TODO 惠民服务 类型管理
|
||||
* @Author zzr
|
||||
* @Date 2023/7/27 14:40
|
||||
*/
|
||||
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
@At("/platform/benefiting/type")
|
||||
public class BenefitingTypeController {
|
||||
|
||||
@Inject
|
||||
private BaseService baseService;
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/benefiting/type.html")
|
||||
@RequiresPermissions("benefiting.people.type")
|
||||
public void index() {}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("benefiting.people.type")
|
||||
public Object pageData(PageForm pageForm, @Param(value = "typeName",required = false)String typeName){
|
||||
Cnd cnd = Cnd.NEW();
|
||||
Sql sql = Sqls.create("select * from benefiting_type $condition");
|
||||
cnd.and(Cnd.likeEX("typeName",typeName));
|
||||
cnd.asc("sortNum");
|
||||
sql.setCondition(cnd);
|
||||
return baseService.listPageMap(pageForm.getPageNumber(),pageForm.getPageSize(),sql);
|
||||
}
|
||||
|
||||
@At
|
||||
@RequiresPermissions("benefiting.people.type")
|
||||
public Object doAdd(BenefitingType type) {
|
||||
try {
|
||||
int count = baseService.count("benefiting_type", Cnd.where("typeCode", "=", type.getTypeCode()));
|
||||
if (count > 0) {
|
||||
return Result.error("编码重复");
|
||||
}
|
||||
baseService.dao().insert(type);
|
||||
return Result.success();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return Result.error();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@At
|
||||
@RequiresPermissions("benefiting.people.type")
|
||||
public Object doEdit(BenefitingType type) {
|
||||
try {
|
||||
int count = baseService.count("benefiting_type", Cnd.where("typeCode", "=", type.getTypeCode()).and("id", "!=", type.getId()));
|
||||
if (count > 0) {
|
||||
return Result.error("编码重复");
|
||||
}
|
||||
baseService.dao().update(type);
|
||||
return Result.success();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return Result.error();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@RequiresPermissions("benefiting.people.type")
|
||||
public Object doDelete(String id) {
|
||||
try {
|
||||
//baseService.clear("benefiting_type", Cnd.where("id", "=", id));
|
||||
return Result.success();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return Result.error();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("benefiting.people.type")
|
||||
public Object findAllType(){
|
||||
return baseService.dao().query(BenefitingType.class,Cnd.NEW());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
package io.v.nutz.zhgh.benefiting.model;
|
||||
|
||||
import io.v.nutz.base.model.BaseModel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.nutz.dao.entity.annotation.*;
|
||||
import org.nutz.dao.interceptor.annotation.PrevInsert;
|
||||
|
||||
/**
|
||||
* @ClassName BenefitingExhibit
|
||||
* @Description TODO 惠民服务 商品表
|
||||
* @Author zzr
|
||||
* @Date 2023/7/27 14:40
|
||||
*/
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@Table
|
||||
@Comment("惠民服务 商品表")
|
||||
public class BenefitingExhibit extends BaseModel {
|
||||
|
||||
@Column
|
||||
@Name
|
||||
@Comment("ID")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@PrevInsert(uu32 = true)
|
||||
private String id;
|
||||
|
||||
@Column
|
||||
@Comment("项目id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String projectId;
|
||||
|
||||
@Column
|
||||
@Comment("类别id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String typeId;
|
||||
|
||||
@Column
|
||||
@Comment("排序编号")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
private String sortNum;
|
||||
|
||||
@Column
|
||||
@Comment("货物名称")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
private String goodsName;
|
||||
|
||||
@Column
|
||||
@Comment("货物价格")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
private String goodsPrice;
|
||||
|
||||
@Column
|
||||
@Comment("货物库存")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
private String goodsCount;
|
||||
|
||||
@Column
|
||||
@Comment("货物图片")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 100)
|
||||
private String imgUrl;
|
||||
|
||||
@Column
|
||||
@Comment("厂商")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
private String manufacturer;
|
||||
|
||||
@Column
|
||||
@Comment("货物详情")
|
||||
@ColDefine(type = ColType.TEXT)
|
||||
private String description;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
package io.v.nutz.zhgh.benefiting.model;
|
||||
|
||||
import io.v.nutz.base.model.BaseModel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.nutz.dao.entity.annotation.*;
|
||||
import org.nutz.dao.interceptor.annotation.PrevInsert;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @ClassName BenefitingProject
|
||||
* @Description TODO 惠民服务 项目表
|
||||
* @Author zzr
|
||||
* @Date 2023/7/27 14:40
|
||||
*/
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@Table
|
||||
@Comment("惠民服务 项目表")
|
||||
public class BenefitingProject extends BaseModel {
|
||||
|
||||
|
||||
@Column
|
||||
@Name
|
||||
@Comment("ID")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@PrevInsert(uu32 = true)
|
||||
private String id;
|
||||
|
||||
@Column
|
||||
@Comment("年度")
|
||||
@ColDefine(type = ColType.INT, width = 4)
|
||||
private Integer year;
|
||||
|
||||
@Column
|
||||
@Comment("项目名称")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 100)
|
||||
private String projectName;
|
||||
|
||||
@Column
|
||||
@Comment("创建时间")
|
||||
@ColDefine(type = ColType.DATETIME)
|
||||
private Date createTime;
|
||||
|
||||
@Column
|
||||
@Comment("封面")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 200)
|
||||
private String cover;
|
||||
|
||||
@Many(field = "projectId")
|
||||
private List<BenefitingExhibit> benefitingExhibits;
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package io.v.nutz.zhgh.benefiting.model;
|
||||
|
||||
import io.v.nutz.base.model.BaseModel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.nutz.dao.entity.annotation.*;
|
||||
import org.nutz.dao.interceptor.annotation.PrevInsert;
|
||||
|
||||
/**
|
||||
* @ClassName BenefitingType
|
||||
* @Description TODO 惠民服务 类别表
|
||||
* @Author zzr
|
||||
* @Date 2023/7/27 14:40
|
||||
*/
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Table
|
||||
@Data
|
||||
@Comment("惠民服务 类别表")
|
||||
public class BenefitingType extends BaseModel {
|
||||
|
||||
@Column
|
||||
@Name
|
||||
@Comment("ID")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@PrevInsert(uu32 = true)
|
||||
private String id;
|
||||
|
||||
@Column
|
||||
@Comment("排序编号")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 100)
|
||||
private String sortNum;
|
||||
|
||||
@Column
|
||||
@Comment("类别编码")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 100)
|
||||
private String typeCode;
|
||||
|
||||
@Column
|
||||
@Comment("类别名称")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 100)
|
||||
private String typeName;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package io.v.nutz.zhgh.benefiting.service;
|
||||
|
||||
import io.v.nutz.zhgh.benefiting.model.BenefitingProject;
|
||||
import io.v.nutz.base.service.ViService;
|
||||
|
||||
public interface BenefitingProjectService extends ViService<BenefitingProject> {
|
||||
|
||||
BenefitingProject findOne(String id);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package io.v.nutz.zhgh.benefiting.service.impl;
|
||||
|
||||
import io.v.nutz.zhgh.benefiting.model.BenefitingProject;
|
||||
import io.v.nutz.zhgh.benefiting.service.BenefitingProjectService;
|
||||
import io.v.nutz.base.service.impl.ViServiceImpl;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
|
||||
@IocBean(args = {"refer:dao"})
|
||||
public class BenefitingManageServiceImpl extends ViServiceImpl<BenefitingProject> implements BenefitingProjectService {
|
||||
|
||||
public BenefitingManageServiceImpl(Dao dao) {
|
||||
super(dao);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BenefitingProject findOne(String id) {
|
||||
return fetchLinks(fetch(id), "benefitingExhibits", Cnd.NEW().asc("sortNum"));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user