cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java
@@ -1,7 +1,9 @@ package com.dsh.course.controller; import cn.mb.cloud.common.data.controller.BaseController; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dsh.course.entity.TCourse; import com.dsh.course.entity.TCoursePackagePayment; import com.dsh.course.entity.TCoursePackageType; @@ -11,6 +13,7 @@ import com.dsh.course.service.TCoursePackageService; import com.dsh.course.service.TCoursePackageTypeService; import com.dsh.course.service.TCourseService; import com.dsh.course.util.PageFactory; import com.dsh.course.util.PayMoneyUtil; import com.dsh.course.util.ResultUtil; import com.dsh.course.util.TokenUtil; @@ -35,7 +38,7 @@ @CrossOrigin @RestController @RequestMapping("") public class CourseController { public class CourseController extends BaseController { private Logger logger = LoggerFactory.getLogger("business-log"); @@ -276,4 +279,70 @@ return null; } } /** * 获取课程管理列表数据 * @param queryCourseList * @return */ @ResponseBody @PostMapping("/course/queryCourseLists") public Page<Map<String, Object>> queryCourseLists(@RequestBody QueryCourseList queryCourseList){ Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(queryCourseList.getLimit(), queryCourseList.getOffset(), queryCourseList.getSort(), queryCourseList.getOrder()); Page<Map<String, Object>> mapPage = page.setRecords(courseService.queryCourseList(page, queryCourseList)); return mapPage; } /** * 添加课程 * @param course */ @ResponseBody @PostMapping("/course/addCourse") public void addCourse(@RequestBody TCourse course){ courseService.save(course); } /** * 编辑数据 * @param course */ @ResponseBody @PostMapping("/course/editCourse") public void editCourse(@RequestBody TCourse course){ courseService.updateById(course); } /** * 删除数据 * @param id */ @ResponseBody @PostMapping("/course/delCourseById") public void delCourseById(@RequestBody Integer id){ TCourse course = courseService.getById(id); if(null != course){ course.setState(3); courseService.updateById(course); } } /** * 编辑数据状态 * @param editCourseState */ @ResponseBody @PostMapping("/course/editCourseState") public void editCourseState(@RequestBody EditCourseState editCourseState){ TCourse course = courseService.getById(editCourseState.getId()); if(null != course){ course.setState(editCourseState.getState()); courseService.updateById(course); } } } cloud-server-course/src/main/java/com/dsh/course/mapper/TCourseMapper.java
@@ -1,7 +1,13 @@ package com.dsh.course.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dsh.course.entity.TCourse; import com.dsh.course.model.QueryCourseList; import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; /** @@ -14,4 +20,13 @@ */ public interface TCourseMapper extends BaseMapper<TCourse> { /** * 获取课程管理列表 * @param page * @param queryCourseList * @return */ List<Map<String, Object>> queryCourseList(Page<Map<String, Object>> page, @Param("item") QueryCourseList queryCourseList); } cloud-server-course/src/main/java/com/dsh/course/model/EditCourseState.java
New file @@ -0,0 +1,19 @@ package com.dsh.course.model; import lombok.Data; /** * @author zhibing.pu * @Date 2023/7/31 17:33 */ @Data public class EditCourseState { /** * 数据id */ private Integer id; /** * 状态(1=上架,2=下架) */ private Integer state; } cloud-server-course/src/main/java/com/dsh/course/model/QueryCourseList.java
New file @@ -0,0 +1,26 @@ package com.dsh.course.model; import lombok.Data; /** * @author zhibing.pu * @Date 2023/7/31 14:21 */ @Data public class QueryCourseList { /** * 课程名称 */ private String name; /** * 课程类型 */ private Integer courseType; /** * 排序 */ private String order; private Integer offset; private Integer limit; private String sort; } cloud-server-course/src/main/java/com/dsh/course/service/TCourseService.java
@@ -1,7 +1,12 @@ package com.dsh.course.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dsh.course.entity.TCourse; import com.baomidou.mybatisplus.extension.service.IService; import com.dsh.course.model.QueryCourseList; import java.util.List; import java.util.Map; /** * <p> @@ -13,4 +18,12 @@ */ public interface TCourseService extends IService<TCourse> { /** * 获取课程管理列表 * @param page * @param queryCourseList * @return */ List<Map<String, Object>> queryCourseList(Page<Map<String, Object>> page, QueryCourseList queryCourseList); } cloud-server-course/src/main/java/com/dsh/course/service/impl/TCourseServiceImpl.java
@@ -1,10 +1,15 @@ package com.dsh.course.service.impl; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dsh.course.entity.TCourse; import com.dsh.course.mapper.TCourseMapper; import com.dsh.course.model.QueryCourseList; import com.dsh.course.service.TCourseService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import java.util.List; import java.util.Map; /** @@ -19,5 +24,14 @@ public class TCourseServiceImpl extends ServiceImpl<TCourseMapper, TCourse> implements TCourseService { /** * 获取课程管理列表 * @param page * @param queryCourseList * @return */ @Override public List<Map<String, Object>> queryCourseList(Page<Map<String, Object>> page, QueryCourseList queryCourseList) { return this.baseMapper.queryCourseList(page, queryCourseList); } } cloud-server-course/src/main/java/com/dsh/course/util/PageFactory.java
New file @@ -0,0 +1,28 @@ package com.dsh.course.util; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.springframework.util.StringUtils; /** * BootStrap Table默认的分页参数创建 * * @author fengshuonan * @date 2017-04-05 22:25 */ public class PageFactory<T> { public Page<T> defaultPage(Integer limit, Integer offset, String sort, String order) { if (StringUtils.isEmpty(sort)) { Page<T> page = new Page<>((offset / limit + 1), limit); return page; } else { Page<T> page = new Page<T>((offset / limit + 1), limit); if ("asc".equals(order)) { } else { } return page; } } } cloud-server-course/src/main/resources/mapper/TCourseMapper.xml
@@ -16,4 +16,15 @@ </resultMap> <select id="queryCourseList" resultType="map"> select id, type, name, introduce, coverDrawing, state from t_course where state != 3 <if test="null != item.name and '' != item.name"> and name like CONCAT('%', #{item.name}, '%') </if> <if test="null != item.courseType"> and type = #{item.courseType} </if> order by insertTime desc </select> </mapper> cloud-server-management/src/main/java/com/dsh/course/entity/CancleOrder.java
File was deleted cloud-server-management/src/main/java/com/dsh/course/entity/Car.java
File was deleted cloud-server-management/src/main/java/com/dsh/course/entity/CarBrand.java
File was deleted cloud-server-management/src/main/java/com/dsh/course/entity/CarModel.java
File was deleted cloud-server-management/src/main/java/com/dsh/course/entity/CarService.java
File was deleted cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseClient.java
@@ -1,10 +1,15 @@ package com.dsh.course.feignClient.course; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dsh.course.feignClient.course.model.QueryCourseList; import com.dsh.guns.modular.system.model.EditCourseState; import com.dsh.guns.modular.system.model.TCourse; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import java.util.List; import java.util.Map; /** * @author zhibing.pu @@ -13,6 +18,52 @@ @FeignClient("mb-cloud-course") public interface CourseClient { /** * 获取课程管理列表 * @param queryCourseList * @return */ @PostMapping("/course/queryCourseLists") Page<Map<String, Object>> queryCourseLists(QueryCourseList queryCourseList); /** * 添加课程 * @param course */ @PostMapping("/course/queryCourseList") void addCourse(TCourse course); /** * 根据id获取数据 * @param id * @return */ @PostMapping("/course/queryCourseById") TCourse queryCourseById(Integer id); /** * 修改数据 * @param course */ @PostMapping("/course/editCourse") void editCourse(TCourse course); /** * 删除数据 * @param id */ @PostMapping("/course/delCourseById") void delCourseById(Integer id); /** * 修改数据状态 * @param editCourseState */ @PostMapping("/course/editCourseState") void editCourseState(EditCourseState editCourseState); } cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/QueryCourseList.java
New file @@ -0,0 +1,26 @@ package com.dsh.course.feignClient.course.model; import lombok.Data; /** * @author zhibing.pu * @Date 2023/7/31 14:21 */ @Data public class QueryCourseList { /** * 课程名称 */ private String name; /** * 课程类型 */ private Integer courseType; /** * 排序 */ private String order; private Integer offset; private Integer limit; private String sort; } cloud-server-management/src/main/java/com/dsh/course/mapper/CarBrandMapper.java
File was deleted cloud-server-management/src/main/java/com/dsh/course/mapper/CarMapper.java
File was deleted cloud-server-management/src/main/java/com/dsh/course/mapper/CarModelMapper.java
File was deleted cloud-server-management/src/main/java/com/dsh/course/mapper/CarServiceMapper.java
File was deleted cloud-server-management/src/main/java/com/dsh/course/service/ICancleOrderService.java
File was deleted cloud-server-management/src/main/java/com/dsh/course/service/ICarService.java
File was deleted cloud-server-management/src/main/java/com/dsh/course/service/ICarServiceService.java
File was deleted cloud-server-management/src/main/java/com/dsh/course/service/impl/CarServiceServiceImpl.java
File was deleted cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCourseController.java
@@ -1,9 +1,17 @@ package com.dsh.guns.modular.system.controller.code; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dsh.guns.core.base.controller.BaseController; import com.dsh.guns.core.common.constant.factory.PageFactory; import com.dsh.guns.modular.system.model.TCourse; import com.dsh.guns.modular.system.service.ICourseService; import com.dsh.guns.modular.system.util.ResultUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; import java.util.Map; /** * 课程管理 @@ -12,9 +20,14 @@ */ @Controller @RequestMapping("/course") public class TCourseController { public class TCourseController extends BaseController { private String PREFIX = "/system/course/"; @Autowired private ICourseService courseService; /** @@ -36,4 +49,101 @@ return PREFIX + "course_add.html"; } /** * 跳转到编辑页 * @param id * @param model * @return */ @GetMapping("/showEditCourse") public String showEditCourse(Integer id, Model model){ TCourse tCourse = courseService.queryCourseById(id); model.addAttribute("item", tCourse); return PREFIX + "course_edit.html"; } /** * 跳转到详情页 * @param id * @param model * @return */ @GetMapping("/showCourseDetails") public String showCourseDetails(Integer id, Model model){ TCourse tCourse = courseService.queryCourseById(id); model.addAttribute("item", tCourse); return PREFIX + "course_info.html"; } /** * 获取列表数据 * @param name * @param courseType * @return */ @ResponseBody @PostMapping("/queryCourseList") public Object queryCourseList(String name, Integer courseType){ Page<Map<String, Object>> mapPage = courseService.queryCourseList(name, courseType); return super.packForBT(mapPage); } /** * 添加课程 * @param course * @return */ @ResponseBody @PostMapping("/addCourse") public ResultUtil addCourse(TCourse course){ courseService.addCourse(course); return ResultUtil.success(); } /** * 编辑数据 * @param course * @return */ @ResponseBody @PostMapping("/editCourse") public ResultUtil editCourse(TCourse course){ courseService.editCourse(course); return ResultUtil.success(); } /** * 删除数据 * @param id * @return */ @ResponseBody @PostMapping("/delCourse") public ResultUtil delCourse(Integer id){ courseService.delCourse(id); return ResultUtil.success(); } /** * 编辑数据状态 * @param id * @param state * @return */ @ResponseBody @PostMapping("/editCourseState") public ResultUtil editCourseState(Integer id, Integer state){ courseService.editCourseState(id, state); return ResultUtil.success(); } } cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java
@@ -27,6 +27,7 @@ import com.dsh.guns.modular.system.service.IRoleService; import com.dsh.guns.modular.system.service.IUserService; import com.dsh.guns.modular.system.transfer.UserDto; import com.dsh.guns.modular.system.util.OssUploadUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; @@ -379,20 +380,33 @@ /** * 上传图片 */ @RequestMapping(method = RequestMethod.POST, path = "/upload") @RequestMapping(method = RequestMethod.POST, path = "/uploadImg") @ResponseBody public String upload(@RequestPart("file") MultipartFile picture) { String pictureName = UUID.randomUUID().toString() + "." + ToolUtil.getFileSuffix(picture.getOriginalFilename()); public String uploadImg(@RequestPart("file") MultipartFile picture) { String pictureName = ""; try { String fileSavePath = gunsProperties.getFileUploadPath(); picture.transferTo(new File(fileSavePath + pictureName)); } catch (Exception e) { throw new GunsException(BizExceptionEnum.UPLOAD_ERROR); pictureName = OssUploadUtil.ossUpload("img/", picture); }catch (Exception e){ e.printStackTrace(); } return pictureName; } @RequestMapping(method = RequestMethod.POST, path = "/uploadFile") @ResponseBody public String uploadFile(@RequestPart("file") MultipartFile picture) { String pictureName = ""; try { pictureName = OssUploadUtil.ossUpload("video/", picture); }catch (Exception e){ e.printStackTrace(); } return pictureName; } /** * 判断当前登录的用户是否有操作这个用户的权限 */ cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/EditCourseState.java
New file @@ -0,0 +1,19 @@ package com.dsh.guns.modular.system.model; import lombok.Data; /** * @author zhibing.pu * @Date 2023/7/31 17:33 */ @Data public class EditCourseState { /** * 数据id */ private Integer id; /** * 状态(1=上架,2=下架) */ private Integer state; } cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TCourse.java
New file @@ -0,0 +1,58 @@ package com.dsh.guns.modular.system.model; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.util.Date; /** * <p> * 课程 * </p> * * @author administrator * @since 2023-06-14 */ @Data public class TCourse { /** * 主键 */ private Integer id; /** * 课程名称 */ private String name; /** * 类型(1=课后练习,2=运动教学视频,3=器材教学视频) */ private Integer type; /** * 介绍 */ private String introduce; /** * 封面图 */ private String coverDrawing; /** * 介绍图 */ private String introductionDrawing; /** * 课程视频 */ private String courseVideo; /** * 状态(1=正常,2=冻结,3=删除) */ private Integer state; /** * 添加时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date insertTime; } cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/ICourseService.java
New file @@ -0,0 +1,60 @@ package com.dsh.guns.modular.system.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dsh.guns.modular.system.model.TCourse; import java.util.List; import java.util.Map; /** * @author zhibing.pu * @Date 2023/7/31 14:18 */ public interface ICourseService { /** * 获取列表数据 * @param name * @param courseType * @return */ Page<Map<String, Object>> queryCourseList(String name, Integer courseType); /** * 添加数据 * @param course */ void addCourse(TCourse course); /** * 根据id获取数据 * @param id * @return */ TCourse queryCourseById(Integer id); /** * 修改数据 * @param course */ void editCourse(TCourse course); /** * 删除数据 * @param id */ void delCourse(Integer id); /** * 修改数据状态 * @param id * @param state */ void editCourseState(Integer id, Integer state); } cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CourseServiceImpl.java
New file @@ -0,0 +1,102 @@ package com.dsh.guns.modular.system.service.impl; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dsh.course.feignClient.course.CourseClient; import com.dsh.course.feignClient.course.model.QueryCourseList; import com.dsh.guns.core.common.constant.factory.PageFactory; import com.dsh.guns.core.support.HttpKit; import com.dsh.guns.modular.system.model.EditCourseState; import com.dsh.guns.modular.system.model.TCourse; import com.dsh.guns.modular.system.service.ICourseService; import org.springframework.stereotype.Service; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; /** * @author zhibing.pu * @Date 2023/7/31 14:18 */ @Service public class CourseServiceImpl implements ICourseService { @Resource private CourseClient courseClient; /** * 获取课程列表数据 * @param name * @param courseType * @return */ @Override public Page<Map<String, Object>> queryCourseList(String name, Integer courseType) { HttpServletRequest request = HttpKit.getRequest(); QueryCourseList queryCourseList = new QueryCourseList(); queryCourseList.setCourseType(courseType); queryCourseList.setName(name); queryCourseList.setLimit(Integer.valueOf(request.getParameter("limit"))); queryCourseList.setOffset(Integer.valueOf(request.getParameter("offset"))); queryCourseList.setSort(request.getParameter("sort")); queryCourseList.setOrder(request.getParameter("order")); Page<Map<String, Object>> mapPage = courseClient.queryCourseLists(queryCourseList); return mapPage; } /** * 添加课程 * @param course */ @Override public void addCourse(TCourse course) { courseClient.addCourse(course); } /** * 根据id获取数据 * @param id * @return */ @Override public TCourse queryCourseById(Integer id) { return courseClient.queryCourseById(id); } /** * 修改数据 * @param course */ @Override public void editCourse(TCourse course) { courseClient.editCourse(course); } /** * 删除数据 * @param id */ @Override public void delCourse(Integer id) { courseClient.delCourseById(id); } /** * 修改数据状态 * @param id * @param state */ @Override public void editCourseState(Integer id, Integer state) { EditCourseState editCourseState = new EditCourseState(); editCourseState.setId(id); editCourseState.setState(state); courseClient.editCourseState(editCourseState); } } cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/OssUploadUtil.java
@@ -2,6 +2,7 @@ import com.aliyun.oss.OSSClient; import com.aliyun.oss.model.ObjectMetadata; import com.aliyun.oss.model.PutObjectResult; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; @@ -11,15 +12,15 @@ public class OssUploadUtil { //OSS图片访问域名 public static String oss_domain = "https://newok.oss-cn-shenzhen.aliyuncs.com/"; public static String accessKeyId = "LTAI4G9Zez9H4B36vakPXGy4"; public static String accessKeySecret = "BOVPUeZndKVbrPOq6Ef5j6oiydB3XZ"; public static String bucketName="newok"; public static String endpoint = "oss-cn-shenzhen.aliyuncs.com"; public static String oss_domain = "https://we-park-life.oss-cn-beijing.aliyuncs.com/"; public static String accessKeyId = "LTAI47eyqWWhBPXM"; public static String accessKeySecret = "orsYX78NvgXS9KbN7wCwRja1wkUwPc"; public static String bucketName="we-park-life"; public static String endpoint = "oss-cn-beijing.aliyuncs.com"; public static OSSClient ossClient = new OSSClient(endpoint, accessKeyId,accessKeySecret); public static String ossUpload(HttpServletRequest request, MultipartFile file) throws IOException{ public static String ossUpload(String filePath, MultipartFile file) throws IOException{ //CommonsMultipartFile file = (CommonsMultipartFile)multipartFile; String fileName = ""; if(file!=null && !"".equals(file.getOriginalFilename()) && file.getOriginalFilename()!=null){ @@ -28,10 +29,10 @@ meta.setContentLength(file.getSize()); // 必须设置ContentLength String originalFilename = file.getOriginalFilename(); fileName = UUID.randomUUID().toString().replaceAll("-","") + originalFilename.subSequence(originalFilename.lastIndexOf("."), originalFilename.length()); ossClient.putObject(bucketName,"img/"+fileName,content,meta);// 上传Object. ossClient.putObject(bucketName, filePath + fileName, content, meta);// 上传Object. if(fileName != null && !"".equals(fileName)){ System.out.println(fileName); fileName = oss_domain+"img/"+fileName; fileName = oss_domain+ filePath +fileName; } } return fileName; cloud-server-management/src/main/resources/mapper/CarBrandMapper.xml
File was deleted cloud-server-management/src/main/resources/mapper/CarMapper.xml
File was deleted cloud-server-management/src/main/resources/mapper/CarModelMapper.xml
File was deleted cloud-server-management/src/main/resources/mapper/CarServiceMapper.xml
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/login.html
@@ -64,11 +64,11 @@ <form class="m-t" role="form" action="${ctxPath}/login" method="post"> <div class="item"> <img src="${ctxPath}/img/account.png" /> <input class="itemInput" type="text" name="username" id="username" placeholder="请输入账号" required="" value=""> <input class="itemInput" type="text" name="username" id="username" placeholder="请输入账号" required="" value="admin"> </div> <div class="item"> <img src="${ctxPath}/img/password.png" /> <input class="itemInput" type="password" name="password" id="password" placeholder="请输入密码" required="" value=""> <input class="itemInput" type="password" name="password" id="password" placeholder="请输入密码" required="" value="123456"> </div> <!--<div class="item">--> <!--<img src="${ctxPath}/img/password.png" />--> cloud-server-management/src/main/webapp/WEB-INF/view/system/course/course.html
@@ -4,7 +4,7 @@ <div class="col-sm-12"> <div class="ibox float-e-margins"> <div class="ibox-title"> <h5>用户管理</h5> <h5>课程管理</h5> </div> <div class="ibox-content"> <div class="row row-lg"> @@ -13,7 +13,15 @@ <div class="col-lg-10 col-sm-9"> <div class="row"> <div class="col-lg-4 col-sm-12"> <#NameCon id="name" name="搜索" placeholder="帐号/姓名/手机号"/> <#NameCon id="name" name="课程名称"/> </div> <div class="col-lg-4 col-sm-12"> <#SelectCon id="type" name="课程类型"> <option value="">全部</option> <option value="1">课后练习</option> <option value="2">运动教学视频</option> <option value="3">器材教学视频</option> </#SelectCon> </div> </div> </div> @@ -37,10 +45,10 @@ <#button name="删除" icon="fa-remove" clickFun="Course.deleteCourse()" space="true"/> @} @if(shiro.hasPermission("/course/upCourse")){ <#button name="上架" icon="fa-refresh" clickFun="Course.upCourse()" space="true"/> <#button name="上架" icon="fa-refresh" clickFun="Course.editCourseState(1)" space="true"/> @} @if(shiro.hasPermission("/course/downCourse")){ <#button name="下架" icon="fa-warning" clickFun="Course.downCourse()" space="true"/> <#button name="下架" icon="fa-warning" clickFun="Course.editCourseState(2)" space="true"/> @} @if(shiro.hasPermission("/course/detailsCourse")){ <#button name="详情" icon="fa-check-circle" clickFun="Course.detailsCourse()" space="true"/> @@ -53,8 +61,8 @@ </div> </div> </div> <script src="${ctxPath}/static/modular/system/course/course.js"></script> <script src="${ctxPath}/static/js/layui/layui.js" charset="utf-8"></script> <script src="${ctxPath}/modular/system/course/course.js"></script> <script src="${ctxPath}/js/layui/layui.js" charset="utf-8"></script> <script> laydate.render({ elem: '#beginTime' cloud-server-management/src/main/webapp/WEB-INF/view/system/course/course_add.html
New file @@ -0,0 +1,96 @@ @layout("/common/_container.html"){ <div class="ibox float-e-margins"> <div class="ibox-content"> <div class="form-horizontal"> <div class="row"> <div class="form-group"> <label class="col-sm-3 control-label">*视频类型:</label> <div class="col-sm-4"> <select class="form-control" id="type" name="type"> <option value="1">课后练习</option> <option value="2">运动教学视频</option> <option value="3">器材教学视频</option> </select> </div> </div> <div class="form-group"> <label class="col-sm-3 control-label">*课程名称:</label> <div class="col-sm-4"> <input class="form-control" id="name" name="name"> </div> </div> <div class="form-group"> <label class="col-sm-3 control-label">课程简介:</label> <div class="col-sm-4"> <textarea class="form-control" id="introduce" name="introduce" style="height: 200px;"></textarea> </div> </div> <div class="form-group"> <label class="col-sm-3 control-label head-scu-label">*课程封面</label> <div class="col-sm-2"> <div id="coverDrawingPreId"> <div><img width="100px" height="100px" src="${ctxPath}/img/NoPIC.png"></div> </div> </div> <div class="col-sm-2"> <div class="head-scu-btn upload-btn" id="coverDrawingBtnId"> <i class="fa fa-upload"></i> 上传 </div> </div> <input type="hidden" id="coverDrawing" value=""/> </div> <div class="form-group"> <label class="col-sm-3 control-label head-scu-label"></label> <label>推荐像素:340 x 254px</label> </div> <div class="form-group"> <label class="col-sm-3 control-label head-scu-label">*课程介绍</label> <div class="col-sm-2"> <div id="introductionDrawingPreId"> <div><img width="100px" height="100px" src="${ctxPath}/img/NoPIC.png"></div> </div> </div> <div class="col-sm-2"> <div class="head-scu-btn upload-btn" id="introductionDrawingBtnId"> <i class="fa fa-upload"></i> 上传 </div> </div> <input type="hidden" id="introductionDrawing" value=""/> </div> <div class="form-group"> <label class="col-sm-3 control-label head-scu-label"></label> <label>推荐像素:宽780px</label> </div> <div class="form-group"> <label class="col-sm-3 control-label head-scu-label">*课程内容</label> <div class="col-sm-2" style="padding-top: 30px;"> <input type="file" id="upFile" name="upFile" style="display: none"> <input class="form-control" id="courseVideo" readonly/> </div> <div class="col-sm-2" style="padding-top: 30px;"> <button class="btn btn-outline btn-success" type="file" onclick="UploadFileFn()"><i class="fa fa-upload"></i>上传视频</button> </div> </div> </div> <div class="row btn-group-m-t"> <div class="col-sm-10"> <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="CourseInfo.addSubmit()"/> <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="CourseInfo.close()"/> </div> </div> </div> </div> </div> <script src="${ctxPath}/modular/system/course/course_info.js"></script> <script type="text/javascript"> var avatarUp = new $WebUpload("coverDrawing"); avatarUp.setUploadBarId("progressBar"); avatarUp.init(); var avatarUp1 = new $WebUpload("introductionDrawing"); avatarUp1.setUploadBarId("progressBar"); avatarUp1.init(); </script> @} cloud-server-management/src/main/webapp/WEB-INF/view/system/course/course_edit.html
New file @@ -0,0 +1,97 @@ @layout("/common/_container.html"){ <div class="ibox float-e-margins"> <div class="ibox-content"> <div class="form-horizontal"> <input type="hidden" id="id" value="${item.id}"> <div class="row"> <div class="form-group"> <label class="col-sm-3 control-label">*视频类型:</label> <div class="col-sm-4"> <select class="form-control" id="type" name="type"> <option value="1" ${item.type == 1 ? 'selected' : ''}>课后练习</option> <option value="2" ${item.type == 2 ? 'selected' : ''}>运动教学视频</option> <option value="3" ${item.type == 3 ? 'selected' : ''}>器材教学视频</option> </select> </div> </div> <div class="form-group"> <label class="col-sm-3 control-label">*课程名称:</label> <div class="col-sm-4"> <input class="form-control" id="name" name="name" value="${item.name}"> </div> </div> <div class="form-group"> <label class="col-sm-3 control-label">课程简介:</label> <div class="col-sm-4"> <textarea class="form-control" id="introduce" name="introduce" style="height: 200px;">${item.introduce}</textarea> </div> </div> <div class="form-group"> <label class="col-sm-3 control-label head-scu-label">*课程封面</label> <div class="col-sm-2"> <div id="coverDrawingPreId"> <div><img width="100px" height="100px" src="${item.coverDrawing}"></div> </div> </div> <div class="col-sm-2"> <div class="head-scu-btn upload-btn" id="coverDrawingBtnId"> <i class="fa fa-upload"></i> 上传 </div> </div> <input type="hidden" id="coverDrawing" value="${item.coverDrawing}"/> </div> <div class="form-group"> <label class="col-sm-3 control-label head-scu-label"></label> <label>推荐像素:340 x 254px</label> </div> <div class="form-group"> <label class="col-sm-3 control-label head-scu-label">*课程介绍</label> <div class="col-sm-2"> <div id="introductionDrawingPreId"> <div><img width="100px" height="100px" src="${item.introductionDrawing}"></div> </div> </div> <div class="col-sm-2"> <div class="head-scu-btn upload-btn" id="introductionDrawingBtnId"> <i class="fa fa-upload"></i> 上传 </div> </div> <input type="hidden" id="introductionDrawing" value="${item.introductionDrawing}"/> </div> <div class="form-group"> <label class="col-sm-3 control-label head-scu-label"></label> <label>推荐像素:宽780px</label> </div> <div class="form-group"> <label class="col-sm-3 control-label head-scu-label">*课程内容</label> <div class="col-sm-2" style="padding-top: 30px;"> <input type="file" id="upFile" name="upFile" style="display: none"> <input class="form-control" id="courseVideo" value="${item.courseVideo}" readonly/> </div> <div class="col-sm-2" style="padding-top: 30px;"> <button class="btn btn-outline btn-success" type="file" onclick="UploadFileFn()"><i class="fa fa-upload"></i>上传视频</button> </div> </div> </div> <div class="row btn-group-m-t"> <div class="col-sm-10"> <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="CourseInfo.addSubmit()"/> <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="CourseInfo.close()"/> </div> </div> </div> </div> </div> <script src="${ctxPath}/modular/system/course/course_info.js"></script> <script type="text/javascript"> var avatarUp = new $WebUpload("coverDrawing"); avatarUp.setUploadBarId("progressBar"); avatarUp.init(); var avatarUp1 = new $WebUpload("introductionDrawing"); avatarUp1.setUploadBarId("progressBar"); avatarUp1.init(); </script> @} cloud-server-management/src/main/webapp/WEB-INF/view/system/course/course_info.html
New file @@ -0,0 +1,79 @@ @layout("/common/_container.html"){ <div class="ibox float-e-margins"> <div class="ibox-content"> <div class="form-horizontal"> <input type="hidden" id="id" value="${item.id}"> <div class="row"> <div class="form-group"> <label class="col-sm-3 control-label">*视频类型:</label> <div class="col-sm-4"> <select class="form-control" id="type" name="type" disabled> <option value="1" ${item.type == 1 ? 'selected' : ''}>课后练习</option> <option value="2" ${item.type == 2 ? 'selected' : ''}>运动教学视频</option> <option value="3" ${item.type == 3 ? 'selected' : ''}>器材教学视频</option> </select> </div> </div> <div class="form-group"> <label class="col-sm-3 control-label">*课程名称:</label> <div class="col-sm-4"> <input class="form-control" id="name" name="name" value="${item.name}" readonly> </div> </div> <div class="form-group"> <label class="col-sm-3 control-label">课程简介:</label> <div class="col-sm-4"> <label class="form-control" id="introduce" name="introduce" style="height: 200px;">${item.introduce}</label> </div> </div> <div class="form-group"> <label class="col-sm-3 control-label head-scu-label">*课程封面</label> <div class="col-sm-2"> <div id="coverDrawingPreId"> <div><img width="200px" height="200px" src="${item.coverDrawing}"></div> </div> </div> <input type="hidden" id="coverDrawing" value="${item.coverDrawing}"/> </div> <div class="form-group"> <label class="col-sm-3 control-label head-scu-label"></label> <label>推荐像素:340 x 254px</label> </div> <div class="form-group"> <label class="col-sm-3 control-label head-scu-label">*课程介绍</label> <div class="col-sm-2"> <div id="introductionDrawingPreId"> <div><img width="200px" height="200px" src="${item.introductionDrawing}"></div> </div> </div> <input type="hidden" id="introductionDrawing" value="${item.introductionDrawing}"/> </div> <div class="form-group"> <label class="col-sm-3 control-label head-scu-label"></label> <label>推荐像素:宽780px</label> </div> <div class="form-group"> <label class="col-sm-3 control-label head-scu-label">*课程内容</label> <div class="col-sm-2" style="padding-top: 30px;"> <video height="420" controls> <source src="${item.courseVideo}" type="video/mp4"> </video> </div> </div> </div> </div> </div> </div> <script src="${ctxPath}/modular/system/course/course_info.js"></script> <script type="text/javascript"> var avatarUp = new $WebUpload("coverDrawing"); avatarUp.setUploadBarId("progressBar"); avatarUp.init(); var avatarUp1 = new $WebUpload("introductionDrawing"); avatarUp1.setUploadBarId("progressBar"); avatarUp1.init(); </script> @} cloud-server-management/src/main/webapp/WEB-INF/view/system/tCar/carInsurance.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tCar/carInsuranceInfo.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tCar/tCar.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tCar/tCar_add.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tCar/tCar_edit.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tCarBrand/tCarBrand.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tCarBrand/tCarBrand_add.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tCarBrand/tCarBrand_edit.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tCarModel/tCarModel.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tCarModel/tCarModel_add.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tCarModel/tCarModel_edit.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompany/franchisee.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompany/platformEdit.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompany/tCompany.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompany/tCompanyAudit.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompany/tCompanyAudit_immediately.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_add.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_addFranchisee.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_detail.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_detailFranchisee.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_edit.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompany/tCompany_updateFranchisee.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tDriver/punish.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tDriver/tDriver.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tDriver/tDriverVerify.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tDriver/tDriverVerify_edit.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_add.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_changeCar.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_edit.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_immediately.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_look.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_optDriver.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tDriver/training.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tDriver/yesDriver.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tOrderEvaluate/tOrderEvaluate.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tOrderEvaluate/tOrderEvaluate_add.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tOrderEvaluate/tOrderEvaluate_edit.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tOrderLogistics/tOrderLogistics.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tOrderLogistics/tOrderLogistics_add.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tOrderLogistics/tOrderLogistics_detail.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tOrderLogistics/tOrderLogistics_edit.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_add.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_orderDetail.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_trajectory.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/userActivity/addRegist.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/userActivity/receiveRecord.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/userActivity/sysCouponRecord.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/userActivity/sysCouponRecord1.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/userActivity/sysCouponRecord2.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/userActivity/sysRedPacketRecord.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/userActivity/userActivity.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/userActivity/userActivity_add.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/userActivity/userActivity_detail.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/userActivity/userActivity_detail1.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/userActivity/userActivity_edit.html
File was deleted cloud-server-management/src/main/webapp/WEB-INF/view/system/userActivity/userActivity_immediately.html
File was deleted cloud-server-management/src/main/webapp/static/js/common/web-upload-object.js
@@ -13,7 +13,7 @@ this.pictureId = pictureId; this.uploadBtnId = pictureId + "BtnId"; this.uploadPreId = pictureId + "PreId"; this.uploadUrl = Feng.ctxPath + '/upload/image'; this.uploadUrl = Feng.ctxPath + '/mgr/uploadImg'; this.fileSizeLimit = 100 * 1024 * 1024; this.picWidth = 800; this.picHeight = 800; cloud-server-management/src/main/webapp/static/modular/system/course/course.js
@@ -1,112 +1,44 @@ /** * 系统管理--用户管理的单例对象 */ var Course = { let Course = { id: "managerTable",//表格id seItem: null, //选中的条目 table: null, layerIndex: -1, deptid:0 }; var language =$("#language").val() let language =$("#language").val() /** * 初始化表格的列 */ Course.initColumn = function () { var columns = [ {field: 'selectItem', radio: true, formatter: function (value, row) { if (row.id == 1) return { disabled : true,//设置是否可用 }; return ""; } }, let columns = [ {field: 'selectItem', radio: true}, {title: 'id', field: 'id', visible: false, align: 'center', valign: 'middle'}, {title: language==1?'账号':(language==2?'Account number':'Nomor akun'), field: 'account', align: 'center', valign: 'middle', sortable: true}, {title: language==1?'姓名':(language==2?'name':'Nama Lengkap'), field: 'name', align: 'center', valign: 'middle', sortable: true}, {title: language==1?'性别':(language==2?'Gender':'Jenis kelamin'), field: 'sexName', align: 'center', valign: 'middle', sortable: true, formatter:function (data) { if(language==1){ if(data==1){ return '男' }else { return '女' } }else if(language==2){ if(data==1){ return 'man' }else { return 'woman' } }else { if(data==1){ return 'laki-laki' }else { return 'wanita' } {title: '视频类型', field: 'type', align: 'center', valign: 'middle', formatter: function (v) { switch (v) { case 1: return '课后练习'; case 2: return '运动教学视频'; case 3: return '器材教学视频'; } } }, {title: language==1?'角色':(language==2?'role':'peran'), field: 'roleName', visible: true, align: 'center', valign: 'middle', sortable: true, formatter: function (value, row) { var btn = ""; if(row.roleName != '' && row.roleName != null) { var labelStr = ""; var labelStrs = ""; var labelArray = row.roleName.split(","); for(var i=0;i<labelArray.length;i++){ labelStr += labelArray[i] +"<br>"; labelStrs += labelArray[i] + " "; } labelStr = labelStr.substring(0,labelStr.length-4); labelStrs = labelStrs.substring(0,labelStrs.length-5); btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + labelStrs + '" onfocus="AppCar.tooltip()">' + labelStr + '</p>'] } return btn; {title: '课程封面', field: 'coverDrawing', align: 'center', valign: 'middle', formatter: function (v) { return '<img src="' + v + '" height="100px" onclick="lookBigImg(' + v + ')"/>' } }, {title: language==1?'部门':(language==2?'department':'departemen'), field: 'deptName', align: 'center', valign: 'middle', sortable: true}, {title: language==1?'邮箱':(language==2?'email':'email'), field: 'email', align: 'center', valign: 'middle', sortable: true}, {title: language==1?'电话':(language==2?'phone':'Telepon'), field: 'phone', align: 'center', valign: 'middle', sortable: true}, {title:language==1?'创建时间':(language==2?'Creation time':'Waktu penciptaan'), field: 'createtime', visible: true, align: 'center', valign: 'middle', sortable: true, formatter: function (value, row) { var btn = ""; if(row.createtime1 != '' && row.createtime1 != null) { var time = row.createtime1.replace(" ",'<br>'); btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.createtime1 + '" onfocus="AppCar.tooltip()">' + time + '</p>'] } return btn; } }, {title: language==1?'状态':(language==2?'State':'Status'), field: 'statusName', visible: true, align: 'center', valign: 'middle', formatter: function (value, row) { var btn = ""; if(row.statusName != '' && row.statusName != null) { if(language==1){ if (row.statusName == "2"){ btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color: red;" title="' + `冻结` + '" onfocus="AppUserInfo.tooltip()">' + 冻结 + '</p>'] }else{ btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + `启用` + '" onfocus="AppUserInfo.tooltip()">' + 启用 + '</p>'] } }else if(language==2){ if (row.statusName == "2"){ btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color: red;" title="' + `freeze` + '" onfocus="AppUserInfo.tooltip()">' + `freeze` + '</p>'] }else{ btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + `enable` + '" onfocus="AppUserInfo.tooltip()">' + `enable` + '</p>'] } }else { if (row.statusName == "2"){ btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color: red;" title="' + `Membekukan` + '" onfocus="AppUserInfo.tooltip()">' + 'Membekukan' + '</p>'] }else{ btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + `aktifkan` + '" onfocus="AppUserInfo.tooltip()">' + 'aktifkan' + '</p>'] } } } return btn; {title: '课程名称', field: 'name', align: 'center', valign: 'middle'}, {title: '课程简介', field: 'introduce', align: 'center', valign: 'middle'}, {title: '状态', field: 'state', align: 'center', valign: 'middle', formatter: function (v) { return v == 1 ? '上架' : '下架'; } } ]; @@ -117,7 +49,7 @@ * 检查是否选中 */ Course.check = function () { var selected = $('#' + this.id).bootstrapTable('getSelections'); let selected = $('#' + this.id).bootstrapTable('getSelections'); if (selected.length == 0) { if(language==1){ Feng.info("请先选中表格中的某一记录!"); @@ -137,10 +69,10 @@ * 点击添加管理员 */ Course.addCourse = function () { var index = layer.open({ let index = layer.open({ type: 2, title: '添加', area: ['800px', '560px'], //宽高 area: ['100%', '100%'], //宽高 fix: false, //不固定 maxmin: true, content: Feng.ctxPath + '/course/showAddCourse' @@ -152,232 +84,99 @@ * 点击修改按钮时 * @param userId 管理员id */ Course.openChangeUser = function () { Course.editCourse = function () { if (this.check()) { var index = layer.open({ let index = layer.open({ type: 2, title: language==1?'编辑':(language==2?'Edit':'Edit'), area: ['800px', '450px'], //宽高 title: '编辑', area: ['100%', '100%'], //宽高 fix: false, //不固定 maxmin: true, content: Feng.ctxPath + '/mgr/user_edit/' + this.seItem.id content: Feng.ctxPath + '/course/showEditCourse?id=' + this.seItem.id }); this.layerIndex = index; } }; /** * 点击角色分配 * @param */ Course.roleAssign = function () { if (this.check()) { var index = layer.open({ type: 2, title: language==1?'角色分配':(language==2?'role assignment':'tugas peran'), area: ['300px', '400px'], //宽高 fix: false, //不固定 maxmin: true, content: Feng.ctxPath + '/mgr/role_assign/' + this.seItem.id }); this.layerIndex = index; } }; /** * 删除用户 */ Course.delCourse = function () { if (this.check()) { var operation = function(){ var userId = Course.seItem.id; var ajax = new $ax(Feng.ctxPath + "/mgr/delete", function () { if(language==1){ Feng.success("删除成功!"); }else if(language==2){ Feng.success("Delete succeeded!"); }else { Feng.success("Hapus berhasil!"); } let operation = function(){ let ajax = new $ax(Feng.ctxPath + "/course/delCourse", function () { Feng.success("删除成功!"); Course.table.refresh(); }, function (data) { if(language==1){ Feng.error("删除失败!" + data.responseJSON.message + "!"); }else if(language==2){ Feng.error("Delete failed!" + data.responseJSON.message + "!"); }else { Feng.error("Hapus gagal!" + data.responseJSON.message + "!"); } Feng.error("删除失败!" + data.responseJSON.message + "!"); }); ajax.set("userId", userId); ajax.set("id", Course.seItem.id); ajax.start(); }; if(language==1){ Feng.confirm("是否删除用户" + Course.seItem.account + "?",operation); }else if(language==2){ Feng.confirm("Whether to delete a user" + Course.seItem.account + "?",operation); }else { Feng.confirm("Apakah menghapus pengguna" + Course.seItem.account + "?",operation); } Feng.confirm("是否删除课程",operation); } }; /** * 冻结用户账户 * 上下架 * @param userId */ Course.freezeAccount = function () { Course.editCourseState = function (state) { if (this.check()) { var userId = this.seItem.id; var ajax = new $ax(Feng.ctxPath + "/mgr/freeze", function (data) { if(language==1){ Feng.success("冻结成功!"); }else if(language==2){ Feng.success("Success!"); }else { Feng.success("Success!"); } if(Course.seItem.state == state){ Feng.error("不能重复操作"); return } let ajax = new $ax(Feng.ctxPath + "/course/editCourseState", function (data) { Feng.success("下架成功!"); Course.table.refresh(); }, function (data) { if(language==1){ Feng.error("冻结失败!" + data.responseJSON.message + "!"); }else if(language==2){ Feng.error("Fail!" + data.responseJSON.message + "!"); }else { Feng.error("Gagal!" + data.responseJSON.message + "!"); } Feng.error("下架失败!" + data.responseJSON.message + "!"); }); ajax.set("userId", userId); ajax.set("id", Course.seItem.id); ajax.set("state", state); ajax.start(); } }; /** * 解除冻结用户账户 * @param userId */ Course.unfreeze = function () { if (this.check()) { var userId = this.seItem.id; var ajax = new $ax(Feng.ctxPath + "/mgr/unfreeze", function (data) { if(language==1){ Feng.success("解除冻结成功!"); }else if(language==2){ Feng.success("Success!"); }else { Feng.success("Success!"); } Course.table.refresh(); }, function (data) { if(language==1){ Feng.error("解除冻结失败!"); }else if(language==2){ Feng.error("Fail!"); }else { Feng.error("Gagal!"); } Course.detailsCourse = function () { if (this.check()) { let index = layer.open({ type: 2, title: '详情', area: ['100%', '100%'], //宽高 fix: false, //不固定 maxmin: true, content: Feng.ctxPath + '/course/showCourseDetails?id=' + this.seItem.id }); ajax.set("userId", userId); ajax.start(); } } /** * 重置密码 */ Course.resetPwd = function () { if (this.check()) { var userId = this.seItem.id; if(language==1){ parent.layer.confirm('是否重置密码为111111?', { btn: ['确定', '取消'], shade: false //不显示遮罩 }, function () { var ajax = new $ax(Feng.ctxPath + "/mgr/reset", function (data) { Feng.success("重置密码成功!"); }, function (data) { Feng.error("重置密码失败!"); }); ajax.set("userId", userId); ajax.start(); }); }else if(language==2){ parent.layer.confirm('Whether to reset the password to 111111?', { btn: ['Yes', 'No'], shade: false //不显示遮罩 }, function () { var ajax = new $ax(Feng.ctxPath + "/mgr/reset", function (data) { Feng.success("Success!"); }, function (data) { Feng.error("Fail!"); }); ajax.set("userId", userId); ajax.start(); }); }else { parent.layer.confirm('Apakah untuk reset kata sandi ke 111111?', { btn: ['Ya', 'batalkan'], shade: false //不显示遮罩 }, function () { var ajax = new $ax(Feng.ctxPath + "/mgr/reset", function (data) { Feng.success("Success!"); }, function (data) { Feng.error("Gagal!"); }); ajax.set("userId", userId); ajax.start(); }); } this.layerIndex = index; } }; Course.resetSearch = function () { $("#name").val(""); $("#createTime").val(""); $("#type").val(""); Course.search(); } Course.search = function () { var queryData = {}; queryData['deptid'] = Course.deptid; let queryData = {}; queryData['name'] = $("#name").val(); queryData['createTime'] = $("#createTime").val(); queryData['courseType'] = $("#type").val(); Course.table.refresh({query: queryData}); } Course.onClickDept = function (e, treeId, treeNode) { Course.deptid = treeNode.id; Course.search(); }; $(function () { var defaultColunms = Course.initColumn(); var table = new BSTable(Course.id, "/mgr/list", defaultColunms); let defaultColunms = Course.initColumn(); let table = new BSTable(Course.id, "/course/queryCourseList", defaultColunms); // 设置物理分页server(逻辑分页client) table.setPaginationType("server"); // 表单提交参数 var queryData = {}; queryData['deptid'] = Course.deptid; queryData['name'] = $("#name").val(); queryData['createTime'] = $("#createTime").val(); table.setQueryParams(queryData); Course.table = table.init(); /*var defaultColunms = Course.initColumn(); var table = new BSTable("managerTable", "/mgr/list", defaultColunms); table.setPaginationType("client"); Course.table = table.init();*/ var ztree = new $ZTree("deptTree", "/dept/tree"); ztree.bindOnClick(Course.onClickDept); ztree.init(); }); cloud-server-management/src/main/webapp/static/modular/system/course/course_info.js
New file @@ -0,0 +1,182 @@ /** * 用户详情对话框(可用于添加和修改对话框) */ var CourseInfo = { userInfoData: {}, }; /** * 关闭此对话框 */ CourseInfo.close = function () { parent.layer.close(window.parent.Course.layerIndex); }; /** * 提交添加用户 */ CourseInfo.addSubmit = function () { let type = $('#type').val(); let name = $('#name').val(); let introduce = $('#introduce').val(); let coverDrawing = $('#coverDrawing').val(); let introductionDrawing = $('#introductionDrawing').val(); let courseVideo = $('#courseVideo').val(); if(null == name || '' == name){ Feng.error("课程名称不能为空"); return } if(null == coverDrawing || '' == coverDrawing){ Feng.error("课程封面不能为空"); return } if(null == introductionDrawing || '' == introductionDrawing){ Feng.error("课程介绍不能为空"); return } if(null == courseVideo || '' == courseVideo){ Feng.error("课程内容不能为空"); return } let obj = { type: type, name: name, introduce: introduce, coverDrawing: coverDrawing, introductionDrawing: introductionDrawing, courseVideo: courseVideo } //提交信息 var ajax = new $ax(Feng.ctxPath + "/course/addCourse", function (data) { Feng.success("添加成功!"); window.parent.Course.table.refresh(); CourseInfo.close(); }, function (data) { Feng.error("添加失败!" + data.responseJSON.message + "!"); }); ajax.set(obj); ajax.start(); }; /** * 提交修改 */ CourseInfo.editSubmit = function () { let id = $('#id').val(); let type = $('#type').val(); let name = $('#name').val(); let introduce = $('#introduce').val(); let coverDrawing = $('#coverDrawing').val(); let introductionDrawing = $('#introductionDrawing').val(); let courseVideo = $('#courseVideo').val(); if(null == name || '' == name){ Feng.error("课程名称不能为空"); return } if(null == coverDrawing || '' == coverDrawing){ Feng.error("课程封面不能为空"); return } if(null == introductionDrawing || '' == introductionDrawing){ Feng.error("课程介绍不能为空"); return } if(null == courseVideo || '' == courseVideo){ Feng.error("课程内容不能为空"); return } let obj = { id: id, type: type, name: name, introduce: introduce, coverDrawing: coverDrawing, introductionDrawing: introductionDrawing, courseVideo: courseVideo } //提交信息 var ajax = new $ax(Feng.ctxPath + "/course/editCourse", function (data) { if(data.code == 200){ window.parent.Course.table.refresh(); CourseInfo.close(); Feng.success("修改成功!"); }else{ Feng.error(data.msg); } }, function (data) { Feng.error("修改失败!" + data.responseJSON.message + "!"); }); ajax.set(obj); ajax.start(); }; /** * 修改密码 */ CourseInfo.chPwd = function () { let oldPwd = $('#oldPwd').val(); let newPwd = $('#newPwd').val(); if(oldPwd == newPwd){ Feng.error("新密码不能和原始密码相同"); return } let patt = /(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[^a-zA-Z0-9]).{8,30}/; if(!patt.test(newPwd)){ Feng.error("密码中必须包含大小字母、数字、特称字符,至少8个字符,最多30个字符"); return } var ajax = new $ax(Feng.ctxPath + "/mgr/changePwd", function (data) { Feng.success("修改成功!"); }, function (data) { Feng.error("修改失败!" + data.responseJSON.message + "!"); }); ajax.set("oldPwd"); ajax.set("newPwd"); ajax.set("rePwd"); ajax.start(); }; function onBodyDown(event) { if (!(event.target.id == "menuBtn" || event.target.id == "menuContent" || $( event.target).parents("#menuContent").length > 0)) { CourseInfo.hideDeptSelectTree(); } } function UploadFileFn(){ $('#upFile').click(); } $(function () { $('#upFile').on('change', function () { var formData = new FormData() //创建一个forData formData.append('file', $('#upFile')[0].files[0]) //把file添加进去 name命名为img layer.load(); //上传loading $.ajax({ url: Feng.ctxPath + '/mgr/uploadFile', data: formData, type: "POST", async: true, cache: false, contentType: false, processData: false, success: function(res) { layer.closeAll('loading'); //关闭loading $('#upFile').val(''); $('#courseVideo').val(res); } }) }) }); cloud-server-management/src/main/webapp/static/modular/system/tCar/carInsurance.js
File was deleted cloud-server-management/src/main/webapp/static/modular/system/tCar/carInsuranceInfo.js
File was deleted cloud-server-management/src/main/webapp/static/modular/system/tCar/tCar.js
File was deleted cloud-server-management/src/main/webapp/static/modular/system/tCar/tCar_info.js
File was deleted cloud-server-management/src/main/webapp/static/modular/system/tCarBrand/tCarBrand.js
File was deleted cloud-server-management/src/main/webapp/static/modular/system/tCarBrand/tCarBrand_info.js
File was deleted cloud-server-management/src/main/webapp/static/modular/system/tCarModel/tCarModel.js
File was deleted cloud-server-management/src/main/webapp/static/modular/system/tCarModel/tCarModel_info.js
File was deleted cloud-server-management/src/main/webapp/static/modular/system/tLine/tLine.js
File was deleted cloud-server-management/src/main/webapp/static/modular/system/tLine/tLine_info.js
File was deleted cloud-server-management/src/main/webapp/static/modular/system/tOrderCharteredCar/tOrderCharteredCar.js
File was deleted cloud-server-management/src/main/webapp/static/modular/system/tOrderCharteredCar/tOrderCharteredCar_info.js
File was deleted cloud-server-management/src/main/webapp/static/modular/system/tOrderCrossCity/tOrderCrossCity.js
File was deleted cloud-server-management/src/main/webapp/static/modular/system/tOrderCrossCity/tOrderCrossCity_info.js
File was deleted cloud-server-management/src/main/webapp/static/modular/system/tOrderEvaluate/tOrderEvaluate.js
File was deleted cloud-server-management/src/main/webapp/static/modular/system/tOrderEvaluate/tOrderEvaluate_info.js
File was deleted cloud-server-management/src/main/webapp/static/modular/system/tOrderLogistics/tOrderLogistics.js
File was deleted cloud-server-management/src/main/webapp/static/modular/system/tOrderLogistics/tOrderLogistics_info.js
File was deleted cloud-server-management/src/main/webapp/static/modular/system/tOrderPrivateCar/tOrderPrivateCar.js
File was deleted cloud-server-management/src/main/webapp/static/modular/system/tOrderPrivateCar/tOrderPrivateCar_info.js
File was deleted cloud-server-management/src/main/webapp/static/modular/system/tOrderTaxi/selectDriver.js
File was deleted cloud-server-management/src/main/webapp/static/modular/system/tOrderTaxi/tOrderTaxi.js
File was deleted cloud-server-management/src/main/webapp/static/modular/system/tOrderTaxi/tOrderTaxi_info.js
File was deleted cloud-server-management/src/main/webapp/static/modular/system/tServerCarmodel/acrossCity.js
File was deleted cloud-server-management/src/main/webapp/static/modular/system/tServerCarmodel/acrossCity_info.js
File was deleted cloud-server-management/src/main/webapp/static/modular/system/tServerCarmodel/charter.js
File was deleted cloud-server-management/src/main/webapp/static/modular/system/tServerCarmodel/charter_info.js
File was deleted cloud-server-management/src/main/webapp/static/modular/system/tServerCarmodel/tServerCarmodel.js
File was deleted cloud-server-management/src/main/webapp/static/modular/system/tServerCarmodel/tServerCarmodel_info.js
File was deleted cloud-server-other/src/main/java/com/dsh/other/model/QueryMySiteVo.java
@@ -25,8 +25,10 @@ private String storeLon; @ApiModelProperty("门店纬度") private String storeLat; @ApiModelProperty("支付金额") @ApiModelProperty("现金价格") private Double payMoney; @ApiModelProperty("玩湃币价格") private Integer playPaiCoin; @ApiModelProperty("预约时间") private String appointment; @ApiModelProperty("状态(0=待支付,1=待核销,2=已到店,3=已完成,4=已过期,5=已取消)") cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java
@@ -436,7 +436,14 @@ @Override public List<QueryMySiteVo> queryMySite(Integer uid, Integer status, Integer pageNo, Integer pageSize) throws Exception { pageNo = (pageNo - 1) * pageSize; return this.baseMapper.queryMySite(uid, status, pageNo, pageSize); List<QueryMySiteVo> queryMySiteVos = this.baseMapper.queryMySite(uid, status, pageNo, pageSize); for (QueryMySiteVo queryMySiteVo : queryMySiteVos) { SiteBooking siteBooking = siteBookingService.getById(queryMySiteVo.getId()); Site site = this.getById(siteBooking.getSiteId()); String[] split = siteBooking.getTimes().split(";"); queryMySiteVo.setPlayPaiCoin(site.getPlayPaiCoin() * split.length); } return queryMySiteVos; } @@ -527,7 +534,7 @@ String[] split = siteBooking.getTimes().split(";"); Double payMoney = 0D; if(payType == 3){ payMoney = new BigDecimal(site.getCashPrice()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); payMoney = new BigDecimal(site.getPlayPaiCoin()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); if(appUser.getPlayPaiCoins().compareTo(payMoney.intValue()) < 0){ return ResultUtil.error("玩湃币不足"); }