课程实操管理

beetlsql3-dev
xuliangtong 2 years ago
parent e46e74604c
commit d499b4b713

@ -0,0 +1,39 @@
package com.ibeetl.admin.core.conf;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
/**
* @author Binary Wang
*/
@Configuration
public class WxMpConfig {
@Value("${we_chat.token}")
private String token;
@Value("${we_chat.appId}")
private String appid;
@Value("${we_chat.appSecret}")
private String appSecret;
@Value("${we_chat.aesKey}")
private String aesKey;
public String getToken() {
return this.token;
}
public String getAppid() {
return this.appid;
}
public String getAppSecret() {
return this.appSecret;
}
public String getAesKey() {
return this.aesKey;
}
}

@ -0,0 +1,31 @@
package com.ibeetl.jlw.dao;
import java.util.List;
import java.util.Map;
import com.ibeetl.jlw.entity.*;
import com.ibeetl.jlw.web.query.CoreUserWxQuery;
import org.beetl.sql.mapper.annotation.SqlResource;
import org.springframework.stereotype.Component;
import org.beetl.sql.mapper.BaseMapper;
import org.beetl.sql.core.engine.PageQuery;
import org.beetl.sql.mapper.annotation.Update;
/**
* CoreUserWx Dao
*/
// 实际可以不用加Component注解调用的地方注入时候Idea会报红看着难受
@Component
@SqlResource("jlw.coreUserWx")
public interface CoreUserWxDao extends BaseMapper<CoreUserWx>{
PageQuery<CoreUserWx> queryByCondition(PageQuery query);
PageQuery<CoreUserWx> queryByConditionQuery(PageQuery query);
@Update
void deleteCoreUserWxByIds(String ids);
@Update
int updateGivenByIds(CoreUserWxQuery coreUserWxQuery);
List<CoreUserWx> getByIds(String ids);
List<CoreUserWx> getValuesByQuery(CoreUserWxQuery coreUserWxQuery);
List<CoreUserWx> getValuesByQueryNotWithPermission(CoreUserWxQuery coreUserWxQuery);
}

@ -0,0 +1,173 @@
package com.ibeetl.jlw.entity;
import javax.validation.constraints.NotNull;
import com.ibeetl.admin.core.entity.BaseEntity;
import org.beetl.sql.annotation.entity.*;
import com.ibeetl.admin.core.util.ValidateConfig;
import com.ibeetl.admin.core.annotation.Dict;
import java.math.BigDecimal;
import java.util.Date;
/*
*
* gen by Spring Boot2 Admin 2022-11-08
*/
public class CoreUserWx extends BaseEntity{
//微信绑定主键
@NotNull(message = "ID不能为空", groups =ValidateConfig.UPDATE.class)
// @SeqID(name = ORACLE_CORE_SEQ_NAME)
@AssignID(value = "maskAutoID",param = "com.ibeetl.jlw.entity.CoreUserWx")
private Long wxId ;
//微信openID
private String openid ;
//系统用户id
private Long userId ;
//用户昵称
private String nickname ;
private Integer sex ;
private String province ;
private String city ;
private String country ;
//头像
private String headimgurl ;
private String privilege ;
private String unionid ;
public CoreUserWx(){
}
/**
*@return
*/
public Long getWxId(){
return wxId;
}
/**
*@param wxId
*/
public void setWxId(Long wxId){
this.wxId = wxId;
}
/**openID
*@return
*/
public String getOpenid(){
return openid;
}
/**openID
*@param openid
*/
public void setOpenid(String openid){
this.openid = openid;
}
/**id
*@return
*/
public Long getUserId(){
return userId;
}
/**id
*@param userId
*/
public void setUserId(Long userId){
this.userId = userId;
}
/**
*@return
*/
public String getNickname(){
return nickname;
}
/**
*@param nickname
*/
public void setNickname(String nickname){
this.nickname = nickname;
}
public Integer getSex(){
return sex;
}
public void setSex(Integer sex){
this.sex = sex;
}
public String getProvince(){
return province;
}
public void setProvince(String province){
this.province = province;
}
public String getCity(){
return city;
}
public void setCity(String city){
this.city = city;
}
public String getCountry(){
return country;
}
public void setCountry(String country){
this.country = country;
}
/**
*@return
*/
public String getHeadimgurl(){
return headimgurl;
}
/**
*@param headimgurl
*/
public void setHeadimgurl(String headimgurl){
this.headimgurl = headimgurl;
}
public String getPrivilege(){
return privilege;
}
public void setPrivilege(String privilege){
this.privilege = privilege;
}
public String getUnionid(){
return unionid;
}
public void setUnionid(String unionid){
this.unionid = unionid;
}
}

@ -0,0 +1,170 @@
package com.ibeetl.jlw.service;
import java.io.*;
import java.text.DateFormat;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import java.math.BigDecimal;
import cn.jlw.util.ToolUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.ibeetl.admin.core.entity.CoreUser;
import com.ibeetl.admin.core.util.TimeTool;
import com.ibeetl.admin.core.web.JsonResult;
import com.ibeetl.admin.core.web.JsonReturnCode;
import com.ibeetl.jlw.dao.CoreUserWxDao;
import com.ibeetl.jlw.entity.CoreUserWx;
import com.ibeetl.jlw.web.query.CoreUserWxQuery;
import com.ibeetl.jlw.entity.FileEntity;
import com.ibeetl.admin.core.service.CoreBaseService;
import com.ibeetl.admin.core.util.PlatformException;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.beetl.sql.core.engine.PageQuery;
import org.beetl.sql.core.SqlId;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import org.springframework.beans.factory.annotation.Autowired;
import static com.ibeetl.admin.core.util.ExcelUtil.getCellFormatValue;
/**
* CoreUserWx Service
* ID使insert(*,true)
*/
@Service
@Transactional
@Validated
public class CoreUserWxService extends CoreBaseService<CoreUserWx>{
@Autowired private CoreUserWxDao coreUserWxDao;
public PageQuery<CoreUserWx>queryByCondition(PageQuery query){
PageQuery ret = coreUserWxDao.queryByCondition(query);
queryListAfter(ret.getList());
return ret;
}
public PageQuery<CoreUserWx>queryByConditionQuery(PageQuery query){
PageQuery ret = coreUserWxDao.queryByConditionQuery(query);
queryListAfter(ret.getList());
return ret;
}
public void deleteByList(List list){
String ids = "";
ToolUtils.deleteNullList(list);
for(int i=0;null != list && i<list.size();i++){
ids += list.get(i).toString()+(i==list.size()-1?"":",");
}
if(StringUtils.isNotBlank(ids)){
coreUserWxDao.deleteCoreUserWxByIds(ids);
}
}
public void deleteCoreUserWx(String ids){
try {
coreUserWxDao.deleteCoreUserWxByIds(ids);
} catch (Exception e) {
throw new PlatformException("批量删除CoreUserWx失败", e);
}
}
public String addAll(CoreUserWxQuery coreUserWxQuery){
String msg = "";
List<CoreUserWx> coreUserWxList = new ArrayList<>();
try {
coreUserWxList = JSON.parseArray(coreUserWxQuery.getCoreUserWxJsonStr(), CoreUserWx.class);
} catch (Exception e) {
try {
coreUserWxList.add(JSONObject.parseObject(coreUserWxQuery.getCoreUserWxJsonStr(), CoreUserWx.class));
} catch (Exception e1) {}
}
ToolUtils.deleteNullList(coreUserWxList);
if(null != coreUserWxList && coreUserWxList.size()>0){
for(int i=0;i<coreUserWxList.size();i++){
CoreUserWx coreUserWx = coreUserWxList.get(i);
coreUserWx.setUserId(coreUserWxQuery.getUserId());
}
insertBatch(coreUserWxList);
}
return msg;
}
public JsonResult add(CoreUserWxQuery coreUserWxQuery){
String msg = "";
CoreUserWx coreUserWx = coreUserWxQuery.pojo();
coreUserWxDao.insert(coreUserWx);
coreUserWxQuery.setWxId(coreUserWx.getWxId());
JsonResult jsonResult = new JsonResult();
jsonResult.setData(coreUserWx.getWxId());//自增的ID丢进去
jsonResult.setCode(JsonReturnCode.SUCCESS.getCode());
jsonResult.setMsg(msg);
return jsonResult;
}
public String edit(CoreUserWxQuery coreUserWxQuery){
String msg = "";
CoreUserWx coreUserWx = coreUserWxQuery.pojo();
coreUserWxDao.updateTemplateById(coreUserWx);
return msg;
}
public String updateGivenByIds(CoreUserWxQuery coreUserWxQuery){
String msg = "";
if(StringUtils.isNotBlank(coreUserWxQuery.get_given())){
boolean flag = coreUserWxDao.updateGivenByIds(coreUserWxQuery) > 0;
if(!flag){
msg = "更新指定参数失败";
}
}else{
msg = "指定参数为空";
}
return msg;
}
public List<CoreUserWx> getValues (Object paras){
return sqlManager.select(SqlId.of("jlw.coreUserWx.getCoreUserWxValues"), CoreUserWx.class, paras);
}
public List<CoreUserWx> getValuesByQuery (CoreUserWxQuery coreUserWxQuery){
return coreUserWxDao.getValuesByQuery(coreUserWxQuery);
}
public List<CoreUserWx> getValuesByQueryNotWithPermission (CoreUserWxQuery coreUserWxQuery){
return coreUserWxDao.getValuesByQueryNotWithPermission(coreUserWxQuery);
}
public CoreUserWx getInfo (Long wxId){
CoreUserWxQuery coreUserWxQuery = new CoreUserWxQuery();
coreUserWxQuery.setWxId(wxId);
List<CoreUserWx> list = coreUserWxDao.getValuesByQuery(coreUserWxQuery);
if(null != list && list.size()>0){
return list.get(0);
}else{
return null;
}
}
public CoreUserWx getInfo (CoreUserWxQuery coreUserWxQuery){
List<CoreUserWx> list = coreUserWxDao.getValuesByQuery(coreUserWxQuery);
if(null != list && list.size()>0){
return list.get(0);
}else{
return null;
}
}
}

@ -2,6 +2,7 @@ package com.ibeetl.jlw.service;
import cn.jlw.util.ToolUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.ibeetl.admin.core.service.CoreBaseService;
import com.ibeetl.admin.core.util.PlatformException;
@ -109,8 +110,9 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ
TeacherOpenCourseHandsOnSimulationTasks teacherOpenCourseHandsOnSimulationTasks = teacherOpenCourseHandsOnSimulationTasksQuery.pojo();
teacherOpenCourseHandsOnSimulationTasksDao.insert(teacherOpenCourseHandsOnSimulationTasks);
teacherOpenCourseHandsOnSimulationTasksQuery.setTaskId(teacherOpenCourseHandsOnSimulationTasks.getTaskId());
List<TeacherOpenCourseHandsOnSimulationTasksFileQuery> teacherOpenCourseHandsOnSimulationTasksFiles = teacherOpenCourseHandsOnSimulationTasksQuery.getTeacherOpenCourseHandsOnSimulationTasksFile();
if (CollectionUtils.isNotEmpty(teacherOpenCourseHandsOnSimulationTasksFiles)) {
String tasksFile = teacherOpenCourseHandsOnSimulationTasksQuery.getTeacherOpenCourseHandsOnSimulationTasksFile();
if (StringUtils.isNotEmpty(tasksFile)) {
List<TeacherOpenCourseHandsOnSimulationTasksFileQuery> teacherOpenCourseHandsOnSimulationTasksFiles = JSONArray.parseArray(tasksFile, TeacherOpenCourseHandsOnSimulationTasksFileQuery.class);
for (TeacherOpenCourseHandsOnSimulationTasksFileQuery teacherOpenCourseHandsOnSimulationTasksFile : teacherOpenCourseHandsOnSimulationTasksFiles) {
teacherOpenCourseHandsOnSimulationTasksFile.setTeacherOpenCourseId(teacherOpenCourseHandsOnSimulationTasks.getTeacherOpenCourseId());
teacherOpenCourseHandsOnSimulationTasksFile.setHandsOnId(teacherOpenCourseHandsOnSimulationTasks.getHandsOnId());
@ -129,6 +131,19 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ
String msg = "";
TeacherOpenCourseHandsOnSimulationTasks teacherOpenCourseHandsOnSimulationTasks = teacherOpenCourseHandsOnSimulationTasksQuery.pojo();
teacherOpenCourseHandsOnSimulationTasksDao.updateTemplateById(teacherOpenCourseHandsOnSimulationTasks);
String tasksFile = teacherOpenCourseHandsOnSimulationTasksQuery.getTeacherOpenCourseHandsOnSimulationTasksFile();
TeacherOpenCourseHandsOnSimulationTasksFile file = new TeacherOpenCourseHandsOnSimulationTasksFile();
file.setTaskId(teacherOpenCourseHandsOnSimulationTasksQuery.getTaskId());
teacherOpenCourseHandsOnSimulationTasksFileService.deleteByCondition(file);
if (StringUtils.isNotEmpty(tasksFile)) {
List<TeacherOpenCourseHandsOnSimulationTasksFileQuery> teacherOpenCourseHandsOnSimulationTasksFiles = JSONArray.parseArray(tasksFile, TeacherOpenCourseHandsOnSimulationTasksFileQuery.class);
for (TeacherOpenCourseHandsOnSimulationTasksFileQuery teacherOpenCourseHandsOnSimulationTasksFile : teacherOpenCourseHandsOnSimulationTasksFiles) {
teacherOpenCourseHandsOnSimulationTasksFile.setTeacherOpenCourseId(teacherOpenCourseHandsOnSimulationTasks.getTeacherOpenCourseId());
teacherOpenCourseHandsOnSimulationTasksFile.setHandsOnId(teacherOpenCourseHandsOnSimulationTasks.getHandsOnId());
teacherOpenCourseHandsOnSimulationTasksFile.setTaskId(teacherOpenCourseHandsOnSimulationTasks.getTaskId());
teacherOpenCourseHandsOnSimulationTasksFileService.add(teacherOpenCourseHandsOnSimulationTasksFile);
}
}
return msg;
}

@ -0,0 +1,119 @@
package com.ibeetl.jlw.service;
import com.ibeetl.admin.core.conf.WxMpConfig;
import me.chanjar.weixin.common.api.WxConsts;
import me.chanjar.weixin.mp.api.WxMpMessageRouter;
import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
import me.chanjar.weixin.mp.bean.kefu.result.WxMpKfOnlineList;
import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage;
import me.chanjar.weixin.mp.config.impl.WxMpDefaultConfigImpl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.ExampleMatcher;
import org.springframework.stereotype.Service;
import sun.rmi.log.LogHandler;
import javax.annotation.PostConstruct;
import static me.chanjar.weixin.common.api.WxConsts.EventType.*;
import static me.chanjar.weixin.common.api.WxConsts.XmlMsgType.EVENT;
import static me.chanjar.weixin.mp.constant.WxMpEventConstants.CustomerService.*;
import static me.chanjar.weixin.mp.constant.WxMpEventConstants.POI_CHECK_NOTIFY;
/**
* @author Binary Wang
*/
@Service
public class WeixinService extends WxMpServiceImpl {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@Autowired
private WxMpConfig wxConfig;
private WxMpMessageRouter router;
@PostConstruct
public void init() {
final WxMpDefaultConfigImpl config = new WxMpDefaultConfigImpl();
// 设置微信公众号的appid
config.setAppId(this.wxConfig.getAppid());
// 设置微信公众号的app corpSecret
config.setSecret(this.wxConfig.getAppSecret());
// 设置微信公众号的token
config.setToken(this.wxConfig.getToken());
// 设置消息加解密密钥
config.setAesKey(this.wxConfig.getAesKey());
super.setWxMpConfigStorage(config);
this.refreshRouter();
}
private void refreshRouter() {
final WxMpMessageRouter newRouter = new WxMpMessageRouter(this);
// 记录所有事件的日志
// newRouter.rule().handler(this.logHandler).next();
// 接收客服会话管理事件
// newRouter.rule().async(false).msgType(EVENT).event(KF_CREATE_SESSION)
// .handler(this.kfSessionHandler).end();
// newRouter.rule().async(false).msgType(EVENT).event(KF_CLOSE_SESSION)
// .handler(this.kfSessionHandler).end();
// newRouter.rule().async(false).msgType(EVENT).event(KF_SWITCH_SESSION)
// .handler(this.kfSessionHandler).end();
// 门店审核事件
// newRouter.rule().async(false).msgType(EVENT).event(POI_CHECK_NOTIFY)
// .handler(this.storeCheckNotifyHandler).end();
// 自定义菜单事件
// newRouter.rule().async(false).msgType(EVENT).event(WxConsts.EventType.CLICK).handler(this.menuHandler).end();
// 点击菜单连接事件
// newRouter.rule().async(false).msgType(EVENT).event(WxConsts.EventType.VIEW).handler(this.nullHandler).end();
// 关注事件
// newRouter.rule().async(false).msgType(EVENT).event(SUBSCRIBE).handler(this.subscribeHandler).end();
// 取消关注事件
// newRouter.rule().async(false).msgType(EVENT).event(UNSUBSCRIBE).handler(this.unsubscribeHandler).end();
// 上报地理位置事件
// newRouter.rule().async(false).msgType(EVENT).event(LOCATION).handler(this.locationHandler).end();
// 接收地理位置消息
// newRouter.rule().async(false).msgType(WxConsts.XmlMsgType.LOCATION).handler(this.locationHandler).end();
// 扫码事件
// newRouter.rule().async(false).msgType(EVENT).event(SCAN).handler(this.nullHandler).end();
// 默认
// newRouter.rule().async(false).handler(this.msgHandler).end();
this.router = newRouter;
}
public WxMpXmlOutMessage route(WxMpXmlMessage message) {
try {
return this.router.route(message);
} catch (Exception e) {
this.logger.error(e.getMessage(), e);
}
return null;
}
public boolean hasKefuOnline() {
try {
WxMpKfOnlineList kfOnlineList = this.getKefuService().kfOnlineList();
return kfOnlineList != null && kfOnlineList.getKfOnlineList().size() > 0;
} catch (Exception e) {
this.logger.error("获取客服在线状态异常: " + e.getMessage(), e);
}
return false;
}
}

@ -10,15 +10,13 @@ import com.ibeetl.admin.core.file.FileService;
import com.ibeetl.admin.core.service.CorePlatformService;
import com.ibeetl.admin.core.util.TimeTool;
import com.ibeetl.admin.core.web.JsonResult;
import com.ibeetl.jlw.entity.Competition;
import com.ibeetl.jlw.entity.CompetitionNews;
import com.ibeetl.jlw.entity.Student;
import com.ibeetl.jlw.entity.UniversitiesCollegesJurisdictionExperimentalSystem;
import com.ibeetl.jlw.entity.*;
import com.ibeetl.jlw.service.CompetitionNewsService;
import com.ibeetl.jlw.service.CompetitionService;
import com.ibeetl.jlw.service.StudentService;
import com.ibeetl.jlw.service.TeacherService;
import com.ibeetl.jlw.web.query.CompetitionQuery;
import com.ibeetl.jlw.web.query.HandsOnQuery;
import com.ibeetl.jlw.web.query.StudentQuery;
import com.ibeetl.jlw.web.query.TeacherQuery;
import org.apache.commons.lang3.StringUtils;
@ -67,7 +65,20 @@ public class CompetitionController{
FileService fileService;
/* 前端接口 */
@PostMapping(API + "/getList.do")
@ResponseBody
public JsonResult<PageQuery> getList(CompetitionQuery condition,@SCoreUser CoreUser coreUser){
condition.setOrgId(coreUser.getOrgId());//TODO 暂时不存在管理员编辑大赛
UniversitiesCollegesJurisdictionExperimentalSystem uSystem = (UniversitiesCollegesJurisdictionExperimentalSystem)platformService.getOther();
if(null != uSystem && ((Integer)1).equals(uSystem.getType())){
condition.setResourcesApplicationId(uSystem.getTypeId());
}
PageQuery page = condition.getPageQuery();
competitionService.queryByCondition(page);
return JsonResult.success(page);
}
/* 后台页面 */

@ -0,0 +1,238 @@
package com.ibeetl.jlw.web;
import cn.hutool.core.lang.Assert;
import cn.jlw.Interceptor.RFile;
import cn.jlw.Interceptor.SCoreUser;
import cn.jlw.Interceptor.GetFile;
import cn.jlw.util.ToolUtils;
import cn.jlw.validate.ValidateConfig;
import com.ibeetl.admin.core.entity.CoreUser;
import com.ibeetl.admin.core.file.FileService;
import com.ibeetl.admin.core.util.ConvertUtil;
import com.ibeetl.admin.core.util.PlatformException;
import com.ibeetl.admin.core.util.TimeTool;
import com.ibeetl.admin.core.web.JsonResult;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.mp.api.WxMpMessageRouter;
import me.chanjar.weixin.mp.api.WxMpQrcodeService;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage;
import me.chanjar.weixin.mp.bean.result.WxMpQrCodeTicket;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.beetl.sql.core.engine.PageQuery;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.validation.annotation.Validated;
import com.ibeetl.admin.console.web.dto.DictExcelImportData;
import com.ibeetl.admin.console.web.query.UserQuery;
import com.ibeetl.admin.core.annotation.Function;
import com.ibeetl.jlw.entity.*;
import com.ibeetl.jlw.service.*;
import com.ibeetl.jlw.web.query.*;
import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.math.BigDecimal;
import org.springframework.beans.factory.annotation.Autowired;
import static com.ibeetl.admin.core.util.user.CacheUserUtil.getUser;
/**
* CoreUserWx
* 线
*/
@RestController
@Validated
public class CoreUserWxController{
private final Log log = LogFactory.getLog(this.getClass());
private static final String MODEL = "/jlw/coreUserWx";
private static final String API = "/api/coreUserWx";
@Autowired private CoreUserWxService coreUserWxService;
@Autowired FileService fileService;
/* 前端接口 */
@PostMapping(API + "/getPageList.do")
public JsonResult<PageQuery> getPageList(CoreUserWxQuery condition,@SCoreUser CoreUser coreUser){
if(null == coreUser){
return JsonResult.failMessage("请登录后再操作");
}else{
PageQuery page = condition.getPageQuery();
coreUserWxService.queryByConditionQuery(page);
return JsonResult.success(page);
}
}
@GetMapping(API + "/getInfo.do")
public JsonResult<CoreUserWx>getInfo(CoreUserWxQuery param,@SCoreUser CoreUser coreUser) {
if(null == coreUser){
return JsonResult.failMessage("请登录后再操作");
}else{
CoreUserWx coreUserWx = coreUserWxService.getInfo(param);
return JsonResult.success(coreUserWx);
}
}
@GetMapping(API + "/getList.do")
public JsonResult<List<CoreUserWx>>getList(CoreUserWxQuery param,@SCoreUser CoreUser coreUser) {
if(null == coreUser){
return JsonResult.failMessage("请登录后再操作");
}else{
List<CoreUserWx>list = coreUserWxService.getValuesByQuery(param);
return JsonResult.success(list);
}
}
/* 后台页面 */
@GetMapping(MODEL + "/index.do")
@Function("coreUserWx.query")
public ModelAndView index() {
ModelAndView view = new ModelAndView("/jlw/coreUserWx/index.html") ;
view.addObject("search", CoreUserWxQuery.class.getName());
return view;
}
@GetMapping(MODEL + "/edit.do")
@Function("coreUserWx.edit")
public ModelAndView edit(Long wxId) {
ModelAndView view = new ModelAndView("/jlw/coreUserWx/edit.html");
CoreUserWx coreUserWx = coreUserWxService.queryById(wxId);
view.addObject("coreUserWx", coreUserWx);
return view;
}
@GetMapping(MODEL + "/add.do")
@Function("coreUserWx.add")
public ModelAndView add(Long wxId) {
ModelAndView view = new ModelAndView("/jlw/coreUserWx/add.html");
if(null != wxId){
CoreUserWx coreUserWx = coreUserWxService.queryById(wxId);
view.addObject("coreUserWx", coreUserWx);
}else {
view.addObject("coreUserWx", new CoreUserWx());
}
return view;
}
/* 后台接口 */
@PostMapping(MODEL + "/list.json")
@Function("coreUserWx.query")
public JsonResult<PageQuery> list(CoreUserWxQuery condition){
PageQuery page = condition.getPageQuery();
coreUserWxService.queryByCondition(page);
return JsonResult.success(page);
}
@PostMapping(MODEL + "/addAll.json")
@Function("coreUserWx.add")
public JsonResult addAll(CoreUserWxQuery coreUserWxQuery,@SCoreUser CoreUser coreUser){
if(null == coreUser){
return JsonResult.failMessage("请登录后再操作");
}else{
coreUserWxQuery.setUserId(coreUser.getId());
String msg = coreUserWxService.addAll(coreUserWxQuery);
if (StringUtils.isBlank(msg)) {
return JsonResult.success();
} else {
return JsonResult.failMessage("新增失败,"+msg);
}
}
}
@PostMapping(MODEL + "/add.json")
@Function("coreUserWx.add")
public JsonResult add(@Validated(ValidateConfig.ADD.class) CoreUserWxQuery coreUserWxQuery, BindingResult result,@SCoreUser CoreUser coreUser){
if(result.hasErrors()){
return JsonResult.failMessage(result);
}else{
Assert.notNull(coreUser, "请登录后再操作");
coreUserWxQuery.setUserId(coreUser.getId());
return coreUserWxService.add(coreUserWxQuery);
}
}
@PostMapping(MODEL + "/edit.json")
@Function("coreUserWx.edit")
public JsonResult<String> update(@Validated(ValidateConfig.UPDATE.class) CoreUserWxQuery coreUserWxQuery, BindingResult result) {
if(result.hasErrors()){
return JsonResult.failMessage(result);
}else {
Assert.notNull(getUser(), "请登录后再操作");
coreUserWxQuery.setUserId(null);
String msg = coreUserWxService.edit(coreUserWxQuery);
if (StringUtils.isBlank(msg)) {
return JsonResult.success();
} else {
return JsonResult.failMessage("更新失败,"+msg);
}
}
}
@GetMapping(MODEL + "/view.json")
@Function("coreUserWx.query")
public JsonResult<CoreUserWx>queryInfo(Long wxId) {
CoreUserWx coreUserWx = coreUserWxService.queryById( wxId);
return JsonResult.success(coreUserWx);
}
@GetMapping(MODEL + "/getValues.json")
@Function("coreUserWx.query")
public JsonResult<List<CoreUserWx>>getValues(CoreUserWxQuery param) {
List<CoreUserWx>list = coreUserWxService.getValuesByQuery(param);
return JsonResult.success(list);
}
@PostMapping(MODEL + "/delete.json")
@Function("coreUserWx.delete")
@ResponseBody
public JsonResult delete(String ids) {
coreUserWxService.deleteCoreUserWx(ids);
return JsonResult.success();
}
}

@ -0,0 +1,98 @@
package com.ibeetl.jlw.web;
import cn.jlw.Interceptor.SCoreUser;
import com.ibeetl.admin.core.entity.CoreUser;
import com.ibeetl.jlw.service.WeixinService;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.mp.api.WxMpMessageRouter;
import me.chanjar.weixin.mp.api.WxMpQrcodeService;
import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage;
import me.chanjar.weixin.mp.bean.result.WxMpQrCodeTicket;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
*
*
* @Version 0.0.1
* @Author
* @Date 2022/11/8 22:00
*/
@RestController
@RequestMapping("/wx")
@Slf4j
public class WeiXinController {
@Autowired
private WeixinService weixinService;
@Autowired private WxMpMessageRouter wxMpMessageRouter;
/**
*
* @param coreUser
* @return
* @throws WxErrorException
*/
@GetMapping("/api/getQrCode")
public String getQrCode(@SCoreUser CoreUser coreUser) throws WxErrorException {
WxMpQrcodeService qrcodeService = weixinService.getQrcodeService();
WxMpQrCodeTicket wxMpQrCodeTicket = qrcodeService.qrCodeCreateTmpTicket(coreUser.getId().toString(), 2592000);
return qrcodeService.qrCodePictureUrl(wxMpQrCodeTicket.getTicket());
}
/**
*
* @param requestBody
* @param signature
* @param timestamp
* @param nonce
* @param openid
* @param encType
* @param msgSignature
* @return
*/
@PostMapping(produces = "application/xml; charset=UTF-8")
public String post(
@RequestBody String requestBody,
@RequestParam("signature") String signature,
@RequestParam("timestamp") String timestamp,
@RequestParam("nonce") String nonce,
@RequestParam("openid") String openid,
@RequestParam(name = "encrypt_type", required = false) String encType,
@RequestParam(name = "msg_signature", required = false) String msgSignature) {
log.info("接收微信请求:[openid=["+openid+"], [signature=["+signature+"], encType=["+
encType+"], msgSignature=["+msgSignature+"], timestamp=["+
timestamp+"], nonce=["+nonce+"], requestBody=["+requestBody+"] ");
String out = null;
if (encType == null) {
// 明文传输的消息
WxMpXmlMessage inMessage = WxMpXmlMessage.fromXml(requestBody);
WxMpXmlOutMessage outMessage = this.wxMpMessageRouter.route(inMessage);
if (outMessage == null) {
WxMpXmlMessage wxMpXmlMessage = new WxMpXmlMessage();
return "";
}
out = outMessage.toXml();
} else if ("aes".equalsIgnoreCase(encType)) {
// aes加密的消息
WxMpXmlMessage inMessage = WxMpXmlMessage.fromEncryptedXml(requestBody, weixinService.getWxMpConfigStorage(),
timestamp, nonce, msgSignature);
log.debug("\n消息解密后内容为\n"+inMessage.toString());
WxMpXmlOutMessage outMessage = this.wxMpMessageRouter.route(inMessage);
if (outMessage == null) {
return "";
}
out = outMessage.toEncryptedXml(weixinService.getWxMpConfigStorage());
}
log.debug("\n组装回复信息"+out);
return out;
}
}

@ -0,0 +1,150 @@
package com.ibeetl.jlw.web.query;
import cn.jlw.validate.ValidateConfig;
import com.ibeetl.jlw.entity.CoreUserWx;
import org.apache.commons.lang3.StringUtils;
import com.ibeetl.admin.core.annotation.Query;
import com.ibeetl.admin.core.util.Tool;
import com.ibeetl.admin.core.util.enums.CoreDictType;
import com.ibeetl.admin.core.web.query.PageParam;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;
/**
*CoreUserWx
*/
public class CoreUserWxQuery extends PageParam {
@NotNull(message = "ID不能为空", groups =ValidateConfig.UPDATE.class)
@Query(name = "微信绑定主键", display = false)
private Long wxId;
@Query(name = "微信openID", display = false)
private String openid;
@Query(name = "系统用户id", display = false)
private Long userId;
@Query(name = "用户昵称", display = false)
private String nickname;
@Query(name = "sex", display = false)
private Integer sex;
@Query(name = "province", display = false)
private String province;
@Query(name = "city", display = false)
private String city;
@Query(name = "country", display = false)
private String country;
@Query(name = "头像", display = false)
private String headimgurl;
@Query(name = "privilege", display = false)
private String privilege;
@Query(name = "unionid", display = false)
private String unionid;
private String userIdPlural;
private String coreUserWxJsonStr;//json格式
private String _given;//指定更新的特定字段,多个逗号隔开
public Long getWxId(){
return wxId;
}
public void setWxId(Long wxId ){
this.wxId = wxId;
}
public String getOpenid(){
return openid;
}
public void setOpenid(String openid ){
this.openid = openid;
}
public Long getUserId(){
return userId;
}
public void setUserId(Long userId ){
this.userId = userId;
}
public String getNickname(){
return nickname;
}
public void setNickname(String nickname ){
this.nickname = nickname;
}
public Integer getSex(){
return sex;
}
public void setSex(Integer sex ){
this.sex = sex;
}
public String getProvince(){
return province;
}
public void setProvince(String province ){
this.province = province;
}
public String getCity(){
return city;
}
public void setCity(String city ){
this.city = city;
}
public String getCountry(){
return country;
}
public void setCountry(String country ){
this.country = country;
}
public String getHeadimgurl(){
return headimgurl;
}
public void setHeadimgurl(String headimgurl ){
this.headimgurl = headimgurl;
}
public String getPrivilege(){
return privilege;
}
public void setPrivilege(String privilege ){
this.privilege = privilege;
}
public String getUnionid(){
return unionid;
}
public void setUnionid(String unionid ){
this.unionid = unionid;
}
public CoreUserWx pojo(){
CoreUserWx pojo = new CoreUserWx();
pojo.setWxId(this.getWxId());
pojo.setOpenid(this.getOpenid());
pojo.setUserId(this.getUserId());
pojo.setNickname(this.getNickname());
pojo.setSex(this.getSex());
pojo.setProvince(this.getProvince());
pojo.setCity(this.getCity());
pojo.setCountry(this.getCountry());
pojo.setHeadimgurl(this.getHeadimgurl());
pojo.setPrivilege(this.getPrivilege());
pojo.setUnionid(this.getUnionid());
return pojo;
}
public String getUserIdPlural(){
return userIdPlural;
}
public void setUserIdPlural(String userIdPlural){
this.userIdPlural = userIdPlural;
}
public String getCoreUserWxJsonStr(){
return coreUserWxJsonStr;
}
public void setCoreUserWxJsonStr(String coreUserWxJsonStr ){
this.coreUserWxJsonStr = coreUserWxJsonStr;
}
public String get_given() {
return _given;
}
public void set_given(String _given) {
this._given = _given;
}
}

@ -54,7 +54,8 @@ public class TeacherOpenCourseHandsOnSimulationTasksQuery extends PageParam {
/**
*
*/
private List<TeacherOpenCourseHandsOnSimulationTasksFileQuery> teacherOpenCourseHandsOnSimulationTasksFile;
private String teacherOpenCourseHandsOnSimulationTasksFile;
private List<TeacherOpenCourseHandsOnSimulationTasksFileQuery> teacherOpenCourseHandsOnSimulationTasksFileList;
private String taskIdPlural;
private String handsOnIdPlural;
@ -227,11 +228,19 @@ public class TeacherOpenCourseHandsOnSimulationTasksQuery extends PageParam {
this._given = _given;
}
public List<TeacherOpenCourseHandsOnSimulationTasksFileQuery> getTeacherOpenCourseHandsOnSimulationTasksFile() {
public String getTeacherOpenCourseHandsOnSimulationTasksFile() {
return teacherOpenCourseHandsOnSimulationTasksFile;
}
public void setTeacherOpenCourseHandsOnSimulationTasksFile(List<TeacherOpenCourseHandsOnSimulationTasksFileQuery> teacherOpenCourseHandsOnSimulationTasksFile) {
public void setTeacherOpenCourseHandsOnSimulationTasksFile(String teacherOpenCourseHandsOnSimulationTasksFile) {
this.teacherOpenCourseHandsOnSimulationTasksFile = teacherOpenCourseHandsOnSimulationTasksFile;
}
public List<TeacherOpenCourseHandsOnSimulationTasksFileQuery> getTeacherOpenCourseHandsOnSimulationTasksFileList() {
return teacherOpenCourseHandsOnSimulationTasksFileList;
}
public void setTeacherOpenCourseHandsOnSimulationTasksFileList(List<TeacherOpenCourseHandsOnSimulationTasksFileQuery> teacherOpenCourseHandsOnSimulationTasksFileList) {
this.teacherOpenCourseHandsOnSimulationTasksFileList = teacherOpenCourseHandsOnSimulationTasksFileList;
}
}

@ -0,0 +1,333 @@
queryByCondition
===
* 根据不为空的参数进行分页查询
select
@pageTag(){
t.*
@}
from core_user_wx t
where 1=1
@//数据权限该sql语句功能点,如果不考虑数据权限,可以删除此行
and #function("coreUserWx.query")#
@if(!isEmpty(wxId)){
and t.wx_id =#wxId#
@}
@if(!isEmpty(openid)){
and t.openid =#openid#
@}
@if(!isEmpty(userId)){
and t.user_id =#userId#
@}
@if(!isEmpty(userIdPlural)){
and find_in_set(t.user_id,#userIdPlural#)
@}
@if(!isEmpty(nickname)){
and t.nickname =#nickname#
@}
@if(!isEmpty(sex)){
and t.sex =#sex#
@}
@if(!isEmpty(province)){
and t.province =#province#
@}
@if(!isEmpty(city)){
and t.city =#city#
@}
@if(!isEmpty(country)){
and t.country =#country#
@}
@if(!isEmpty(headimgurl)){
and t.headimgurl =#headimgurl#
@}
@if(!isEmpty(privilege)){
and t.privilege =#privilege#
@}
@if(!isEmpty(unionid)){
and t.unionid =#unionid#
@}
queryByConditionQuery
===
* 根据不为空的参数进行分页查询(无权限)
select
@pageTag(){
t.*
@}
from core_user_wx t
where 1=1
@if(!isEmpty(wxId)){
and t.wx_id =#wxId#
@}
@if(!isEmpty(openid)){
and t.openid =#openid#
@}
@if(!isEmpty(userId)){
and t.user_id =#userId#
@}
@if(!isEmpty(userIdPlural)){
and find_in_set(t.user_id,#userIdPlural#)
@}
@if(!isEmpty(nickname)){
and t.nickname =#nickname#
@}
@if(!isEmpty(sex)){
and t.sex =#sex#
@}
@if(!isEmpty(province)){
and t.province =#province#
@}
@if(!isEmpty(city)){
and t.city =#city#
@}
@if(!isEmpty(country)){
and t.country =#country#
@}
@if(!isEmpty(headimgurl)){
and t.headimgurl =#headimgurl#
@}
@if(!isEmpty(privilege)){
and t.privilege =#privilege#
@}
@if(!isEmpty(unionid)){
and t.unionid =#unionid#
@}
deleteCoreUserWxByIds
===
* 批量删除
delete from core_user_wx where find_in_set(wx_id,#ids#)
getByIds
===
select * from core_user_wx where find_in_set(wx_id,#ids#)
updateGivenByIds
===
* 批量更新指定字段,无论此字段是否有值
update core_user_wx
set
@if(contain("openid",_given)){
@if(isEmpty(openid)){
openid = null ,
@}else{
openid = #openid# ,
@}
@}
@if(contain("userId",_given)){
@if(isEmpty(userId)){
user_id = null ,
@}else{
user_id = #userId# ,
@}
@}
@if(contain("nickname",_given)){
@if(isEmpty(nickname)){
nickname = null ,
@}else{
nickname = #nickname# ,
@}
@}
@if(contain("sex",_given)){
@if(isEmpty(sex)){
sex = null ,
@}else{
sex = #sex# ,
@}
@}
@if(contain("province",_given)){
@if(isEmpty(province)){
province = null ,
@}else{
province = #province# ,
@}
@}
@if(contain("city",_given)){
@if(isEmpty(city)){
city = null ,
@}else{
city = #city# ,
@}
@}
@if(contain("country",_given)){
@if(isEmpty(country)){
country = null ,
@}else{
country = #country# ,
@}
@}
@if(contain("headimgurl",_given)){
@if(isEmpty(headimgurl)){
headimgurl = null ,
@}else{
headimgurl = #headimgurl# ,
@}
@}
@if(contain("privilege",_given)){
@if(isEmpty(privilege)){
privilege = null ,
@}else{
privilege = #privilege# ,
@}
@}
@if(contain("unionid",_given)){
@if(isEmpty(unionid)){
unionid = null ,
@}else{
unionid = #unionid# ,
@}
@}
wx_id = wx_id
where find_in_set(wx_id,#wxIdPlural#)
getCoreUserWxValues
===
* 根据不为空的参数进行查询
select t.*
from core_user_wx t
where 1=1
@if(!isEmpty(wxId)){
and t.wx_id =#wxId#
@}
@if(!isEmpty(openid)){
and t.openid =#openid#
@}
@if(!isEmpty(userId)){
and t.user_id =#userId#
@}
@if(!isEmpty(nickname)){
and t.nickname =#nickname#
@}
@if(!isEmpty(sex)){
and t.sex =#sex#
@}
@if(!isEmpty(province)){
and t.province =#province#
@}
@if(!isEmpty(city)){
and t.city =#city#
@}
@if(!isEmpty(country)){
and t.country =#country#
@}
@if(!isEmpty(headimgurl)){
and t.headimgurl =#headimgurl#
@}
@if(!isEmpty(privilege)){
and t.privilege =#privilege#
@}
@if(!isEmpty(unionid)){
and t.unionid =#unionid#
@}
getValuesByQuery
===
* 根据不为空的参数进行查询
select t.*
from core_user_wx t
where 1=1 and #function("coreUserWx.query")#
@if(!isEmpty(wxId)){
and t.wx_id =#wxId#
@}
@if(!isEmpty(openid)){
and t.openid =#openid#
@}
@if(!isEmpty(userId)){
and t.user_id =#userId#
@}
@if(!isEmpty(userIdPlural)){
and find_in_set(t.user_id,#userIdPlural#)
@}
@if(!isEmpty(nickname)){
and t.nickname =#nickname#
@}
@if(!isEmpty(sex)){
and t.sex =#sex#
@}
@if(!isEmpty(province)){
and t.province =#province#
@}
@if(!isEmpty(city)){
and t.city =#city#
@}
@if(!isEmpty(country)){
and t.country =#country#
@}
@if(!isEmpty(headimgurl)){
and t.headimgurl =#headimgurl#
@}
@if(!isEmpty(privilege)){
and t.privilege =#privilege#
@}
@if(!isEmpty(unionid)){
and t.unionid =#unionid#
@}
getValuesByQueryNotWithPermission
===
* 根据不为空的参数进行查询(不包含权限)
select t.*
from core_user_wx t
where 1=1
@if(!isEmpty(wxId)){
and t.wx_id =#wxId#
@}
@if(!isEmpty(openid)){
and t.openid =#openid#
@}
@if(!isEmpty(userId)){
and t.user_id =#userId#
@}
@if(!isEmpty(userIdPlural)){
and find_in_set(t.user_id,#userIdPlural#)
@}
@if(!isEmpty(nickname)){
and t.nickname =#nickname#
@}
@if(!isEmpty(sex)){
and t.sex =#sex#
@}
@if(!isEmpty(province)){
and t.province =#province#
@}
@if(!isEmpty(city)){
and t.city =#city#
@}
@if(!isEmpty(country)){
and t.country =#country#
@}
@if(!isEmpty(headimgurl)){
and t.headimgurl =#headimgurl#
@}
@if(!isEmpty(privilege)){
and t.privilege =#privilege#
@}
@if(!isEmpty(unionid)){
and t.unionid =#unionid#
@}

@ -0,0 +1,38 @@
layui.define([ 'form', 'laydate', 'table','coreUserWxApi'], function(exports) {
var form = layui.form;
var coreUserWxApi = layui.coreUserWxApi;
var index = layui.index;
var view = {
init:function(){
Lib.initGenrealForm($("#addForm"),form);
this.initSubmit();
},
initSubmit:function(){
$("#addButton").click(function(){
form.on('submit(form)', function(){
var wxId = $("#addForm input[name='wxId']").val();
if(!$.isEmpty(wxId)){
coreUserWxApi.updateCoreUserWx($('#addForm'),function(){
parent.window.dataReload();
Common.info("更新成功");
Lib.closeFrame();
});
}else{
coreUserWxApi.addCoreUserWx($('#addForm'),function(){
parent.window.dataReload();
Common.info("添加成功");
Lib.closeFrame();
});
}
});
});
$("#addButton-cancel").click(function(){
Lib.closeFrame();
});
}
}
exports('add',view);
});

@ -0,0 +1,18 @@
/*访问后台的代码*/
layui.define([], function(exports) {
var api={
updateCoreUserWx:function(form,callback){
Lib.submitForm("/jlw/coreUserWx/edit.json",form,{},callback)
},
addCoreUserWx:function(form,callback){
Lib.submitForm("/jlw/coreUserWx/add.json",form,{},callback)
},
del:function(ids,callback){
Common.post("/jlw/coreUserWx/delete.json",{"ids":ids},function(){
callback();
})
}
};
exports('coreUserWxApi',api);
});

@ -0,0 +1,23 @@
layui.define(['table', 'coreUserWxApi'], function(exports) {
var coreUserWxApi = layui.coreUserWxApi;
var table=layui.table;
var view = {
init:function(){
},
delBatch:function(){
var data = Common.getMoreDataFromTable(table,"coreUserWxTable");
if(data==null){
return ;
}
Common.openConfirm("确认要删除这些微信登录绑定?",function(){
var ids =Common.concatBatchId(data,"wxId");
coreUserWxApi.del(ids,function(){
Common.info("删除成功");
dataReload();
})
})
}
}
exports('del',view);
});

@ -0,0 +1,28 @@
layui.define([ 'form', 'laydate', 'table','coreUserWxApi'], function(exports) {
var form = layui.form;
var coreUserWxApi = layui.coreUserWxApi;
var index = layui.index;
var view = {
init:function(){
Lib.initGenrealForm($("#updateForm"),form);
this.initSubmit();
},
initSubmit:function(){
$("#updateButton").click(function(){
form.on('submit(form)', function(){
coreUserWxApi.updateCoreUserWx($('#updateForm'),function(){
parent.window.dataReload();
Common.info("更新成功");
Lib.closeFrame();
});
});
});
$("#updateButton-cancel").click(function(){
Lib.closeFrame();
});
}
}
exports('edit',view);
});

@ -0,0 +1,199 @@
layui.define([ 'form', 'laydate', 'table' ], function(exports) {
var form = layui.form;
var laydate = layui.laydate;
var table = layui.table;
var coreUserWxTable = null;
var view ={
init:function(){
var that = this
this.initTable();
this.initSearchForm();
this.initToolBar();
window.dataReload = function(){
Lib.doSearchForm($("#searchForm"),coreUserWxTable)
that.initToolBar();
}
},
initTable:function(){
var sx_ = localStorage.getItem("coreUserWxTable_field_"+Common.userInfoId); //筛选值显示、隐藏缓存
if($.isEmpty(sx_)){sx_ = {};}else {sx_ = JSON.parse(sx_);}
coreUserWxTable = table.render({
elem : '#coreUserWxTable',
height : Lib.getTableHeight(1),
cellMinWidth: 100,
method : 'post',
url : Common.ctxPath + '/jlw/coreUserWx/list.json' // 数据接口
,page : Lib.tablePage // 开启分页
,toolbar: '#toolbar_coreUserWx' //自定义头部左侧工具栏
,defaultToolbar: ['filter', 'print', 'exports'] //头部右侧工具栏
,limit : 10,
cols : [ [ // 表头
{
type : 'checkbox',
},
{
field : 'wxId',
title : '微信绑定主键',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['wxId'])?false:sx_['wxId'],
width : 60,
},
{
field : 'openid',
title : '微信openID',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['openid'])?false:sx_['openid'],
},
{
field : 'userId',
title : '系统用户id',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['userId'])?false:sx_['userId'],
},
{
field : 'nickname',
title : '用户昵称',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['nickname'])?false:sx_['nickname'],
},
{
field : 'sex',
title : 'sex',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['sex'])?false:sx_['sex'],
},
{
field : 'province',
title : 'province',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['province'])?false:sx_['province'],
},
{
field : 'city',
title : 'city',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['city'])?false:sx_['city'],
},
{
field : 'country',
title : 'country',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['country'])?false:sx_['country'],
},
{
field : 'headimgurl',
title : '头像',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['headimgurl'])?false:sx_['headimgurl'],
},
{
field : 'privilege',
title : 'privilege',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['privilege'])?false:sx_['privilege'],
},
{
field : 'unionid',
title : 'unionid',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['unionid'])?false:sx_['unionid'],
}
,{
field : 'operation_',title : '操作',align:"center", templet: function (d) {
var htm = '<button type="button" class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit">编辑</button>';
htm += '<button type="button" class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</button>';
return htm;
}
}
] ]
});
table.on('checkbox(coreUserWxTable)', function(obj){
var coreUserWx = obj.data;
if(obj.checked){
//按钮逻辑Lib.buttonEnable()
}else{
}
})
},
initSearchForm:function(){
Lib.initSearchForm( $("#searchForm"),coreUserWxTable,form);
},
initToolBar:function(){
toolbar = {
add: function () {
var url = "/jlw/coreUserWx/add.do";
Common.openDlg(url,"微信登录绑定管理>新增");
},
edit: function () {
var data = Common.getOneFromTable(table,"coreUserWxTable");
if(data==null){
return ;
}
var url = "/jlw/coreUserWx/add.do?wxId="+data.wxId;
Common.openDlg(url,"微信登录绑定管理>"+data.wxId+">编辑");
},
del: function () {
layui.use(['del'], function(){
var delView = layui.del
delView.delBatch();
});
},
search: function () {
Lib.doSearchForm($("#searchForm"), coreUserWxTable, 1);
view.initToolBar()
},
refresh: function () {
searchForm.reset();
Lib.doSearchForm($("#searchForm"), coreUserWxTable, 1);
view.initToolBar()
},
}
//触发事件
$('.ext-toolbar').on('click', function() {
var type = $(this).data('type');
toolbar[type] ? toolbar[type].call(this) : '';
});
}, initTableTool: table.on('tool(coreUserWxTable)', function (obj) {
var data = obj.data;
if (obj.event === 'edit') {
var url = "/jlw/coreUserWx/add.do?wxId="+data.wxId;
Common.openDlg(url,"微信登录绑定管理>"+data.wxId+">编辑");
}else if(obj.event === "del"){
layer.confirm('是否确定删除该信息?', function (index) {
var ret = Common.postAjax("/jlw/coreUserWx/delete.json",{ids:data.wxId});
layer.msg(ret.code == 0?"删除成功!":ret.msg, {
offset: ['50%'],
icon: ret.code == 0?1:2,
time: 1500 //2秒关闭如果不配置默认是3秒
},function (){
if(ret.code == 0){
Lib.tableRefresh();
}
});
});
}
})
}
exports('index',view);
});

@ -0,0 +1,94 @@
<!--# layout("/common/layout.html",{"jsBase":"/js/jlw/coreUserWx/"}){ -->
<form class="layui-form" id="addForm">
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">微信openID</label>
<div class="layui-input-inline">
<input type="text" id="openid" name="openid" value="${coreUserWx.openid}" class="layui-input" >
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">系统用户id</label>
<div class="layui-input-inline">
<input type="text" id="userId" name="userId" value="${coreUserWx.userId}" class="layui-input" >
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">用户昵称</label>
<div class="layui-input-inline">
<input type="text" id="nickname" name="nickname" value="${coreUserWx.nickname}" class="layui-input" >
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">sex</label>
<div class="layui-input-inline">
<input type="text" id="sex" name="sex" value="${coreUserWx.sex}" class="layui-input" >
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">province</label>
<div class="layui-input-inline">
<input type="text" id="province" name="province" value="${coreUserWx.province}" class="layui-input" >
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">city</label>
<div class="layui-input-inline">
<input type="text" id="city" name="city" value="${coreUserWx.city}" class="layui-input" >
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">country</label>
<div class="layui-input-inline">
<input type="text" id="country" name="country" value="${coreUserWx.country}" class="layui-input" >
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">头像</label>
<div class="layui-input-inline">
<input type="text" id="headimgurl" name="headimgurl" value="${coreUserWx.headimgurl}" class="layui-input" >
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">privilege</label>
<div class="layui-input-inline">
<input type="text" id="privilege" name="privilege" value="${coreUserWx.privilege}" class="layui-input" >
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">unionid</label>
<div class="layui-input-inline">
<input type="text" id="unionid" name="unionid" value="${coreUserWx.unionid}" class="layui-input" >
</div>
</div>
</div>
</div>
<!-- 业务对象须有hidden字段保存delFlag和version字段-->
<input type="hidden" name="wxId" value="${coreUserWx.wxId}" />
<layui:submitButtons id="addButton" buttonType="" showExamine="2" />
</form>
<!--#} -->
<script>
layui.use(['add'], function(){
var coreUserWxAdd = layui.add
coreUserWxAdd.init();
});
</script>

@ -0,0 +1,94 @@
<!--# layout("/common/layout.html",{"jsBase":"/js/jlw/coreUserWx/"}){ -->
<form class="layui-form" id="updateForm">
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">微信openID</label>
<div class="layui-input-inline">
<input type="text" id="openid" name="openid" value="${coreUserWx.openid}" class="layui-input" >
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">系统用户id</label>
<div class="layui-input-inline">
<input type="text" id="userId" name="userId" value="${coreUserWx.userId}" class="layui-input" >
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">用户昵称</label>
<div class="layui-input-inline">
<input type="text" id="nickname" name="nickname" value="${coreUserWx.nickname}" class="layui-input" >
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">sex</label>
<div class="layui-input-inline">
<input type="text" id="sex" name="sex" value="${coreUserWx.sex}" class="layui-input" >
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">province</label>
<div class="layui-input-inline">
<input type="text" id="province" name="province" value="${coreUserWx.province}" class="layui-input" >
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">city</label>
<div class="layui-input-inline">
<input type="text" id="city" name="city" value="${coreUserWx.city}" class="layui-input" >
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">country</label>
<div class="layui-input-inline">
<input type="text" id="country" name="country" value="${coreUserWx.country}" class="layui-input" >
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">头像</label>
<div class="layui-input-inline">
<input type="text" id="headimgurl" name="headimgurl" value="${coreUserWx.headimgurl}" class="layui-input" >
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">privilege</label>
<div class="layui-input-inline">
<input type="text" id="privilege" name="privilege" value="${coreUserWx.privilege}" class="layui-input" >
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">unionid</label>
<div class="layui-input-inline">
<input type="text" id="unionid" name="unionid" value="${coreUserWx.unionid}" class="layui-input" >
</div>
</div>
</div>
</div>
<!-- 业务对象须有hidden字段保存delFlag和version字段-->
<input type="hidden" name="wxId" value="${coreUserWx.wxId}" />
<layui:submitButtons id="updateButton" buttonType="" showExamine="2" />
</form>
<!--#} -->
<script>
layui.use(['edit'], function(){
var coreUserWxEdit = layui.edit
coreUserWxEdit.init();
});
</script>

@ -0,0 +1,29 @@
<!--#layout("/common/layout.html",{"jsBase":"/js/jlw/coreUserWx/"}){ -->
<layui:searchForm formId="searchForm" searchList="" condition="${search}">
</layui:searchForm>
<table id="coreUserWxTable" lay-filter="coreUserWxTable"></table>
<!--#} -->
<script type="text/html" id="toolbar_coreUserWx">
<div class="layui-btn-container">
<div class="layui-btn-group" >
<!--# if(core.searchIsShow(search)) {-->
<layui:accessButton function="coreUserWx.query" id="searchFormSearch" action="search"><i class="layui-icon">&#xe615;</i>搜索</layui:accessButton>
<!--# }-->
<layui:accessButton function="coreUserWx.add" action="add">添加</layui:accessButton>
<layui:accessButton function="coreUserWx.edit" action="edit">修改</layui:accessButton>
<layui:accessButton function="coreUserWx.del" action="del">删除</layui:accessButton>
<!--# if(!isEmpty(search)) {-->
<layui:accessButton function="coreUserWx.query" action="refresh"><i class="layui-icon">&#xe669;</i>刷新</layui:accessButton>
<!--# }-->
</div>
</div>
</script>
<script>
layui.use(['index'], function(){
var index = layui.index;
index.init();
});
</script>
Loading…
Cancel
Save