init
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
package io.v.nutz.zhgh.mobileHome.controller;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import io.v.nutz.base.annontation.ViReturn;
|
||||
import io.v.nutz.base.query.PageForm;
|
||||
import io.v.nutz.web.commons.utils.ShiroUtil;
|
||||
import io.v.nutz.zhgh.mainPage.models.NeedItems;
|
||||
import io.v.nutz.zhgh.mobileHome.models.MobileHome;
|
||||
import io.v.nutz.zhgh.mobileHome.service.MobileHomeService;
|
||||
import io.v.nutz.zhgh.welfare.model.WelfareProject;
|
||||
import io.v.nutz.zhgh.welfare.service.WelfareProjectService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.nutz.dao.Chain;
|
||||
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;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@IocBean
|
||||
@Slf4j
|
||||
@Ok("json:full")
|
||||
@At("/platform/sys/mobileHome")
|
||||
public class MobileHomeController {
|
||||
|
||||
@Inject
|
||||
private MobileHomeService mobileHomeService;
|
||||
|
||||
@Inject
|
||||
private WelfareProjectService welfareProjectService;
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/mobileHome/mobileHome.html")
|
||||
@RequiresPermissions("sys.manager.mobileHome")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("sys.manager.mobileHome")
|
||||
public Object pageData(PageForm pageForm,
|
||||
@Param(value = "name", required = false) String name) {
|
||||
Cnd cnd = Cnd.NEW();
|
||||
return mobileHomeService.pageData(pageForm, cnd);
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("sys.manager.mobileHome")
|
||||
public Object doHandle(MobileHome mobileHome) {
|
||||
mobileHomeService.insertOrUpdate(mobileHome);
|
||||
return null;
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("sys.manager.mobileHome")
|
||||
public Object doDelete(String id) {
|
||||
mobileHomeService.delete(id);
|
||||
return null;
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("sys.manager.mobileHome")
|
||||
public Object getWelfareList() {
|
||||
return welfareProjectService.getIngWelfareProject();
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("sys.manager.mobileHome")
|
||||
public Object updateStatus(String id, Boolean enableStatus) {
|
||||
mobileHomeService.update(Chain.make("enableStatus", enableStatus)
|
||||
, Cnd.where("id", "=", id));
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
package io.v.nutz.zhgh.mobileHome.models;
|
||||
|
||||
import io.v.nutz.base.model.BaseModel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.nutz.dao.entity.annotation.*;
|
||||
|
||||
@Data
|
||||
@Table
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class MobileHome extends BaseModel {
|
||||
|
||||
public MobileHome() {
|
||||
this.setId("");
|
||||
this.setName("");
|
||||
this.setType("");
|
||||
this.setLink("");
|
||||
this.setCoverPicture("");
|
||||
this.setEnableStatus(true);
|
||||
this.setSignUpStartTime("");
|
||||
this.setSignUpEndTime("");
|
||||
this.setActivityGroupId(null);
|
||||
this.setWelfareProjectId("");
|
||||
this.setBigPicture(1);
|
||||
}
|
||||
|
||||
@Column
|
||||
@Name
|
||||
@Comment("id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String id;
|
||||
|
||||
@Column
|
||||
@Comment("名称")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 30)
|
||||
private String name;
|
||||
|
||||
@Column
|
||||
@Comment("类型")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 20)
|
||||
private String type;
|
||||
|
||||
@Column
|
||||
@Comment("跳转路径")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 300)
|
||||
private String link;
|
||||
|
||||
@Column
|
||||
@Comment("封面图")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 100)
|
||||
private String coverPicture;
|
||||
|
||||
@Column
|
||||
@Comment("是否启用")
|
||||
@ColDefine(type = ColType.BOOLEAN)
|
||||
private Boolean enableStatus;
|
||||
|
||||
@Column
|
||||
@Comment("开始时间")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 30)
|
||||
private String signUpStartTime;
|
||||
|
||||
@Column
|
||||
@Comment("结束时间")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 30)
|
||||
private String signUpEndTime;
|
||||
|
||||
@Column
|
||||
@Comment("活动范围id")
|
||||
@ColDefine(type = ColType.INT)
|
||||
private Integer activityGroupId;
|
||||
|
||||
@Column
|
||||
@Comment("福利项目id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String welfareProjectId;
|
||||
|
||||
@Column
|
||||
@Comment("是否是首页大图")
|
||||
@ColDefine(type = ColType.INT)
|
||||
private Integer bigPicture;
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package io.v.nutz.zhgh.mobileHome.models;
|
||||
|
||||
import io.v.nutz.base.model.BaseModel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.nutz.dao.entity.annotation.*;
|
||||
|
||||
@Data
|
||||
@Table
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class MobileHomeMappingBiz extends BaseModel {
|
||||
|
||||
@Column
|
||||
@Name
|
||||
@Comment("id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@Prev(els = {@EL("uuid()")})
|
||||
private String id;
|
||||
|
||||
@Column
|
||||
@Comment("类型")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 20)
|
||||
private String type;
|
||||
|
||||
@Column
|
||||
@Comment("你自己业务的字段名")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 30)
|
||||
private String yourColumnName;
|
||||
|
||||
@Column
|
||||
@Comment("对应移动端首页的字段名")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 30)
|
||||
private String mobileHomeColumnName;
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package io.v.nutz.zhgh.mobileHome.service;
|
||||
|
||||
import cn.wizzer.framework.page.Pagination;
|
||||
import io.v.nutz.base.query.PageForm;
|
||||
import io.v.nutz.base.service.ViService;
|
||||
import io.v.nutz.zhgh.mobileHome.models.MobileHome;
|
||||
import org.nutz.dao.Cnd;
|
||||
|
||||
public interface MobileHomeService extends ViService<MobileHome> {
|
||||
|
||||
Pagination pageData(PageForm pageForm, Cnd cnd);
|
||||
|
||||
/**
|
||||
* 保存到移动端首页
|
||||
* @param obj 业务实体类
|
||||
* @param type 类型
|
||||
* @param link 移动端跳转路径
|
||||
* @return true or false
|
||||
*/
|
||||
Boolean handle(Object obj, String type, String link, Integer bigPicture);
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
package io.v.nutz.zhgh.mobileHome.service.impl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.wizzer.framework.page.Pagination;
|
||||
import io.v.nutz.base.query.PageForm;
|
||||
import io.v.nutz.base.service.impl.ViServiceImpl;
|
||||
import io.v.nutz.zhgh.mobileHome.models.MobileHome;
|
||||
import io.v.nutz.zhgh.mobileHome.models.MobileHomeMappingBiz;
|
||||
import io.v.nutz.zhgh.mobileHome.service.MobileHomeService;
|
||||
import io.v.nutz.sys.models.Sys_file;
|
||||
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.loader.annotation.IocBean;
|
||||
import org.nutz.lang.Lang;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@IocBean(args = {"refer:dao"})
|
||||
public class MobileHomeServiceImpl extends ViServiceImpl<MobileHome> implements MobileHomeService {
|
||||
|
||||
public MobileHomeServiceImpl(Dao dao) {
|
||||
super(dao);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Pagination pageData(PageForm pageForm, Cnd cnd) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
m.*,
|
||||
d.NAME as typeName
|
||||
FROM
|
||||
mobile_home m
|
||||
LEFT JOIN sys_dict d ON d.CODE = m.type
|
||||
$condition
|
||||
""");
|
||||
sql.setCondition(cnd);
|
||||
return listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean handle(Object obj, String type, String link, Integer bigPicture) {
|
||||
if(obj == null || StrUtil.isBlank(type)) {
|
||||
return false;
|
||||
}
|
||||
//根据type查询映射关系
|
||||
List<MobileHomeMappingBiz> mappingList = dao().query(MobileHomeMappingBiz.class, Cnd.where("type", "=", type));
|
||||
//分组
|
||||
Map<String, String> columnMap = mappingList.stream().collect(Collectors.toMap(MobileHomeMappingBiz::getMobileHomeColumnName, MobileHomeMappingBiz::getYourColumnName));
|
||||
//进行转换
|
||||
NutMap nutMap = Lang.obj2nutmap(obj);
|
||||
NutMap mobileHomeMap = Lang.obj2nutmap(new MobileHome());
|
||||
mobileHomeMap.keySet().forEach(key -> {
|
||||
if(columnMap.get(key) != null) {
|
||||
Object o = nutMap.get(columnMap.get(key));
|
||||
if("coverPicture".equals(key)) {
|
||||
if (o instanceof List) {
|
||||
List<Sys_file> list = (List<Sys_file>) o;
|
||||
mobileHomeMap.put(key, Lang.isNotEmpty(list) ? list.get(0).getFilepath() : null);
|
||||
} else if(o instanceof String) {
|
||||
mobileHomeMap.put(key, o);
|
||||
} else {
|
||||
Sys_file file = (Sys_file) o;
|
||||
mobileHomeMap.put(key, Lang.isNotEmpty(file) ? file.getFilepath() : null);
|
||||
}
|
||||
} else {
|
||||
mobileHomeMap.put(key, o);
|
||||
}
|
||||
}
|
||||
});
|
||||
MobileHome mobileHome = Lang.map2Object(mobileHomeMap, MobileHome.class);
|
||||
mobileHome.setLink(link);
|
||||
mobileHome.setType(type);
|
||||
mobileHome.setBigPicture(bigPicture);
|
||||
MobileHome home = dao().insertOrUpdate(mobileHome);
|
||||
return home != null;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user