场地类型管理、场地管理、课包类型管理、教练管理、教练类型管理、福利视频分类管理、体测预约
89个文件已修改
5个文件已删除
95个文件已添加
| | |
| | | <sourceTestOutputDir name="target/generated-test-sources/test-annotations" /> |
| | | <outputRelativeToContentRoot value="true" /> |
| | | <module name="mb-cloud-account" /> |
| | | <module name="mb-cloud-gateway" /> |
| | | <module name="mb-cloud-course" /> |
| | | <module name="mb-cloud-management" /> |
| | | <module name="mb-cloud-competition (1)" /> |
| | | <module name="mb-cloud-activity" /> |
| | | <module name="mb-cloud-other" /> |
| | | <module name="mb-cloud-competition" /> |
| | | <module name="mb-cloud-auth" /> |
| | | </profile> |
| | |
| | | <module name="mb-cloud-activity" target="1.8" /> |
| | | <module name="mb-cloud-auth" target="1.8" /> |
| | | <module name="mb-cloud-competition" target="1.8" /> |
| | | <module name="mb-cloud-competition (1)" target="1.8" /> |
| | | <module name="mb-cloud-course" target="1.8" /> |
| | | <module name="mb-cloud-gateway" target="1.8" /> |
| | | <module name="mb-cloud-management" target="1.8" /> |
| | | <module name="mb-cloud-other" target="1.8" /> |
| | | <module name="mb-cloud-parent" target="1.8" /> |
| | | </bytecodeTargetLevel> |
| | | </component> |
| | |
| | | <project version="4"> |
| | | <component name="Encoding"> |
| | | <file url="file://$PROJECT_DIR$/cloud-server-account" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/cloud-server-account/src/main/java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/cloud-server-account/src/main/resources" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/cloud-server-activity" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/cloud-server-activity/src/main/java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/cloud-server-activity/src/main/resources" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/cloud-server-auth" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/cloud-server-auth/src/main/java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/cloud-server-auth/src/main/resources" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/cloud-server-competition" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/cloud-server-competition/src/main/java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/cloud-server-competition/src/main/resources" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/cloud-server-course" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/cloud-server-course/src/main/java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/cloud-server-course/src/main/resources" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/cloud-server-gateway" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/cloud-server-management" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/cloud-server-management/src/main/java" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/cloud-server-other" charset="UTF-8" /> |
| | | <file url="file://$PROJECT_DIR$/cloud-server-parent" charset="UTF-8" /> |
| | | </component> |
| | | </project> |
| | |
| | | <component name="MavenProjectsManager"> |
| | | <option name="originalFiles"> |
| | | <list> |
| | | <option value="$PROJECT_DIR$/cloud-server-account/pom.xml" /> |
| | | <option value="$PROJECT_DIR$/cloud-server-parent/pom.xml" /> |
| | | <option value="$PROJECT_DIR$/cloud-server-other/pom.xml" /> |
| | | <option value="$PROJECT_DIR$/cloud-server-management/pom.xml" /> |
| | | <option value="$PROJECT_DIR$/cloud-server-gateway/pom.xml" /> |
| | | <option value="$PROJECT_DIR$/cloud-server-course/pom.xml" /> |
| | | <option value="$PROJECT_DIR$/cloud-server-competition/pom.xml" /> |
| | | <option value="$PROJECT_DIR$/cloud-server-auth/pom.xml" /> |
| | | <option value="$PROJECT_DIR$/cloud-server-activity/pom.xml" /> |
| | | <option value="$PROJECT_DIR$/cloud-server-competition/pom.xml" /> |
| | | <option value="$PROJECT_DIR$/cloud-server-course/pom.xml" /> |
| | | <option value="$PROJECT_DIR$/cloud-server-account/pom.xml" /> |
| | | </list> |
| | | </option> |
| | | </component> |
| | |
| | | <module fileurl="file://$PROJECT_DIR$/cloud-server-auth/mb-cloud-auth.iml" filepath="$PROJECT_DIR$/cloud-server-auth/mb-cloud-auth.iml" /> |
| | | <module fileurl="file://$PROJECT_DIR$/cloud-server-competition/mb-cloud-competition.iml" filepath="$PROJECT_DIR$/cloud-server-competition/mb-cloud-competition.iml" /> |
| | | <module fileurl="file://$PROJECT_DIR$/cloud-server-course/mb-cloud-course.iml" filepath="$PROJECT_DIR$/cloud-server-course/mb-cloud-course.iml" /> |
| | | <module fileurl="file://$PROJECT_DIR$/cloud-server-gateway/mb-cloud-gateway.iml" filepath="$PROJECT_DIR$/cloud-server-gateway/mb-cloud-gateway.iml" /> |
| | | <module fileurl="file://$PROJECT_DIR$/cloud-server-management/mb-cloud-management.iml" filepath="$PROJECT_DIR$/cloud-server-management/mb-cloud-management.iml" /> |
| | | <module fileurl="file://$PROJECT_DIR$/cloud-server-other/mb-cloud-other.iml" filepath="$PROJECT_DIR$/cloud-server-other/mb-cloud-other.iml" /> |
| | | <module fileurl="file://$PROJECT_DIR$/cloud-server-parent/mb-cloud-parent.iml" filepath="$PROJECT_DIR$/cloud-server-parent/mb-cloud-parent.iml" /> |
| | | </modules> |
| | | </component> |
| | |
| | | <project version="4"> |
| | | <component name="VcsDirectoryMappings"> |
| | | <mapping directory="" vcs="Git" /> |
| | | <mapping directory="$PROJECT_DIR$/cloud-server-parent" vcs="Git" /> |
| | | </component> |
| | | </project> |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <project version="4"> |
| | | <component name="BranchesTreeState"> |
| | | <expand> |
| | | <path> |
| | | <item name="ROOT" type="e8cecc67:BranchNodeDescriptor" /> |
| | | <item name="LOCAL_ROOT" type="e8cecc67:BranchNodeDescriptor" /> |
| | | </path> |
| | | <path> |
| | | <item name="ROOT" type="e8cecc67:BranchNodeDescriptor" /> |
| | | <item name="REMOTE_ROOT" type="e8cecc67:BranchNodeDescriptor" /> |
| | | </path> |
| | | <path> |
| | | <item name="ROOT" type="e8cecc67:BranchNodeDescriptor" /> |
| | | <item name="REMOTE_ROOT" type="e8cecc67:BranchNodeDescriptor" /> |
| | | <item name="GROUP_NODE:origin" type="e8cecc67:BranchNodeDescriptor" /> |
| | | </path> |
| | | </expand> |
| | | <select /> |
| | | </component> |
| | | <component name="ChangeListManager"> |
| | | <list default="true" id="cb08d02f-fd4f-4fa2-85fe-abd508fa83ac" name="Default Changelist" comment="后台代码"> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/tCity/tCity.js" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/tCity/tCity_info.js" afterDir="false" /> |
| | | <list default="true" id="f560b179-9233-4e76-92e7-a3f41cf84d9f" name="Default Changelist" comment=""> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/controller/CoachTypeController.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/model/query/coachQuery/CoachQuery.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/model/vo/CoachChangeStateVO.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/model/vo/CoachSerchVO.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/controller/BodySideAppointmentsController.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/entity/BodySideAppointment.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/mapper/BodySideAppointmentMapper.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/model/BenefitsVedioChangeStateVO.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/model/QueryBenefitsVedioVO.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/model/QueryBodySideAppointment.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/model/QueryBodySideAppointmentVO.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/model/TQueryBenefitsVO.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/service/BodySideAppointmentService.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/BodySideAppointmentServiceImpl.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-activity/src/main/resources/mapper/BodySideAppointmentsMapper.xml" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/model/dto/CourseChangeStateDTO.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/model/dto/TQueryBenefitsVideosDTO.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/model/vo/CoursePackageTypeVO.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/model/vo/TQueryBenefitsVideosVO.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/CoachTypeClient.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/StoreStaffClient.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/model/CoachSerchVO.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/model/CoachType.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/model/TStoreStaff.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/BenefitsVideoClient.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/BodySideAppointmentClient.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/BenefitsVedioChangeStateVO.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/BenefitsVideoClassification.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/BenefitsVideos.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/BodySideAppointment.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/QueryBenefitsVedioVO.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/QueryBodySideAppointment.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/QueryBodySideAppointmentVO.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/CourseChangeStateDTO.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/CoursePackageTypeVO.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/SiteClient.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/SiteLockClient.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/StoreClient.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/model/Site.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/model/SiteAddDTO.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/model/SiteChangeStateVO.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/model/TSiteDTO.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/model/TSiteLockDTO.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoachController.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/CoachTypeController.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TBodySideAppointmentsController.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCoursePackageTypeController.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CoachChangeStateVO.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CoachQuery.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/ExpireSiteSearchVO.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/SiteSearchVO.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/Store.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TQueryBenefitsVO.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TQueryBenefitsVideosDTO.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TQueryBenefitsVideosVO.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/benefits/TBenefits.html" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/benefits/TBenefitsVideos.html" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/benefits/TBenefitsVideos_add.html" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/benefits/TBenefitsVideos_edit.html" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/benefits/TBenefitsVideos_info.html" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/benefits/TBenefits_add.html" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/benefits/TBenefits_edit.html" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/bodySideAppointment/TBodySideAppointment.html" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/bodySideAppointment/TBodySideAppointment_add.html" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/bodySideAppointment/TBodySideAppointment_edit.html" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackageType/CoursePackageType.html" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoach/TCoach.html" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoach/TCoach_add.html" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoach/TCoach_edit.html" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoachType/TCoachType.html" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tSite/TSite_edit.html" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tSite/TSite_lock.html" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/benefits/TBenefits.js" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos.js" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos_add.js" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/benefits/tBenefitsVideos_edit.js" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/bodySideAppointment/tBodySideAppointment.js" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/bodySideAppointment/tBodySideAppointment_edit.js" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/coursePackageType/coursePackageType.js" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach.js" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach_add.js" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/tCoach/tCoach_info.js" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/tCoachType/tCoachType.js" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSiteLock.js" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/controller/SiteLockController.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/entity/TSite.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/feignclient/account/CityManagerClient.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/feignclient/account/model/CityManager.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/SiteAddDTO.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/feignclient/model/SiteChangeStateVO.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/model/dto/siteDto/TSiteDTO.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/model/dto/siteDto/TSiteLockDTO.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/model/vo/siteVo/ExpireSiteSearchVO.java" afterDir="false" /> |
| | | <change afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/model/vo/siteVo/SiteSearchVO.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/.idea/compiler.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/compiler.xml" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/.idea/encodings.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/encodings.xml" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/.idea/modules.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/modules.xml" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/.idea/vcs.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/vcs.xml" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-account/mb-cloud-account.iml" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-account/mb-cloud-account.iml" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/controller/CityController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/controller/CityController.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/entity/TCityManager.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/entity/TCityManager.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-account/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-account/pom.xml" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/controller/CityManagerController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/controller/CityManagerController.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/controller/CoachController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/controller/CoachController.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/entity/Coach.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/entity/Coach.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/mapper/CoachMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/mapper/CoachMapper.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/service/CoachService.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/service/CoachService.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/service/ICityManagerService.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/service/ICityManagerService.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/service/impl/CityManagerServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/service/impl/CityManagerServiceImpl.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/service/impl/CoachServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/service/impl/CoachServiceImpl.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-account/src/main/resources/mapper/CoachMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-account/src/main/resources/mapper/CoachMapper.xml" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-activity/mb-cloud-activity.iml" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-activity/mb-cloud-activity.iml" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-activity/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-activity/pom.xml" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/controller/BenefitVideoController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/controller/BenefitVideoController.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/entity/BenefitsVideoClassification.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/entity/BenefitsVideoClassification.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/entity/BenefitsVideos.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/entity/BenefitsVideos.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/StoreClient.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/StoreClient.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/model/Store.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/model/Store.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/mapper/BenefitsVideoClassificationMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/mapper/BenefitsVideoClassificationMapper.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/mapper/BenefitsVideosMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/mapper/BenefitsVideosMapper.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/service/BenefitsVideosService.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/service/BenefitsVideosService.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/service/IBenefitsVideoClassificationService.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/service/IBenefitsVideoClassificationService.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/BenefitsVideoClassificationServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/BenefitsVideoClassificationServiceImpl.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/BenefitsVideosServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/BenefitsVideosServiceImpl.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-activity/src/main/resources/mapper/BenefitsVideoClassificationMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-activity/src/main/resources/mapper/BenefitsVideoClassificationMapper.xml" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-activity/src/main/resources/mapper/BenefitsVideosMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-activity/src/main/resources/mapper/BenefitsVideosMapper.xml" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-auth/mb-cloud-auth.iml" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-auth/mb-cloud-auth.iml" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/CityClient.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/CityClient.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-competition/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-competition/pom.xml" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-course/mb-cloud-course.iml" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-course/mb-cloud-course.iml" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-course/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-course/pom.xml" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageTypeController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageTypeController.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/mapper/TCourseMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/mapper/TCourseMapper.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/service/TCourseService.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/service/TCourseService.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCourseServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCourseServiceImpl.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-course/src/main/resources/mapper/TCourseMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-course/src/main/resources/mapper/TCourseMapper.xml" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-gateway/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-gateway/pom.xml" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/pom.xml" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/CityManagerClient.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/CityManagerClient.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/CoachClient.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/CoachClient.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/model/Coach.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/model/Coach.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseClient.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseClient.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackageTypeClient.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackageTypeClient.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/QuestionController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/QuestionController.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCityController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCityController.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCity/TCity.html" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCity/TCity.html" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCity/TCity_add.html" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCity/TCity_add.html" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/tCar/tCar_info.js" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/tCar/tCar_info.js" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponController.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TWelfareVideoController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TWelfareVideoController.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/LoginController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/LoginController.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/util/UploadUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/util/UploadUtil.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/enums/RuleStatusEnum.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/enums/RuleStatusEnum.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TSite.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TSite.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/common/_right.html" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/common/_right.html" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCouponAdd.html" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCouponAdd.html" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tQuestion/TQuestionAdd.html" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tQuestion/TQuestionAdd.html" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tQuestion/TQuestionEdit.html" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tQuestion/TQuestionEdit.html" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tQuestion/TQuestionInfo.html" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tQuestion/TQuestionInfo.html" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop.html" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop.html" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit.html" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit.html" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tSite/TShop_add.html" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tSite/TSite_add.html" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tSite/TShop_edit.html" beforeDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tSite/TShop_img.html" beforeDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tSite/TShop_imgAll.html" beforeDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tSite/TSite.html" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tSite/TSite.html" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/js/common/ajax-object.js" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/js/common/ajax-object.js" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/js/common/web-upload-file.js" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/js/common/web-upload-file.js" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/tQuestion/TQuestion.js" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/tQuestion/TQuestion.js" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/tSite/electricFence.js" beforeDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite_info.js" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite_info.js" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-other/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/pom.xml" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/entity/Site.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/entity/Site.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/entity/SiteLock.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/entity/SiteLock.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/feignclient/HonorDeClient.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/feignclient/HonorDeClient.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/feignclient/SiteClient.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/feignclient/SiteClient.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/mapper/SiteLockMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/mapper/SiteLockMapper.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/mapper/SiteMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/mapper/SiteMapper.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/mapper/StoreMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/mapper/StoreMapper.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/service/ISiteLockService.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/service/ISiteLockService.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/service/ISiteService.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/service/ISiteService.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/service/ISiteTypeService.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/service/ISiteTypeService.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/service/StoreService.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/service/StoreService.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteLockServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteLockServiceImpl.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteTypeServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteTypeServiceImpl.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/service/impl/StoreServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/service/impl/StoreServiceImpl.java" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/resources/mapper/SiteLockMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/resources/mapper/SiteLockMapper.xml" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/resources/mapper/SiteMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/resources/mapper/SiteMapper.xml" afterDir="false" /> |
| | | <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/resources/mapper/StoreMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/resources/mapper/StoreMapper.xml" afterDir="false" /> |
| | | </list> |
| | | <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> |
| | | <option name="SHOW_DIALOG" value="false" /> |
| | | <option name="HIGHLIGHT_CONFLICTS" value="true" /> |
| | | <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" /> |
| | |
| | | <component name="FileTemplateManagerImpl"> |
| | | <option name="RECENT_TEMPLATES"> |
| | | <list> |
| | | <option value="Interface" /> |
| | | <option value="HTML File" /> |
| | | <option value="Class" /> |
| | | <option value="mybatis-mapper" /> |
| | | </list> |
| | | </option> |
| | | </component> |
| | | <component name="Git.Settings"> |
| | | <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" /> |
| | | </component> |
| | | <component name="JsFlowSettings"> |
| | | <service-enabled>true</service-enabled> |
| | | <exe-path /> |
| | | <other-services-enabled>true</other-services-enabled> |
| | | <auto-save>true</auto-save> |
| | | </component> |
| | | <component name="MavenImportPreferences"> |
| | | <option name="generalSettings"> |
| | | <MavenGeneralSettings> |
| | | <option name="mavenHome" value="D:/apache-maven/apache-maven-3.6.1" /> |
| | | <option name="userSettingsFile" value="D:\apache-maven\apache-maven-3.6.1\conf\settings.xml" /> |
| | | </MavenGeneralSettings> |
| | | </option> |
| | | </component> |
| | | <component name="ProjectId" id="2T0poWYlZShlnPso29uxjn4gQQo" /> |
| | | <component name="ProjectLevelVcsManager" settingsEditedManually="true"> |
| | | <ConfirmationsSetting value="1" id="Add" /> |
| | | </component> |
| | | <component name="ProjectViewState"> |
| | | <option name="hideEmptyMiddlePackages" value="true" /> |
| | | <option name="showLibraryContents" value="true" /> |
| | | </component> |
| | | <component name="ProjectId" id="2Tjw32TibW9vX8W0bRu35zUVftR" /> |
| | | <component name="PropertiesComponent"> |
| | | <property name="DefaultHtmlFileTemplate" value="HTML File" /> |
| | | <property name="ExpandSpringBootJavaOptionsPanel" value="true" /> |
| | | <property name="RequestMappingsPanelOrder0" value="0" /> |
| | | <property name="RequestMappingsPanelOrder1" value="1" /> |
| | |
| | | <property name="RequestMappingsPanelWidth1" value="75" /> |
| | | <property name="WebServerToolWindowFactoryState" value="false" /> |
| | | <property name="aspect.path.notification.shown" value="true" /> |
| | | <property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1686656087610" /> |
| | | <property name="last_opened_file_path" value="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system" /> |
| | | <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" /> |
| | | <property name="nodejs_npm_path_reset_for_default_project" value="true" /> |
| | | <property name="project.structure.last.edited" value="Global Libraries" /> |
| | | <property name="last_opened_file_path" value="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/bodySideAppointment" /> |
| | | <property name="nodejs_package_manager_path" value="npm" /> |
| | | <property name="project.structure.last.edited" value="Modules" /> |
| | | <property name="project.structure.proportion" value="0.0" /> |
| | | <property name="project.structure.side.proportion" value="0.2" /> |
| | | <property name="run.code.analysis.last.selected.profile" value="pProject Default" /> |
| | | <property name="settings.editor.selected.configurable" value="project.propVCSSupport.Mappings" /> |
| | | </component> |
| | | <component name="ReactorSettings"> |
| | | <option name="notificationShown" value="true" /> |
| | | <property name="restartRequiresConfirmation" value="false" /> |
| | | <property name="settings.editor.selected.configurable" value="MavenSettings" /> |
| | | </component> |
| | | <component name="RecentsManager"> |
| | | <key name="CopyClassDialog.RECENTS_KEY"> |
| | | <recent name="com.dsh.course.feignClient.account.model" /> |
| | | <recent name="com.dsh.account.mapper" /> |
| | | <recent name="com.dsh.account.service.impl" /> |
| | | <recent name="com.dsh.account.service" /> |
| | | <recent name="com.dsh.account.controller" /> |
| | | <recent name="com.dsh.activity.feignclient.other.model" /> |
| | | <recent name="com.dsh.course.feignClient.activity" /> |
| | | <recent name="com.dsh.guns.modular.system.controller.code" /> |
| | | <recent name="com.dsh.course.feignClient.activity.model" /> |
| | | <recent name="com.dsh.activity.model" /> |
| | | </key> |
| | | <key name="CopyFile.RECENT_KEYS"> |
| | | <recent name="F:\code\PlayPai\cloud-server-management\src\main\webapp\static\modular\system" /> |
| | | <recent name="F:\code\PlayPai\cloud-server-account\src\main\resources\mapper" /> |
| | | <recent name="F:\code\PlayPai\cloud-server-management\src\main\webapp\WEB-INF\view\system" /> |
| | | <recent name="F:\code\PlayPai\cloud-server-competition\src\main\java\com\dsh" /> |
| | | <recent name="F:\code\PlayPai\cloud-server-management\src\main\resources\mapper" /> |
| | | <recent name="E:\IdeaProjects\PlayPai\cloud-server-management\src\main\webapp\WEB-INF\view\system\bodySideAppointment" /> |
| | | <recent name="E:\IdeaProjects\PlayPai\cloud-server-management\src\main\webapp\static\modular\system\bodySideAppointment" /> |
| | | <recent name="E:\IdeaProjects\PlayPai\cloud-server-management\src\main\java\com\dsh\course\feignClient\activity\model" /> |
| | | <recent name="E:\IdeaProjects\PlayPai\cloud-server-management\src\main\webapp\static\modular\system\benefits" /> |
| | | <recent name="E:\IdeaProjects\PlayPai\cloud-server-management\src\main\webapp\WEB-INF\view\system\benefits" /> |
| | | </key> |
| | | </component> |
| | | <component name="RunDashboard"> |
| | |
| | | <option value="SpringBootApplicationConfigurationType" /> |
| | | </set> |
| | | </option> |
| | | <option name="ruleStates"> |
| | | <list> |
| | | <RuleState> |
| | | <option name="name" value="ConfigurationTypeDashboardGroupingRule" /> |
| | | </RuleState> |
| | | <RuleState> |
| | | <option name="name" value="StatusDashboardGroupingRule" /> |
| | | </RuleState> |
| | | </list> |
| | | </option> |
| | | </component> |
| | | <component name="RunManager" selected="Spring Boot.AccountApplication"> |
| | | <component name="RunManager" selected="Spring Boot.ManagementApplication"> |
| | | <configuration name="AccountApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot"> |
| | | <module name="mb-cloud-account" /> |
| | | <option name="SPRING_BOOT_MAIN_CLASS" value="com.dsh.AccountApplication" /> |
| | |
| | | <option name="Make" enabled="true" /> |
| | | </method> |
| | | </configuration> |
| | | <configuration name="AccountApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot"> |
| | | <module name="mb-cloud-account" /> |
| | | <option name="SPRING_BOOT_MAIN_CLASS" value="com.dsh.AccountApplication" /> |
| | | <option name="ALTERNATIVE_JRE_PATH" /> |
| | | <method v="2"> |
| | | <option name="Make" enabled="true" /> |
| | | </method> |
| | | </configuration> |
| | | <configuration name="ActivityApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot"> |
| | | <module name="mb-cloud-activity" /> |
| | | <option name="SPRING_BOOT_MAIN_CLASS" value="com.dsh.ActivityApplication" /> |
| | | <option name="ALTERNATIVE_JRE_PATH" /> |
| | | <option name="SHORTEN_COMMAND_LINE" value="MANIFEST" /> |
| | | <method v="2"> |
| | | <option name="Make" enabled="true" /> |
| | | </method> |
| | |
| | | </method> |
| | | </configuration> |
| | | <configuration name="CourseApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot"> |
| | | <module name="mb-cloud-competition (1)" /> |
| | | <module name="mb-cloud-course" /> |
| | | <option name="SPRING_BOOT_MAIN_CLASS" value="com.dsh.CourseApplication" /> |
| | | <option name="ALTERNATIVE_JRE_PATH" /> |
| | | <option name="SHORTEN_COMMAND_LINE" value="MANIFEST" /> |
| | | <method v="2"> |
| | | <option name="Make" enabled="true" /> |
| | | </method> |
| | | </configuration> |
| | | <configuration name="GatewayApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot"> |
| | | <module name="mb-cloud-gateway" /> |
| | | <option name="SPRING_BOOT_MAIN_CLASS" value="cn.mb.cloud.gateway.GatewayApplication" /> |
| | | <method v="2"> |
| | | <option name="Make" enabled="true" /> |
| | | </method> |
| | |
| | | <configuration name="ManagementApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot"> |
| | | <module name="mb-cloud-management" /> |
| | | <option name="SPRING_BOOT_MAIN_CLASS" value="com.dsh.ManagementApplication" /> |
| | | <option name="ENABLE_JMX_AGENT" value="false" /> |
| | | <option name="ALTERNATIVE_JRE_PATH" /> |
| | | <option name="SHORTEN_COMMAND_LINE" value="MANIFEST" /> |
| | | <method v="2"> |
| | | <option name="Make" enabled="true" /> |
| | | </method> |
| | | </configuration> |
| | | <configuration name="UserApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot"> |
| | | <module name="mb-cloud-user" /> |
| | | <option name="SPRING_BOOT_MAIN_CLASS" value="com.dsh.UserApplication" /> |
| | | <configuration name="OtherApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot"> |
| | | <module name="mb-cloud-other" /> |
| | | <option name="SPRING_BOOT_MAIN_CLASS" value="com.dsh.OtherApplication" /> |
| | | <method v="2"> |
| | | <option name="Make" enabled="true" /> |
| | | </method> |
| | | </configuration> |
| | | <list> |
| | | <item itemvalue="Spring Boot.UserApplication" /> |
| | | <item itemvalue="Spring Boot.ManagementApplication" /> |
| | | <item itemvalue="Spring Boot.AuthApplication" /> |
| | | <item itemvalue="Spring Boot.AccountApplication" /> |
| | | <item itemvalue="Spring Boot.ActivityApplication" /> |
| | | <item itemvalue="Spring Boot.AuthApplication" /> |
| | | <item itemvalue="Spring Boot.CompetitionApplication" /> |
| | | <item itemvalue="Spring Boot.CourseApplication" /> |
| | | <item itemvalue="Spring Boot.GatewayApplication" /> |
| | | <item itemvalue="Spring Boot.ManagementApplication" /> |
| | | <item itemvalue="Spring Boot.OtherApplication" /> |
| | | </list> |
| | | </component> |
| | | <component name="ServiceViewManager"> |
| | | <option name="allServicesViewState"> |
| | | <serviceView> |
| | | <treeState> |
| | | <expand> |
| | | <path> |
| | | <item name="services root" type="e789fda9:ObjectUtils$Sentinel" /> |
| | | <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@e758ef9a" type="7427dc5b:ServiceModel$ServiceGroupNode" /> |
| | | </path> |
| | | <path> |
| | | <item name="services root" type="e789fda9:ObjectUtils$Sentinel" /> |
| | | <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@e758ef9a" type="7427dc5b:ServiceModel$ServiceGroupNode" /> |
| | | <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@872283ff" type="7427dc5b:ServiceModel$ServiceGroupNode" /> |
| | | </path> |
| | | <path> |
| | | <item name="services root" type="e789fda9:ObjectUtils$Sentinel" /> |
| | | <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@e758ef9a" type="7427dc5b:ServiceModel$ServiceGroupNode" /> |
| | | <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@69458c78" type="7427dc5b:ServiceModel$ServiceGroupNode" /> |
| | | </path> |
| | | </expand> |
| | | <select /> |
| | | </treeState> |
| | | </serviceView> |
| | | </option> |
| | | </component> |
| | | <component name="SvnConfiguration"> |
| | | <configuration /> |
| | | </component> |
| | | <component name="TaskManager"> |
| | | <task active="true" id="Default" summary="Default task"> |
| | | <changelist id="cb08d02f-fd4f-4fa2-85fe-abd508fa83ac" name="Default Changelist" comment="" /> |
| | | <created>1686653431962</created> |
| | | <changelist id="f560b179-9233-4e76-92e7-a3f41cf84d9f" name="Default Changelist" comment="" /> |
| | | <created>1691569594609</created> |
| | | <option name="number" value="Default" /> |
| | | <option name="presentableId" value="Default" /> |
| | | <updated>1686653431962</updated> |
| | | <workItem from="1686653433491" duration="2267000" /> |
| | | <workItem from="1690190039038" duration="16883000" /> |
| | | <workItem from="1690333209172" duration="26986000" /> |
| | | <updated>1691569594609</updated> |
| | | <workItem from="1691569596751" duration="65000" /> |
| | | <workItem from="1691569675100" duration="270000" /> |
| | | <workItem from="1691569964197" duration="5608000" /> |
| | | <workItem from="1691628065563" duration="26776000" /> |
| | | <workItem from="1691714824948" duration="32278000" /> |
| | | <workItem from="1691752453575" duration="55000" /> |
| | | <workItem from="1691974807017" duration="29112000" /> |
| | | <workItem from="1692060742194" duration="20502000" /> |
| | | <workItem from="1692087400805" duration="8025000" /> |
| | | <workItem from="1692146436177" duration="23500000" /> |
| | | <workItem from="1692233067279" duration="10090000" /> |
| | | <workItem from="1692252017276" duration="7536000" /> |
| | | <workItem from="1692260089826" duration="8503000" /> |
| | | <workItem from="1692319933611" duration="26839000" /> |
| | | <workItem from="1692578769161" duration="28170000" /> |
| | | <workItem from="1692665038696" duration="13077000" /> |
| | | <workItem from="1692684619085" duration="13291000" /> |
| | | <workItem from="1692751172028" duration="28054000" /> |
| | | <workItem from="1692837854502" duration="6293000" /> |
| | | <workItem from="1692844552907" duration="8241000" /> |
| | | <workItem from="1692859160967" duration="13015000" /> |
| | | <workItem from="1692924469163" duration="21622000" /> |
| | | <workItem from="1692954633621" duration="995000" /> |
| | | <workItem from="1692955658907" duration="4758000" /> |
| | | <workItem from="1693183363744" duration="30378000" /> |
| | | <workItem from="1693269664223" duration="20846000" /> |
| | | <workItem from="1693296305848" duration="948000" /> |
| | | <workItem from="1693297281055" duration="121000" /> |
| | | <workItem from="1693297534980" duration="7686000" /> |
| | | <workItem from="1693356090840" duration="27477000" /> |
| | | <workItem from="1693442643841" duration="24243000" /> |
| | | <workItem from="1693528994907" duration="29480000" /> |
| | | <workItem from="1693566786046" duration="243000" /> |
| | | <workItem from="1693567041762" duration="123000" /> |
| | | <workItem from="1693623395574" duration="598000" /> |
| | | <workItem from="1693643198935" duration="776000" /> |
| | | <workItem from="1693705892630" duration="12000" /> |
| | | <workItem from="1693706255970" duration="1688000" /> |
| | | <workItem from="1693879663101" duration="1191000" /> |
| | | <workItem from="1693884719266" duration="158000" /> |
| | | </task> |
| | | <task id="LOCAL-00001" summary="后台代码删除"> |
| | | <created>1690249807612</created> |
| | | <task id="LOCAL-00001" summary="客服管理、荣誉管理"> |
| | | <created>1692233310670</created> |
| | | <option name="number" value="00001" /> |
| | | <option name="presentableId" value="LOCAL-00001" /> |
| | | <option name="project" value="LOCAL" /> |
| | | <updated>1690249807612</updated> |
| | | <updated>1692233310670</updated> |
| | | </task> |
| | | <task id="LOCAL-00002" summary="后台代码删除"> |
| | | <created>1690254629455</created> |
| | | <option name="number" value="00002" /> |
| | | <option name="presentableId" value="LOCAL-00002" /> |
| | | <option name="project" value="LOCAL" /> |
| | | <updated>1690254629455</updated> |
| | | </task> |
| | | <task id="LOCAL-00003" summary="后台代码删除"> |
| | | <created>1690254749862</created> |
| | | <option name="number" value="00003" /> |
| | | <option name="presentableId" value="LOCAL-00003" /> |
| | | <option name="project" value="LOCAL" /> |
| | | <updated>1690254749862</updated> |
| | | </task> |
| | | <task id="LOCAL-00004" summary="后台代码"> |
| | | <created>1690334274202</created> |
| | | <option name="number" value="00004" /> |
| | | <option name="presentableId" value="LOCAL-00004" /> |
| | | <option name="project" value="LOCAL" /> |
| | | <updated>1690334274203</updated> |
| | | </task> |
| | | <task id="LOCAL-00005" summary="后台代码"> |
| | | <created>1690335913450</created> |
| | | <option name="number" value="00005" /> |
| | | <option name="presentableId" value="LOCAL-00005" /> |
| | | <option name="project" value="LOCAL" /> |
| | | <updated>1690335913450</updated> |
| | | </task> |
| | | <task id="LOCAL-00006" summary="后台代码"> |
| | | <created>1690338179876</created> |
| | | <option name="number" value="00006" /> |
| | | <option name="presentableId" value="LOCAL-00006" /> |
| | | <option name="project" value="LOCAL" /> |
| | | <updated>1690338179876</updated> |
| | | </task> |
| | | <task id="LOCAL-00007" summary="后台代码"> |
| | | <created>1690338325966</created> |
| | | <option name="number" value="00007" /> |
| | | <option name="presentableId" value="LOCAL-00007" /> |
| | | <option name="project" value="LOCAL" /> |
| | | <updated>1690338325966</updated> |
| | | </task> |
| | | <task id="LOCAL-00008" summary="后台代码"> |
| | | <created>1690341067099</created> |
| | | <option name="number" value="00008" /> |
| | | <option name="presentableId" value="LOCAL-00008" /> |
| | | <option name="project" value="LOCAL" /> |
| | | <updated>1690341067099</updated> |
| | | </task> |
| | | <task id="LOCAL-00009" summary="后台代码"> |
| | | <created>1690355617215</created> |
| | | <option name="number" value="00009" /> |
| | | <option name="presentableId" value="LOCAL-00009" /> |
| | | <option name="project" value="LOCAL" /> |
| | | <updated>1690355617215</updated> |
| | | </task> |
| | | <task id="LOCAL-00010" summary="后台代码删除"> |
| | | <created>1690362658673</created> |
| | | <option name="number" value="00010" /> |
| | | <option name="presentableId" value="LOCAL-00010" /> |
| | | <option name="project" value="LOCAL" /> |
| | | <updated>1690362658673</updated> |
| | | </task> |
| | | <task id="LOCAL-00011" summary="后台代码删除"> |
| | | <created>1690363462474</created> |
| | | <option name="number" value="00011" /> |
| | | <option name="presentableId" value="LOCAL-00011" /> |
| | | <option name="project" value="LOCAL" /> |
| | | <updated>1690363462474</updated> |
| | | </task> |
| | | <task id="LOCAL-00012" summary="后台代码"> |
| | | <created>1690364368448</created> |
| | | <option name="number" value="00012" /> |
| | | <option name="presentableId" value="LOCAL-00012" /> |
| | | <option name="project" value="LOCAL" /> |
| | | <updated>1690364368448</updated> |
| | | </task> |
| | | <task id="LOCAL-00013" summary="后台代码"> |
| | | <created>1690364506501</created> |
| | | <option name="number" value="00013" /> |
| | | <option name="presentableId" value="LOCAL-00013" /> |
| | | <option name="project" value="LOCAL" /> |
| | | <updated>1690364506501</updated> |
| | | </task> |
| | | <option name="localTasksCounter" value="14" /> |
| | | <option name="localTasksCounter" value="2" /> |
| | | <servers /> |
| | | </component> |
| | | <component name="TypeScriptGeneratedFilesManager"> |
| | | <option name="version" value="2" /> |
| | | <option name="version" value="1" /> |
| | | </component> |
| | | <component name="Vcs.Log.Tabs.Properties"> |
| | | <option name="TAB_STATES"> |
| | | <map> |
| | | <entry key="MAIN"> |
| | | <value> |
| | | <State /> |
| | | <State> |
| | | <option name="COLUMN_ORDER" /> |
| | | </State> |
| | | </value> |
| | | </entry> |
| | | </map> |
| | | </option> |
| | | <option name="oldMeFiltersMigrated" value="true" /> |
| | | </component> |
| | | <component name="VcsManagerConfiguration"> |
| | | <MESSAGE value="后台代码删除" /> |
| | | <MESSAGE value="后台代码" /> |
| | | <option name="LAST_COMMIT_MESSAGE" value="后台代码" /> |
| | | </component> |
| | | <component name="WindowStateProjectService"> |
| | | <state x="590" y="80" key="#<template>_of_Spring_Boot" timestamp="1690338437444"> |
| | | <screen x="0" y="0" width="1920" height="1032" /> |
| | | </state> |
| | | <state x="590" y="80" key="#<template>_of_Spring_Boot/0.0.1920.1032@0.0.1920.1032" timestamp="1690338437444" /> |
| | | <state x="590" y="0" width="753" height="1032" key="#AccountApplication" timestamp="1690363440283"> |
| | | <screen x="0" y="0" width="1920" height="1032" /> |
| | | </state> |
| | | <state x="590" y="0" width="753" height="1032" key="#AccountApplication/0.0.1920.1032@0.0.1920.1032" timestamp="1690363440283" /> |
| | | <state x="590" y="0" width="753" height="1032" key="#CompetitionApplication" timestamp="1690342021698"> |
| | | <screen x="0" y="0" width="1920" height="1032" /> |
| | | </state> |
| | | <state x="590" y="0" width="753" height="1032" key="#CompetitionApplication/0.0.1920.1032@0.0.1920.1032" timestamp="1690342021698" /> |
| | | <state x="590" y="109" width="753" height="813" key="#ManagementApplication" timestamp="1690338483958"> |
| | | <screen x="0" y="0" width="1920" height="1032" /> |
| | | </state> |
| | | <state x="590" y="109" width="753" height="813" key="#ManagementApplication/0.0.1920.1032@0.0.1920.1032" timestamp="1690338483958" /> |
| | | <state x="765" y="199" key="#com.intellij.ide.util.MemberChooser" timestamp="1690351593596"> |
| | | <screen x="0" y="0" width="1920" height="1032" /> |
| | | </state> |
| | | <state x="765" y="199" key="#com.intellij.ide.util.MemberChooser/0.0.1920.1032@0.0.1920.1032" timestamp="1690351593596" /> |
| | | <state x="689" y="304" key="#com.intellij.ide.util.TreeClassChooserDialog" timestamp="1690338381045"> |
| | | <screen x="0" y="0" width="1920" height="1032" /> |
| | | </state> |
| | | <state x="689" y="304" key="#com.intellij.ide.util.TreeClassChooserDialog/0.0.1920.1032@0.0.1920.1032" timestamp="1690338381045" /> |
| | | <state x="504" y="438" key="#com.intellij.refactoring.move.MoveHandler.SelectRefactoringDialog" timestamp="1690337455729"> |
| | | <screen x="0" y="0" width="1920" height="1032" /> |
| | | </state> |
| | | <state x="504" y="438" key="#com.intellij.refactoring.move.MoveHandler.SelectRefactoringDialog/0.0.1920.1032@0.0.1920.1032" timestamp="1690337455729" /> |
| | | <state x="674" y="382" width="571" height="274" key="#com.intellij.refactoring.move.moveClassesOrPackages.MoveClassesOrPackagesDialog.classes" timestamp="1690338847091"> |
| | | <screen x="0" y="0" width="1920" height="1032" /> |
| | | </state> |
| | | <state x="674" y="382" width="571" height="274" key="#com.intellij.refactoring.move.moveClassesOrPackages.MoveClassesOrPackagesDialog.classes/0.0.1920.1032@0.0.1920.1032" timestamp="1690338847091" /> |
| | | <state x="703" y="346" key="ANALYSIS_DLG_com.intellij.analysis.BaseAnalysisAction$1" timestamp="1690363667225"> |
| | | <screen x="0" y="0" width="1920" height="1032" /> |
| | | </state> |
| | | <state x="703" y="346" key="ANALYSIS_DLG_com.intellij.analysis.BaseAnalysisAction$1/0.0.1920.1032@0.0.1920.1032" timestamp="1690363667225" /> |
| | | <state x="519" y="82" key="CommitChangelistDialog2" timestamp="1690364505261"> |
| | | <screen x="0" y="0" width="1920" height="1032" /> |
| | | </state> |
| | | <state x="519" y="82" key="CommitChangelistDialog2/0.0.1920.1032@0.0.1920.1032" timestamp="1690364505261" /> |
| | | <state width="464" height="466" key="DebuggerActiveHint" timestamp="1690354723383"> |
| | | <screen x="0" y="0" width="1920" height="1032" /> |
| | | </state> |
| | | <state width="464" height="466" key="DebuggerActiveHint/0.0.1920.1032@0.0.1920.1032" timestamp="1690354723383" /> |
| | | <state x="740" y="270" key="FileChooserDialogImpl" timestamp="1690249419357"> |
| | | <screen x="0" y="0" width="1920" height="1032" /> |
| | | </state> |
| | | <state x="740" y="270" key="FileChooserDialogImpl/0.0.1920.1032@0.0.1920.1032" timestamp="1690249419357" /> |
| | | <state width="1293" height="418" key="GridCell.Tab.0.bottom" timestamp="1690366694918"> |
| | | <screen x="0" y="0" width="1920" height="1032" /> |
| | | </state> |
| | | <state width="1293" height="418" key="GridCell.Tab.0.bottom/0.0.1920.1032@0.0.1920.1032" timestamp="1690366694918" /> |
| | | <state width="1293" height="418" key="GridCell.Tab.0.center" timestamp="1690366694918"> |
| | | <screen x="0" y="0" width="1920" height="1032" /> |
| | | </state> |
| | | <state width="1293" height="418" key="GridCell.Tab.0.center/0.0.1920.1032@0.0.1920.1032" timestamp="1690366694918" /> |
| | | <state width="1293" height="418" key="GridCell.Tab.0.left" timestamp="1690366694918"> |
| | | <screen x="0" y="0" width="1920" height="1032" /> |
| | | </state> |
| | | <state width="1293" height="418" key="GridCell.Tab.0.left/0.0.1920.1032@0.0.1920.1032" timestamp="1690366694918" /> |
| | | <state width="1293" height="418" key="GridCell.Tab.0.right" timestamp="1690366694918"> |
| | | <screen x="0" y="0" width="1920" height="1032" /> |
| | | </state> |
| | | <state width="1293" height="418" key="GridCell.Tab.0.right/0.0.1920.1032@0.0.1920.1032" timestamp="1690366694918" /> |
| | | <state width="1293" height="418" key="GridCell.Tab.1.bottom" timestamp="1690366694918"> |
| | | <screen x="0" y="0" width="1920" height="1032" /> |
| | | </state> |
| | | <state width="1293" height="418" key="GridCell.Tab.1.bottom/0.0.1920.1032@0.0.1920.1032" timestamp="1690366694918" /> |
| | | <state width="1293" height="418" key="GridCell.Tab.1.center" timestamp="1690366694918"> |
| | | <screen x="0" y="0" width="1920" height="1032" /> |
| | | </state> |
| | | <state width="1293" height="418" key="GridCell.Tab.1.center/0.0.1920.1032@0.0.1920.1032" timestamp="1690366694918" /> |
| | | <state width="1293" height="418" key="GridCell.Tab.1.left" timestamp="1690366694918"> |
| | | <screen x="0" y="0" width="1920" height="1032" /> |
| | | </state> |
| | | <state width="1293" height="418" key="GridCell.Tab.1.left/0.0.1920.1032@0.0.1920.1032" timestamp="1690366694918" /> |
| | | <state width="1293" height="418" key="GridCell.Tab.1.right" timestamp="1690366694918"> |
| | | <screen x="0" y="0" width="1920" height="1032" /> |
| | | </state> |
| | | <state width="1293" height="418" key="GridCell.Tab.1.right/0.0.1920.1032@0.0.1920.1032" timestamp="1690366694918" /> |
| | | <state width="1293" height="418" key="GridCell.Tab.2.bottom" timestamp="1690366555269"> |
| | | <screen x="0" y="0" width="1920" height="1032" /> |
| | | </state> |
| | | <state width="1293" height="418" key="GridCell.Tab.2.bottom/0.0.1920.1032@0.0.1920.1032" timestamp="1690366555269" /> |
| | | <state width="1293" height="418" key="GridCell.Tab.2.center" timestamp="1690366555269"> |
| | | <screen x="0" y="0" width="1920" height="1032" /> |
| | | </state> |
| | | <state width="1293" height="418" key="GridCell.Tab.2.center/0.0.1920.1032@0.0.1920.1032" timestamp="1690366555269" /> |
| | | <state width="1293" height="418" key="GridCell.Tab.2.left" timestamp="1690366555269"> |
| | | <screen x="0" y="0" width="1920" height="1032" /> |
| | | </state> |
| | | <state width="1293" height="418" key="GridCell.Tab.2.left/0.0.1920.1032@0.0.1920.1032" timestamp="1690366555269" /> |
| | | <state width="1293" height="418" key="GridCell.Tab.2.right" timestamp="1690366555269"> |
| | | <screen x="0" y="0" width="1920" height="1032" /> |
| | | </state> |
| | | <state width="1293" height="418" key="GridCell.Tab.2.right/0.0.1920.1032@0.0.1920.1032" timestamp="1690366555269" /> |
| | | <state x="461" y="160" key="SettingsEditor" timestamp="1690191509088"> |
| | | <screen x="0" y="0" width="1920" height="1032" /> |
| | | </state> |
| | | <state x="461" y="160" key="SettingsEditor/0.0.1920.1032@0.0.1920.1032" timestamp="1690191509088" /> |
| | | <state x="552" y="248" key="Vcs.Push.Dialog.v2" timestamp="1690364507500"> |
| | | <screen x="0" y="0" width="1920" height="1032" /> |
| | | </state> |
| | | <state x="552" y="248" key="Vcs.Push.Dialog.v2/0.0.1920.1032@0.0.1920.1032" timestamp="1690364507500" /> |
| | | <state x="92" y="92" width="1736" height="848" key="com.intellij.history.integration.ui.views.DirectoryHistoryDialog" timestamp="1690340014123"> |
| | | <screen x="0" y="0" width="1920" height="1032" /> |
| | | </state> |
| | | <state x="92" y="92" width="1736" height="848" key="com.intellij.history.integration.ui.views.DirectoryHistoryDialog/0.0.1920.1032@0.0.1920.1032" timestamp="1690340014123" /> |
| | | <state x="92" y="92" width="1736" height="848" key="com.intellij.history.integration.ui.views.FileHistoryDialog" timestamp="1690340014123"> |
| | | <screen x="0" y="0" width="1920" height="1032" /> |
| | | </state> |
| | | <state x="92" y="92" width="1736" height="848" key="com.intellij.history.integration.ui.views.FileHistoryDialog/0.0.1920.1032@0.0.1920.1032" timestamp="1690340014123" /> |
| | | <state x="754" y="428" key="com.intellij.openapi.vcs.update.UpdateOrStatusOptionsDialogupdate-v2" timestamp="1690362660961"> |
| | | <screen x="0" y="0" width="1920" height="1032" /> |
| | | </state> |
| | | <state x="754" y="428" key="com.intellij.openapi.vcs.update.UpdateOrStatusOptionsDialogupdate-v2/0.0.1920.1032@0.0.1920.1032" timestamp="1690362660961" /> |
| | | <state x="661" y="224" width="721" height="584" key="find.popup" timestamp="1690365779184"> |
| | | <screen x="0" y="0" width="1920" height="1032" /> |
| | | </state> |
| | | <state x="661" y="224" width="721" height="584" key="find.popup/0.0.1920.1032@0.0.1920.1032" timestamp="1690365779184" /> |
| | | <state x="623" y="223" width="672" height="678" key="search.everywhere.popup" timestamp="1690365810397"> |
| | | <screen x="0" y="0" width="1920" height="1032" /> |
| | | </state> |
| | | <state x="623" y="223" width="672" height="678" key="search.everywhere.popup/0.0.1920.1032@0.0.1920.1032" timestamp="1690365810397" /> |
| | | <MESSAGE value="客服管理、荣誉管理" /> |
| | | <option name="LAST_COMMIT_MESSAGE" value="客服管理、荣誉管理" /> |
| | | </component> |
| | | <component name="XDebuggerManager"> |
| | | <breakpoint-manager> |
| | | <breakpoints> |
| | | <line-breakpoint enabled="true" type="java-line"> |
| | | <url>file://$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/LoginController.java</url> |
| | | <line>145</line> |
| | | <option name="timeStamp" value="1" /> |
| | | <url>file://$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/util/UploadUtil.java</url> |
| | | <line>148</line> |
| | | <option name="timeStamp" value="3" /> |
| | | </line-breakpoint> |
| | | <line-breakpoint enabled="true" type="java-line"> |
| | | <url>file://$PROJECT_DIR$/cloud-server-activity/src/main/java/com/dsh/activity/controller/BodySideAppointmentsController.java</url> |
| | | <line>88</line> |
| | | <option name="timeStamp" value="43" /> |
| | | </line-breakpoint> |
| | | </breakpoints> |
| | | </breakpoint-manager> |
| | | </component> |
| | | <component name="masterDetails"> |
| | | <states> |
| | | <state key="ArtifactsStructureConfigurable.UI"> |
| | | <settings> |
| | | <artifact-editor /> |
| | | <splitter-proportions> |
| | | <option name="proportions"> |
| | | <list> |
| | | <option value="0.2" /> |
| | | </list> |
| | | </option> |
| | | </splitter-proportions> |
| | | </settings> |
| | | </state> |
| | | <state key="FacetStructureConfigurable.UI"> |
| | | <settings> |
| | | <last-edited>No facets are configured</last-edited> |
| | | <splitter-proportions> |
| | | <option name="proportions"> |
| | | <list> |
| | | <option value="0.2" /> |
| | | </list> |
| | | </option> |
| | | </splitter-proportions> |
| | | </settings> |
| | | </state> |
| | | <state key="GlobalLibrariesConfigurable.UI"> |
| | | <settings> |
| | | <splitter-proportions> |
| | | <option name="proportions"> |
| | | <list> |
| | | <option value="0.2" /> |
| | | </list> |
| | | </option> |
| | | </splitter-proportions> |
| | | </settings> |
| | | </state> |
| | | <state key="JdkListConfigurable.UI"> |
| | | <settings> |
| | | <last-edited>1.8</last-edited> |
| | | <splitter-proportions> |
| | | <option name="proportions"> |
| | | <list> |
| | | <option value="0.2" /> |
| | | </list> |
| | | </option> |
| | | </splitter-proportions> |
| | | </settings> |
| | | </state> |
| | | <state key="ModuleStructureConfigurable.UI"> |
| | | <settings> |
| | | <last-edited>PlayPai</last-edited> |
| | | <splitter-proportions> |
| | | <option name="proportions"> |
| | | <list> |
| | | <option value="0.2" /> |
| | | <option value="0.6" /> |
| | | </list> |
| | | </option> |
| | | </splitter-proportions> |
| | | </settings> |
| | | </state> |
| | | <state key="ProjectJDKs.UI"> |
| | | <settings> |
| | | <last-edited>1.8</last-edited> |
| | | <splitter-proportions> |
| | | <option name="proportions"> |
| | | <list> |
| | | <option value="0.2" /> |
| | | </list> |
| | | </option> |
| | | </splitter-proportions> |
| | | </settings> |
| | | </state> |
| | | <state key="ProjectLibrariesConfigurable.UI"> |
| | | <settings> |
| | | <splitter-proportions> |
| | | <option name="proportions"> |
| | | <list> |
| | | <option value="0.2" /> |
| | | </list> |
| | | </option> |
| | | </splitter-proportions> |
| | | </settings> |
| | | </state> |
| | | </states> |
| | | <watches-manager> |
| | | <configuration name="SpringBootApplicationConfigurationType"> |
| | | <watch expression="vo.data3" /> |
| | | </configuration> |
| | | </watches-manager> |
| | | </component> |
| | | </project> |
| | |
| | | <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.11.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.11.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.alibaba:transmittable-thread-local:2.10.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: commons-lang:commons-lang:2.6" level="project" /> |
| | | <orderEntry type="library" name="Maven: cn.mb.cloud:mb-cloud-common-data:1.1.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.3.6.RELEASE" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.3.6.RELEASE" level="project" /> |
| | |
| | | <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.2" level="project" /> |
| | | <orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.2" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.9.2" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.20" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.swagger:swagger-models:1.5.20" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.11.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.springfox:springfox-spi:2.9.2" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.springfox:springfox-core:2.9.2" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.springfox:springfox-schema:2.9.2" level="project" /> |
| | |
| | | <orderEntry type="library" name="Maven: org.springframework:spring-aop:5.2.11.RELEASE" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-metadata:1.2.0.RELEASE" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.mapstruct:mapstruct:1.2.0.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.22" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.swagger:swagger-models:1.5.22" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.11.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.springfox:springfox-swagger-ui:2.9.2" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.velocity:velocity:1.7" level="project" /> |
| | | <orderEntry type="library" name="Maven: commons-lang:commons-lang:2.6" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.freemarker:freemarker:2.3.30" level="project" /> |
| | | <orderEntry type="library" name="Maven: dom4j:dom4j:1.6.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: xml-apis:xml-apis:1.4.01" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.alipay.sdk:alipay-sdk-java:4.38.10.ALL" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.83_noneautotype" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk15on:1.62" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.squareup.okhttp3:okhttp:3.14.9" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.squareup.okio:okio:1.17.2" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.aliyun.oss:aliyun-sdk-oss:3.8.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.14" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.codehaus.jettison:jettison:1.2" level="project" /> |
| | | <orderEntry type="library" name="Maven: stax:stax-api:1.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.aliyun:aliyun-java-sdk-ram:3.0.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.aliyun:aliyun-java-sdk-sts:3.0.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.aliyun:aliyun-java-sdk-ecs:4.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.aliyun:aliyun-java-sdk-core:4.4.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.6" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.jacoco:org.jacoco.agent:runtime:0.8.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.ini4j:ini4j:0.5.4" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.jsonwebtoken:jjwt:0.9.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.11.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.11.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.gavaghan:geodesy:1.1.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-jdbc-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-transaction-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-transaction-api:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-infra-executor:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.vertx:vertx-mysql-client:4.2.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.vertx:vertx-core:4.2.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-handler-proxy:4.1.54.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-codec-socks:4.1.54.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-codec-http:4.1.54.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-codec-http2:4.1.54.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-resolver-dns:4.1.54.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-codec-dns:4.1.54.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.vertx:vertx-sql-client:4.2.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-sql-parser-sql92:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-sql-parser-engine:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-sql-parser-spi:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-sql-parser-statement:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.antlr:antlr4-runtime:4.9.2" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.github.ben-manes.caffeine:caffeine:2.8.6" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.checkerframework:checker-qual:3.7.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.google.errorprone:error_prone_annotations:2.4.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-sql-parser-mysql:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-sql-parser-postgresql:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-sql-parser-oracle:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-sql-parser-sqlserver:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-sql-parser-opengauss:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-authority-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-authority-api:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-single-table-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-single-table-api:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-infra-route:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-traffic-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-infra-common:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-infra-util:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.groovy:groovy:4.0.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-infra-binder:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-dialect-exception-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-traffic-api:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-infra-context:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-distsql-parser:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-distsql-statement:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-sql-translator-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-sql-translator-api:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-standalone-mode-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-mode-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-schedule-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere.elasticjob:elasticjob-lite-core:3.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere.elasticjob:elasticjob-api:3.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere.elasticjob:elasticjob-infra-common:3.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere.elasticjob:elasticjob-registry-center:3.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere.elasticjob:elasticjob-simple-executor:3.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere.elasticjob:elasticjob-executor-kernel:3.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere.elasticjob:elasticjob-error-handler-general:3.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere.elasticjob:elasticjob-error-handler-spi:3.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere.elasticjob:elasticjob-dataflow-executor:3.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere.elasticjob:elasticjob-script-executor:3.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.commons:commons-exec:1.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere.elasticjob:elasticjob-http-executor:3.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere.elasticjob:elasticjob-tracing-rdb:3.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere.elasticjob:elasticjob-tracing-api:3.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.quartz-scheduler:quartz:2.3.2" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.mchange:mchange-commons-java:0.2.15" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere.elasticjob:elasticjob-lite-lifecycle:3.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-standalone-mode-repository-api:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-standalone-mode-repository-jdbc-h2:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-standalone-mode-repository-jdbc-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-cluster-mode-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-cluster-mode-repository-api:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-sharding-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-sharding-api:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-data-pipeline-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-data-pipeline-api:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-cluster-mode-repository-zookeeper-curator:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.curator:curator-framework:4.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.curator:curator-client:5.1.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.zookeeper:zookeeper:3.6.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.zookeeper:zookeeper-jute:3.6.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.yetus:audience-annotations:0.5.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-transport-native-epoll:4.1.54.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-transport-native-unix-common:4.1.54.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: log4j:log4j:1.2.17" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.curator:curator-recipes:2.12.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-infra-rewrite:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-sql-translator-native-provider:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-infra-merge:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.calcite:calcite-linq4j:1.31.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.calcite.avatica:avatica-core:1.22.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.calcite.avatica:avatica-metrics:1.22.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.google.protobuf:protobuf-java:3.5.1" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.httpcomponents.client5:httpclient5:5.1.3" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.httpcomponents.core5:httpcore5-h2:5.1.3" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.httpcomponents.core5:httpcore5:5.1.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-system-datetime:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-infra-datetime-spi:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-sharding-cosid:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: me.ahoo.cosid:cosid-core:1.14.4" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-sharding-nanoid:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.aventrix.jnanoid:jnanoid:2.0.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-readwrite-splitting-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-readwrite-splitting-api:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-db-discovery-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-db-discovery-api:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-db-discovery-mysql:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-db-discovery-opengauss:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-encrypt-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-encrypt-api:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-encrypt-sm:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-shadow-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-shadow-api:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-infra-federation-executor:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-infra-federation-optimizer:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.calcite:calcite-core:1.31.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.esri.geometry:esri-geometry-api:2.2.0" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.11.3" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: com.google.uzaygezen:uzaygezen-core:0.2" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: com.yahoo.datasketches:sketches-core:0.9.0" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: com.yahoo.datasketches:memory:0.9.0" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: net.hydromatic:aggdesigner-algorithm:6.0" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.commons:commons-dbcp2:2.7.0" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: org.codehaus.janino:commons-compiler:3.1.2" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: org.codehaus.janino:janino:3.1.2" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-parser-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-parser-api:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-infra-parser:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.commons:commons-collections4:4.4" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: com.h2database:h2:1.4.200" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.30" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.30" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-discovery:2.2.1.RELEASE" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.alibaba.nacos:nacos-client:1.2.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.alibaba.nacos:nacos-common:1.2.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: commons-io:commons-io:2.6" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.10" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.alibaba.nacos:nacos-api:1.2.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.58" level="project" /> |
| | | <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.14" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.11.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.11.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.prometheus:simpleclient:0.5.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.26" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.alibaba.spring:spring-context-support:1.0.6" level="project" /> |
| | |
| | | <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter:2.2.6.RELEASE" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework.security:spring-security-rsa:1.0.9.RELEASE" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.bouncycastle:bcpkix-jdk15on:1.59" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk15on:1.59" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-ribbon:2.2.6.RELEASE" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-archaius:2.2.6.RELEASE" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-netflix-archaius:2.2.6.RELEASE" level="project" /> |
| | |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: io.reactivex:rxnetty:0.4.9" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-core:2.3.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-httpclient:2.3.0" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.httpcomponents:httpclient:4.5.13" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.httpcomponents:httpcore:4.4.13" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.jersey:jersey-client:1.19.1" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.jersey:jersey-core:1.19.1" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: javax.ws.rs:jsr311-api:1.1.1" level="project" /> |
| | |
| | | <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.13.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.13.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.30" level="project" /> |
| | | <orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-actuator-autoconfigure:2.3.6.RELEASE" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-actuator:2.3.6.RELEASE" level="project" /> |
| | |
| | | <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:2.3.6.RELEASE" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:2.3.6.RELEASE" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.3.6.RELEASE" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.4.0" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.3" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:1.2" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: org.ow2.asm:asm:5.0.4" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: com.jayway.jsonpath:json-path:2.4.0" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: net.minidev:json-smart:2.3" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: net.minidev:accessors-smart:1.2" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: org.ow2.asm:asm:5.0.4" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.3" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: jakarta.activation:jakarta.activation-api:1.2.2" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:3.16.1" level="project" /> |
| | |
| | | <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-params:5.6.3" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-engine:5.6.3" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: org.junit.vintage:junit-vintage-engine:5.6.3" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: org.apiguardian:apiguardian-api:1.1.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apiguardian:apiguardian-api:1.1.0" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-engine:1.6.3" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.13.1" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:3.3.3" level="project" /> |
| | |
| | | </executions> |
| | | </plugin> |
| | | |
| | | <plugin> |
| | | <groupId>com.spotify</groupId> |
| | | <artifactId>docker-maven-plugin</artifactId> |
| | | </plugin> |
| | | </plugins> |
| | | </build> |
| | | <repositories> |
| | |
| | | package com.dsh.account.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.dsh.account.entity.CityManager; |
| | | import com.dsh.account.feignclient.other.model.Store; |
| | | import com.dsh.account.service.ICityManagerService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.Comparator; |
| | | import java.util.List; |
| | | import java.util.TreeSet; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * @author zhibing.pu |
| | |
| | | |
| | | |
| | | /** |
| | | * 根据管理员id获取详情信息 |
| | | */ |
| | | @RequestMapping("/cityManager/getStoreById") |
| | | public CityManager getStoreById(@RequestParam Integer id){ |
| | | return cityManagerService.getOne(new QueryWrapper<CityManager>().eq("id",id)); |
| | | } |
| | | /** |
| | | * 获取已有城市管理的省、市 |
| | | */ |
| | | @RequestMapping("/cityManager/listAll") |
| | | |
| | | public List<CityManager> listAll(){ |
| | | return cityManagerService.listAll(); |
| | | } |
| | | /** |
| | | * 选择省 展示市 |
| | | */ |
| | | @RequestMapping("/cityManager/getCity") |
| | | @ResponseBody |
| | | public List<CityManager> getCity(@RequestBody String province){ |
| | | List<CityManager> province1 = cityManagerService.list(new QueryWrapper<CityManager>().eq("province", province)); |
| | | List<CityManager> distinctCities = province1.stream() |
| | | .collect(Collectors.collectingAndThen( |
| | | Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(CityManager::getCity))), |
| | | ArrayList::new |
| | | )); |
| | | |
| | | return distinctCities; |
| | | } |
| | | |
| | | /** |
| | | * 选择市区 展示全部账号 |
| | | */ |
| | | @RequestMapping("/cityManager/getAccount") |
| | | @ResponseBody |
| | | List<CityManager> getAccount(@RequestBody String city){ |
| | | return cityManagerService.list(new QueryWrapper<CityManager>().eq("city",city).ne("state",2).ne("state",3)); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 根据id获取数据 |
| | | * @param id |
| | | * @return |
| | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.dsh.account.entity.Coach; |
| | | import com.dsh.account.model.query.coachQuery.CoachQuery; |
| | | import com.dsh.account.model.vo.CoachChangeStateVO; |
| | | import com.dsh.account.model.vo.CoachSerchVO; |
| | | import com.dsh.account.service.CoachService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | |
| | | @Autowired |
| | | private CoachService service; |
| | | |
| | | |
| | | /** |
| | | * 获取教练列表数据 |
| | | */ |
| | | @ResponseBody |
| | | @RequestMapping("/coach/listAll") |
| | | public List<CoachSerchVO> listAll(@RequestBody CoachQuery query){ |
| | | List<CoachSerchVO> coachSerchVOS = service.listAll(query); |
| | | for (CoachSerchVO coachSerchVO : coachSerchVOS) { |
| | | coachSerchVO.setNameAndPhone(coachSerchVO.getAccountName()+"-"+coachSerchVO.getAccountPhone()); |
| | | } |
| | | return coachSerchVOS; |
| | | } |
| | | /** |
| | | * 上/下架、删除常见问题 type=1为上架 2为下架 |
| | | */ |
| | | @RequestMapping("/coach/changeState") |
| | | public Object changeState(@RequestBody CoachChangeStateVO vo){ |
| | | |
| | | return service.changeState(vo); |
| | | } |
| | | /** |
| | | * 添加教练 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/base/site/addCoach") |
| | | public Object addCoach(@RequestBody Coach coach){ |
| | | |
| | | if(coach.getId()!= null ){ |
| | | return service.updateById(coach); |
| | | }else { |
| | | return service.save(coach); |
| | | } |
| | | } |
| | | /** |
| | | * 获取所有省 |
| | | */ |
| | | @ResponseBody |
| | | @PostMapping("/coach/getProvince") |
| | | public List<Coach> getProvince(){ |
| | | return service.list(); |
| | | } |
| | | |
| | | /** |
| | | * 根据选择的省获取对应的市 |
| | | */ |
| | | @ResponseBody |
| | | @PostMapping("/coach/getCity") |
| | | public List<Coach> getCity(@RequestBody String city){ |
| | | return service.list(new QueryWrapper<Coach>().eq("province",city)); |
| | | } |
| | | |
| | | /** |
| | | * 根据门店 |
| | | * @param id |
New file |
| | |
| | | package com.dsh.account.controller; |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.dsh.account.entity.Coach; |
| | | import com.dsh.account.entity.CoachType; |
| | | import com.dsh.account.service.CoachService; |
| | | import com.dsh.account.service.CoachTypeService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 教练类型 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("") |
| | | public class CoachTypeController { |
| | | |
| | | @Autowired |
| | | private CoachService service; |
| | | @Autowired |
| | | private CoachTypeService typeService; |
| | | |
| | | /** |
| | | * 根据门店 |
| | | * @param |
| | | * @return |
| | | */ |
| | | @ResponseBody |
| | | @PostMapping("/coachType/list") |
| | | public List<CoachType> list(){ |
| | | |
| | | return typeService.list(new QueryWrapper<CoachType>().ne("state",3)); |
| | | } |
| | | |
| | | /** |
| | | * 新增教练类型 |
| | | * @param |
| | | * @return |
| | | */ |
| | | @ResponseBody |
| | | @RequestMapping("/coachType/add") |
| | | public Object add(@RequestBody String name){ |
| | | |
| | | List<CoachType> list = typeService.list(new QueryWrapper<CoachType>().eq("name", name)); |
| | | if (list.size()!= 0){ |
| | | return 500; |
| | | }else{ |
| | | CoachType coachType = new CoachType(); |
| | | coachType.setName(name); |
| | | coachType.setState(1); |
| | | typeService.save(coachType); |
| | | return 200; |
| | | } |
| | | } |
| | | /** |
| | | * 删除教练类型 |
| | | * @param |
| | | * @return |
| | | */ |
| | | @ResponseBody |
| | | @RequestMapping("/coachType/delete") |
| | | public Object delete(@RequestBody Integer id){ |
| | | CoachType coachType = new CoachType(); |
| | | coachType.setId(id); |
| | | coachType.setState(3); |
| | | return typeService.updateById(coachType); |
| | | } |
| | | |
| | | /** |
| | | * 修改教练类型 |
| | | * @param |
| | | * @return |
| | | */ |
| | | @ResponseBody |
| | | @RequestMapping("/coachType/update") |
| | | public Object update(@RequestBody CoachType coachType){ |
| | | List<CoachType> list = typeService.list(new QueryWrapper<CoachType>().eq("name", coachType.getName())); |
| | | if (list.size()!= 0){ |
| | | return 500; |
| | | }else{ |
| | | typeService.updateById(coachType); |
| | | return 200; |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.baomidou.mybatisplus.extension.activerecord.Model; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | |
| | | * 生日 |
| | | */ |
| | | @TableField("birthday") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date birthday; |
| | | /** |
| | | * 性别(1=男,2=女) |
| | |
| | | * 添加时间 |
| | | */ |
| | | @TableField("insertTime") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
| | | private Date insertTime; |
| | | |
| | | |
| | |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.dsh.account.entity.Coach; |
| | | import com.dsh.account.model.query.coachQuery.CoachQuery; |
| | | import com.dsh.account.model.vo.CoachSerchVO; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | */ |
| | | public interface CoachMapper extends BaseMapper<Coach> { |
| | | |
| | | List<CoachSerchVO> listAll(@Param("query") CoachQuery query); |
| | | |
| | | Object changeState(@Param("ids") List<Integer> ids, @Param("state") Integer state); |
| | | } |
New file |
| | |
| | | package com.dsh.account.model.query.coachQuery; |
| | | |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class CoachQuery { |
| | | private String province; |
| | | private String city; |
| | | private String name; |
| | | private String phone; |
| | | // 编辑页面回显使用 |
| | | private Integer id; |
| | | } |
New file |
| | |
| | | package com.dsh.account.model.vo; |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | public class CoachChangeStateVO { |
| | | private List<Integer> ids; |
| | | private Integer state; |
| | | } |
New file |
| | |
| | | package com.dsh.account.model.vo; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * <p> |
| | | * 教练 |
| | | * </p> |
| | | * |
| | | * @author jqs |
| | | * @since 2023-07-05 |
| | | */ |
| | | @Data |
| | | public class CoachSerchVO { |
| | | /** |
| | | * 主键 |
| | | */ |
| | | private Integer id; |
| | | /** |
| | | * 省 |
| | | */ |
| | | private String province; |
| | | /** |
| | | * 省编号 |
| | | */ |
| | | private String provinceCode; |
| | | /** |
| | | * 市 |
| | | */ |
| | | private String city; |
| | | /** |
| | | * 市编号 |
| | | */ |
| | | private String cityCode; |
| | | /** |
| | | * 城市管理员id |
| | | */ |
| | | private Integer cityManagerId; |
| | | private String nameAndPhone; |
| | | private String accountName; |
| | | private String accountPhone; |
| | | /** |
| | | * 教练类型id |
| | | */ |
| | | private Integer coachTypeId; |
| | | private String coachTypeName; |
| | | /** |
| | | * 姓名 |
| | | */ |
| | | private String name; |
| | | /** |
| | | * 生日 |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date birthday; |
| | | /** |
| | | * 性别(1=男,2=女) |
| | | */ |
| | | private Integer gender; |
| | | /** |
| | | * 电话 |
| | | */ |
| | | private String phone; |
| | | /** |
| | | * 身份证号码 |
| | | */ |
| | | private String idcard; |
| | | /** |
| | | * 身高(厘米) |
| | | */ |
| | | private Double height; |
| | | /** |
| | | * 体重(KG) |
| | | */ |
| | | private Double weight; |
| | | /** |
| | | * 毕业院校 |
| | | */ |
| | | private String graduateSchool; |
| | | /** |
| | | * 毕业证照片 |
| | | */ |
| | | private String diploma; |
| | | /** |
| | | * 资格证书(多个逗号分隔) |
| | | */ |
| | | private String certificate; |
| | | /** |
| | | * 证书照片 |
| | | */ |
| | | private String certificateImg; |
| | | /** |
| | | * 状态(1=正常,2=冻结,3=删除) |
| | | */ |
| | | private Integer state; |
| | | /** |
| | | * 添加时间 |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | private Date insertTime; |
| | | |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.dsh.account.entity.Coach; |
| | | import com.dsh.account.model.query.coachQuery.CoachQuery; |
| | | import com.dsh.account.model.vo.CoachChangeStateVO; |
| | | import com.dsh.account.model.vo.CoachSerchVO; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | */ |
| | | public interface CoachService extends IService<Coach> { |
| | | |
| | | List<CoachSerchVO> listAll(CoachQuery query); |
| | | |
| | | Object changeState(CoachChangeStateVO vo); |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.dsh.account.entity.CityManager; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author zhibing.pu |
| | | * @Date 2023/8/1 17:03 |
| | | */ |
| | | public interface ICityManagerService extends IService<CityManager> { |
| | | List<CityManager> listAll(); |
| | | |
| | | } |
| | |
| | | import com.dsh.account.service.ICityManagerService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author zhibing.pu |
| | | * @Date 2023/8/1 17:04 |
| | | */ |
| | | @Service |
| | | public class CityManagerServiceImpl extends ServiceImpl<CityManagerMapper, CityManager> implements ICityManagerService { |
| | | @Override |
| | | public List<CityManager> listAll() { |
| | | return this.list(); |
| | | } |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.dsh.account.entity.Coach; |
| | | import com.dsh.account.mapper.CoachMapper; |
| | | import com.dsh.account.model.query.coachQuery.CoachQuery; |
| | | import com.dsh.account.model.vo.CoachChangeStateVO; |
| | | import com.dsh.account.model.vo.CoachSerchVO; |
| | | import com.dsh.account.service.CoachService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | */ |
| | | @Service |
| | | public class CoachServiceImpl extends ServiceImpl<CoachMapper, Coach> implements CoachService { |
| | | @Autowired |
| | | private CoachMapper coachMapper; |
| | | @Override |
| | | public List<CoachSerchVO> listAll(CoachQuery query) { |
| | | return coachMapper.listAll(query); |
| | | } |
| | | |
| | | @Override |
| | | public Object changeState(CoachChangeStateVO vo) { |
| | | return coachMapper.changeState(vo.getIds(),vo.getState()); |
| | | } |
| | | } |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.dsh.account.mapper.CoachMapper"> |
| | | <update id="changeState"> |
| | | update t_coach set |
| | | state = #{state} |
| | | <where> |
| | | <if test="ids != null and ids.size()>0"> |
| | | AND t_coach.id IN |
| | | <foreach collection="ids" separator="," item="id" open="(" close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | </where> |
| | | </update> |
| | | |
| | | |
| | | <select id="listAll" resultType="com.dsh.account.model.vo.CoachSerchVO"> |
| | | select t1.*,t2.name accountName,t2.phone accountPhone,t3.name coachTypeName from t_coach t1 |
| | | left join t_city_manager t2 on t1.cityManagerId = t2.id |
| | | left join t_coach_type t3 on t1.coachTypeId = t3.id |
| | | <where> |
| | | <if test="query.city!=null and query.city!= ''"> |
| | | and t1.city = #{query.city} |
| | | </if> |
| | | <if test="query.province!=null and query.province!= ''"> |
| | | and t1.province = #{query.province} |
| | | </if> |
| | | <if test="query.name!=null and query.name!= ''"> |
| | | AND t1.name LIKE concat('%',#{query.name},'%') |
| | | </if> |
| | | <if test="query.phone!=null and query.phone!= ''"> |
| | | and t1.phone LIKE concat('%',#{query.phone},'%') |
| | | </if> |
| | | <if test="query.id!=null and query.id!= ''"> |
| | | and t1.id LIKE concat('%',#{query.id},'%') |
| | | </if> |
| | | and t1.state != 3 |
| | | </where> |
| | | </select> |
| | | </mapper> |
| | |
| | | <facet type="web" name="Web"> |
| | | <configuration> |
| | | <webroots /> |
| | | <sourceRoots> |
| | | <root url="file://$MODULE_DIR$/src/main/java" /> |
| | | <root url="file://$MODULE_DIR$/src/main/resources" /> |
| | | </sourceRoots> |
| | | </configuration> |
| | | </facet> |
| | | </component> |
| | |
| | | <content url="file://$MODULE_DIR$"> |
| | | <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> |
| | | <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" /> |
| | | <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" /> |
| | | <excludeFolder url="file://$MODULE_DIR$/target" /> |
| | | </content> |
| | | <orderEntry type="inheritedJdk" /> |
| | |
| | | <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.2" level="project" /> |
| | | <orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.2" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.9.2" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.20" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.swagger:swagger-models:1.5.20" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.11.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.springfox:springfox-spi:2.9.2" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.springfox:springfox-core:2.9.2" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.springfox:springfox-schema:2.9.2" level="project" /> |
| | |
| | | <orderEntry type="library" name="Maven: org.springframework:spring-aop:5.2.11.RELEASE" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-metadata:1.2.0.RELEASE" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.mapstruct:mapstruct:1.2.0.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.22" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.swagger:swagger-models:1.5.22" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.11.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.springfox:springfox-swagger-ui:2.9.2" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-jdbc-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-transaction-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-transaction-api:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-infra-executor:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.vertx:vertx-mysql-client:4.2.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.vertx:vertx-core:4.2.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-handler-proxy:4.1.54.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-codec-socks:4.1.54.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-codec-http:4.1.54.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-codec-http2:4.1.54.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-resolver-dns:4.1.54.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-codec-dns:4.1.54.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.vertx:vertx-sql-client:4.2.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-sql-parser-sql92:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-sql-parser-engine:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-sql-parser-spi:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-sql-parser-statement:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.antlr:antlr4-runtime:4.9.2" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.github.ben-manes.caffeine:caffeine:2.8.6" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.checkerframework:checker-qual:3.7.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.google.errorprone:error_prone_annotations:2.4.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-sql-parser-mysql:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-sql-parser-postgresql:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-sql-parser-oracle:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-sql-parser-sqlserver:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-sql-parser-opengauss:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-authority-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-authority-api:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-single-table-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-single-table-api:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-infra-route:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-traffic-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-infra-common:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-infra-util:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.groovy:groovy:4.0.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-infra-binder:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-dialect-exception-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-traffic-api:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-infra-context:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-distsql-parser:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-distsql-statement:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-sql-translator-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-sql-translator-api:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-standalone-mode-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-mode-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-schedule-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere.elasticjob:elasticjob-lite-core:3.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere.elasticjob:elasticjob-api:3.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere.elasticjob:elasticjob-infra-common:3.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere.elasticjob:elasticjob-registry-center:3.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere.elasticjob:elasticjob-simple-executor:3.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere.elasticjob:elasticjob-executor-kernel:3.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere.elasticjob:elasticjob-error-handler-general:3.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere.elasticjob:elasticjob-error-handler-spi:3.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere.elasticjob:elasticjob-dataflow-executor:3.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere.elasticjob:elasticjob-script-executor:3.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.commons:commons-exec:1.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere.elasticjob:elasticjob-http-executor:3.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere.elasticjob:elasticjob-tracing-rdb:3.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere.elasticjob:elasticjob-tracing-api:3.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.6" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.quartz-scheduler:quartz:2.3.2" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.mchange:mchange-commons-java:0.2.15" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere.elasticjob:elasticjob-lite-lifecycle:3.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-standalone-mode-repository-api:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-standalone-mode-repository-jdbc-h2:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-standalone-mode-repository-jdbc-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-cluster-mode-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-cluster-mode-repository-api:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-sharding-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-sharding-api:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-data-pipeline-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-data-pipeline-api:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-cluster-mode-repository-zookeeper-curator:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.curator:curator-framework:4.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.curator:curator-client:5.1.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.zookeeper:zookeeper:3.6.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.zookeeper:zookeeper-jute:3.6.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.yetus:audience-annotations:0.5.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-transport-native-epoll:4.1.54.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.netty:netty-transport-native-unix-common:4.1.54.Final" level="project" /> |
| | | <orderEntry type="library" name="Maven: log4j:log4j:1.2.17" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.curator:curator-recipes:2.12.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-infra-rewrite:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-sql-translator-native-provider:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-infra-merge:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.calcite:calcite-linq4j:1.31.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.calcite.avatica:avatica-core:1.22.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.calcite.avatica:avatica-metrics:1.22.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.google.protobuf:protobuf-java:3.5.1" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.httpcomponents.client5:httpclient5:5.1.3" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.httpcomponents.core5:httpcore5-h2:5.1.3" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.httpcomponents.core5:httpcore5:5.1.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-system-datetime:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-infra-datetime-spi:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-sharding-cosid:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: me.ahoo.cosid:cosid-core:1.14.4" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-sharding-nanoid:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.aventrix.jnanoid:jnanoid:2.0.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-readwrite-splitting-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-readwrite-splitting-api:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-db-discovery-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-db-discovery-api:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-db-discovery-mysql:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-db-discovery-opengauss:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-encrypt-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-encrypt-api:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-encrypt-sm:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk15on:1.70" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-shadow-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-shadow-api:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-infra-federation-executor:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-infra-federation-optimizer:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.calcite:calcite-core:1.31.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.esri.geometry:esri-geometry-api:2.2.0" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.11.3" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: com.google.uzaygezen:uzaygezen-core:0.2" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: com.yahoo.datasketches:sketches-core:0.9.0" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: com.yahoo.datasketches:memory:0.9.0" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: net.hydromatic:aggdesigner-algorithm:6.0" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.commons:commons-dbcp2:2.7.0" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: org.codehaus.janino:commons-compiler:3.1.2" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: org.codehaus.janino:janino:3.1.2" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-parser-core:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-parser-api:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.shardingsphere:shardingsphere-infra-parser:5.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.commons:commons-collections4:4.4" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: com.h2database:h2:1.4.200" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.slf4j:jcl-over-slf4j:1.7.30" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.30" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.13" level="project" /> |
| | | <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.14" level="project" /> |
| | | <orderEntry type="library" name="Maven: commons-httpclient:commons-httpclient:3.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpmime:4.5.2" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-discovery:2.2.1.RELEASE" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.alibaba.nacos:nacos-client:1.2.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.alibaba.nacos:nacos-common:1.2.1" level="project" /> |
| | |
| | | <orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.10" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.alibaba.nacos:nacos-api:1.2.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.58" level="project" /> |
| | | <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.14" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.11.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.11.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: io.prometheus:simpleclient:0.5.0" level="project" /> |
| | |
| | | <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter:2.2.6.RELEASE" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework.security:spring-security-rsa:1.0.9.RELEASE" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.bouncycastle:bcpkix-jdk15on:1.59" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk15on:1.59" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-ribbon:2.2.6.RELEASE" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-netflix-archaius:2.2.6.RELEASE" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-netflix-archaius:2.2.6.RELEASE" level="project" /> |
| | |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: io.reactivex:rxnetty:0.4.9" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-core:2.3.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.netflix.ribbon:ribbon-httpclient:2.3.0" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.httpcomponents:httpclient:4.5.13" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.httpcomponents:httpcore:4.4.13" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.jersey:jersey-client:1.19.1" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.jersey:jersey-core:1.19.1" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: javax.ws.rs:jsr311-api:1.1.1" level="project" /> |
| | |
| | | <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.13.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.13.3" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.30" level="project" /> |
| | | <orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-actuator-autoconfigure:2.3.6.RELEASE" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-actuator:2.3.6.RELEASE" level="project" /> |
| | |
| | | <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:2.3.6.RELEASE" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:2.3.6.RELEASE" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.3.6.RELEASE" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.4.0" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.3" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:1.2" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: org.ow2.asm:asm:5.0.4" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: com.jayway.jsonpath:json-path:2.4.0" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: net.minidev:json-smart:2.3" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: net.minidev:accessors-smart:1.2" level="project" /> |
| | | <orderEntry type="library" scope="RUNTIME" name="Maven: org.ow2.asm:asm:5.0.4" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.3" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: jakarta.activation:jakarta.activation-api:1.2.2" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:3.16.1" level="project" /> |
| | |
| | | <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-params:5.6.3" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-engine:5.6.3" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: org.junit.vintage:junit-vintage-engine:5.6.3" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: org.apiguardian:apiguardian-api:1.1.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.apiguardian:apiguardian-api:1.1.0" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-engine:1.6.3" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.13.1" level="project" /> |
| | | <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:3.3.3" level="project" /> |
| | |
| | | </executions> |
| | | </plugin> |
| | | |
| | | <plugin> |
| | | <groupId>com.spotify</groupId> |
| | | <artifactId>docker-maven-plugin</artifactId> |
| | | </plugin> |
| | | |
| | | </plugins> |
| | | </build> |
| | | <repositories> |
| | |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.dsh.activity.entity.BenefitsVideoClassification; |
| | | import com.dsh.activity.entity.BenefitsVideos; |
| | | import com.dsh.activity.model.BenefitsVideoClassificationListVo; |
| | | import com.dsh.activity.model.BenefitsVideosInfoVo; |
| | | import com.dsh.activity.model.BenefitsVideosListVo; |
| | | import com.dsh.activity.model.*; |
| | | import com.dsh.activity.service.BenefitsVideosService; |
| | | import com.dsh.activity.service.IBenefitsVideoClassificationService; |
| | | import com.dsh.activity.util.ResultUtil; |
| | | import com.dsh.activity.util.TokenUtil; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | |
| | | |
| | | @Autowired |
| | | private BenefitsVideosService bfvService; |
| | | @Autowired |
| | | private IBenefitsVideoClassificationService benefitsVideoClassificationService; |
| | | |
| | | @Autowired |
| | | private TokenUtil tokenUtil; |
| | | |
| | | |
| | | |
| | | /** |
| | | * 获取所有福利视频分类 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/base/benefitVideo/list") |
| | | public List<TQueryBenefitsVO> listAll(@RequestBody QueryBenefitsVedioVO vo){ |
| | | |
| | | return benefitsVideoClassificationService.listAll(vo); |
| | | } |
| | | |
| | | /** |
| | | * 查看详情/编辑 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/base/benefitVideo/getById") |
| | | public BenefitsVideoClassification getById(@RequestBody Integer id){ |
| | | return benefitsVideoClassificationService.getById(id); |
| | | } |
| | | |
| | | /** |
| | | * 根据分类id查询福利视频分类下的视频 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/base/benefitVideo/getBenefitVideoById") |
| | | @ResponseBody |
| | | public List<BenefitsVideos> getBenefitVideoById(@RequestBody Integer id){ |
| | | return bfvService.getBenefitVideoById(id); |
| | | } |
| | | |
| | | /** |
| | | * 根据福利视频id获取福利视频信息 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/base/benefitVideo/getBenefitVideosById") |
| | | @ResponseBody |
| | | public BenefitsVideos getBenefitVideosById(@RequestBody Integer id){ |
| | | return bfvService.getById(id); |
| | | } |
| | | |
| | | /** |
| | | * 添加/修改福利视频分类 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/base/benefitVideo/add") |
| | | public Object addSite(@RequestBody BenefitsVideoClassification site){ |
| | | QueryWrapper<BenefitsVideoClassification> wrapper = new QueryWrapper<BenefitsVideoClassification>().eq("name", site.getName()); |
| | | if (benefitsVideoClassificationService.list(wrapper).size()==0){ |
| | | if(site.getId()!= null ){ |
| | | benefitsVideoClassificationService.updateById(site); |
| | | return 200; |
| | | }else { |
| | | return benefitsVideoClassificationService.save(site); |
| | | } |
| | | }else return 500; |
| | | } |
| | | |
| | | /** |
| | | * 添加/修改视频详情 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/base/addBenefitsVideos") |
| | | public Object addBenefitsVideos(@RequestBody BenefitsVideos site){ |
| | | // 通过分类Id和课程id 查询视频 |
| | | List<BenefitsVideos> result = bfvService.getBybIdAndcId(site.getBenefitsVideoClassificationId(),site.getCourseId()); |
| | | if (result.size()>0){ |
| | | return 500; |
| | | } |
| | | if (site.getId() == null){ |
| | | return bfvService.save(site); |
| | | }else { |
| | | return bfvService.updateById(site); |
| | | } |
| | | } |
| | | /** |
| | | * 上/下架、删除福利视频分类 type=1为上架 2为下架 3为删除 |
| | | */ |
| | | @RequestMapping("/base/benefitVideo/changeState") |
| | | public Object changeState(@RequestBody BenefitsVedioChangeStateVO vo){ |
| | | |
| | | return benefitsVideoClassificationService.changeState(vo); |
| | | } |
| | | |
| | | @PostMapping("base/benefitVideo/getList") |
| | | public BenefitsVideos getVideosWithIds(@RequestBody Integer id){ |
New file |
| | |
| | | package com.dsh.activity.controller; |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.dsh.activity.entity.BenefitsVideoClassification; |
| | | import com.dsh.activity.entity.BenefitsVideos; |
| | | import com.dsh.activity.entity.BodySideAppointment; |
| | | import com.dsh.activity.feignclient.other.StoreClient; |
| | | import com.dsh.activity.feignclient.other.model.Store; |
| | | import com.dsh.activity.model.*; |
| | | import com.dsh.activity.service.BenefitsVideosService; |
| | | import com.dsh.activity.service.BodySideAppointmentService; |
| | | import com.dsh.activity.service.IBenefitsVideoClassificationService; |
| | | import com.dsh.activity.util.ResultUtil; |
| | | import com.dsh.activity.util.TokenUtil; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import io.swagger.models.auth.In; |
| | | import org.checkerframework.checker.units.qual.A; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.HashSet; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 体测预约管理控制器 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("") |
| | | public class BodySideAppointmentsController { |
| | | @Autowired |
| | | private BodySideAppointmentService bodySideAppointmentService; |
| | | @Autowired |
| | | private StoreClient storeClient; |
| | | |
| | | /** |
| | | * 获取所有体测预约记录 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/base/bodySideAppointments/listAll") |
| | | public List<QueryBodySideAppointmentVO> listAll(@RequestBody QueryBodySideAppointment vo){ |
| | | List<QueryBodySideAppointmentVO> queryBodySideAppointmentVOS = bodySideAppointmentService.listAll(vo); |
| | | List<Integer> list = new ArrayList<>(); |
| | | for (QueryBodySideAppointmentVO queryBodySideAppointmentVO : queryBodySideAppointmentVOS) { |
| | | list.add(queryBodySideAppointmentVO.getStoreId()); |
| | | } |
| | | list.add(1); |
| | | list.add(2); |
| | | List<Store> stores = storeClient.queryStoreByIds(list); |
| | | for (QueryBodySideAppointmentVO queryBodySideAppointmentVO : queryBodySideAppointmentVOS) { |
| | | for (Store store : stores) { |
| | | if (queryBodySideAppointmentVO.getStoreId() == store.getId()){ |
| | | queryBodySideAppointmentVO.setStoreName(store.getName()); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | return queryBodySideAppointmentVOS; |
| | | } |
| | | /** |
| | | * 增加/修改体测预约记录 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/base/bodySideAppointments/addBodySideAppointments") |
| | | public Object addBodySideAppointments(@RequestBody QueryBodySideAppointmentVO vo){ |
| | | BodySideAppointment bodySideAppointment = new BodySideAppointment(); |
| | | BeanUtils.copyProperties(vo,bodySideAppointment); |
| | | bodySideAppointment.setStatus(1); |
| | | bodySideAppointment.setState(1); |
| | | bodySideAppointment.setInsertTime(new Date()); |
| | | if (vo.getId() != null){ |
| | | return bodySideAppointmentService.updateById(bodySideAppointment); |
| | | }else { |
| | | return bodySideAppointmentService.save(bodySideAppointment); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 手动标记用户已经到店并完成体测 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/base/bodySideAppointments/changeState") |
| | | public Object changeState(@RequestBody List<Integer> ids){ |
| | | return bodySideAppointmentService.changeState(ids); |
| | | } |
| | | |
| | | /** |
| | | * 通过id获取体测预约记录 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/base/bodySideAppointments/getInfoById") |
| | | public BodySideAppointment getInfoById(@RequestBody Integer id){ |
| | | return bodySideAppointmentService.getById(id); |
| | | |
| | | } |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | |
| | | * 添加时间 |
| | | */ |
| | | @TableField("insertTime") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
| | | private Date insertTime; |
| | | /** |
| | | * 状态 1=正常 2=下架 3=删除 |
| | | */ |
| | | @TableField("state") |
| | | private Integer state; |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.baomidou.mybatisplus.extension.activerecord.Model; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | |
| | | * 添加时间 |
| | | */ |
| | | @TableField("insertTime") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
| | | private Date insertTime; |
| | | |
| | | |
| | | @Override |
| | | protected Serializable pkVal() { |
New file |
| | |
| | | package com.dsh.activity.entity; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | @Data |
| | | @TableName("t_body_side_appointments") |
| | | public class BodySideAppointment { |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | @TableField("province") |
| | | private String province; |
| | | @TableField("provinceCode") |
| | | private String provinceCode; |
| | | @TableField("city") |
| | | private String city; |
| | | @TableField("cityCode") |
| | | private String cityCode; |
| | | @TableField("storeId") |
| | | private Integer storeId; |
| | | @TableField("parentName") |
| | | private String parentName; |
| | | @TableField("phone") |
| | | private String phone; |
| | | @TableField("learnerName") |
| | | private String learnerName; |
| | | @TableField("learnerAge") |
| | | private Integer learnerAge; |
| | | @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") |
| | | @TableField("birthday") |
| | | private Date birthday; |
| | | |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
| | | @TableField("appointmentTime") |
| | | private Date appointmentTime; |
| | | @TableField("status") |
| | | private Integer status; |
| | | @TableField("state") |
| | | private Integer state; |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
| | | @TableField("insertTime") |
| | | private Date insertTime; |
| | | |
| | | } |
| | |
| | | import com.dsh.activity.feignclient.other.model.StoreDetailOfCourse; |
| | | import org.springframework.cloud.openfeign.FeignClient; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | |
| | | import java.util.List; |
| | |
| | | |
| | | |
| | | @PostMapping("/store/queryStoreByIds") |
| | | List<Store> queryStoreByIds(List<Integer> ids); |
| | | List<Store> queryStoreByIds(@RequestBody List<Integer> ids); |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.dsh.activity.entity.BenefitsVideoClassification; |
| | | import com.dsh.activity.model.QueryBenefitsVedioVO; |
| | | import com.dsh.activity.model.TQueryBenefitsVO; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author zhibing.pu |
| | | * @date 2023/7/11 17:30 |
| | | */ |
| | | public interface BenefitsVideoClassificationMapper extends BaseMapper<BenefitsVideoClassification> { |
| | | List<TQueryBenefitsVO> listAll(@Param("query") QueryBenefitsVedioVO vo); |
| | | |
| | | Object changeState(@Param("ids") List<Integer> ids,@Param("type") Integer state); |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.dsh.activity.entity.BenefitsVideos; |
| | | import io.swagger.models.auth.In; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | |
| | | */ |
| | | List<Map<String, Object>> queryBenefitsVideosList(@Param("uid") Integer uid, @Param("classificationId") Integer classificationId, |
| | | @Param("ids") List<Integer> ids, @Param("pageSize") Integer pageSize, @Param("pageNo") Integer pageNo); |
| | | |
| | | List<BenefitsVideos> getBenefitVideoById(@Param("id")Integer id); |
| | | |
| | | List<BenefitsVideos> getBybIdAndcId(@Param("bId") Integer benefitsVideoClassificationId,@Param("cId") Integer courseId); |
| | | } |
New file |
| | |
| | | package com.dsh.activity.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | import com.dsh.activity.entity.BodySideAppointment; |
| | | import com.dsh.activity.model.QueryBodySideAppointment; |
| | | import com.dsh.activity.model.QueryBodySideAppointmentVO; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | |
| | | public interface BodySideAppointmentMapper extends BaseMapper<BodySideAppointment> { |
| | | |
| | | List<QueryBodySideAppointmentVO> listAll(@Param("query") QueryBodySideAppointment vo); |
| | | |
| | | int changeState(@Param("ids") List<Integer> ids); |
| | | } |
New file |
| | |
| | | package com.dsh.activity.model; |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | public class BenefitsVedioChangeStateVO { |
| | | |
| | | private List<Integer> ids; |
| | | private Integer state; |
| | | } |
New file |
| | |
| | | package com.dsh.activity.model; |
| | | |
| | | import lombok.Data; |
| | | /** |
| | | * 接收查询参数VO |
| | | */ |
| | | @Data |
| | | public class QueryBenefitsVedioVO { |
| | | private Integer position; |
| | | private String name; |
| | | } |
New file |
| | |
| | | package com.dsh.activity.model; |
| | | |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * 接收查询参数VO |
| | | */ |
| | | @Data |
| | | public class QueryBodySideAppointment { |
| | | private String phone; |
| | | private String parentName; |
| | | // 1 = 待体测 2 = 已体测 |
| | | private Integer state; |
| | | // 1=今日内预约 2=明日预约 7=七日内 |
| | | private Integer day; |
| | | } |
New file |
| | |
| | | package com.dsh.activity.model; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * 体测预约管理查询VO |
| | | */ |
| | | @Data |
| | | public class QueryBodySideAppointmentVO { |
| | | private Integer id; |
| | | private String province; |
| | | private String provinceCode; |
| | | private String city; |
| | | private String cityCode; |
| | | private Integer storeId; |
| | | private String storeName; |
| | | private String parentName; |
| | | private String phone; |
| | | private String learnerName; |
| | | private Integer learnerAge; |
| | | @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") |
| | | private Date birthday; |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone = "GMT+8") |
| | | private Date appointmentTime; |
| | | private Integer status; |
| | | private Integer state; |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
| | | private Date insertTime; |
| | | private String provinceAndCity; |
| | | } |
New file |
| | |
| | | package com.dsh.activity.model; |
| | | |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * 福利视频分类列表查询返回VO |
| | | */ |
| | | @Data |
| | | public class TQueryBenefitsVO { |
| | | private Integer id; |
| | | private String name; |
| | | // 位置(1=线上课得积分,2=看视频得奖励) |
| | | private Integer position; |
| | | private Integer sort; |
| | | private Integer count; |
| | | private Integer state; |
| | | private Integer courseId; |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.dsh.activity.entity.BenefitsVideos; |
| | | import com.dsh.activity.model.BenefitsVideoClassificationListVo; |
| | | import com.dsh.activity.model.BenefitsVideosInfoVo; |
| | | import com.dsh.activity.model.BenefitsVideosListVo; |
| | | import com.dsh.activity.model.*; |
| | | |
| | | import java.util.List; |
| | | |
| | |
| | | * @throws Exception |
| | | */ |
| | | void receiveAward(Integer uid, Integer id) throws Exception; |
| | | |
| | | |
| | | List<BenefitsVideos> getBenefitVideoById(Integer id); |
| | | |
| | | List<BenefitsVideos> getBybIdAndcId(Integer benefitsVideoClassificationId, Integer courseId); |
| | | } |
New file |
| | |
| | | package com.dsh.activity.service; |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.dsh.activity.entity.BodySideAppointment; |
| | | import com.dsh.activity.model.QueryBodySideAppointment; |
| | | import com.dsh.activity.model.QueryBodySideAppointmentVO; |
| | | |
| | | import java.util.List; |
| | | |
| | | public interface BodySideAppointmentService extends IService<BodySideAppointment> { |
| | | |
| | | List<QueryBodySideAppointmentVO> listAll(QueryBodySideAppointment vo); |
| | | |
| | | Object changeState(List<Integer> ids); |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.dsh.activity.entity.BenefitsVideoClassification; |
| | | import com.dsh.activity.model.BenefitsVedioChangeStateVO; |
| | | import com.dsh.activity.model.QueryBenefitsVedioVO; |
| | | import com.dsh.activity.model.TQueryBenefitsVO; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author zhibing.pu |
| | | * @date 2023/7/11 17:31 |
| | | */ |
| | | public interface IBenefitsVideoClassificationService extends IService<BenefitsVideoClassification> { |
| | | List<TQueryBenefitsVO> listAll(QueryBenefitsVedioVO vo); |
| | | |
| | | Object changeState(BenefitsVedioChangeStateVO vo); |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.dsh.activity.entity.BenefitsVideoClassification; |
| | | import com.dsh.activity.mapper.BenefitsVideoClassificationMapper; |
| | | import com.dsh.activity.model.BenefitsVedioChangeStateVO; |
| | | import com.dsh.activity.model.QueryBenefitsVedioVO; |
| | | import com.dsh.activity.model.TQueryBenefitsVO; |
| | | import com.dsh.activity.service.IBenefitsVideoClassificationService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author zhibing.pu |
| | |
| | | */ |
| | | @Service |
| | | public class BenefitsVideoClassificationServiceImpl extends ServiceImpl<BenefitsVideoClassificationMapper, BenefitsVideoClassification> implements IBenefitsVideoClassificationService { |
| | | @Autowired |
| | | private BenefitsVideoClassificationMapper benefitsVideoClassificationMapper; |
| | | @Override |
| | | public List<TQueryBenefitsVO> listAll(QueryBenefitsVedioVO vo) { |
| | | return benefitsVideoClassificationMapper.listAll(vo); |
| | | } |
| | | |
| | | @Override |
| | | public Object changeState(BenefitsVedioChangeStateVO vo) { |
| | | List<Integer> ids = vo.getIds(); |
| | | Integer state = vo.getState(); |
| | | return benefitsVideoClassificationMapper.changeState(ids,state); |
| | | } |
| | | } |
| | |
| | | import com.dsh.activity.feignclient.account.model.SaveUserIntegralChangesVo; |
| | | import com.dsh.activity.feignclient.course.CourseClient; |
| | | import com.dsh.activity.feignclient.course.model.Course; |
| | | import com.dsh.activity.mapper.BenefitsVideoClassificationMapper; |
| | | import com.dsh.activity.mapper.BenefitsVideosMapper; |
| | | import com.dsh.activity.model.BenefitsVideoClassificationListVo; |
| | | import com.dsh.activity.model.BenefitsVideosInfoVo; |
| | | import com.dsh.activity.model.BenefitsVideosListVo; |
| | | import com.dsh.activity.model.*; |
| | | import com.dsh.activity.service.BenefitsVideosService; |
| | | import com.dsh.activity.service.IBenefitsVideoClassificationService; |
| | | import com.dsh.activity.service.IUserBenefitsVideosService; |
| | | import com.dsh.activity.util.ToolUtil; |
| | | import org.aspectj.weaver.ast.Var; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | |
| | | @Resource |
| | | private UserIntegralChangesClient userIntegralChangesClient; |
| | | @Autowired |
| | | private BenefitsVideoClassificationMapper benefitsVideoClassificationMapper; |
| | | @Autowired |
| | | private BenefitsVideosMapper benefitsVideosMapper; |
| | | |
| | | |
| | | |
| | |
| | | userIntegralChangesClient.saveUserIntegralChanges(vo); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public List<BenefitsVideos> getBenefitVideoById(Integer id) { |
| | | return benefitsVideosMapper.getBenefitVideoById(id); |
| | | } |
| | | |
| | | @Override |
| | | public List<BenefitsVideos> getBybIdAndcId(Integer benefitsVideoClassificationId, Integer courseId) { |
| | | return benefitsVideosMapper.getBybIdAndcId(benefitsVideoClassificationId,courseId); |
| | | } |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.dsh.activity.service.impl; |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.dsh.activity.entity.BenefitsVideos; |
| | | import com.dsh.activity.entity.BodySideAppointment; |
| | | import com.dsh.activity.mapper.BenefitsVideosMapper; |
| | | import com.dsh.activity.mapper.BodySideAppointmentMapper; |
| | | import com.dsh.activity.model.QueryBodySideAppointment; |
| | | import com.dsh.activity.model.QueryBodySideAppointmentVO; |
| | | import com.dsh.activity.service.BenefitsVideosService; |
| | | import com.dsh.activity.service.BodySideAppointmentService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Service |
| | | public class BodySideAppointmentServiceImpl extends ServiceImpl<BodySideAppointmentMapper, BodySideAppointment> implements BodySideAppointmentService { |
| | | @Autowired |
| | | private BodySideAppointmentMapper bodySideAppointmentMapper; |
| | | @Override |
| | | public List<QueryBodySideAppointmentVO> listAll(QueryBodySideAppointment vo) { |
| | | return bodySideAppointmentMapper.listAll(vo); |
| | | } |
| | | |
| | | @Override |
| | | public Object changeState(List<Integer> ids) { |
| | | |
| | | return bodySideAppointmentMapper.changeState(ids); |
| | | } |
| | | } |
| | |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.dsh.activity.mapper.BenefitsVideoClassificationMapper"> |
| | | |
| | | <update id="changeState"> |
| | | update t_benefits_video_classification set |
| | | state = #{type} |
| | | <where> |
| | | <if test="ids != null and ids.size()>0"> |
| | | AND t_benefits_video_classification.id IN |
| | | <foreach collection="ids" separator="," item="id" open="(" close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | </where> |
| | | </update> |
| | | |
| | | <select id="listAll" resultType="com.dsh.activity.model.TQueryBenefitsVO"> |
| | | select t1.*,COUNT(t2.id) AS `count`,t2.courseId courseId from t_benefits_video_classification t1 |
| | | left join t_benefits_videos t2 on t1.id = t2.benefitsVideoClassificationId |
| | | <where> |
| | | <if test="query.position!=null and query.position!= ''"> |
| | | and t1.position = #{query.position} |
| | | </if> |
| | | <if test="query.name!=null and query.name!= ''"> |
| | | and t1.name like concat('%',#{query.name},'%') |
| | | </if> |
| | | AND (t2.id IS NULL OR t2.state != 3 OR t2.state != 2) |
| | | </where> |
| | | GROUP BY t1.id |
| | | order by t1.sort DESC |
| | | </select> |
| | | </mapper> |
| | |
| | | order by insertTime desc) |
| | | ) as a limit #{pageSize}, #{pageNo} |
| | | </select> |
| | | <select id="getBenefitVideoById" resultType="com.dsh.activity.entity.BenefitsVideos"> |
| | | select * from t_benefits_videos where |
| | | t_benefits_videos.benefitsVideoClassificationId = #{id} |
| | | </select> |
| | | <select id="getBybIdAndcId" resultType="com.dsh.activity.entity.BenefitsVideos"> |
| | | select * from t_benefits_videos |
| | | where benefitsVideoClassificationId=#{bId} and courseId= #{cId} |
| | | </select> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8" ?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" |
| | | "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.dsh.activity.mapper.BodySideAppointmentMapper"> |
| | | <update id="changeState"> |
| | | update t_body_side_appointments set |
| | | status = 2 |
| | | <where> |
| | | <if test="ids != null and ids.size()>0"> |
| | | AND t_body_side_appointments.id IN |
| | | <foreach collection="ids" separator="," item="id" open="(" close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | </where> |
| | | </update> |
| | | |
| | | <select id="listAll" resultType="com.dsh.activity.model.QueryBodySideAppointmentVO"> |
| | | select t1.* from t_body_side_appointments t1 |
| | | <where> |
| | | <if test="query.phone!=null and query.phone!= ''"> |
| | | and t1.phone like concat('%',#{query.phone},'%') |
| | | </if> |
| | | <if test="query.parentName!=null and query.parentName!= ''"> |
| | | t1.parentName like concat('%',#{query.parentName},'%') |
| | | </if> |
| | | <if test="query.state!=null and query.state!= ''"> |
| | | and t1.state = #{query.state} |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | <orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk15on:1.59" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-security:2.2.4.RELEASE" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-security:2.3.6.RELEASE" level="project" /> |
| | | <orderEntry type="library" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-oauth2:2.2.4.RELEASE" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework.security.oauth.boot:spring-security-oauth2-autoconfigure:2.1.2.RELEASE" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-core:2.3.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-impl:2.3.0.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" /> |
| | | <orderEntry type="library" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework.security:spring-security-jwt:1.0.10.RELEASE" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework.security.oauth:spring-security-oauth2:2.3.6.RELEASE" level="project" /> |
| | | <orderEntry type="library" name="Maven: org.springframework:spring-beans:5.2.11.RELEASE" level="project" /> |
| | |
| | | </executions> |
| | | </plugin> |
| | | |
| | | <plugin> |
| | | <groupId>com.spotify</groupId> |
| | | <artifactId>docker-maven-plugin</artifactId> |
| | | </plugin> |
| | | </plugins> |
| | | </build> |
| | | <repositories> |
| | |
| | | <webroots /> |
| | | </configuration> |
| | | </facet> |
| | | <facet type="jpa" name="JPA"> |
| | | <configuration> |
| | | <setting name="validation-enabled" value="true" /> |
| | | <setting name="provider-name" value="Hibernate" /> |
| | | <datasource-mapping> |
| | | <factory-entry name="entityManagerFactory" /> |
| | | </datasource-mapping> |
| | | <naming-strategy-map /> |
| | | </configuration> |
| | | </facet> |
| | | </component> |
| | | <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8"> |
| | | <output url="file://$MODULE_DIR$/target/classes" /> |
| | |
| | | </executions> |
| | | </plugin> |
| | | |
| | | <plugin> |
| | | <groupId>com.spotify</groupId> |
| | | <artifactId>docker-maven-plugin</artifactId> |
| | | </plugin> |
| | | |
| | | </plugins> |
| | | </build> |
| | | <repositories> |
| | |
| | | import com.dsh.course.entity.TCoursePackageType; |
| | | import com.dsh.course.feignclient.model.ExerciseVideo; |
| | | import com.dsh.course.model.*; |
| | | import com.dsh.course.model.dto.CourseChangeStateDTO; |
| | | import com.dsh.course.model.dto.TQueryBenefitsVideosDTO; |
| | | import com.dsh.course.model.vo.TQueryBenefitsVideosVO; |
| | | import com.dsh.course.service.TCoursePackagePaymentService; |
| | | import com.dsh.course.service.TCoursePackageService; |
| | | import com.dsh.course.service.TCoursePackageTypeService; |
| | |
| | | @Autowired |
| | | private TCoursePackagePaymentService coursePackagePaymentService; |
| | | |
| | | /** |
| | | * 上/下架 1为上架 2为下架 3为删除 |
| | | * |
| | | * @return |
| | | */ |
| | | @RequestMapping("/base/course/changeState") |
| | | @ResponseBody |
| | | public Object changeState(@RequestBody CourseChangeStateDTO dto){ |
| | | |
| | | return courseService.changeState(dto); |
| | | } |
| | | |
| | | /** |
| | | * 通过课程ids获取课程 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/base/course/getCourseByCourseIds") |
| | | public List<TQueryBenefitsVideosVO> getCourseByCourseIds(@RequestBody TQueryBenefitsVideosDTO query){ |
| | | |
| | | |
| | | return courseService.getCourseByCourseIds(query); |
| | | } |
| | | |
| | | @PostMapping("/base/course/queryList") |
| | | public List<ExerciseVideo> queryStuCourseAfterVideos(@RequestBody List<Integer> courseIds){ |
| | |
| | | package com.dsh.course.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.dsh.course.entity.TCoursePackage; |
| | | import com.dsh.course.entity.TCoursePackageType; |
| | | import com.dsh.course.model.vo.CoursePackageTypeVO; |
| | | import com.dsh.course.service.TCoursePackageService; |
| | | import com.dsh.course.service.TCoursePackageTypeService; |
| | | import net.bytebuddy.asm.Advice; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.ResponseBody; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | |
| | | @Autowired |
| | | private TCoursePackageTypeService coursePackageTypeService; |
| | | @Autowired |
| | | private TCoursePackageService tCoursePackageService; |
| | | |
| | | |
| | | /** |
| | | * 新增课包类型 |
| | | */ |
| | | @ResponseBody |
| | | @RequestMapping("/coursePackageType/add") |
| | | public Object add(@RequestBody String name){ |
| | | |
| | | List<TCoursePackageType> list = coursePackageTypeService.list(new QueryWrapper<TCoursePackageType>().eq("name", name).ne("state",3)); |
| | | if (list.size()!= 0){ |
| | | return 500; |
| | | }else{ |
| | | TCoursePackageType coachType = new TCoursePackageType(); |
| | | coachType.setName(name); |
| | | coachType.setState(1); |
| | | coachType.setInsertTime(new Date()); |
| | | coursePackageTypeService.save(coachType); |
| | | return 200; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 修改课包类型 |
| | | * @param |
| | | * @return |
| | | */ |
| | | @ResponseBody |
| | | @RequestMapping("/coursePackageType/update") |
| | | public Object update(@RequestBody CoursePackageTypeVO vo){ |
| | | List<TCoursePackageType> list = coursePackageTypeService.list(new QueryWrapper<TCoursePackageType>().eq("name", vo.getName())); |
| | | if (list.size()!= 0){ |
| | | return 500; |
| | | }else{ |
| | | TCoursePackageType tCoursePackageType = new TCoursePackageType(); |
| | | tCoursePackageType.setId(vo.getId()); |
| | | tCoursePackageType.setName(vo.getName()); |
| | | coursePackageTypeService.updateById(tCoursePackageType); |
| | | return 200; |
| | | } |
| | | } |
| | | /** |
| | | * 删除课包类型 |
| | | * @param |
| | | * @return |
| | | */ |
| | | @ResponseBody |
| | | @RequestMapping("/coursePackageType/delete") |
| | | public Object delete(@RequestBody CoursePackageTypeVO vo){ |
| | | Integer id = vo.getId(); |
| | | QueryWrapper<TCoursePackage> coursePackageTypeId = new QueryWrapper<TCoursePackage>().eq("coursePackageTypeId", id); |
| | | List<TCoursePackage> list = tCoursePackageService.list(coursePackageTypeId); |
| | | // 500表明当前课包类型正在被使用不能删除 |
| | | if (list.size()>0){ |
| | | return 500; |
| | | }else{ |
| | | TCoursePackageType tCoursePackageType = new TCoursePackageType(); |
| | | tCoursePackageType.setId(vo.getId()); |
| | | tCoursePackageType.setName(vo.getName()); |
| | | tCoursePackageType.setState(3); |
| | | coursePackageTypeService.updateById(tCoursePackageType); |
| | | return 200; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 获取课包所有类型 |
| | |
| | | @ResponseBody |
| | | @PostMapping("/coursePackageType/queryAllCoursePackageType") |
| | | public List<TCoursePackageType> queryAllCoursePackageType(){ |
| | | return coursePackageTypeService.list(); |
| | | QueryWrapper<TCoursePackageType> state = new QueryWrapper<TCoursePackageType>().ne("state", 3); |
| | | return coursePackageTypeService.list(state); |
| | | } |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.dsh.course.entity.TCourse; |
| | | import com.dsh.course.model.QueryCourseList; |
| | | import com.dsh.course.model.dto.CourseChangeStateDTO; |
| | | import com.dsh.course.model.dto.TQueryBenefitsVideosDTO; |
| | | import com.dsh.course.model.vo.TQueryBenefitsVideosVO; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | |
| | | */ |
| | | List<Map<String, Object>> queryCourseList(Page<Map<String, Object>> page, @Param("item") QueryCourseList queryCourseList); |
| | | |
| | | List<TQueryBenefitsVideosVO> getCourseByCourseIds(@Param("query") TQueryBenefitsVideosDTO query); |
| | | |
| | | int changeState(@Param("ids") List<Integer> ids ,@Param("state") Integer state); |
| | | } |
New file |
| | |
| | | package com.dsh.course.model.dto; |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | public class CourseChangeStateDTO { |
| | | private List<Integer> ids; |
| | | private Integer state; |
| | | } |
New file |
| | |
| | | package com.dsh.course.model.dto; |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 接收视频详情列表查询参数DTO |
| | | */ |
| | | @Data |
| | | public class TQueryBenefitsVideosDTO { |
| | | // 课程id |
| | | private List<Integer> coursIds; |
| | | // 视频名称 |
| | | private String name; |
| | | // 视频类型 |
| | | private Integer type; |
| | | // 1上架 2下架 3已失效 |
| | | private Integer state; |
| | | } |
New file |
| | |
| | | package com.dsh.course.model.vo; |
| | | |
| | | import lombok.Data; |
| | | |
| | | import javax.swing.plaf.nimbus.State; |
| | | |
| | | @Data |
| | | public class CoursePackageTypeVO { |
| | | private Integer id; |
| | | private String name; |
| | | private Integer state; |
| | | } |
New file |
| | |
| | | package com.dsh.course.model.vo; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * 视频详情列表查询返回VO |
| | | */ |
| | | @Data |
| | | public class TQueryBenefitsVideosVO { |
| | | private Integer id; |
| | | private String name; |
| | | private String introduce; |
| | | private String coverDrawing; |
| | | private String introductionDrawing; |
| | | private String courseVideo; |
| | | private Integer state; |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
| | | private Date insertTime; |
| | | private Integer integral; |
| | | private Integer type; |
| | | // 福利视频ID |
| | | private Integer benefitsVideosId; |
| | | } |
| | |
| | | import com.dsh.course.entity.TCourse; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.dsh.course.model.QueryCourseList; |
| | | import com.dsh.course.model.dto.CourseChangeStateDTO; |
| | | import com.dsh.course.model.dto.TQueryBenefitsVideosDTO; |
| | | import com.dsh.course.model.vo.TQueryBenefitsVideosVO; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | * @return |
| | | */ |
| | | List<Map<String, Object>> queryCourseList(Page<Map<String, Object>> page, QueryCourseList queryCourseList); |
| | | |
| | | List<TQueryBenefitsVideosVO> getCourseByCourseIds(TQueryBenefitsVideosDTO query); |
| | | |
| | | Object changeState(CourseChangeStateDTO dto); |
| | | } |
| | |
| | | import com.dsh.course.entity.TCourse; |
| | | import com.dsh.course.mapper.TCourseMapper; |
| | | import com.dsh.course.model.QueryCourseList; |
| | | import com.dsh.course.model.dto.CourseChangeStateDTO; |
| | | import com.dsh.course.model.dto.TQueryBenefitsVideosDTO; |
| | | import com.dsh.course.model.vo.TQueryBenefitsVideosVO; |
| | | import com.dsh.course.service.TCourseService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | |
| | | */ |
| | | @Service |
| | | public class TCourseServiceImpl extends ServiceImpl<TCourseMapper, TCourse> implements TCourseService { |
| | | |
| | | @Autowired |
| | | private TCourseMapper courseMapper; |
| | | |
| | | /** |
| | | * 获取课程管理列表 |
| | |
| | | public List<Map<String, Object>> queryCourseList(Page<Map<String, Object>> page, QueryCourseList queryCourseList) { |
| | | return this.baseMapper.queryCourseList(page, queryCourseList); |
| | | } |
| | | |
| | | @Override |
| | | public List<TQueryBenefitsVideosVO> getCourseByCourseIds(TQueryBenefitsVideosDTO query) { |
| | | |
| | | return courseMapper.getCourseByCourseIds(query); |
| | | } |
| | | |
| | | @Override |
| | | public Object changeState(CourseChangeStateDTO dto) { |
| | | List<Integer> ids = dto.getIds(); |
| | | return courseMapper.changeState(ids,dto.getState()); |
| | | } |
| | | } |
| | |
| | | <result column="state" property="state" /> |
| | | <result column="insertTime" property="insertTime" /> |
| | | </resultMap> |
| | | |
| | | <update id="changeState"> |
| | | update t_course set |
| | | state = #{state} |
| | | <where> |
| | | <if test="ids != null and ids.size()>0"> |
| | | AND t_course.id IN |
| | | <foreach collection="ids" separator="," item="id" open="(" close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | </where> |
| | | </update> |
| | | |
| | | |
| | | <select id="queryCourseList" resultType="map"> |
| | |
| | | </if> |
| | | order by insertTime desc |
| | | </select> |
| | | |
| | | <select id="getCourseByCourseIds" resultType="com.dsh.course.model.vo.TQueryBenefitsVideosVO"> |
| | | select * from t_course |
| | | <where> |
| | | <if test="query.name != null and query.name != ''"> |
| | | AND t_course.name LIKE concat('%',#{query.name},'%') |
| | | </if> |
| | | <if test="query.type != null and query.type != '' "> |
| | | AND t_course.type = #{query.type} |
| | | </if> |
| | | <if test="query.state != null and query.state != '' "> |
| | | AND t_course.state = #{query.state} |
| | | </if> |
| | | <if test="query.coursIds != null and query.coursIds.size()>0"> |
| | | AND t_course.id IN |
| | | <foreach collection="query.coursIds" separator="," item="coursId" open="(" close=")"> |
| | | #{coursId} |
| | | </foreach> |
| | | </if> |
| | | </where> |
| | | </select> |
| | | </mapper> |
| | |
| | | </execution> |
| | | </executions> |
| | | </plugin> |
| | | <plugin> |
| | | <groupId>com.spotify</groupId> |
| | | <artifactId>docker-maven-plugin</artifactId> |
| | | </plugin> |
| | | |
| | | </plugins> |
| | | </build> |
| | | |
| | |
| | | </executions> |
| | | </plugin> |
| | | |
| | | <plugin> |
| | | <groupId>com.spotify</groupId> |
| | | <artifactId>docker-maven-plugin</artifactId> |
| | | </plugin> |
| | | </plugins> |
| | | |
| | | <!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉。 --> |
| | |
| | | package com.dsh.course.feignClient.account; |
| | | |
| | | import com.dsh.course.feignClient.account.model.CityManager; |
| | | import com.dsh.guns.modular.system.model.Store; |
| | | import com.dsh.guns.modular.system.model.TStore; |
| | | import org.springframework.cloud.openfeign.FeignClient; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.ResponseBody; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author zhibing.pu |
| | |
| | | */ |
| | | @PostMapping("/cityManager/queryCityManagerById") |
| | | CityManager queryCityManagerById(Integer id); |
| | | |
| | | /** |
| | | * 获取已有城市管理的省、市 |
| | | */ |
| | | @RequestMapping("/cityManager/listAll") |
| | | List<CityManager> listAll(); |
| | | |
| | | /** |
| | | * 选择省 展示市 |
| | | */ |
| | | @RequestMapping("/cityManager/getCity") |
| | | List<CityManager> getCity(@RequestBody String province); |
| | | |
| | | /** |
| | | * 选择市区 展示全部账号 |
| | | */ |
| | | @RequestMapping("/cityManager/getAccount") |
| | | List<CityManager> getAccount(@RequestBody String city); |
| | | |
| | | } |
| | |
| | | package com.dsh.course.feignClient.account; |
| | | |
| | | import com.dsh.course.feignClient.account.model.Coach; |
| | | import com.dsh.course.feignClient.account.model.CoachSerchVO; |
| | | import com.dsh.guns.modular.system.model.CoachChangeStateVO; |
| | | import com.dsh.guns.modular.system.model.CoachQuery; |
| | | import org.springframework.cloud.openfeign.FeignClient; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.ResponseBody; |
| | | |
| | | import java.util.List; |
| | | |
| | |
| | | |
| | | |
| | | /** |
| | | * 上/下架、删除常见问题 type=1为上架 2为下架 3为删除 |
| | | */ |
| | | @RequestMapping("/coach/changeState") |
| | | Object changeState(@RequestBody CoachChangeStateVO vo); |
| | | /** |
| | | * 获取教练列表数据 |
| | | */ |
| | | @PostMapping("/coach/listAll") |
| | | List<CoachSerchVO> listAll(@RequestBody CoachQuery query); |
| | | |
| | | |
| | | /** |
| | | * 添加教练 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/base/site/addCoach") |
| | | Object addCoach(@RequestBody Coach coach); |
| | | /** |
| | | * 获取所有省 |
| | | */ |
| | | @PostMapping("/coach/getProvince") |
| | | List<Coach> getProvince(); |
| | | |
| | | /** |
| | | * 根据选择的省获取对应的市 |
| | | */ |
| | | @PostMapping("/coach/getCity") |
| | | List<Coach> getCity(@RequestBody String city); |
| | | |
| | | /** |
| | | * 获取城市下的所有教练 |
| | | * @param cityCode |
| | | * @return |
New file |
| | |
| | | package com.dsh.course.feignClient.account; |
| | | |
| | | import com.dsh.course.feignClient.account.model.CoachType; |
| | | import org.springframework.cloud.openfeign.FeignClient; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author zhibing.pu |
| | | * @Date 2023/8/1 17:58 |
| | | */ |
| | | @FeignClient("mb-cloud-account") |
| | | public interface CoachTypeClient { |
| | | |
| | | |
| | | @PostMapping("/coachType/list") |
| | | List<CoachType> list(); |
| | | |
| | | /** |
| | | * 新增教练类型 |
| | | * @param |
| | | * @return |
| | | */ |
| | | @RequestMapping("/coachType/add") |
| | | Object add(@RequestBody String name); |
| | | |
| | | /** |
| | | * 修改教练类型 |
| | | * @param |
| | | * @return |
| | | */ |
| | | @RequestMapping("/coachType/update") |
| | | Object update(@RequestBody CoachType vo); |
| | | } |
New file |
| | |
| | | package com.dsh.course.feignClient.account; |
| | | |
| | | import com.dsh.course.feignClient.account.model.CityManager; |
| | | import com.dsh.course.feignClient.account.model.TStoreStaff; |
| | | import org.springframework.cloud.openfeign.FeignClient; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author zhibing.pu |
| | | * @Date 2023/8/1 17:07 |
| | | */ |
| | | @FeignClient("mb-cloud-account") |
| | | public interface StoreStaffClient { |
| | | |
| | | /** |
| | | * 根据id获取数据 |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @GetMapping("/cityManager/getStoreByStoreStaffId") |
| | | TStoreStaff getStoreByStoreStaffId(@RequestParam("id") Integer id); |
| | | |
| | | } |
| | |
| | | /** |
| | | * 生日 |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") |
| | | private Date birthday; |
| | | /** |
| | | * 性别(1=男,2=女) |
New file |
| | |
| | | package com.dsh.course.feignClient.account.model; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * <p> |
| | | * 教练 |
| | | * </p> |
| | | * |
| | | * @author jqs |
| | | * @since 2023-07-05 |
| | | */ |
| | | @Data |
| | | public class CoachSerchVO { |
| | | /** |
| | | * 主键 |
| | | */ |
| | | private Integer id; |
| | | /** |
| | | * 省 |
| | | */ |
| | | private String province; |
| | | /** |
| | | * 省编号 |
| | | */ |
| | | private String provinceCode; |
| | | /** |
| | | * 市 |
| | | */ |
| | | private String city; |
| | | /** |
| | | * 市编号 |
| | | */ |
| | | private String cityCode; |
| | | /** |
| | | * 城市管理员id |
| | | */ |
| | | private Integer cityManagerId; |
| | | private String nameAndPhone; |
| | | private String accountName; |
| | | private String accountPhone; |
| | | /** |
| | | * 教练类型id |
| | | */ |
| | | private Integer coachTypeId; |
| | | private String coachTypeName; |
| | | /** |
| | | * 姓名 |
| | | */ |
| | | private String name; |
| | | /** |
| | | * 生日 |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date birthday; |
| | | /** |
| | | * 性别(1=男,2=女) |
| | | */ |
| | | private Integer gender; |
| | | /** |
| | | * 电话 |
| | | */ |
| | | private String phone; |
| | | /** |
| | | * 身份证号码 |
| | | */ |
| | | private String idcard; |
| | | /** |
| | | * 身高(厘米) |
| | | */ |
| | | private Double height; |
| | | /** |
| | | * 体重(KG) |
| | | */ |
| | | private Double weight; |
| | | /** |
| | | * 毕业院校 |
| | | */ |
| | | private String graduateSchool; |
| | | /** |
| | | * 毕业证照片 |
| | | */ |
| | | private String diploma; |
| | | /** |
| | | * 资格证书(多个逗号分隔) |
| | | */ |
| | | private String certificate; |
| | | /** |
| | | * 证书照片 |
| | | */ |
| | | private String certificateImg; |
| | | /** |
| | | * 状态(1=正常,2=冻结,3=删除) |
| | | */ |
| | | private Integer state; |
| | | /** |
| | | * 添加时间 |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | private Date insertTime; |
| | | |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.dsh.course.feignClient.account.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.baomidou.mybatisplus.extension.activerecord.Model; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * <p> |
| | | * 教练类型 |
| | | * </p> |
| | | * |
| | | * @author jqs |
| | | * @since 2023-07-05 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_coach_type") |
| | | public class CoachType extends Model<CoachType> { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | /** |
| | | * 类型名称 |
| | | */ |
| | | @TableField("name") |
| | | private String name; |
| | | /** |
| | | * 状态(1=正常,2=冻结,3=删除) |
| | | */ |
| | | @TableField("state") |
| | | private Integer state; |
| | | |
| | | |
| | | @Override |
| | | protected Serializable pkVal() { |
| | | return this.id; |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | package com.dsh.course.feignClient.account.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.baomidou.mybatisplus.extension.activerecord.Model; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * <p> |
| | | * 门店员工 |
| | | * </p> |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_store_staff") |
| | | public class TStoreStaff extends Model<TStoreStaff> { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | /** |
| | | * 名称 |
| | | */ |
| | | @TableField("name") |
| | | private String name; |
| | | /** |
| | | * 手机号 |
| | | */ |
| | | @TableField("phone") |
| | | private Integer phone; |
| | | /** |
| | | * 密码 |
| | | */ |
| | | @TableField("password") |
| | | private Integer password; |
| | | /** |
| | | * 所属门店id |
| | | */ |
| | | @TableField("storeId") |
| | | private Integer storeId; |
| | | /** |
| | | * 状态(1=正常,2=冻结,3=删除) |
| | | */ |
| | | @TableField("state") |
| | | private Integer state; |
| | | |
| | | @Override |
| | | protected Serializable pkVal() { |
| | | return this.id; |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | package com.dsh.course.feignClient.activity; |
| | | |
| | | import com.dsh.course.feignClient.activity.model.BenefitsVedioChangeStateVO; |
| | | import com.dsh.course.feignClient.activity.model.BenefitsVideoClassification; |
| | | import com.dsh.course.feignClient.activity.model.BenefitsVideos; |
| | | import com.dsh.course.feignClient.activity.model.QueryBenefitsVedioVO; |
| | | import com.dsh.guns.modular.system.model.TQueryBenefitsVO; |
| | | import org.springframework.cloud.openfeign.FeignClient; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.ResponseBody; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author zhibing.pu |
| | | * @Date 2023/8/1 12:02 |
| | | */ |
| | | @FeignClient("mb-cloud-activity") |
| | | public interface BenefitsVideoClient { |
| | | |
| | | /** |
| | | * 根据福利视频id获取福利视频信息 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/base/benefitVideo/getBenefitVideosById") |
| | | @ResponseBody |
| | | BenefitsVideos getBenefitVideosById(@RequestBody Integer id); |
| | | |
| | | /** |
| | | * 获取所有福利视频分类 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/base/benefitVideo/list") |
| | | List<TQueryBenefitsVO> listAll(@RequestBody QueryBenefitsVedioVO vo); |
| | | |
| | | /** |
| | | * 查看详情/编辑 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/base/benefitVideo/getById") |
| | | BenefitsVideoClassification getById(@RequestBody Integer id); |
| | | |
| | | /** |
| | | * 添加/修改福利视频分类 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/base/benefitVideo/add") |
| | | Object addSite(@RequestBody BenefitsVideoClassification site); |
| | | |
| | | /** |
| | | * 添加/修改视频详情 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/base/addBenefitsVideos") |
| | | Object addBenefitsVideos(@RequestBody BenefitsVideos site); |
| | | |
| | | /** |
| | | * 上/下架、删除福利视频分类 type=1为上架 2为下架 3为删除 |
| | | */ |
| | | @RequestMapping("/base/benefitVideo/changeState") |
| | | Object changeState(@RequestBody BenefitsVedioChangeStateVO vo); |
| | | |
| | | /** |
| | | * 查看福利视频分类下视频 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/base/benefitVideo/getBenefitVideoById") |
| | | public List<BenefitsVideos> getBenefitVideoById(@RequestBody Integer id); |
| | | } |
New file |
| | |
| | | package com.dsh.course.feignClient.activity; |
| | | |
| | | import com.dsh.course.feignClient.activity.model.*; |
| | | import com.dsh.guns.modular.system.model.TQueryBenefitsVO; |
| | | import org.springframework.cloud.openfeign.FeignClient; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.ResponseBody; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 体测预约 |
| | | */ |
| | | @FeignClient("mb-cloud-activity") |
| | | public interface BodySideAppointmentClient { |
| | | |
| | | /** |
| | | * 获取所有体测预约记录 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/base/bodySideAppointments/listAll") |
| | | List<QueryBodySideAppointmentVO> listAll(@RequestBody QueryBodySideAppointment vo); |
| | | /** |
| | | * 增加/修改体测预约记录 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/base/bodySideAppointments/addBodySideAppointments") |
| | | Object addBodySideAppointments(@RequestBody QueryBodySideAppointmentVO vo); |
| | | |
| | | /** |
| | | * 手动标记用户已经到店并完成体测 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/base/bodySideAppointments/changeState") |
| | | Object changeState(@RequestBody List<Integer> ids); |
| | | |
| | | /** |
| | | * 通过id获取体测预约记录 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/base/bodySideAppointments/getInfoById") |
| | | BodySideAppointment getInfoById(@RequestBody Integer id); |
| | | } |
New file |
| | |
| | | package com.dsh.course.feignClient.activity.model; |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | public class BenefitsVedioChangeStateVO { |
| | | |
| | | private List<Integer> ids; |
| | | private Integer state; |
| | | } |
New file |
| | |
| | | package com.dsh.course.feignClient.activity.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @author zhibing.pu |
| | | * @date 2023/7/11 17:28 |
| | | */ |
| | | @Data |
| | | @TableName("t_benefits_video_classification") |
| | | public class BenefitsVideoClassification { |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | /** |
| | | * 分类名称 |
| | | */ |
| | | @TableField("name") |
| | | private String name; |
| | | /** |
| | | * 位置(1=线上课得积分,2=看视频得奖励) |
| | | */ |
| | | @TableField("position") |
| | | private Integer position; |
| | | /** |
| | | * 排序 |
| | | */ |
| | | @TableField("sort") |
| | | private Integer sort; |
| | | /** |
| | | * 添加时间 |
| | | */ |
| | | @TableField("insertTime") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
| | | private Date insertTime; |
| | | /** |
| | | * 状态 1=正常 2=下架 3=删除 |
| | | */ |
| | | @TableField("state") |
| | | private Integer state; |
| | | } |
New file |
| | |
| | | package com.dsh.course.feignClient.activity.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.baomidou.mybatisplus.extension.activerecord.Model; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * <p> |
| | | * 福利视频 |
| | | * </p> |
| | | * |
| | | * @author jqs |
| | | * @since 2023-07-06 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_benefits_videos") |
| | | public class BenefitsVideos extends Model<BenefitsVideos> { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | /** |
| | | * 分类id |
| | | */ |
| | | @TableField("benefitsVideoClassificationId") |
| | | private Integer benefitsVideoClassificationId; |
| | | /** |
| | | * 课程id |
| | | */ |
| | | @TableField("courseId") |
| | | private Integer courseId; |
| | | /** |
| | | * 可得积分 |
| | | */ |
| | | @TableField("integral") |
| | | private Integer integral; |
| | | /** |
| | | * 状态(1=正常,2=冻结,3=删除) |
| | | */ |
| | | @TableField("state") |
| | | private Integer state; |
| | | /** |
| | | * 添加时间 |
| | | */ |
| | | @TableField("insertTime") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
| | | private Date insertTime; |
| | | |
| | | @Override |
| | | protected Serializable pkVal() { |
| | | return this.id; |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | package com.dsh.course.feignClient.activity.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | @Data |
| | | @TableName("t_body_side_appointments") |
| | | public class BodySideAppointment { |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | @TableField("province") |
| | | private String province; |
| | | @TableField("provinceCode") |
| | | private String provinceCode; |
| | | @TableField("city") |
| | | private String city; |
| | | @TableField("cityCode") |
| | | private String cityCode; |
| | | @TableField("storeId") |
| | | private Integer storeId; |
| | | @TableField("parentName") |
| | | private String parentName; |
| | | @TableField("phone") |
| | | private String phone; |
| | | @TableField("learnerName") |
| | | private String learnerName; |
| | | @TableField("learnerAge") |
| | | private Integer learnerAge; |
| | | @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") |
| | | @TableField("birthday") |
| | | private Date birthday; |
| | | |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
| | | @TableField("appointmentTime") |
| | | private Date appointmentTime; |
| | | @TableField("status") |
| | | private Integer status; |
| | | @TableField("state") |
| | | private Integer state; |
| | | |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
| | | @TableField("insertTime") |
| | | private Date insertTime; |
| | | |
| | | } |
New file |
| | |
| | | package com.dsh.course.feignClient.activity.model; |
| | | |
| | | import lombok.Data; |
| | | /** |
| | | * 福利视频分类接收查询参数VO |
| | | */ |
| | | @Data |
| | | public class QueryBenefitsVedioVO { |
| | | private Integer position; |
| | | private String name; |
| | | } |
New file |
| | |
| | | package com.dsh.course.feignClient.activity.model; |
| | | |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * 接收查询参数VO |
| | | */ |
| | | @Data |
| | | public class QueryBodySideAppointment { |
| | | private String phone; |
| | | private String parentName; |
| | | // 1 = 待体测 2 = 已体测 |
| | | private Integer state; |
| | | // 1=今日内预约 2=明日预约 7=七日内 |
| | | private Integer day; |
| | | } |
New file |
| | |
| | | package com.dsh.course.feignClient.activity.model; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * 体测预约管理查询VO |
| | | */ |
| | | @Data |
| | | public class QueryBodySideAppointmentVO { |
| | | private Integer id; |
| | | private String province; |
| | | private String provinceCode; |
| | | private String city; |
| | | private String cityCode; |
| | | private Integer storeId; |
| | | private String storeName; |
| | | private String parentName; |
| | | private String phone; |
| | | private String learnerName; |
| | | private Integer learnerAge; |
| | | @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") |
| | | private Date birthday; |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone = "GMT+8") |
| | | private Date appointmentTime; |
| | | private Integer status; |
| | | private Integer state; |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
| | | private Date insertTime; |
| | | private String provinceAndCity; |
| | | |
| | | } |
| | |
| | | package com.dsh.course.feignClient.course; |
| | | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.dsh.course.feignClient.course.model.CourseChangeStateDTO; |
| | | 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 com.dsh.guns.modular.system.model.TQueryBenefitsVideosDTO; |
| | | import com.dsh.guns.modular.system.model.TQueryBenefitsVideosVO; |
| | | import org.springframework.cloud.openfeign.FeignClient; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.ResponseBody; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | public interface CourseClient { |
| | | |
| | | /** |
| | | * 上/下架 1为上架 2为下架 3为删除 |
| | | * |
| | | * @return |
| | | */ |
| | | @RequestMapping("/base/course/changeState") |
| | | Object changeState(@RequestBody CourseChangeStateDTO dto); |
| | | |
| | | /** |
| | | * 通过课程ids获取课程 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/base/course/getCourseByCourseIds") |
| | | List<TQueryBenefitsVideosVO> getCourseByCourseIds(@RequestBody TQueryBenefitsVideosDTO query); |
| | | |
| | | /** |
| | | * 获取课程管理列表 |
| | | * @param queryCourseList |
| | | * @return |
| | |
| | | package com.dsh.course.feignClient.course; |
| | | |
| | | import com.dsh.course.feignClient.course.model.CoursePackageTypeVO; |
| | | import com.dsh.course.feignClient.course.model.TCoursePackageType; |
| | | import org.springframework.cloud.openfeign.FeignClient; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.ResponseBody; |
| | | |
| | | import java.util.List; |
| | | |
| | |
| | | |
| | | |
| | | /** |
| | | * 删除课包类型 |
| | | * @param |
| | | * @return |
| | | */ |
| | | @RequestMapping("/coursePackageType/delete") |
| | | Object delete(@RequestBody CoursePackageTypeVO coachType); |
| | | |
| | | /** |
| | | * 修改课包类型 |
| | | * @param |
| | | * @return |
| | | */ |
| | | @RequestMapping("/coursePackageType/update") |
| | | Object update(@RequestBody CoursePackageTypeVO coachType); |
| | | /** |
| | | * 新增课包类型 |
| | | */ |
| | | @RequestMapping("/coursePackageType/add") |
| | | Object add(@RequestBody String name); |
| | | /** |
| | | * 获取课包所有类型 |
| | | * @return |
| | | */ |
New file |
| | |
| | | package com.dsh.course.feignClient.course.model; |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | public class CourseChangeStateDTO { |
| | | private List<Integer> ids; |
| | | private Integer state; |
| | | } |
New file |
| | |
| | | package com.dsh.course.feignClient.course.model; |
| | | |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class CoursePackageTypeVO { |
| | | private Integer id; |
| | | private String name; |
| | | private Integer state; |
| | | } |
New file |
| | |
| | | package com.dsh.course.feignClient.other; |
| | | |
| | | import com.dsh.course.feignClient.other.model.Site; |
| | | import com.dsh.course.feignClient.other.model.SiteChangeStateVO; |
| | | import com.dsh.course.feignClient.other.model.TSiteDTO; |
| | | import com.dsh.guns.modular.system.model.ExpireSiteSearchVO; |
| | | import com.dsh.guns.modular.system.model.SiteSearchVO; |
| | | import com.dsh.guns.modular.system.model.TSite; |
| | | import com.dsh.guns.modular.system.util.ResultUtil; |
| | | import org.springframework.cloud.openfeign.FeignClient; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 常见问题 |
| | | */ |
| | | @FeignClient(value = "mb-cloud-other") |
| | | public interface SiteClient { |
| | | |
| | | |
| | | /** |
| | | * 上/下架、删除常见问题 type=1为上架 2为下架 3为删除 |
| | | */ |
| | | @RequestMapping("/base/site/changeState") |
| | | Object changeState(@RequestBody SiteChangeStateVO vo); |
| | | /** |
| | | * 获取所有场地 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/base/site/list") |
| | | List<TSiteDTO> listAll(@RequestBody SiteSearchVO vo); |
| | | /** |
| | | * 获取场地有效期在两个月内的场地列表 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/base/site/listExipre") |
| | | List<TSiteDTO> listExipre(@RequestBody ExpireSiteSearchVO vo); |
| | | |
| | | /** |
| | | * 添加场地管理 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/base/site/addSite") |
| | | Object addSite(@RequestBody Site site); |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.dsh.course.feignClient.other; |
| | | |
| | | import com.dsh.course.feignClient.other.model.Site; |
| | | import com.dsh.course.feignClient.other.model.SiteChangeStateVO; |
| | | import com.dsh.course.feignClient.other.model.TSiteDTO; |
| | | import com.dsh.course.feignClient.other.model.TSiteLockDTO; |
| | | import com.dsh.guns.modular.system.model.SiteSearchVO; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.cloud.openfeign.FeignClient; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 常见问题 |
| | | */ |
| | | @FeignClient(value = "mb-cloud-other") |
| | | public interface SiteLockClient { |
| | | |
| | | /** |
| | | * 锁定场地列表 |
| | | * @param |
| | | * @return |
| | | */ |
| | | @PostMapping("/siteLock/getListById/{id}") |
| | | public List<TSiteLockDTO> getListById(@PathVariable("id") Integer id); |
| | | |
| | | /** |
| | | * 添加锁定场地 |
| | | * @param |
| | | * @return |
| | | */ |
| | | @PostMapping("/siteLock/addSiteLock") |
| | | public Object addSiteLock(@RequestBody TSiteLockDTO siteLock); |
| | | |
| | | /** |
| | | * 删除锁定场地 |
| | | * @param |
| | | * @return |
| | | */ |
| | | @PostMapping("/siteLock/deleteSiteLock/{id}") |
| | | public Object deleteSiteLock(@PathVariable("id") Integer id); |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.dsh.course.feignClient.other; |
| | | |
| | | import com.dsh.course.feignClient.other.model.FrequentlyAskedQuestions; |
| | | import com.dsh.course.feignClient.other.model.TSiteDTO; |
| | | import com.dsh.guns.modular.system.model.QuestionChangeStateVO; |
| | | import com.dsh.guns.modular.system.model.SiteSearchVO; |
| | | import com.dsh.guns.modular.system.model.Store; |
| | | import org.springframework.cloud.openfeign.FeignClient; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 常见问题 |
| | | */ |
| | | @FeignClient(value = "mb-cloud-other") |
| | | public interface StoreClient { |
| | | |
| | | /** |
| | | * 选择市区 展示全部门店 |
| | | */ |
| | | @RequestMapping("base/store/getStore") |
| | | List<Store> getStore(@RequestBody String city); |
| | | |
| | | /** |
| | | * 根据所选门店 查询经营时间 |
| | | * @param oneId |
| | | * @return |
| | | */ |
| | | @RequestMapping("base/store/getTime") |
| | | Store getTime(@RequestBody String oneId); |
| | | |
| | | /** |
| | | * 根据门店id获取门店信息 |
| | | */ |
| | | @RequestMapping("base/site/getStoreById") |
| | | Store getStoreById(@RequestBody Integer id); |
| | | /** |
| | | * 根据城市管理员id获取门店 |
| | | */ |
| | | @RequestMapping("base/site/getStoreByCityManagerId") |
| | | List<Store> getStoreByCityManagerId(@RequestBody Integer id); |
| | | /** |
| | | * 根据员工id获取门店 |
| | | */ |
| | | @RequestMapping("base/site/getStoreByStoreStaffId") |
| | | List<Store> getStoreByStoreStaffId(@RequestBody Integer id); |
| | | } |
New file |
| | |
| | | package com.dsh.course.feignClient.other.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @author zhibing.pu |
| | | * @date 2023/7/13 15:57 |
| | | */ |
| | | @Data |
| | | @TableName("t_site") |
| | | public class Site { |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | /** |
| | | * 门店id |
| | | */ |
| | | @TableField("storeId") |
| | | private Integer storeId; |
| | | /** |
| | | * 场地名称 |
| | | */ |
| | | @TableField("name") |
| | | private String name; |
| | | /** |
| | | * 场地类型id |
| | | */ |
| | | @TableField("siteTypeId") |
| | | private Integer siteTypeId; |
| | | /** |
| | | * 城市管理员id |
| | | */ |
| | | @TableField("cityManagerId") |
| | | private Integer cityManagerId; |
| | | /** |
| | | * 省 |
| | | */ |
| | | @TableField("province") |
| | | private String province; |
| | | /** |
| | | * 省编号 |
| | | */ |
| | | @TableField("provinceCode") |
| | | private String provinceCode; |
| | | /** |
| | | * 市名称 |
| | | */ |
| | | @TableField("city") |
| | | private String city; |
| | | /** |
| | | * 市编号 |
| | | */ |
| | | @TableField("cityCode") |
| | | private String cityCode; |
| | | /** |
| | | * 预约开始时间 |
| | | */ |
| | | @TableField("appointmentStartTime") |
| | | private String appointmentStartTime; |
| | | /** |
| | | * 预约结束时间 |
| | | */ |
| | | @TableField("appointmentEndTime") |
| | | private String appointmentEndTime; |
| | | /** |
| | | * 现金价格(x/半小时) |
| | | */ |
| | | @TableField("cashPrice") |
| | | private Double cashPrice; |
| | | /** |
| | | * 玩湃币价格(x/半小时) |
| | | */ |
| | | @TableField("playPaiCoin") |
| | | private Integer playPaiCoin; |
| | | /** |
| | | * 场地责任险有效期 |
| | | */ |
| | | @TableField("insuranceEndTime") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date insuranceEndTime; |
| | | /** |
| | | * 场地责任险图片 |
| | | */ |
| | | @TableField("insuranceImg") |
| | | private String insuranceImg; |
| | | /** |
| | | * 消防应急管理方案 |
| | | */ |
| | | @TableField("managementPlan") |
| | | private String managementPlan; |
| | | /** |
| | | * 状态(1=正常,2=冻结,3=删除) |
| | | */ |
| | | @TableField("state") |
| | | private Integer state; |
| | | /** |
| | | * 添加时间 |
| | | */ |
| | | @TableField("insertTime") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date insertTime; |
| | | |
| | | } |
New file |
| | |
| | | package com.dsh.course.feignClient.other.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @author zhibing.pu |
| | | * @Date 2023/8/1 17:43 |
| | | */ |
| | | @Data |
| | | public class SiteAddDTO { |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | /** |
| | | * 门店id |
| | | */ |
| | | private Integer storeId; |
| | | /** |
| | | * 场地名称 |
| | | */ |
| | | private String name; |
| | | /** |
| | | * 场地类型id |
| | | */ |
| | | private Integer siteTypeId; |
| | | /** |
| | | * 城市管理员id |
| | | */ |
| | | private Integer cityManagerId; |
| | | /** |
| | | * 省 |
| | | */ |
| | | private String province; |
| | | /** |
| | | * 省编号 |
| | | */ |
| | | private String provinceCode; |
| | | /** |
| | | * 市名称 |
| | | */ |
| | | private String city; |
| | | /** |
| | | * 市编号 |
| | | */ |
| | | private String cityCode; |
| | | /** |
| | | * 预约开始时间 |
| | | */ |
| | | private String appointmentStartTime; |
| | | /** |
| | | * 预约结束时间 |
| | | */ |
| | | private String appointmentEndTime; |
| | | /** |
| | | * 现金价格(x/半小时) |
| | | */ |
| | | private Double cashPrice; |
| | | /** |
| | | * 玩湃币价格(x/半小时) |
| | | */ |
| | | private Integer playPaiCoin; |
| | | /** |
| | | * 场地责任险有效期 |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date insuranceEndTime; |
| | | /** |
| | | * 场地责任险图片 |
| | | */ |
| | | private String insuranceImg; |
| | | /** |
| | | * 消防应急管理方案 |
| | | */ |
| | | private String managementPlan; |
| | | /** |
| | | * 状态(1=正常,2=冻结,3=删除) |
| | | */ |
| | | private Integer state; |
| | | /** |
| | | * 添加时间 |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date insertTime; |
| | | } |
New file |
| | |
| | | package com.dsh.course.feignClient.other.model; |
| | | |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 修改场地状态 |
| | | */ |
| | | @Data |
| | | public class SiteChangeStateVO { |
| | | /** |
| | | * 场地Id |
| | | */ |
| | | List<Integer> siteIds; |
| | | /** |
| | | * 上/下架 删除场地 type=1 上架 2下架 3删除 |
| | | */ |
| | | Integer type; |
| | | } |
New file |
| | |
| | | package com.dsh.course.feignClient.other.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @author 场地管理列表DTO |
| | | * @Date 2023/8/1 17:43 |
| | | */ |
| | | @Data |
| | | @TableName("t_site") |
| | | public class TSiteDTO { |
| | | |
| | | private Integer id; |
| | | /** |
| | | * 门店id |
| | | */ |
| | | |
| | | private Integer storeId; |
| | | /** |
| | | * 门店名称 |
| | | */ |
| | | private String storeName; |
| | | /** |
| | | * 场地名称 |
| | | */ |
| | | @TableField("name") |
| | | private String name; |
| | | /** |
| | | * 场地类型id |
| | | */ |
| | | @TableField("siteTypeId") |
| | | private Integer siteTypeId; |
| | | /** |
| | | * 场地类型名称 |
| | | */ |
| | | @TableField("siteTypeId") |
| | | private String siteTypeName; |
| | | /** |
| | | * 城市管理员id |
| | | */ |
| | | @TableField("cityManagerId") |
| | | private Integer cityManagerId; |
| | | /** |
| | | * 省 |
| | | */ |
| | | @TableField("province") |
| | | private String province; |
| | | /** |
| | | * 省编号 |
| | | */ |
| | | @TableField("provinceCode") |
| | | private String provinceCode; |
| | | /** |
| | | * 市名称 |
| | | */ |
| | | @TableField("city") |
| | | private String city; |
| | | /** |
| | | * 市编号 |
| | | */ |
| | | @TableField("cityCode") |
| | | private String cityCode; |
| | | /** |
| | | * 预约开始时间 |
| | | */ |
| | | @TableField("appointmentStartTime") |
| | | private String appointmentStartTime; |
| | | /** |
| | | * 预约结束时间 |
| | | */ |
| | | @TableField("appointmentEndTime") |
| | | private String appointmentEndTime; |
| | | /** |
| | | * 现金价格(x/半小时) |
| | | */ |
| | | @TableField("cashPrice") |
| | | private Double cashPrice; |
| | | /** |
| | | * 玩湃币价格(x/半小时) |
| | | */ |
| | | @TableField("playPaiCoin") |
| | | private Integer playPaiCoin; |
| | | /** |
| | | * 场地责任险有效期 |
| | | */ |
| | | @TableField("insuranceEndTime") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date insuranceEndTime; |
| | | /** |
| | | * 场地责任险图片 |
| | | */ |
| | | @TableField("insuranceImg") |
| | | private String insuranceImg; |
| | | /** |
| | | * 消防应急管理方案 |
| | | */ |
| | | @TableField("managementPlan") |
| | | private String managementPlan; |
| | | /** |
| | | * 状态(1=正常,2=冻结,3=删除) |
| | | */ |
| | | @TableField("state") |
| | | private Integer state; |
| | | /** |
| | | * 添加时间 |
| | | */ |
| | | @TableField("insertTime") |
| | | private Date insertTime; |
| | | } |
New file |
| | |
| | | package com.dsh.course.feignClient.other.model; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * 锁定场地DTO |
| | | */ |
| | | @Data |
| | | public class TSiteLockDTO { |
| | | /** |
| | | * 场地id |
| | | */ |
| | | private Integer id; |
| | | /** |
| | | * 场地id |
| | | */ |
| | | private Integer siteId; |
| | | /** |
| | | * 锁定开始时间 |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm") |
| | | private Date startTime; |
| | | /** |
| | | * 锁定结束时间 |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm") |
| | | private Date endTime; |
| | | |
| | | private String ssTime; |
| | | |
| | | private String eeTime; |
| | | } |
New file |
| | |
| | | package com.dsh.guns.modular.system.controller.code; |
| | | |
| | | |
| | | import com.dsh.course.feignClient.account.CityManagerClient; |
| | | import com.dsh.course.feignClient.account.CoachClient; |
| | | import com.dsh.course.feignClient.account.CoachTypeClient; |
| | | import com.dsh.course.feignClient.account.model.CityManager; |
| | | import com.dsh.course.feignClient.account.model.Coach; |
| | | import com.dsh.course.feignClient.account.model.CoachSerchVO; |
| | | import com.dsh.course.feignClient.account.model.CoachType; |
| | | import com.dsh.course.feignClient.other.model.Site; |
| | | import com.dsh.guns.config.UserExt; |
| | | import com.dsh.guns.modular.system.model.CoachChangeStateVO; |
| | | import com.dsh.guns.modular.system.model.CoachQuery; |
| | | import com.dsh.guns.modular.system.model.Store; |
| | | import com.dsh.guns.modular.system.util.ResultUtil; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.ui.Model; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | |
| | | |
| | | /** |
| | | * 教练 |
| | | */ |
| | | @Controller |
| | | @RequestMapping("/tCoach") |
| | | public class CoachController { |
| | | |
| | | private String PREFIX = "/system/tCoach/"; |
| | | @Autowired |
| | | private CoachTypeClient coachTypeClient; |
| | | @Autowired |
| | | private CoachClient coachClient; |
| | | @Autowired |
| | | private CityManagerClient cityManagerClient; |
| | | |
| | | /** |
| | | * 跳转教练管理首页 |
| | | */ |
| | | @RequestMapping("") |
| | | public String index(Model model) { |
| | | Integer objectType = UserExt.getUser().getObjectType(); |
| | | Integer objectId = UserExt.getUser().getObjectId(); |
| | | List<Coach> list1=coachClient.getProvince(); |
| | | CoachQuery coachQuery = new CoachQuery(); |
| | | List<CoachSerchVO> data = coachClient.listAll(coachQuery); |
| | | |
| | | List<String> province = new ArrayList<>(); |
| | | for (Coach coach : list1) { |
| | | province.add(coach.getProvince()); |
| | | } |
| | | String roleid = UserExt.getUser().getRoleid(); |
| | | model.addAttribute("role",roleid); |
| | | model.addAttribute("data",data); |
| | | model.addAttribute("list",province); |
| | | model.addAttribute("objectType",objectType); |
| | | model.addAttribute("objectId",objectId); |
| | | return PREFIX + "TCoach.html"; |
| | | } |
| | | /** |
| | | * 获取教练列表 |
| | | */ |
| | | @RequestMapping(value = "/getCity") |
| | | @ResponseBody |
| | | public List<Coach> getCity(String province) { |
| | | return coachClient.getCity(province); |
| | | } |
| | | |
| | | /** |
| | | * 跳转添加教练页面 |
| | | */ |
| | | @RequestMapping("/addCoach") |
| | | public String addCoach(Model model) { |
| | | List<CityManager> province = cityManagerClient.listAll(); |
| | | Set<String> seenNames = new HashSet<>(); |
| | | List<CityManager> result = new ArrayList<>(); |
| | | for (CityManager cityManager : province) { |
| | | if(!seenNames.contains(cityManager.getProvince())){ |
| | | result.add(cityManager); |
| | | seenNames.add(cityManager.getProvince()); |
| | | } |
| | | } |
| | | Integer objectType = UserExt.getUser().getObjectType(); |
| | | Integer objectId = UserExt.getUser().getObjectId(); |
| | | CoachQuery coachQuery = new CoachQuery(); |
| | | List<CoachSerchVO> data = coachClient.listAll(coachQuery); |
| | | List<CoachType> list = coachTypeClient.list(); |
| | | |
| | | String roleid = UserExt.getUser().getRoleid(); |
| | | model.addAttribute("role",roleid); |
| | | model.addAttribute("data",data); |
| | | model.addAttribute("list",result); |
| | | model.addAttribute("objectType",objectType); |
| | | model.addAttribute("objectId",objectId); |
| | | model.addAttribute("coachType",list); |
| | | return PREFIX + "TCoach_add.html"; |
| | | } |
| | | /** |
| | | * 添加教练 |
| | | */ |
| | | @ResponseBody |
| | | @RequestMapping(value = "/add") |
| | | public ResultUtil addCoach(@RequestBody Coach coach) { |
| | | Integer objectId = UserExt.getUser().getObjectId(); |
| | | if (UserExt.getUser().getObjectType() == 2){ |
| | | CityManager cityManager = cityManagerClient.queryCityManagerById(objectId); |
| | | coach.setProvince(cityManager.getProvince()); |
| | | coach.setProvinceCode(cityManager.getProvinceCode()); |
| | | coach.setCity(cityManager.getCity()); |
| | | coach.setCityCode(cityManager.getCityCode()); |
| | | coach.setCityManagerId(objectId); |
| | | |
| | | } |
| | | if (coach.getDiploma().equals("")) coach.setDiploma(null); |
| | | if (coach.getCertificateImg().equals("") ){ |
| | | coach.setCertificateImg(null); |
| | | } |
| | | if (coach.getCertificateImg()!=null){ |
| | | coach.setCertificateImg(coach.getCertificateImg().substring(1)); |
| | | } |
| | | coach.setInsertTime(new Date()); |
| | | coach.setState(1); |
| | | coachClient.addCoach(coach); |
| | | return ResultUtil.success("添加成功"); |
| | | } |
| | | |
| | | /** |
| | | * 1为冻结 2为解冻 |
| | | * |
| | | * @return |
| | | */ |
| | | @RequestMapping("/changeState") |
| | | @ResponseBody |
| | | public Object changeState(@RequestBody CoachChangeStateVO vo){ |
| | | coachClient.changeState(vo); |
| | | return ResultUtil.success(); |
| | | } |
| | | /** |
| | | * 跳转修改教练页面 |
| | | */ |
| | | @RequestMapping("/updateCoach/{id}") |
| | | public String updateCoach(Model model, @PathVariable("id") Integer id) { |
| | | CoachQuery coachQuery = new CoachQuery(); |
| | | coachQuery.setId(id); |
| | | List<CoachSerchVO> data = coachClient.listAll(coachQuery); |
| | | List<CityManager> province = cityManagerClient.listAll(); |
| | | Set<String> seenNames = new HashSet<>(); |
| | | List<CityManager> result = new ArrayList<>(); |
| | | List<CityManager> city = new ArrayList<>(); |
| | | for (CityManager cityManager : province) { |
| | | if(!seenNames.contains(cityManager.getProvince())){ |
| | | result.add(cityManager); |
| | | seenNames.add(cityManager.getProvince()); |
| | | } |
| | | if(data.get(0).getProvince().equals(cityManager.getProvince())){ |
| | | city.add(cityManager); |
| | | } |
| | | } |
| | | Integer objectType = UserExt.getUser().getObjectType(); |
| | | Integer objectId = UserExt.getUser().getObjectId(); |
| | | List<CityManager> accounts = cityManagerClient.getAccount(data.get(0).getCity()); |
| | | List<CoachType> list = coachTypeClient.list(); |
| | | String roleid = UserExt.getUser().getRoleid(); |
| | | model.addAttribute("role",roleid); |
| | | model.addAttribute("data",data.get(0)); |
| | | model.addAttribute("list",result); |
| | | model.addAttribute("city",city); |
| | | model.addAttribute("cityManagers",accounts); |
| | | model.addAttribute("objectType",objectType); |
| | | model.addAttribute("objectId",objectId); |
| | | model.addAttribute("coachType",list); |
| | | // 1为查看详情 |
| | | model.addAttribute("type",0); |
| | | String[] split = data.get(0).getCertificateImg().split(","); |
| | | List<String> pictures = new ArrayList<>(Arrays.asList(split)); |
| | | model.addAttribute("pictures",pictures); |
| | | SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); |
| | | String birthday = format.format(data.get(0).getBirthday()); |
| | | model.addAttribute("birthday",birthday); |
| | | return PREFIX + "TCoach_edit.html"; |
| | | } |
| | | /** |
| | | * 跳转修改教练页面 |
| | | */ |
| | | @RequestMapping("/infoCoach/{id}") |
| | | public String infoCoach(Model model, @PathVariable("id") Integer id) { |
| | | CoachQuery coachQuery = new CoachQuery(); |
| | | coachQuery.setId(id); |
| | | List<CoachSerchVO> data = coachClient.listAll(coachQuery); |
| | | List<CityManager> province = cityManagerClient.listAll(); |
| | | Set<String> seenNames = new HashSet<>(); |
| | | List<CityManager> result = new ArrayList<>(); |
| | | List<CityManager> city = new ArrayList<>(); |
| | | for (CityManager cityManager : province) { |
| | | if(!seenNames.contains(cityManager.getProvince())){ |
| | | result.add(cityManager); |
| | | seenNames.add(cityManager.getProvince()); |
| | | } |
| | | if(data.get(0).getProvince().equals(cityManager.getProvince())){ |
| | | city.add(cityManager); |
| | | } |
| | | } |
| | | Integer objectType = UserExt.getUser().getObjectType(); |
| | | Integer objectId = UserExt.getUser().getObjectId(); |
| | | List<CityManager> accounts = cityManagerClient.getAccount(data.get(0).getCity()); |
| | | List<CoachType> list = coachTypeClient.list(); |
| | | String roleid = UserExt.getUser().getRoleid(); |
| | | model.addAttribute("role",roleid); |
| | | model.addAttribute("data",data.get(0)); |
| | | model.addAttribute("list",result); |
| | | model.addAttribute("city",city); |
| | | model.addAttribute("cityManagers",accounts); |
| | | model.addAttribute("objectType",objectType); |
| | | model.addAttribute("objectId",objectId); |
| | | model.addAttribute("coachType",list); |
| | | // 1为查看详情 |
| | | model.addAttribute("type",1); |
| | | String[] split = data.get(0).getCertificateImg().split(","); |
| | | List<String> pictures = new ArrayList<>(Arrays.asList(split)); |
| | | model.addAttribute("pictures",pictures); |
| | | SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); |
| | | String birthday = format.format(data.get(0).getBirthday()); |
| | | model.addAttribute("birthday",birthday); |
| | | return PREFIX + "TCoach_edit.html"; |
| | | } |
| | | /** |
| | | * 获取教练列表 |
| | | */ |
| | | @RequestMapping(value = "/list") |
| | | @ResponseBody |
| | | public List<CoachSerchVO> list(String province, String city, String name, String phone) { |
| | | CoachQuery coachQuery = new CoachQuery(); |
| | | coachQuery.setProvince(province); |
| | | coachQuery.setCity(city); |
| | | coachQuery.setName(name); |
| | | coachQuery.setPhone(phone); |
| | | return coachClient.listAll(coachQuery); |
| | | } |
| | | } |
New file |
| | |
| | | package com.dsh.guns.modular.system.controller.code; |
| | | |
| | | |
| | | import com.dsh.course.feignClient.account.CoachTypeClient; |
| | | import com.dsh.course.feignClient.account.model.CoachType; |
| | | import com.dsh.guns.config.UserExt; |
| | | import com.dsh.guns.modular.system.model.QuestionSearchVO; |
| | | import net.bytebuddy.asm.Advice; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.ui.Model; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.List; |
| | | |
| | | |
| | | /** |
| | | * 教练类型 |
| | | */ |
| | | @Controller |
| | | @RequestMapping("/tCoachType") |
| | | public class CoachTypeController { |
| | | |
| | | private String PREFIX = "/system/tCoachType/"; |
| | | @Autowired |
| | | private CoachTypeClient coachTypeClient; |
| | | |
| | | /** |
| | | * 跳转常见问题首页 |
| | | */ |
| | | @RequestMapping("") |
| | | public String index(Model model) { |
| | | |
| | | String roleid = UserExt.getUser().getRoleid(); |
| | | model.addAttribute("role",roleid); |
| | | return PREFIX + "TCoachType.html"; |
| | | } |
| | | /** |
| | | * 获取教练类型列表 |
| | | */ |
| | | @RequestMapping("/list") |
| | | @ResponseBody |
| | | public List<CoachType> list() { |
| | | return coachTypeClient.list(); |
| | | } |
| | | /** |
| | | * 新增教练类型 |
| | | */ |
| | | @RequestMapping("/add") |
| | | @ResponseBody |
| | | public Object addCoachType(String name) { |
| | | return coachTypeClient.add(name); |
| | | } |
| | | /** |
| | | * 修改教练类型 |
| | | */ |
| | | @RequestMapping("/update") |
| | | @ResponseBody |
| | | public Object updateCoachType(@RequestBody CoachType vo) { |
| | | |
| | | return coachTypeClient.update(vo); |
| | | } |
| | | /** |
| | | * 删除教练类型 |
| | | */ |
| | | @RequestMapping("/delete") |
| | | @ResponseBody |
| | | public Object deleteCoachType(Integer id) { |
| | | CoachType coachType = new CoachType(); |
| | | coachType.setId(id); |
| | | coachType.setState(3); |
| | | return coachTypeClient.update(coachType); |
| | | } |
| | | |
| | | } |
| | |
| | | |
| | | |
| | | /** |
| | | * 优惠券管理 控制器 |
| | | * 常见问题管理 控制器 |
| | | */ |
| | | |
| | | @Controller |
| | |
| | | */ |
| | | @RequestMapping("") |
| | | public String index(Model model) { |
| | | String roleid = UserExt.getUser().getRoleid(); |
| | | model.addAttribute("role",roleid); |
| | | return PREFIX + "TQuestion.html"; |
| | | } |
| | | |
New file |
| | |
| | | package com.dsh.guns.modular.system.controller.code; |
| | | |
| | | |
| | | import com.dsh.course.feignClient.account.CityManagerClient; |
| | | import com.dsh.course.feignClient.account.model.CityManager; |
| | | import com.dsh.course.feignClient.account.model.Coach; |
| | | import com.dsh.course.feignClient.activity.BodySideAppointmentClient; |
| | | import com.dsh.course.feignClient.activity.model.BodySideAppointment; |
| | | import com.dsh.course.feignClient.activity.model.QueryBodySideAppointment; |
| | | import com.dsh.course.feignClient.activity.model.QueryBodySideAppointmentVO; |
| | | import com.dsh.course.feignClient.other.StoreClient; |
| | | import com.dsh.guns.config.UserExt; |
| | | import com.dsh.guns.modular.system.model.CoachQuery; |
| | | import com.dsh.guns.modular.system.util.ResultUtil; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.ui.Model; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * 体测预约管理控制器 |
| | | */ |
| | | @Controller |
| | | @RequestMapping("/bodySideAppointment") |
| | | public class TBodySideAppointmentsController { |
| | | private String PREFIX = "/system/bodySideAppointment/"; |
| | | |
| | | @Autowired |
| | | private StoreClient storeClient; |
| | | @Autowired |
| | | private BodySideAppointmentClient bodySideAppointmentClient; |
| | | @Autowired |
| | | private CityManagerClient cityManagerClient; |
| | | /** |
| | | * 跳转体测预约管理首页 |
| | | */ |
| | | @RequestMapping("") |
| | | public String index(Model model) { |
| | | return PREFIX + "TBodySideAppointment.html"; |
| | | } |
| | | /** |
| | | * 跳转体测预约管理添加页面 |
| | | */ |
| | | @RequestMapping("/add") |
| | | public String add(Model model) { |
| | | List<CityManager> province = cityManagerClient.listAll(); |
| | | Set<String> seenNames = new HashSet<>(); |
| | | List<CityManager> result = new ArrayList<>(); |
| | | for (CityManager cityManager : province) { |
| | | if(!seenNames.contains(cityManager.getProvince())){ |
| | | result.add(cityManager); |
| | | seenNames.add(cityManager.getProvince()); |
| | | } |
| | | } |
| | | model.addAttribute("list",result); |
| | | return PREFIX + "TBodySideAppointment_add.html"; |
| | | } |
| | | /** |
| | | * 跳转体测预约管理编辑页面 |
| | | */ |
| | | @RequestMapping("/update") |
| | | public String update(Model model) { |
| | | return PREFIX + "TBodySideAppointment_edit.html"; |
| | | } |
| | | |
| | | /** |
| | | * 获取所有体测预约记录 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/listAll") |
| | | @ResponseBody |
| | | public List<QueryBodySideAppointmentVO> listAll(String phone,String parentName,Integer state){ |
| | | QueryBodySideAppointment vo = new QueryBodySideAppointment(); |
| | | vo.setParentName(parentName); |
| | | vo.setPhone(phone); |
| | | vo.setState(state); |
| | | List<QueryBodySideAppointmentVO> queryBodySideAppointmentVOS = bodySideAppointmentClient.listAll(vo); |
| | | for (QueryBodySideAppointmentVO queryBodySideAppointmentVO : queryBodySideAppointmentVOS) { |
| | | queryBodySideAppointmentVO.setProvinceAndCity(queryBodySideAppointmentVO.getProvince()+queryBodySideAppointmentVO.getCity()); |
| | | } |
| | | return queryBodySideAppointmentVOS; |
| | | } |
| | | |
| | | /** |
| | | * 添加/修改体测预约记录 |
| | | */ |
| | | @ResponseBody |
| | | @RequestMapping(value = "/addBodySideAppointments") |
| | | public ResultUtil addBodySideAppointments(@RequestBody QueryBodySideAppointmentVO vo) { |
| | | bodySideAppointmentClient.addBodySideAppointments(vo); |
| | | return ResultUtil.success("添加成功"); |
| | | } |
| | | |
| | | /** |
| | | * 添加/修改体测预约记录 |
| | | */ |
| | | @ResponseBody |
| | | @RequestMapping(value = "/getInfoById") |
| | | public BodySideAppointment getInfoById(@RequestBody Integer id) { |
| | | return bodySideAppointmentClient.getInfoById(id); |
| | | } |
| | | |
| | | /** |
| | | * 手动标记用户已经到店并完成体测 |
| | | */ |
| | | @ResponseBody |
| | | @RequestMapping(value = "/changeState") |
| | | public Object changeState(@RequestBody List<Integer> ids) { |
| | | return bodySideAppointmentClient.changeState(ids); |
| | | } |
| | | |
| | | } |
| | |
| | | import cn.hutool.crypto.SecureUtil; |
| | | import com.alibaba.nacos.common.utils.Md5Utils; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.dsh.course.entity.City; |
| | | import com.dsh.course.feignClient.account.CityClient; |
| | |
| | | @RequestMapping(value = "/onChange") |
| | | @ResponseBody |
| | | public Object onChange(Integer oneId) { |
| | | if (oneId == null) return null; |
| | | try { |
| | | TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, oneId)); |
| | | return cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId,one.getId())); |
| | | TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getId, oneId)); |
| | | QueryWrapper<TCity> query = new QueryWrapper<TCity>().eq("parent_id", one.getId()); |
| | | return cityService.list(query); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ERROR; |
| | |
| | | import com.dsh.guns.modular.system.service.IRegionService; |
| | | import com.dsh.guns.modular.system.service.IStoreService; |
| | | import com.dsh.guns.modular.system.util.OBSUploadUtil; |
| | | import com.dsh.guns.modular.system.util.ResultUtil; |
| | | import org.apache.commons.beanutils.ConvertUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Controller; |
| | |
| | | @RequestMapping(value = "/uploadPic") |
| | | @ResponseBody |
| | | public Object add(@RequestParam("file") MultipartFile imgFile) throws IOException { |
| | | if (imgFile != null){ |
| | | String originalFilename = imgFile.getOriginalFilename(); |
| | | String newName = originalFilename.substring(imgFile.getOriginalFilename().lastIndexOf(".")); |
| | | String url = OBSUploadUtil.inputStreamUpload(imgFile); |
| | |
| | | //文件大小(字节数) |
| | | map.put("size", imgFile.getSize() + ""); |
| | | System.out.println(map); |
| | | return url; |
| | | return url; |
| | | } |
| | | return ResultUtil.success(); |
| | | } |
| | | |
| | | /** |
New file |
| | |
| | | package com.dsh.guns.modular.system.controller.code; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.dsh.course.feignClient.account.CityManagerClient; |
| | | import com.dsh.course.feignClient.account.CoachClient; |
| | | import com.dsh.course.feignClient.account.model.CityManager; |
| | | import com.dsh.course.feignClient.account.model.Coach; |
| | | import com.dsh.course.feignClient.account.model.CoachType; |
| | | import com.dsh.course.feignClient.course.CoursePackageClient; |
| | | import com.dsh.course.feignClient.course.CoursePackageDiscountClient; |
| | | import com.dsh.course.feignClient.course.CoursePackagePaymentConfigClient; |
| | | import com.dsh.course.feignClient.course.CoursePackageTypeClient; |
| | | import com.dsh.course.feignClient.course.model.*; |
| | | import com.dsh.guns.config.UserExt; |
| | | import com.dsh.guns.core.base.controller.BaseController; |
| | | import com.dsh.guns.core.util.ToolUtil; |
| | | import com.dsh.guns.modular.system.model.TSite; |
| | | import com.dsh.guns.modular.system.model.TStore; |
| | | import com.dsh.guns.modular.system.service.ICoursePackageService; |
| | | import com.dsh.guns.modular.system.service.IStoreService; |
| | | import com.dsh.guns.modular.system.service.ITSiteService; |
| | | import com.dsh.guns.modular.system.util.ResultUtil; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.ui.Model; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * @author zhibing.pu |
| | | * @Date 2023/8/1 11:50 |
| | | */ |
| | | @Controller |
| | | @RequestMapping("/coursePackageType") |
| | | public class TCoursePackageTypeController extends BaseController { |
| | | |
| | | private String PREFIX = "/system/coursePackageType/"; |
| | | |
| | | @Autowired |
| | | private ICoursePackageService coursePackageService; |
| | | |
| | | @Resource |
| | | private CoursePackageTypeClient coursePackageTypeClient; |
| | | |
| | | @Autowired |
| | | private IStoreService storeService; |
| | | |
| | | @Resource |
| | | private CityManagerClient cityManagerClient; |
| | | |
| | | @Autowired |
| | | private ITSiteService siteService; |
| | | |
| | | @Resource |
| | | private CoachClient coachClient; |
| | | |
| | | @Resource |
| | | private CoursePackagePaymentConfigClient coursePackagePaymentConfigClient; |
| | | |
| | | @Resource |
| | | private CoursePackageDiscountClient coursePackageDiscountClient; |
| | | |
| | | @Resource |
| | | private CoursePackageClient coursePackageClient; |
| | | |
| | | /** |
| | | * 跳转到列表页 |
| | | * @param model |
| | | * @return |
| | | */ |
| | | @GetMapping("") |
| | | public String openCoursePackageListPage(Model model){ |
| | | Integer objectType = UserExt.getUser().getObjectType(); |
| | | model.addAttribute("objectType", objectType); |
| | | return PREFIX + "CoursePackageType.html"; |
| | | } |
| | | |
| | | /** |
| | | * 获取课包类型列表 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/list") |
| | | @ResponseBody |
| | | public List<TCoursePackageType> openAddCoursePackage(){ |
| | | |
| | | return coursePackageTypeClient.queryAllCoursePackageType(); |
| | | } |
| | | |
| | | /** |
| | | * 跳转到添加页 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/add") |
| | | @ResponseBody |
| | | public Object openAddCoursePackageType(String name){ |
| | | return coursePackageTypeClient.add(name); |
| | | } |
| | | |
| | | /** |
| | | * 跳转到编辑页 |
| | | * @param model |
| | | * @param id |
| | | * @return |
| | | */ |
| | | /** |
| | | * 修改教练类型 |
| | | */ |
| | | @RequestMapping("/update") |
| | | @ResponseBody |
| | | public Object updateCoursePackageType(@RequestBody CoursePackageTypeVO vo) { |
| | | return coursePackageTypeClient.update(vo); |
| | | } |
| | | /** |
| | | * 删除课包类型--先判断当前课包类型有没有在被使用 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/delete") |
| | | @ResponseBody |
| | | public Object deleteCoursePackageType(@RequestBody CoursePackageTypeVO vo){ |
| | | |
| | | return coursePackageTypeClient.delete(vo); |
| | | } |
| | | } |
| | |
| | | package com.dsh.guns.modular.system.controller.code; |
| | | import java.math.BigDecimal; |
| | | |
| | | import cn.hutool.crypto.SecureUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.dsh.course.feignClient.account.CityClient; |
| | | import com.dsh.course.feignClient.account.CityManagerClient; |
| | | import com.dsh.course.feignClient.account.StoreStaffClient; |
| | | import com.dsh.course.feignClient.account.model.CityListQuery; |
| | | import com.dsh.course.feignClient.account.model.CityManager; |
| | | import com.dsh.course.feignClient.account.model.TCityManager; |
| | | import com.dsh.course.feignClient.competition.CompetitionClient; |
| | | import com.dsh.course.feignClient.other.SiteClient; |
| | | import com.dsh.course.feignClient.other.SiteLockClient; |
| | | import com.dsh.course.feignClient.other.StoreClient; |
| | | import com.dsh.course.feignClient.other.model.Site; |
| | | import com.dsh.course.feignClient.other.model.SiteChangeStateVO; |
| | | import com.dsh.course.feignClient.other.model.TSiteDTO; |
| | | import com.dsh.course.feignClient.other.model.TSiteLockDTO; |
| | | import com.dsh.course.mapper.UserMapper; |
| | | import com.dsh.guns.config.UserExt; |
| | | import com.dsh.guns.core.base.controller.BaseController; |
| | |
| | | import com.dsh.guns.core.common.constant.factory.PageFactory; |
| | | import com.dsh.guns.core.util.ToolUtil; |
| | | import com.dsh.guns.modular.system.model.*; |
| | | import com.dsh.guns.modular.system.service.ICityService; |
| | | import com.dsh.guns.modular.system.service.IStoreService; |
| | | import com.dsh.guns.modular.system.service.ITSiteService; |
| | | import com.dsh.guns.modular.system.service.StoreConfigService; |
| | | import com.dsh.guns.modular.system.service.*; |
| | | import com.dsh.guns.modular.system.util.ResultUtil; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.ui.Model; |
| | | import org.springframework.web.bind.annotation.PathVariable; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.ResponseBody; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.lang.reflect.Type; |
| | | import java.text.DateFormat; |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.HashSet; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | |
| | | @Resource |
| | | private StoreConfigService storeConfigService; |
| | | @Resource |
| | | private ITSiteTypeService siteTypeService; |
| | | |
| | | @Autowired |
| | | private CityManagerClient cityManagerClient; |
| | | @Resource |
| | | private SiteClient siteClient; |
| | | @Autowired |
| | | private ITSiteService siteService; |
| | | @Resource |
| | | private StoreClient storeClient; |
| | | @Autowired |
| | | private IRegionService regionService; |
| | | @Autowired |
| | | private SiteLockClient siteLockClient; |
| | | |
| | | |
| | | /** |
| | | * 跳转到车辆管理首页 |
| | | * 跳转到场地管理首页 |
| | | */ |
| | | @RequestMapping("") |
| | | public String index(Model model) { |
| | | Integer objectType = UserExt.getUser().getObjectType(); |
| | | Integer objectId = UserExt.getUser().getObjectId(); |
| | | model.addAttribute("userType",objectType); |
| | | List<CityManager> province = cityManagerClient.listAll(); |
| | | // 已有城市管理的省 |
| | | ArrayList<String> list1 = new ArrayList<>(); |
| | | // 已有城市管理的市 |
| | | ArrayList<String> list2 = new ArrayList<>(); |
| | | for (CityManager cityManager : province) { |
| | | list1.add(cityManager.getProvince()); |
| | | list2.add(cityManager.getCity()); |
| | | } |
| | | HashSet<String> set = new HashSet<String>(list1); |
| | | List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0)); |
| | | model.addAttribute("list",list); |
| | | QueryWrapper<TSiteType> wrapper = new QueryWrapper<>(); |
| | | wrapper.eq("state",1); |
| | | List<TSiteType> siteType = siteTypeService.list(wrapper); |
| | | model.addAttribute("list",set); |
| | | model.addAttribute("siteType",siteType); |
| | | String roleid = UserExt.getUser().getRoleid(); |
| | | model.addAttribute("role",1); |
| | | model.addAttribute("role",roleid); |
| | | model.addAttribute("objectType",objectType); |
| | | model.addAttribute("objectId",objectId); |
| | | model.addAttribute("type",1); |
| | | return PREFIX + "TSite.html"; |
| | | } |
| | | /** |
| | | * 跳转到场地管理首页--查询场地有效期在两个月内的场地信息 |
| | | */ |
| | | @RequestMapping("/expireInsuranceEndTime") |
| | | public String expireInsuranceEndTime(Model model) { |
| | | Integer objectType = UserExt.getUser().getObjectType(); |
| | | Integer objectId = UserExt.getUser().getObjectId(); |
| | | model.addAttribute("userType",objectType); |
| | | List<CityManager> province = cityManagerClient.listAll(); |
| | | // 已有城市管理的省 |
| | | ArrayList<String> list1 = new ArrayList<>(); |
| | | // 已有城市管理的市 |
| | | ArrayList<String> list2 = new ArrayList<>(); |
| | | for (CityManager cityManager : province) { |
| | | list1.add(cityManager.getProvince()); |
| | | list2.add(cityManager.getCity()); |
| | | } |
| | | HashSet<String> set = new HashSet<String>(list1); |
| | | List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0)); |
| | | QueryWrapper<TSiteType> wrapper = new QueryWrapper<>(); |
| | | wrapper.eq("state",1); |
| | | List<TSiteType> siteType = siteTypeService.list(wrapper); |
| | | model.addAttribute("list",set); |
| | | model.addAttribute("siteType",siteType); |
| | | String roleid = UserExt.getUser().getRoleid(); |
| | | model.addAttribute("role",roleid); |
| | | model.addAttribute("objectType",objectType); |
| | | model.addAttribute("objectId",objectId); |
| | | model.addAttribute("type",2); |
| | | return PREFIX + "TSite.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到添加车辆管理 |
| | | * 上/下架 1为上架 2为下架 3为删除 |
| | | * |
| | | * @return |
| | | */ |
| | | @RequestMapping("/tShop_add") |
| | | public String tCompetitionAdd(Model model) { |
| | | List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0)); |
| | | model.addAttribute("list",list); |
| | | String roleid = UserExt.getUser().getRoleid(); |
| | | model.addAttribute("role",2); |
| | | return PREFIX + "tShop_add.html"; |
| | | @RequestMapping("/changeState") |
| | | @ResponseBody |
| | | public Object changeState(@RequestBody SiteChangeStateVO vo){ |
| | | siteClient.changeState(vo); |
| | | return ResultUtil.success(); |
| | | } |
| | | |
| | | /** |
| | | * 添加锁定场地 |
| | | * |
| | | * @return |
| | | */ |
| | | @RequestMapping("/addSiteLock") |
| | | @ResponseBody |
| | | public Object addSiteLock(@RequestBody TSiteLockDTO dto){ |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); |
| | | try { |
| | | dto.setStartTime(simpleDateFormat.parse(dto.getSsTime())); |
| | | dto.setEndTime(simpleDateFormat.parse(dto.getEeTime())); |
| | | } catch (ParseException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | Object o = siteLockClient.addSiteLock(dto); |
| | | return ResultUtil.success(o); |
| | | } |
| | | |
| | | /** |
| | | * 跳转到修改车辆管理 |
| | | * 删除锁定场地 |
| | | * |
| | | * @return |
| | | */ |
| | | @RequestMapping("/tShop_update/{id}") |
| | | public String tCityUpdate(@PathVariable Integer id, Model model) { |
| | | TStore byId = storeService.getById(id); |
| | | model.addAttribute("item",byId); |
| | | List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0)); |
| | | model.addAttribute("list",list); |
| | | TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, byId.getProvinceCode())); |
| | | List<TCity> list1 = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId,one.getId())); |
| | | CityListQuery cityListQuery = new CityListQuery(); |
| | | cityListQuery.setOffset(1); |
| | | cityListQuery.setLimit(10000); |
| | | cityListQuery.setCityCode(byId.getCityCode()); |
| | | Page<TCityManager> list2 = cityClient.list(cityListQuery); |
| | | model.addAttribute("list1",list1); |
| | | model.addAttribute("list2",list2.getRecords()); |
| | | String roleid = UserExt.getUser().getRoleid(); |
| | | model.addAttribute("role",2); |
| | | model.addAttribute("time",byId.getStartTime()+" - "+byId.getEndTime()); |
| | | User byId1 = userMapper.selectById(byId.getStoreStaffId()); |
| | | model.addAttribute("city",byId1); |
| | | model.addAttribute("type",1); |
| | | return PREFIX + "tShop_edit.html"; |
| | | @RequestMapping("/deleteSiteLock/{id}") |
| | | @ResponseBody |
| | | public Object deleteSiteLock(@PathVariable("id") Integer id){ |
| | | siteLockClient.deleteSiteLock(id); |
| | | return ResultUtil.success(); |
| | | } |
| | | @RequestMapping("/tShop_info/{id}") |
| | | public String tCityInfo(@PathVariable Integer id, Model model) { |
| | | TStore byId = storeService.getById(id); |
| | | model.addAttribute("item",byId); |
| | | List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0)); |
| | | model.addAttribute("list",list); |
| | | TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, byId.getProvinceCode())); |
| | | List<TCity> list1 = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId,one.getId())); |
| | | CityListQuery cityListQuery = new CityListQuery(); |
| | | cityListQuery.setOffset(1); |
| | | cityListQuery.setLimit(10000); |
| | | cityListQuery.setCityCode(byId.getCityCode()); |
| | | Page<TCityManager> list2 = cityClient.list(cityListQuery); |
| | | model.addAttribute("list1",list1); |
| | | model.addAttribute("list2",list2.getRecords()); |
| | | |
| | | /** |
| | | * 根据场地id 获取锁定列表 |
| | | * |
| | | * @return |
| | | */ |
| | | @RequestMapping("/getSiteLockBySiteId/{id}") |
| | | @ResponseBody |
| | | public Object getSiteLockBySiteId(@PathVariable("id") Integer id){ |
| | | return siteLockClient.getListById(id); |
| | | } |
| | | /** |
| | | * 跳转到场地管理编辑页面 |
| | | */ |
| | | @RequestMapping("/openEditTSite/{id}") |
| | | public String openEditTSite(Model model,@PathVariable("id") Integer id) { |
| | | List<CityManager> province = cityManagerClient.listAll(); |
| | | // 已有城市管理的省 |
| | | ArrayList<String> list1 = new ArrayList<>(); |
| | | // 已有城市管理的市 |
| | | for (CityManager cityManager : province) { |
| | | list1.add(cityManager.getProvince()); |
| | | } |
| | | Integer objectType = UserExt.getUser().getObjectType(); |
| | | Integer objectId = UserExt.getUser().getObjectId(); |
| | | model.addAttribute("userType",objectType); |
| | | HashSet<String> set = new HashSet<String>(list1); |
| | | QueryWrapper<TSiteType> wrapper = new QueryWrapper<>(); |
| | | wrapper.eq("state",1); |
| | | List<TSiteType> siteType = siteTypeService.list(wrapper); |
| | | model.addAttribute("siteType",siteType); |
| | | model.addAttribute("province",set); |
| | | String roleid = UserExt.getUser().getRoleid(); |
| | | model.addAttribute("role",roleid); |
| | | model.addAttribute("time",byId.getStartTime()+" - "+byId.getEndTime()); |
| | | User byId1 = userMapper.selectById(byId.getStoreStaffId()); |
| | | model.addAttribute("city",byId1); |
| | | TSite site = siteService.getOne(new QueryWrapper<TSite>().eq("id", id)); |
| | | List<CityManager> city = cityManagerClient.getAccount(site.getCity()); |
| | | List<CityManager> city1 = cityManagerClient.getCity(site.getProvince()); |
| | | ArrayList<String> strings = new ArrayList<>(); |
| | | for (CityManager cityManager : city) { |
| | | strings.add(cityManager.getCity()); |
| | | } |
| | | HashSet<String> set1 = new HashSet<String>(strings); |
| | | List<Store> stores = new ArrayList<>(); |
| | | if (objectType ==2 ){ |
| | | stores= storeClient.getStoreByCityManagerId(objectId); |
| | | }else if(objectType == 3){ |
| | | stores= storeClient.getStoreByStoreStaffId(objectId);; |
| | | }else{ |
| | | stores = storeClient.getStore(site.getCity()); |
| | | } |
| | | List<CityManager> accounts = cityManagerClient.getAccount(site.getCity()); |
| | | model.addAttribute("list",site); |
| | | Date insuranceEndTime = site.getInsuranceEndTime(); |
| | | String format = new SimpleDateFormat("yyyy-MM-dd").format(insuranceEndTime); |
| | | model.addAttribute("accounts",accounts); |
| | | model.addAttribute("time",format); |
| | | model.addAttribute("city",set1); |
| | | model.addAttribute("city1",city1); |
| | | model.addAttribute("type",1); |
| | | model.addAttribute("objectType",objectType); |
| | | model.addAttribute("objectId",objectId); |
| | | model.addAttribute("stores",stores); |
| | | return PREFIX + "TSite_edit.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到场地锁定页面 |
| | | */ |
| | | @RequestMapping("/lockSite/{id}") |
| | | public String lockSite(Model model,@PathVariable("id") Integer id) { |
| | | DateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd hh:mm"); |
| | | List<TSiteLockDTO> listById = siteLockClient.getListById(id); |
| | | for (TSiteLockDTO tSiteLockDTO : listById) { |
| | | tSiteLockDTO.setSsTime(dateformat.format(tSiteLockDTO.getStartTime())); |
| | | tSiteLockDTO.setEeTime(dateformat.format(tSiteLockDTO.getEndTime())); |
| | | } |
| | | model.addAttribute("id",id); |
| | | model.addAttribute("list",listById); |
| | | return PREFIX + "TSite_lock.html"; |
| | | } |
| | | /** |
| | | * 跳转到场地管理详情页面 |
| | | */ |
| | | @RequestMapping("/openInfoTSite/{id}") |
| | | public String openInfoTSite(Model model,@PathVariable("id") Integer id) { |
| | | List<CityManager> province = cityManagerClient.listAll(); |
| | | // 已有城市管理的省 |
| | | ArrayList<String> list1 = new ArrayList<>(); |
| | | // 已有城市管理的市 |
| | | for (CityManager cityManager : province) { |
| | | list1.add(cityManager.getProvince()); |
| | | } |
| | | Integer objectType = UserExt.getUser().getObjectType(); |
| | | Integer objectId = UserExt.getUser().getObjectId(); |
| | | model.addAttribute("userType",objectType); |
| | | HashSet<String> set = new HashSet<String>(list1); |
| | | QueryWrapper<TSiteType> wrapper = new QueryWrapper<>(); |
| | | wrapper.eq("state",1); |
| | | List<TSiteType> siteType = siteTypeService.list(wrapper); |
| | | model.addAttribute("siteType",siteType); |
| | | model.addAttribute("province",set); |
| | | String roleid = UserExt.getUser().getRoleid(); |
| | | model.addAttribute("role",roleid); |
| | | TSite site = siteService.getOne(new QueryWrapper<TSite>().eq("id", id)); |
| | | List<CityManager> city = cityManagerClient.getAccount(site.getCity()); |
| | | List<CityManager> city1 = cityManagerClient.getCity(site.getProvince()); |
| | | ArrayList<String> strings = new ArrayList<>(); |
| | | for (CityManager cityManager : city) { |
| | | strings.add(cityManager.getCity()); |
| | | } |
| | | HashSet<String> set1 = new HashSet<String>(strings); |
| | | List<Store> stores = new ArrayList<>(); |
| | | if (objectType ==2 ){ |
| | | stores= storeClient.getStoreByCityManagerId(objectId); |
| | | }else if(objectType == 3){ |
| | | stores= storeClient.getStoreByStoreStaffId(objectId);; |
| | | }else{ |
| | | stores = storeClient.getStore(site.getCity()); |
| | | } |
| | | List<CityManager> accounts = cityManagerClient.getAccount(site.getCity()); |
| | | model.addAttribute("list",site); |
| | | Date insuranceEndTime = site.getInsuranceEndTime(); |
| | | String format = new SimpleDateFormat("yyyy-MM-dd").format(insuranceEndTime); |
| | | model.addAttribute("accounts",accounts); |
| | | model.addAttribute("time",format); |
| | | model.addAttribute("city",set1); |
| | | model.addAttribute("city1",city1); |
| | | model.addAttribute("type",0); |
| | | return PREFIX + "tShop_edit.html"; |
| | | model.addAttribute("objectType",objectType); |
| | | model.addAttribute("objectId",objectId); |
| | | model.addAttribute("stores",stores); |
| | | return PREFIX + "TSite_edit.html"; |
| | | } |
| | | @RequestMapping("/tShop_gift/{id}") |
| | | public String tCityGift(@PathVariable Integer id, Model model) { |
| | | TStore byId = storeService.getById(id); |
| | | model.addAttribute("welfarePicture",byId.getWelfarePicture()); |
| | | model.addAttribute("id",id); |
| | | return PREFIX + "tShop_img.html"; |
| | | } |
| | | @RequestMapping("/tShop_indexSet/{id}") |
| | | public String tCityIndexSet(@PathVariable Integer id, Model model) { |
| | | StoreConfig c1 = storeConfigService.getOne(new LambdaQueryWrapper<StoreConfig>().eq(StoreConfig::getStoreId, id).eq(StoreConfig::getType,1)); |
| | | model.addAttribute("c1",c1); |
| | | StoreConfig c2 = storeConfigService.getOne(new LambdaQueryWrapper<StoreConfig>().eq(StoreConfig::getStoreId, id).eq(StoreConfig::getType,2)); |
| | | model.addAttribute("c2",c2); |
| | | StoreConfig c3 = storeConfigService.getOne(new LambdaQueryWrapper<StoreConfig>().eq(StoreConfig::getStoreId, id).eq(StoreConfig::getType,3)); |
| | | model.addAttribute("c3",c3); |
| | | StoreConfig c4 = storeConfigService.getOne(new LambdaQueryWrapper<StoreConfig>().eq(StoreConfig::getStoreId, id).eq(StoreConfig::getType,4)); |
| | | model.addAttribute("c4",c4); |
| | | StoreConfig c5 = storeConfigService.getOne(new LambdaQueryWrapper<StoreConfig>().eq(StoreConfig::getStoreId, id).eq(StoreConfig::getType,5)); |
| | | model.addAttribute("c5",c5); |
| | | StoreConfig c6 = storeConfigService.getOne(new LambdaQueryWrapper<StoreConfig>().eq(StoreConfig::getStoreId, id).eq(StoreConfig::getType,6)); |
| | | model.addAttribute("c6",c6); |
| | | StoreConfig c7 = storeConfigService.getOne(new LambdaQueryWrapper<StoreConfig>().eq(StoreConfig::getStoreId, id).eq(StoreConfig::getType,7)); |
| | | model.addAttribute("c7",c7); |
| | | StoreConfig c8 = storeConfigService.getOne(new LambdaQueryWrapper<StoreConfig>().eq(StoreConfig::getStoreId, id).eq(StoreConfig::getType,8)); |
| | | model.addAttribute("c8",c8); |
| | | model.addAttribute("id",id); |
| | | return PREFIX + "tShop_imgAll.html"; |
| | | } |
| | | |
| | | |
| | | @RequestMapping(value = "/list") |
| | | /** |
| | | * 根据所选门店 获取经营时间 |
| | | */ |
| | | @ResponseBody |
| | | public Object list(String provinceCode, String cityCode , String name, String phone,String shopName) { |
| | | Page<TStoreListVo> page = new PageFactory<TStoreListVo>().defaultPage(); |
| | | List<TStoreListVo> list = storeService.listAll(page,provinceCode,cityCode,name,phone,shopName); |
| | | for (TStoreListVo tStoreListVo : list) { |
| | | TCityManager byId = cityClient.getById(tStoreListVo.getCityManagerId()); |
| | | tStoreListVo.setAccount(byId.getName()+"-"+byId.getPhone()); |
| | | |
| | | } |
| | | page.setRecords(list); |
| | | return super.packForBT(page); |
| | | @GetMapping("/getTime/{oneId}") |
| | | public Store getTime(@PathVariable("oneId") String oneId) { |
| | | return storeClient.getTime(oneId); |
| | | } |
| | | |
| | | |
| | | @RequestMapping(value = "/add") |
| | | /** |
| | | * 场地管理首页 选择省 返回市 |
| | | */ |
| | | @ResponseBody |
| | | public Object list(TStore tStore,String time,String userName,String userPhone) { |
| | | try { |
| | | if(ToolUtil.isNotEmpty(tStore.getProvinceCode())) { |
| | | TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, tStore.getProvinceCode())); |
| | | tStore.setProvince(one.getName()); |
| | | TCity one1 = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, tStore.getCityCode())); |
| | | tStore.setCity(one1.getName()); |
| | | } |
| | | tStore.setStartTime(time.split(" - ")[0]); |
| | | tStore.setEndTime(time.split(" - ")[1]); |
| | | tStore.setState(1); |
| | | User user = new User(); |
| | | List<User> users = userMapper.selectList(new LambdaQueryWrapper<User>().eq(User::getAccount, userPhone)); |
| | | if(users.size()>0){ |
| | | return "5001"; |
| | | } |
| | | user.setAccount(userPhone); |
| | | user.setName(userName); |
| | | user.setRoleid("2"); |
| | | user.setPhone(userPhone); |
| | | user.setPassword(SecureUtil.md5("a123456")); |
| | | userMapper.insert(user); |
| | | tStore.setStoreStaffId(user.getId()); |
| | | storeService.save(tStore); |
| | | |
| | | ArrayList<StoreConfig> storeConfigs = new ArrayList<>(); |
| | | for (int i = 1; i < 9; i++) { |
| | | StoreConfig storeConfig = new StoreConfig(); |
| | | storeConfig.setIsOpen(1); |
| | | storeConfig.setSort(i); |
| | | storeConfig.setType(i); |
| | | storeConfig.setStoreId(tStore.getId()); |
| | | storeConfigs.add(storeConfig); |
| | | } |
| | | storeConfigService.saveBatch(storeConfigs); |
| | | return new SuccessTip<>(); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ERROR; |
| | | } |
| | | @RequestMapping(value = "/getChange") |
| | | public List<Region> getChange(String province) { |
| | | Region name = regionService.getOne(new QueryWrapper<Region>().eq("name", province)); |
| | | return regionService.list(new QueryWrapper<Region>().eq("parent_id", name.getId())); |
| | | } |
| | | |
| | | @RequestMapping(value = "/update") |
| | | /** |
| | | * 添加场地管理 |
| | | */ |
| | | @ResponseBody |
| | | public Object update(TStore tStore,String time,String userName,String userPhone) { |
| | | try { |
| | | TStore byId = storeService.getById(tStore.getId()); |
| | | |
| | | if(ToolUtil.isNotEmpty(tStore.getProvinceCode())) { |
| | | TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, tStore.getProvinceCode())); |
| | | tStore.setProvince(one.getName()); |
| | | TCity one1 = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, tStore.getCityCode())); |
| | | tStore.setCity(one1.getName()); |
| | | } |
| | | tStore.setStartTime(time.split(" - ")[0]); |
| | | tStore.setEndTime(time.split(" - ")[1]); |
| | | if(ToolUtil.isEmpty(tStore.getCoverDrawing())){ |
| | | tStore.setCoverDrawing(byId.getCoverDrawing()); |
| | | } |
| | | User user = userMapper.selectById(byId.getStoreStaffId()); |
| | | List<User> users = userMapper.selectList(new LambdaQueryWrapper<User>().eq(User::getAccount, userPhone).ne(User::getId,tStore.getStoreStaffId())); |
| | | if(users.size()>0){ |
| | | return "5001"; |
| | | } |
| | | user.setAccount(userPhone); |
| | | user.setName(userName); |
| | | user.setPhone(userPhone); |
| | | userMapper.updateById(user); |
| | | storeService.updateById(tStore); |
| | | return new SuccessTip<>(); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ERROR; |
| | | } |
| | | @RequestMapping(value = "/addSite") |
| | | public ResultUtil addSite(@RequestBody Site site) { |
| | | Store store = storeClient.getStoreById(site.getStoreId()); |
| | | String province = store.getProvince(); |
| | | String provinceCode = store.getProvinceCode(); |
| | | String city = store.getCity(); |
| | | String cityCode = store.getCityCode(); |
| | | Integer cityManagerId = store.getCityManagerId(); |
| | | site.setProvince(province); |
| | | site.setProvinceCode(provinceCode); |
| | | site.setCity(city); |
| | | site.setCityCode(cityCode); |
| | | site.setCityManagerId(cityManagerId); |
| | | site.setInsertTime(new Date()); |
| | | site.setState(1); |
| | | siteClient.addSite(site); |
| | | return ResultUtil.success("添加成功"); |
| | | } |
| | | /** |
| | | * 编辑场地管理 |
| | | */ |
| | | @ResponseBody |
| | | @RequestMapping(value = "/updateSite") |
| | | public ResultUtil updateSite(@RequestBody Site site) { |
| | | if(site.getInsuranceImg().equals("")){ |
| | | site.setInsuranceImg(null); |
| | | } |
| | | Store store = storeClient.getStoreById(site.getStoreId()); |
| | | |
| | | String province = store.getProvince(); |
| | | String provinceCode = store.getProvinceCode(); |
| | | String city = store.getCity(); |
| | | String cityCode = store.getCityCode(); |
| | | Integer cityManagerId = store.getCityManagerId(); |
| | | |
| | | site.setProvince(province); |
| | | site.setProvinceCode(provinceCode); |
| | | site.setCity(city); |
| | | site.setCityCode(cityCode); |
| | | site.setCityManagerId(cityManagerId); |
| | | |
| | | site.setInsertTime(new Date()); |
| | | site.setState(1); |
| | | siteClient.addSite(site); |
| | | return ResultUtil.success(); |
| | | } |
| | | /** |
| | | * 场地管理添加页面选择省 展示市 |
| | | */ |
| | | @RequestMapping(value = "/getCity") |
| | | @ResponseBody |
| | | public List<CityManager> getCity(String province) { |
| | | |
| | | return cityManagerClient.getCity(province); |
| | | } |
| | | /** |
| | | * 查询场地管理列表 |
| | | */ |
| | | @RequestMapping(value= "/listAll") |
| | | @ResponseBody |
| | | public List<TSiteDTO> listAll(String province,String city,String storeName,Integer siteTypeId,String name) { |
| | | // 对象类型 |
| | | Integer type = UserExt.getUser().getObjectType(); |
| | | // 对象类型Id |
| | | Integer objectId = UserExt.getUser().getObjectId(); |
| | | SiteSearchVO vo = new SiteSearchVO(); |
| | | vo.setProvince(province); |
| | | vo.setCity(city); |
| | | vo.setStoreName(storeName); |
| | | vo.setSiteTypeId(siteTypeId); |
| | | vo.setName(name); |
| | | vo.setObjectType(type); |
| | | vo.setObjectId(objectId); |
| | | return siteClient.listAll(vo); |
| | | } |
| | | /** |
| | | * 查询场地管理列表 |
| | | */ |
| | | @RequestMapping(value= "/listExipre") |
| | | @ResponseBody |
| | | public List<TSiteDTO> listExipre(String province,String city,String storeName,Integer siteTypeId,String name) { |
| | | // 对象类型 |
| | | Integer type = UserExt.getUser().getObjectType(); |
| | | // 对象类型Id |
| | | Integer objectId = UserExt.getUser().getObjectId(); |
| | | ExpireSiteSearchVO vo = new ExpireSiteSearchVO(); |
| | | vo.setProvince(province); |
| | | vo.setCity(city); |
| | | vo.setStoreName(storeName); |
| | | vo.setSiteTypeId(siteTypeId); |
| | | vo.setName(name); |
| | | vo.setObjectType(type); |
| | | vo.setObjectId(objectId); |
| | | return siteClient.listExipre(vo); |
| | | } |
| | | |
| | | /** |
| | | * 跳转到添加场地管理 |
| | | */ |
| | | @RequestMapping("/add") |
| | | public String tCompetitionAdd(Model model) { |
| | | List<CityManager> province = cityManagerClient.listAll(); |
| | | // 已有城市管理的省 |
| | | ArrayList<String> list1 = new ArrayList<>(); |
| | | // 已有城市管理的市 |
| | | ArrayList<String> list2 = new ArrayList<>(); |
| | | for (CityManager cityManager : province) { |
| | | list1.add(cityManager.getProvince()); |
| | | list2.add(cityManager.getCity()); |
| | | } |
| | | Integer objectType = UserExt.getUser().getObjectType(); |
| | | Integer objectId = UserExt.getUser().getObjectId(); |
| | | List<Store> stores = new ArrayList<>(); |
| | | if (objectType ==2 ){ |
| | | stores= storeClient.getStoreByCityManagerId(objectId); |
| | | }else if(objectType == 3){ |
| | | stores= storeClient.getStoreByStoreStaffId(objectId);; |
| | | } |
| | | model.addAttribute("userType",objectType); |
| | | HashSet<String> set = new HashSet<String>(list1); |
| | | QueryWrapper<TSiteType> wrapper = new QueryWrapper<>(); |
| | | wrapper.eq("state",1); |
| | | List<TSiteType> siteType = siteTypeService.list(wrapper); |
| | | model.addAttribute("siteType",siteType); |
| | | model.addAttribute("province",set); |
| | | model.addAttribute("city",list2); |
| | | String roleid = UserExt.getUser().getRoleid(); |
| | | model.addAttribute("role",roleid); |
| | | model.addAttribute("objectType",objectType); |
| | | model.addAttribute("objectId",objectId); |
| | | model.addAttribute("stores",stores); |
| | | return PREFIX + "tSite_add.html"; |
| | | } |
| | | |
| | | // /** |
| | | // * 跳转到场地管理页面 |
| | | // */ |
| | | // @RequestMapping("/add") |
| | | // public String tCompetitionAdd(Model model) { |
| | | // List<CityManager> province = cityManagerClient.listAll(); |
| | | // // 已有城市管理的省 |
| | | // ArrayList<String> list1 = new ArrayList<>(); |
| | | // // 已有城市管理的市 |
| | | // ArrayList<String> list2 = new ArrayList<>(); |
| | | // for (CityManager cityManager : province) { |
| | | // list1.add(cityManager.getProvince()); |
| | | // list2.add(cityManager.getCity()); |
| | | // } |
| | | // Integer objectType = UserExt.getUser().getObjectType(); |
| | | // Integer objectId = UserExt.getUser().getObjectId(); |
| | | // List<Store> stores = new ArrayList<>(); |
| | | // if (objectType ==2 ){ |
| | | // stores= storeClient.getStoreByCityManagerId(objectId); |
| | | // }else if(objectType == 3){ |
| | | // stores= storeClient.getStoreByStoreStaffId(objectId);; |
| | | // } |
| | | // model.addAttribute("userType",objectType); |
| | | // HashSet<String> set = new HashSet<String>(list1); |
| | | // QueryWrapper<TSiteType> wrapper = new QueryWrapper<>(); |
| | | // wrapper.eq("state",1); |
| | | // List<TSiteType> siteType = siteTypeService.list(wrapper); |
| | | // model.addAttribute("siteType",siteType); |
| | | // model.addAttribute("province",set); |
| | | // model.addAttribute("city",list2); |
| | | // String roleid = UserExt.getUser().getRoleid(); |
| | | // model.addAttribute("role",roleid); |
| | | // model.addAttribute("objectType",objectType); |
| | | // model.addAttribute("objectId",objectId); |
| | | // model.addAttribute("stores",stores); |
| | | // return PREFIX + "tSite_add.html"; |
| | | // } |
| | | |
| | | |
| | | @RequestMapping(value = "/onChange") |
| | | @ResponseBody |
| | | public Object onChange(Integer oneId) { |
| | |
| | | return ERROR; |
| | | } |
| | | } |
| | | @RequestMapping(value = "/saveImgAll") |
| | | |
| | | // 选择市后 获取对应账号 |
| | | @RequestMapping(value = "/accountChangeNext") |
| | | @ResponseBody |
| | | public Object saveImgAll(Integer id,Integer px1,Integer px2,Integer px3,Integer px4,Integer px5,Integer px6,Integer px7,Integer px8, |
| | | String c1,String c2,String c3,String c4,String c5,String c6,String c7,String c8, |
| | | Integer r1,Integer r2,Integer r3,Integer r4,Integer r5,Integer r6,Integer r7,Integer r8) { |
| | | try { |
| | | ArrayList<StoreConfig> storeConfigs = new ArrayList<>(); |
| | | StoreConfig collect1 = collect(id, px1, r1, c1, 1); |
| | | StoreConfig collect2 = collect(id, px2, r2, c2, 2); |
| | | StoreConfig collect3 = collect(id, px3, r3, c3, 3); |
| | | StoreConfig collect4 = collect(id, px4, r4, c4, 4); |
| | | StoreConfig collect5 = collect(id, px5, r5, c5, 5); |
| | | StoreConfig collect6 = collect(id, px6, r6, c6, 6); |
| | | StoreConfig collect7 = collect(id, px7, r7, c7, 7); |
| | | StoreConfig collect8 = collect(id, px8, r8, c8, 8); |
| | | storeConfigs.add(collect1); |
| | | storeConfigs.add(collect2); |
| | | storeConfigs.add(collect3); |
| | | storeConfigs.add(collect4); |
| | | storeConfigs.add(collect5); |
| | | storeConfigs.add(collect6); |
| | | storeConfigs.add(collect7); |
| | | storeConfigs.add(collect8); |
| | | storeConfigService.updateBatchById(storeConfigs); |
| | | return new SuccessTip<>(); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ERROR; |
| | | } |
| | | public Object accountChangeNext(String oneId) { |
| | | |
| | | return cityManagerClient.getAccount(oneId); |
| | | } |
| | | |
| | | private StoreConfig collect(Integer id,Integer sort,Integer isOpen,String img,int type){ |
| | | StoreConfig one = storeConfigService.getOne(new LambdaQueryWrapper<StoreConfig>().eq(StoreConfig::getStoreId, id).eq(StoreConfig::getType, type)); |
| | | one.setSort(sort); |
| | | one.setIsOpen(isOpen); |
| | | if(ToolUtil.isNotEmpty(img)){ |
| | | one.setBackgroundImage(img); |
| | | } |
| | | return one; |
| | | } |
| | | @RequestMapping(value = "/oneChangeNext") |
| | | // 选择市后 获取对应门店 |
| | | @RequestMapping(value = "/storeChangeNext") |
| | | @ResponseBody |
| | | public Object oneChangeNext(String oneId) { |
| | | |
| | | try { |
| | | CityListQuery cityListQuery = new CityListQuery(); |
| | | cityListQuery.setCityCode(oneId); |
| | | cityListQuery.setOffset(1); |
| | | cityListQuery.setLimit(100000); |
| | | Page<TCityManager> list = cityClient.list(cityListQuery); |
| | | List<TCityManager> records = list.getRecords(); |
| | | for (TCityManager record : records) { |
| | | record.setName(record.getName()+"-"+record.getPhone()); |
| | | } |
| | | return records; |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ERROR; |
| | | public Object storeChangeNext(String oneId) { |
| | | if (oneId.equals("")){ |
| | | return null; |
| | | } |
| | | return storeClient.getStore(oneId); |
| | | } |
| | | |
| | | |
| | | |
| | | @RequestMapping(value = "/cancel") |
| | |
| | | return ERROR; |
| | | } |
| | | } |
| | | |
| | | @RequestMapping(value = "/freeze") |
| | | @ResponseBody |
| | | public Object freeze(Integer id) { |
| | | try { |
| | | TStore byId = storeService.getById(id); |
| | | byId.setState(2); |
| | | storeService.updateById(byId); |
| | | return SUCCESS_TIP; |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ERROR; |
| | | } |
| | | } |
| | | @RequestMapping(value = "/unfreeze") |
| | | @ResponseBody |
| | | public Object unfreeze(Integer id) { |
| | | try { |
| | | TStore byId = storeService.getById(id); |
| | | byId.setState(1); |
| | | storeService.updateById(byId); |
| | | return SUCCESS_TIP; |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ERROR; |
| | | } |
| | | } |
| | | |
| | | @RequestMapping(value = "/pwd") |
| | | @ResponseBody |
| | | public Object pwd(Integer id) { |
| | | try { |
| | | TStore byId = storeService.getById(id); |
| | | User user = userMapper.selectById(byId.getStoreStaffId()); |
| | | user.setPassword(SecureUtil.md5("a123456")); |
| | | userMapper.updateById(user); |
| | | return SUCCESS_TIP; |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return ERROR; |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | package com.dsh.guns.modular.system.controller.code; |
| | | |
| | | |
| | | import com.dsh.course.feignClient.activity.BenefitsVideoClient; |
| | | import com.dsh.course.feignClient.activity.model.BenefitsVedioChangeStateVO; |
| | | import com.dsh.course.feignClient.activity.model.BenefitsVideoClassification; |
| | | import com.dsh.course.feignClient.activity.model.BenefitsVideos; |
| | | import com.dsh.course.feignClient.activity.model.QueryBenefitsVedioVO; |
| | | import com.dsh.course.feignClient.course.CourseClient; |
| | | import com.dsh.course.feignClient.course.model.CourseChangeStateDTO; |
| | | import com.dsh.guns.config.UserExt; |
| | | import com.dsh.guns.modular.system.model.TCourse; |
| | | import com.dsh.guns.modular.system.model.TQueryBenefitsVO; |
| | | import com.dsh.guns.modular.system.model.TQueryBenefitsVideosDTO; |
| | | import com.dsh.guns.modular.system.model.TQueryBenefitsVideosVO; |
| | | import com.dsh.guns.modular.system.util.ResultUtil; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.ui.Model; |
| | | import org.springframework.web.bind.annotation.PathVariable; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.ResponseBody; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 福利视频分类 控制器 |
| | | */ |
| | | |
| | | @Controller |
| | | @RequestMapping("/tWelfareVideo") |
| | | @RequestMapping("/benefits") |
| | | public class TWelfareVideoController { |
| | | |
| | | private String PREFIX = "/system/tWelfareVideo/"; |
| | | |
| | | private String PREFIX = "/system/benefits/"; |
| | | @Autowired |
| | | private BenefitsVideoClient benefitsVideoClient; |
| | | @Autowired |
| | | private CourseClient courseClient; |
| | | /** |
| | | * 优惠券审核列表页 |
| | | * 跳转福利视频分类首页 |
| | | */ |
| | | @RequestMapping("") |
| | | |
| | | public String index(Model model) { |
| | | return PREFIX + "TWelfareVideo.html"; |
| | | return PREFIX + "TBenefits.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转福利视频分类添加页面 |
| | | */ |
| | | @RequestMapping("/add") |
| | | |
| | | public String add(Model model) { |
| | | return PREFIX + "TBenefits_add.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转福利视频分类编辑页面--查看详情 |
| | | */ |
| | | @RequestMapping("/info/{id}") |
| | | public String info(Model model, @PathVariable("id") Integer id) { |
| | | BenefitsVideoClassification data = benefitsVideoClient.getById(id); |
| | | model.addAttribute("data",data); |
| | | model.addAttribute("type",1); |
| | | return PREFIX + "TBenefits_edit.html"; |
| | | } |
| | | /** |
| | | * 跳转福利视频分类编辑页面 |
| | | */ |
| | | @RequestMapping("/update/{id}") |
| | | public String update(Model model, @PathVariable("id") Integer id) { |
| | | BenefitsVideoClassification data = benefitsVideoClient.getById(id); |
| | | model.addAttribute("data",data); |
| | | model.addAttribute("type",0); |
| | | return PREFIX + "TBenefits_edit.html"; |
| | | } |
| | | /** |
| | | * 跳转视频详情页面 |
| | | */ |
| | | @RequestMapping("/getBenefitsVideos/{courseId}") |
| | | public String getBenefitsVideos(Model model, @PathVariable("courseId") Integer id) { |
| | | model.addAttribute("id",id); |
| | | return PREFIX + "TBenefitsVideos.html"; |
| | | } |
| | | /** |
| | | * 跳转视频详情添加页面 |
| | | * @param id 福利视频分类id |
| | | */ |
| | | @RequestMapping("/addBenefitsVideos/{id}") |
| | | public String addBenefitsVideos(Model model,@PathVariable("id")Integer id) { |
| | | model.addAttribute("id",id); |
| | | List<BenefitsVideos> benefitVideoById = benefitsVideoClient.getBenefitVideoById(id); |
| | | // // 所选福利视频分类下的视频的courseId集合 |
| | | // List<Integer> list = new ArrayList<>(); |
| | | // for (BenefitsVideos benefitsVideos : benefitVideoById) { |
| | | // list.add(benefitsVideos.getCourseId()); |
| | | // } |
| | | TQueryBenefitsVideosDTO dto = new TQueryBenefitsVideosDTO(); |
| | | // dto.setCoursIds(list); |
| | | List<TQueryBenefitsVideosVO> courseByCourseIds = courseClient.getCourseByCourseIds(dto); |
| | | List<TQueryBenefitsVideosVO> tQueryBenefitsVideosVOS = new ArrayList<>(); |
| | | for (TQueryBenefitsVideosVO courseByCourseId : courseByCourseIds) { |
| | | if (courseByCourseId.getType()!=1){ |
| | | tQueryBenefitsVideosVOS.add(courseByCourseId); |
| | | } |
| | | } |
| | | model.addAttribute("data",tQueryBenefitsVideosVOS); |
| | | return PREFIX + "TBenefitsVideos_add.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转视频详情编辑页面 |
| | | */ |
| | | @RequestMapping("/infoBenefitsVideos/{id}/{type}/{benefitsVideosId}") |
| | | public String infoBenefitsVideos(Model model, @PathVariable("id") Integer id,@PathVariable("type") Integer type,@PathVariable("benefitsVideosId") Integer benefitsVideosId) { |
| | | TQueryBenefitsVideosVO tQueryBenefitsVideosVO = new TQueryBenefitsVideosVO(); |
| | | BenefitsVideos benefitVideosById = benefitsVideoClient.getBenefitVideosById(benefitsVideosId); |
| | | TCourse tCourse = courseClient.queryCourseById(id); |
| | | BeanUtils.copyProperties(tCourse,tQueryBenefitsVideosVO); |
| | | tQueryBenefitsVideosVO.setIntegral(benefitVideosById.getIntegral()); |
| | | tQueryBenefitsVideosVO.setBenefitsVideosId(benefitVideosById.getId()); |
| | | model.addAttribute("data",tQueryBenefitsVideosVO); |
| | | model.addAttribute("type",type); |
| | | return PREFIX + "TBenefitsVideos_edit.html"; |
| | | } |
| | | |
| | | /** |
| | | * 根据所选视频 获取视频封面用于前端显示 |
| | | */ |
| | | @RequestMapping("/getCoverDrawing/{id}") |
| | | @ResponseBody |
| | | public TCourse infoBenefitsVideos( @PathVariable("id") Integer id) { |
| | | TCourse tCourse = courseClient.queryCourseById(id); |
| | | return tCourse; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询福利视频分类列表 |
| | | */ |
| | | @RequestMapping(value= "/list") |
| | | @ResponseBody |
| | | public List<TQueryBenefitsVO> listAll(String name, Integer position) { |
| | | // 对象类型 |
| | | Integer type = UserExt.getUser().getObjectType(); |
| | | // 对象类型Id |
| | | Integer objectId = UserExt.getUser().getObjectId(); |
| | | QueryBenefitsVedioVO vo = new QueryBenefitsVedioVO(); |
| | | vo.setName(name); |
| | | vo.setPosition(position); |
| | | return benefitsVideoClient.listAll(vo); |
| | | } |
| | | |
| | | /** |
| | | * 查询视频详情列表 |
| | | */ |
| | | @RequestMapping(value= "/listBenefitsVideos/{id}") |
| | | @ResponseBody |
| | | public List<TQueryBenefitsVideosVO> listBenefitsVideos(@PathVariable("id")Integer bId, String name, Integer type, Integer state) { |
| | | TQueryBenefitsVideosDTO vo = new TQueryBenefitsVideosDTO(); |
| | | List<BenefitsVideos> benefitVideoById = benefitsVideoClient.getBenefitVideoById(bId); |
| | | vo.setCoursIds(new ArrayList<>()); |
| | | for (BenefitsVideos benefitsVideos : benefitVideoById) { |
| | | // 获取课程id集合 |
| | | vo.getCoursIds().add(benefitsVideos.getCourseId()); |
| | | } |
| | | if (benefitVideoById.size()==0){ |
| | | return new ArrayList<>(); |
| | | } |
| | | vo.setName(name); |
| | | vo.setType(type); |
| | | vo.setState(state); |
| | | List<TQueryBenefitsVideosVO> courseByCourseIds = courseClient.getCourseByCourseIds(vo); |
| | | for (BenefitsVideos benefitsVideos : benefitVideoById) { |
| | | for (TQueryBenefitsVideosVO courseByCourseId : courseByCourseIds) { |
| | | if (benefitsVideos.getCourseId() == courseByCourseId.getId()){ |
| | | courseByCourseId.setIntegral(benefitsVideos.getIntegral()); |
| | | courseByCourseId.setBenefitsVideosId(benefitsVideos.getId()); |
| | | } |
| | | } |
| | | } |
| | | return courseByCourseIds; |
| | | } |
| | | /** |
| | | * 添加福利视频分类 |
| | | */ |
| | | @RequestMapping(value= "/addBenefits") |
| | | @ResponseBody |
| | | public Object addBenefits(@RequestBody BenefitsVideoClassification bvcf) { |
| | | bvcf.setState(1); |
| | | bvcf.setInsertTime(new Date()); |
| | | return benefitsVideoClient.addSite(bvcf); |
| | | } |
| | | |
| | | /** |
| | | * 添加视频详情 |
| | | */ |
| | | @RequestMapping(value= "/addBenefitsVideos") |
| | | @ResponseBody |
| | | public Object addBenefitsVideos(@RequestBody BenefitsVideos bvcf) { |
| | | if (bvcf.getId()!=null){ |
| | | return benefitsVideoClient.addBenefitsVideos(bvcf); |
| | | }else { |
| | | bvcf.setState(1); |
| | | bvcf.setInsertTime(new Date()); |
| | | return benefitsVideoClient.addBenefitsVideos(bvcf); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 福利视频分类上/下架 1为上架 2为下架 3为删除 |
| | | * |
| | | * @return |
| | | */ |
| | | @RequestMapping("/changeState") |
| | | @ResponseBody |
| | | public Object changeState(@RequestBody BenefitsVedioChangeStateVO vo){ |
| | | benefitsVideoClient.changeState(vo); |
| | | return ResultUtil.success(); |
| | | } |
| | | |
| | | /** |
| | | * 视频详情上/下架 1为上架 2为下架 3为删除 |
| | | * |
| | | * @return |
| | | */ |
| | | @RequestMapping("/changeCourseState") |
| | | @ResponseBody |
| | | public Object changeCourseState(@RequestBody CourseChangeStateDTO dto){ |
| | | courseClient.changeState(dto); |
| | | return ResultUtil.success(); |
| | | } |
| | | |
| | | } |
| | |
| | | User byId = userService.getById(user.getId()); |
| | | //获取用户头像 Obtain user profile |
| | | String avatar = byId.getAvatar(); |
| | | Integer objectType = user.getObjectType(); |
| | | |
| | | model.addAttribute("roleNames", role.getName()); |
| | | model.addAttribute("language", language); |
| | | model.addAttribute("avatar", avatar); |
| | |
| | | return "/index.html"; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 跳转到登录页面 |
| | | * 跳转到场地管理页面 |
| | | */ |
| | | @RequestMapping(value = "/login", method = RequestMethod.GET) |
| | | public String login() { |
| | |
| | | return "/login.html" ; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 点击登录执行的动作 |
| | | */ |
| | |
| | | return pictureName; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * UEditor编辑器上传图片 |
| | | */ |
| | |
| | | * @Date 2023/02/15 9:42 |
| | | */ |
| | | public enum RuleStatusEnum { |
| | | |
| | | NOT_START(1, "未开始"), |
| | | STARTED(2, "已开始"), |
| | | ENDED(3, "已结束"), |
New file |
| | |
| | | package com.dsh.guns.modular.system.model; |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | public class CoachChangeStateVO { |
| | | private List<Integer> ids; |
| | | private Integer state; |
| | | } |
New file |
| | |
| | | package com.dsh.guns.modular.system.model; |
| | | |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class CoachQuery { |
| | | private String province; |
| | | private String city; |
| | | private String name; |
| | | private String phone; |
| | | // 编辑页面回显使用 |
| | | private Integer id; |
| | | } |
New file |
| | |
| | | package com.dsh.guns.modular.system.model; |
| | | |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class ExpireSiteSearchVO { |
| | | /** |
| | | * 省 |
| | | */ |
| | | private String province; |
| | | /** |
| | | * 市 |
| | | */ |
| | | private String city; |
| | | |
| | | /** |
| | | * 门店名称 |
| | | */ |
| | | private String storeName; |
| | | |
| | | /** |
| | | * 场地类型 |
| | | */ |
| | | private Integer siteTypeId; |
| | | |
| | | /** |
| | | * 场地名称 |
| | | */ |
| | | private String name; |
| | | /** |
| | | * 对象类型(1=平台,2=城市管理员,3=门店) |
| | | */ |
| | | private Integer objectType; |
| | | |
| | | private Integer objectId; |
| | | |
| | | // 登陆人类型 |
| | | private Integer typeId ; |
| | | |
| | | } |
New file |
| | |
| | | package com.dsh.guns.modular.system.model; |
| | | |
| | | |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class SiteSearchVO { |
| | | /** |
| | | * 省 |
| | | */ |
| | | private String province; |
| | | /** |
| | | * 市 |
| | | */ |
| | | private String city; |
| | | |
| | | /** |
| | | * 门店名称 |
| | | */ |
| | | private String storeName; |
| | | |
| | | /** |
| | | * 场地类型 |
| | | */ |
| | | private Integer siteTypeId; |
| | | |
| | | /** |
| | | * 场地名称 |
| | | */ |
| | | private String name; |
| | | /** |
| | | * 对象类型(1=平台,2=城市管理员,3=门店) |
| | | */ |
| | | private Integer objectType; |
| | | |
| | | private Integer objectId; |
| | | } |
New file |
| | |
| | | package com.dsh.guns.modular.system.model; |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.baomidou.mybatisplus.extension.activerecord.Model; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | |
| | | /** |
| | | * <p> |
| | | * 门店信息 |
| | | * </p> |
| | | * |
| | | * @author jqs |
| | | * @since 2023-06-14 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_store") |
| | | public class Store extends Model<Store> { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | /** |
| | | * 门店名称 |
| | | */ |
| | | @TableField("name") |
| | | private String name; |
| | | /** |
| | | * 门店店长id |
| | | */ |
| | | @TableField("storeStaffId") |
| | | private Integer storeStaffId; |
| | | /** |
| | | * 城市管理员id |
| | | */ |
| | | @TableField("cityManagerId") |
| | | private Integer cityManagerId; |
| | | /** |
| | | * 省 |
| | | */ |
| | | @TableField("province") |
| | | private String province; |
| | | /** |
| | | * 省编号 |
| | | */ |
| | | @TableField("provinceCode") |
| | | private String provinceCode; |
| | | /** |
| | | * 市 |
| | | */ |
| | | @TableField("city") |
| | | private String city; |
| | | /** |
| | | * 市编号 |
| | | */ |
| | | @TableField("cityCode") |
| | | private String cityCode; |
| | | /** |
| | | * 联系电话 |
| | | */ |
| | | @TableField("phone") |
| | | private String phone; |
| | | /** |
| | | * 详细地址 |
| | | */ |
| | | @TableField("address") |
| | | private String address; |
| | | /** |
| | | * 纬度 |
| | | */ |
| | | @TableField("lat") |
| | | private String lat; |
| | | /** |
| | | * 经度 |
| | | */ |
| | | @TableField("lon") |
| | | private String lon; |
| | | /** |
| | | * 营业开始时间 |
| | | */ |
| | | @TableField("startTime") |
| | | private String startTime; |
| | | /** |
| | | * 营业结束时间 |
| | | */ |
| | | @TableField("endTime") |
| | | private String endTime; |
| | | /** |
| | | * 封面图 |
| | | */ |
| | | @TableField("coverDrawing") |
| | | private String coverDrawing; |
| | | /** |
| | | * 实景图 |
| | | */ |
| | | @TableField("realPicture") |
| | | private String realPicture; |
| | | /** |
| | | * 门店介绍 |
| | | */ |
| | | @TableField("introduce") |
| | | private String introduce; |
| | | /** |
| | | * 福利图片 |
| | | */ |
| | | @TableField("welfarePicture") |
| | | private String welfarePicture; |
| | | /** |
| | | * 评分 |
| | | */ |
| | | @TableField("score") |
| | | private BigDecimal score; |
| | | /** |
| | | * 状态(1=正常,2=冻结,3=删除) |
| | | */ |
| | | @TableField("state") |
| | | private Integer state; |
| | | |
| | | |
| | | @Override |
| | | protected Serializable pkVal() { |
| | | return this.id; |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | package com.dsh.guns.modular.system.model; |
| | | |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * 福利视频分类列表查询返回VO |
| | | */ |
| | | @Data |
| | | public class TQueryBenefitsVO { |
| | | private Integer id; |
| | | private String name; |
| | | // 位置(1=线上课得积分,2=看视频得奖励) |
| | | private Integer position; |
| | | private Integer sort; |
| | | private Integer count; |
| | | private Integer state; |
| | | private Integer courseId; |
| | | } |
New file |
| | |
| | | package com.dsh.guns.modular.system.model; |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 接收视频详情列表查询参数DTO |
| | | */ |
| | | @Data |
| | | public class TQueryBenefitsVideosDTO { |
| | | // 课程id |
| | | private List<Integer> coursIds; |
| | | // 视频名称 |
| | | private String name; |
| | | // 视频类型 |
| | | private Integer type; |
| | | // 1上架 2下架 3已失效 |
| | | private Integer state; |
| | | } |
New file |
| | |
| | | package com.dsh.guns.modular.system.model; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * 视频详情列表查询返回VO |
| | | */ |
| | | @Data |
| | | public class TQueryBenefitsVideosVO { |
| | | private Integer id; |
| | | private String name; |
| | | private String introduce; |
| | | private String coverDrawing; |
| | | private String introductionDrawing; |
| | | private String courseVideo; |
| | | private Integer state; |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
| | | private Date insertTime; |
| | | private Integer integral; |
| | | private Integer type; |
| | | private Integer benefitsVideosId; |
| | | |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | |
| | | * 场地责任险有效期 |
| | | */ |
| | | @TableField("insuranceEndTime") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date insuranceEndTime; |
| | | /** |
| | | * 场地责任险图片 |
| | |
| | | * 添加时间 |
| | | */ |
| | | @TableField("insertTime") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date insertTime; |
| | | } |
| | |
| | | </nav>--> |
| | | <button class="roll-nav roll-right J_tabRight"><i class="fa fa-forward"></i> |
| | | </button> |
| | | |
| | | <div class="btn-group roll-nav roll-right"> |
| | | <button class="dropdown J_tabClose" data-toggle="dropdown">关闭操作<span class="caret"></span> |
| | | |
| | | </button> |
| | | <ul role="menu" class="dropdown-menu dropdown-menu-right"> |
| | | <li class="J_tabShowActive"><a>定位当前选项卡</a> |
| | |
| | | <div class="pull-right">© 2019-2023 <a href="#" onclick="return false" target="_blank">玩湃</a> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/js/common/Feng.js"></script> |
| | | <script type="text/javascript"> |
| | | function getSite(){ |
| | | // var ajax = new $ax(Feng.ctxPath + "/tSite/expireInsuranceEndTime", function(data){ |
| | | // }); |
| | | // ajax.start(); |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/tSite/expireInsuranceEndTime", |
| | | type: "POST", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | success: function(response) { |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | } |
| | | }); |
| | | } |
| | | </script> |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <style> |
| | | .data-item { |
| | | position: relative; |
| | | border: 1px solid #ccc; |
| | | padding: 10px; |
| | | margin-bottom: 10px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | max-width: 200px; |
| | | margin-right: 10px; |
| | | } |
| | | |
| | | .delete-button { |
| | | position: absolute; |
| | | top: -10px; |
| | | right: -10px; |
| | | cursor: pointer; |
| | | color: black; |
| | | width: 20px; |
| | | height: 20px; |
| | | text-align: center; |
| | | line-height: 20px; |
| | | border-radius: 50%; |
| | | } |
| | | </style> |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <h5>视频分类管理</h5> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | <div class="row"> |
| | | <div class="col-sm-3"> |
| | | <#NameCon id="name" name="分类名称" /> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#SelectCon id="position" name="所在位置" > |
| | | <option value="">全部</option> |
| | | <option value="1">线上课得积分</option> |
| | | <option value="2">看视频得奖励</option> |
| | | </#SelectCon> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#button name="搜索" icon="fa-search" clickFun="TQuestion.search()"/> |
| | | <#button name="重置" icon="fa-trash" clickFun="TQuestion.resetSearch()"/> |
| | | </div> |
| | | </div> |
| | | <div class="hidden-xs" id="TCouponTableToolbar" role="group"> |
| | | <#button name="添加" icon="fa-plus" clickFun="TQuestion.openAdd()"/> |
| | | <#button name="编辑" icon="fa-edit" clickFun="TQuestion.openChange()" space="true"/> |
| | | <#button name="删除" icon="fa-remove" clickFun="TQuestion.delete()" space="true"/> |
| | | <#button name="上架" icon="fa-check" clickFun="TQuestion.onShelf()" space="true"/> |
| | | <#button name="下架" icon="fa-remove" clickFun="TQuestion.offShelf()" space="true"/> |
| | | <#button name="查看详情" icon="fa-search" clickFun="TQuestion.getInfo()" space="true"/> |
| | | <#button name="视频详情" icon="fa-search" clickFun="TQuestion.getInfo()" space="true"/> |
| | | </div> |
| | | <#table id="TQuestionTable"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/modular/system/benefits/TBenefits.js"></script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <style> |
| | | .data-item { |
| | | position: relative; |
| | | border: 1px solid #ccc; |
| | | padding: 10px; |
| | | margin-bottom: 10px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | max-width: 200px; |
| | | margin-right: 10px; |
| | | } |
| | | |
| | | .delete-button { |
| | | position: absolute; |
| | | top: -10px; |
| | | right: -10px; |
| | | cursor: pointer; |
| | | color: black; |
| | | width: 20px; |
| | | height: 20px; |
| | | text-align: center; |
| | | line-height: 20px; |
| | | border-radius: 50%; |
| | | } |
| | | </style> |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <div class="ibox float-e-margins"> |
| | | <input hidden id="id" value="${id}"> |
| | | <div class="ibox-title"> |
| | | <h5>视频详情</h5> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | <div class="row"> |
| | | <div class="col-sm-3"> |
| | | <#NameCon id="name" name="视频名称" /> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#SelectCon id="position" name="视频类型" > |
| | | <option value="">全部</option> |
| | | <option value="2">运动教学视频</option> |
| | | <option value="3">器材教学视频</option> |
| | | </#SelectCon> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#SelectCon id="state" name="状态" > |
| | | <option value="">全部</option> |
| | | <option value="1">上架</option> |
| | | <option value="2">下架</option> |
| | | <option value="3">已失效</option> |
| | | </#SelectCon> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#button name="搜索" icon="fa-search" clickFun="TQuestion.search()"/> |
| | | <#button name="重置" icon="fa-trash" clickFun="TQuestion.resetSearch()"/> |
| | | </div> |
| | | </div> |
| | | <div class="hidden-xs" id="TCouponTableToolbar" role="group"> |
| | | <#button name="添加" icon="fa-plus" clickFun="TQuestion.openAdd()"/> |
| | | <#button name="编辑" icon="fa-edit" clickFun="TQuestion.openChange()" space="true"/> |
| | | <#button name="删除" icon="fa-remove" clickFun="TQuestion.delete()" space="true"/> |
| | | <#button name="上架" icon="fa-check" clickFun="TQuestion.onShelf()" space="true"/> |
| | | <#button name="下架" icon="fa-remove" clickFun="TQuestion.offShelf()" space="true"/> |
| | | <#button name="查看详情" icon="fa-search" clickFun="TQuestion.getInfo()" space="true"/> |
| | | </div> |
| | | <#table id="TQuestionTable"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/modular/system/benefits/tBenefitsVideos.js"></script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <style> |
| | | .avatar-uploader .el-upload { |
| | | border: 1px dashed #d9d9d9; |
| | | border-radius: 6px; |
| | | cursor: pointer; |
| | | position: relative; |
| | | height: 100px; |
| | | width: 100px; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .avatar-uploader .el-upload:hover { |
| | | border-color: #409EFF; |
| | | } |
| | | .avatar-uploader-icon { |
| | | font-size: 28px; |
| | | color: #8c939d; |
| | | width: 100px; |
| | | height: 100px; |
| | | line-height: 100px; |
| | | margin-top: 32px; |
| | | text-align: center; |
| | | } |
| | | .avatar { |
| | | width: 100px; |
| | | height: 100px; |
| | | display: block; |
| | | } |
| | | |
| | | .col-sm-12 { |
| | | margin-top: 20px; |
| | | } |
| | | |
| | | .col-sm-12 select { |
| | | height: 33px; |
| | | } |
| | | </style> |
| | | <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script> |
| | | <div class="ibox float-e-margins"> |
| | | <input hidden id="id" value="${id}"> |
| | | <div class="ibox-content"> |
| | | <div class="form-horizontal" id="carInfoForm"> |
| | | |
| | | <div class="form-group" id="siteType"> |
| | | <label class="col-sm-3 control-label">*视频名称:</label> |
| | | <div class="col-sm-9"> |
| | | <select style="width: 300px" class="form-control" id="name" name = "name" onchange="TQuestion.oneChange()"> |
| | | <option value="" style="color: #b6b6b6" disabled selected>请选择</option> |
| | | @for(obj in data){ |
| | | <option value="${obj.id}">${obj.name}</option> |
| | | @} |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">*视频封面:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <img id="img" src="" width="150px" height="150px"> |
| | | <!-- <#avatar id="img" name="" avatarImg=""/>--> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*视频简介:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <textarea readonly id="introduce" rows="10" COLS="30" placeholder="请输入视频简介"></textarea> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*可获积分:</label> |
| | | <!-- <input style="width: 300px" class="form-control" type="time">--> |
| | | <div class="col-sm-9" style="display: flex"> |
| | | <input style="width: 300px;" placeholder="请输入可获得积分" id="integral" class="form-control" type="text"> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5" > |
| | | <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="TQuestion.addSubmit()"/> |
| | | <#button btnCss="danger" name="关闭" id="cancel" icon="fa-eraser" clickFun="TQuestion.close()"/> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | <script src="${ctxPath}/modular/system/benefits/tBenefitsVideos_add.js"></script> |
| | | <script src="${ctxPath}/js/vue/vue.js"></script> |
| | | <script src="${ctxPath}/js/elementui/index.js"></script> |
| | | <link rel="stylesheet" href="${ctxPath}/js/elementui/index.css"> |
| | | |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <style> |
| | | .avatar-uploader .el-upload { |
| | | border: 1px dashed #d9d9d9; |
| | | border-radius: 6px; |
| | | cursor: pointer; |
| | | position: relative; |
| | | height: 100px; |
| | | width: 100px; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .avatar-uploader .el-upload:hover { |
| | | border-color: #409EFF; |
| | | } |
| | | .avatar-uploader-icon { |
| | | font-size: 28px; |
| | | color: #8c939d; |
| | | width: 100px; |
| | | height: 100px; |
| | | line-height: 100px; |
| | | margin-top: 32px; |
| | | text-align: center; |
| | | } |
| | | .avatar { |
| | | width: 100px; |
| | | height: 100px; |
| | | display: block; |
| | | } |
| | | |
| | | .col-sm-12 { |
| | | margin-top: 20px; |
| | | } |
| | | |
| | | .col-sm-12 select { |
| | | height: 33px; |
| | | } |
| | | </style> |
| | | <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script> |
| | | <div class="ibox float-e-margins"> |
| | | <input hidden id="benefitsVideosId" value="${data.benefitsVideosId}"> |
| | | <div class="ibox-content"> |
| | | <div class="form-horizontal" id="carInfoForm"> |
| | | @if(type == 1){ |
| | | <div class="form-group" id="siteType"> |
| | | <label class="col-sm-3 control-label">*视频类型:</label> |
| | | <div class="col-sm-9"> |
| | | <input style="width: 300px;" value="${data.type == 2 ? '运动教学视频' : '器材教学视频'}" id="type" class="form-control" type="text"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*视频名称:</label> |
| | | <!-- <input style="width: 300px" class="form-control" type="time">--> |
| | | <div class="col-sm-9" style="display: flex"> |
| | | <input style="width: 300px;" value="${data.name}" id="name" class="form-control" type="text"> |
| | | </div> |
| | | </div> |
| | | @} |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*可获积分:</label> |
| | | <div class="col-sm-9" style="display: flex"> |
| | | <input style="width: 300px;" placeholder="请输入可获得积分" id="integral" value="${data.integral}" class="form-control" type="text"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*视频简介:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <textarea readonly id="introduce" rows="10" COLS="30" value="${data.introduce}" placeholder="请输入视频简介">${data.introduce}</textarea> |
| | | </div> |
| | | </div> |
| | | |
| | | @if(type == 1){ |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">*视频封面:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <img id="coverDrawing" src="${data.coverDrawing}" width="150px" height="150px"> |
| | | <!-- <#avatar id="img" name="" avatarImg=""/>--> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">*视频介绍:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <img id="introductionDrawing" src="${data.introductionDrawing}" width="150px" height="150px"> |
| | | <!-- <#avatar id="img" name="" avatarImg=""/>--> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">*视频内容:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <img id="courseVideo" src="" width="150px" height="150px"> |
| | | <!-- <#avatar id="img" name="" avatarImg=""/>--> |
| | | </div> |
| | | </div> |
| | | @} |
| | | |
| | | </div> |
| | | </div> |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5" > |
| | | @if(type != 1){ |
| | | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TQuestion.updateVideosSubmit()"/> |
| | | @} |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TQuestion.close()"/> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/modular/system/benefits/tBenefitsVideos_add.js"></script> |
| | | <script src="${ctxPath}/js/vue/vue.js"></script> |
| | | <script src="${ctxPath}/js/elementui/index.js"></script> |
| | | <link rel="stylesheet" href="${ctxPath}/js/elementui/index.css"> |
| | | <script> |
| | | |
| | | |
| | | </script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <style> |
| | | .avatar-uploader .el-upload { |
| | | border: 1px dashed #d9d9d9; |
| | | border-radius: 6px; |
| | | cursor: pointer; |
| | | position: relative; |
| | | height: 100px; |
| | | width: 100px; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .avatar-uploader .el-upload:hover { |
| | | border-color: #409EFF; |
| | | } |
| | | .avatar-uploader-icon { |
| | | font-size: 28px; |
| | | color: #8c939d; |
| | | width: 100px; |
| | | height: 100px; |
| | | line-height: 100px; |
| | | margin-top: 32px; |
| | | text-align: center; |
| | | } |
| | | .avatar { |
| | | width: 100px; |
| | | height: 100px; |
| | | display: block; |
| | | } |
| | | |
| | | .col-sm-12 { |
| | | margin-top: 20px; |
| | | } |
| | | |
| | | .col-sm-12 select { |
| | | height: 33px; |
| | | } |
| | | </style> |
| | | <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script> |
| | | <div class="ibox float-e-margins"> |
| | | <input hidden id="objectType" value="${objectType}"> |
| | | <input hidden id="objectId" value="${objectId}"> |
| | | <div class="ibox-content"> |
| | | <div class="form-horizontal" id="carInfoForm"> |
| | | <input hidden id="role" value="${role}"> |
| | | @if(objectType==1){ |
| | | <div class="form-group" id="provinceCode"> |
| | | <label class="col-sm-3 control-label">*所在省:</label> |
| | | <div class="col-sm-9"> |
| | | <select style="width: 300px" class="form-control" id="pCode" name="pCode" onchange="TSite.oneChange()"> |
| | | <option value="">请选择省</option> |
| | | @for(obj in list){ |
| | | <option style="width: 300px" value="${obj.provinceCode}">${obj.province}</option> |
| | | @} |
| | | </select> |
| | | </div> |
| | | </div> |
| | | @} |
| | | @if(objectType==1){ |
| | | <div class="form-group" id="cityCode"> |
| | | <label class="col-sm-3 control-label">*所在市:</label> |
| | | <div class="col-sm-9"> |
| | | <select style="width: 300px" class="form-control" id="cCode" name="cCode" onchange="TSite.oneChangeNext(this)"> |
| | | <option value="">请选择市</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | @} |
| | | @if(objectType==1){ |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*所属账号:</label> |
| | | <div class="col-sm-9"> |
| | | <select style="width: 300px" class="form-control" id="account" name="account"> |
| | | <option value="" style="color: #676A6C" disabled selected>请选择所属账号</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | @} |
| | | <div class="form-group" id="siteType"> |
| | | <label class="col-sm-3 control-label">*教练类型:</label> |
| | | <div class="col-sm-9"> |
| | | <select style="width: 300px" class="form-control" id="coachTypeId" name = "typeId"> |
| | | <option value="" style="color: #b6b6b6" disabled selected>请选择教练类型</option> |
| | | @for(obj in coachType){ |
| | | <option value="${obj.id}">${obj.name}</option> |
| | | @} |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*姓名:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" id="name" placeholder="请输入姓名" type="text"> |
| | | </div> |
| | | </div> |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*生日:</label> |
| | | <!-- <input style="width: 300px" class="form-control" type="time">--> |
| | | <div class="col-sm-9" style="display: flex"> |
| | | <input style="width: 300px;" placeholder="请选择" id="birthday" class="form-control" type="date"> |
| | | </div> |
| | | </div> |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*性别:</label> |
| | | <div class="col-sm-9"> |
| | | <select style="width: 300px" class="form-control" id="gender" name = "gender"> |
| | | <option value="" style="color: #b6b6b6" disabled selected>请选择性别</option> |
| | | <option value="1">男</option> |
| | | <option value="2">女</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*联系电话:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" id="phone" placeholder="请输入联系电话" type="text"> |
| | | </div> |
| | | </div> |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*身份证号:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" id="idcard" placeholder="请输入身份证号" type="text"> |
| | | </div> |
| | | </div> |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*身高:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" id="height" placeholder="请输入身高" type="text"> |
| | | <span style="margin-left: 5px;margin-top: 5px">cm</span> |
| | | </div> |
| | | </div> |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*体重:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" id="weight" placeholder="请输入体重" type="text"> |
| | | <span style="margin-left: 5px;margin-top: 5px">kg</span> |
| | | </div> |
| | | </div> |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*毕业院校:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" id="graduateSchool" placeholder="请输入毕业院校" type="text"> |
| | | </div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">*照片:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <#avatar id="img" name="" avatarImg=""/> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row" id="app1" > |
| | | <div class="col-sm-6" style="width: 100%"> |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*资格证书: </label> |
| | | <input style="width: 300px" class="form-control" id="certificate" placeholder="请输入资格证书" type="text"> |
| | | </div> |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label"></label> |
| | | <div class="col-sm-9"> |
| | | <el-upload |
| | | :limit="5" |
| | | class="avatar-uploader" |
| | | action="/tCouponManage/uploadPic" |
| | | list-type="picture-card" |
| | | accept=".jpg,.jpeg,.png,.JPG,.JPEG" |
| | | :on-success="handleAvatarSuccess" |
| | | :on-remove="handleRemove"> |
| | | <i class="el-icon-plus"></i> |
| | | </el-upload> |
| | | <el-dialog :visible.sync="dialogVisible"> |
| | | <img width="100%" :src="imageUrl1" alt=""></el-dialog> |
| | | </div> </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5" > |
| | | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TSite.addSubmit()"/> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TSite.close()"/> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | <script src="${ctxPath}/modular/system/tCoach/tCoach_add.js"></script> |
| | | <script src="${ctxPath}/js/vue/vue.js"></script> |
| | | <script src="${ctxPath}/js/elementui/index.js"></script> |
| | | <link rel="stylesheet" href="${ctxPath}/js/elementui/index.css"> |
| | | <script> |
| | | var vue2 = new Vue({ |
| | | el: '#app1', |
| | | props: { |
| | | // 数量限制 |
| | | limit: { |
| | | type: Number, |
| | | default: 2 |
| | | }, |
| | | }, |
| | | data: { |
| | | autoUpload: true,//自动上传 |
| | | imageUrl1: '',//模型数据,用于上传图片完成后图片预览 |
| | | dialogVisible: false |
| | | }, |
| | | methods: { |
| | | handleAvatarSuccess(res, file) { |
| | | TSite.goodsPicArray.push(res); |
| | | }, |
| | | beforeAvatarUpload(file) { |
| | | const isLt2M = file.size / 1024 / 1024 < 10; |
| | | if (!isLt2M) { |
| | | this.$message.error('上传图片大小不能超过 10MB!'); |
| | | } |
| | | return isLt2M; |
| | | }, |
| | | handleRemove(file, fileList) { |
| | | TSite.goodsPicArray = TSite.goodsPicArray.filter(item => { |
| | | return item.uid != file.uid; |
| | | }); |
| | | }, |
| | | }, |
| | | created() { |
| | | }, |
| | | }); |
| | | |
| | | </script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <style> |
| | | .avatar-uploader .el-upload { |
| | | border: 1px dashed #d9d9d9; |
| | | border-radius: 6px; |
| | | cursor: pointer; |
| | | position: relative; |
| | | height: 100px; |
| | | width: 100px; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .avatar-uploader .el-upload:hover { |
| | | border-color: #409EFF; |
| | | } |
| | | .avatar-uploader-icon { |
| | | font-size: 28px; |
| | | color: #8c939d; |
| | | width: 100px; |
| | | height: 100px; |
| | | line-height: 100px; |
| | | margin-top: 32px; |
| | | text-align: center; |
| | | } |
| | | .avatar { |
| | | width: 100px; |
| | | height: 100px; |
| | | display: block; |
| | | } |
| | | |
| | | .col-sm-12 { |
| | | margin-top: 20px; |
| | | } |
| | | |
| | | .col-sm-12 select { |
| | | height: 33px; |
| | | } |
| | | </style> |
| | | <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script> |
| | | <div class="ibox float-e-margins"> |
| | | |
| | | <div class="ibox-content"> |
| | | <div class="form-horizontal" id="carInfoForm"> |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*分类名称:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" id="name" placeholder="请输入分类名称" type="text"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*所在位置:</label> |
| | | <div class="col-sm-9"> |
| | | <select style="width: 300px" class="form-control" id="position" name = "gender"> |
| | | <option value="" style="color: #b6b6b6" disabled selected>请选择所在位置</option> |
| | | <option value="1">线上课得积分</option> |
| | | <option value="2">看视频得奖励</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*排序:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" id="sort" placeholder="请输入排序" type="text"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5" > |
| | | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TQuestion.addSubmit()"/> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TQuestion.close()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | <script src="${ctxPath}/modular/system/benefits/TBenefits.js"></script> |
| | | <script src="${ctxPath}/js/vue/vue.js"></script> |
| | | <script src="${ctxPath}/js/elementui/index.js"></script> |
| | | <link rel="stylesheet" href="${ctxPath}/js/elementui/index.css"> |
| | | |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <style> |
| | | .avatar-uploader .el-upload { |
| | | border: 1px dashed #d9d9d9; |
| | | border-radius: 6px; |
| | | cursor: pointer; |
| | | position: relative; |
| | | height: 100px; |
| | | width: 100px; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .avatar-uploader .el-upload:hover { |
| | | border-color: #409EFF; |
| | | } |
| | | .avatar-uploader-icon { |
| | | font-size: 28px; |
| | | color: #8c939d; |
| | | width: 100px; |
| | | height: 100px; |
| | | line-height: 100px; |
| | | margin-top: 32px; |
| | | text-align: center; |
| | | } |
| | | .avatar { |
| | | width: 100px; |
| | | height: 100px; |
| | | display: block; |
| | | } |
| | | |
| | | .col-sm-12 { |
| | | margin-top: 20px; |
| | | } |
| | | |
| | | .col-sm-12 select { |
| | | height: 33px; |
| | | } |
| | | </style> |
| | | <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script> |
| | | <div class="ibox float-e-margins"> |
| | | <input hidden id="dataId" value="${data.id}"> |
| | | <div class="ibox-content"> |
| | | <div class="form-horizontal" id="carInfoForm"> |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*分类名称:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" value="${data.name}" id="name" placeholder="请输入分类名称" type="text"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*所在位置:</label> |
| | | <div class="col-sm-9"> |
| | | <select style="width: 300px" class="form-control" id="position" name = "gender"> |
| | | <option value="" style="color: #b6b6b6" disabled selected>请选择所在位置</option> |
| | | <option value="1" ${data.position == 1 ? 'selected' : ''}>线上课得积分</option> |
| | | <option value="2" ${data.position == 2 ? 'selected' : ''}>看视频得奖励</option> |
| | | |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*排序:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" id="sort" value="${data.sort}" placeholder="请输入排序" type="text"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5" > |
| | | @if(type!=1){ |
| | | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TQuestion.updateSubmit()"/> |
| | | @} |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TQuestion.close()"/> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | <script src="${ctxPath}/modular/system/benefits/TBenefits.js"></script> |
| | | <script src="${ctxPath}/js/vue/vue.js"></script> |
| | | <script src="${ctxPath}/js/elementui/index.js"></script> |
| | | <link rel="stylesheet" href="${ctxPath}/js/elementui/index.css"> |
| | | |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <style> |
| | | .data-item { |
| | | position: relative; |
| | | border: 1px solid #ccc; |
| | | padding: 10px; |
| | | margin-bottom: 10px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | max-width: 200px; |
| | | margin-right: 10px; |
| | | } |
| | | |
| | | .delete-button { |
| | | position: absolute; |
| | | top: -10px; |
| | | right: -10px; |
| | | cursor: pointer; |
| | | color: black; |
| | | width: 20px; |
| | | height: 20px; |
| | | text-align: center; |
| | | line-height: 20px; |
| | | border-radius: 50%; |
| | | } |
| | | </style> |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <h5>视频分类管理</h5> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | <div class="row"> |
| | | <div class="col-sm-3"> |
| | | <#NameCon id="parentName" name="家长姓名" /> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#NameCon id="phone" name="家长联系方式" /> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#SelectCon id="state" name="状态" > |
| | | <option value="">全部</option> |
| | | <option value="1">未体测</option> |
| | | <option value="2">已体测</option> |
| | | </#SelectCon> |
| | | </div> |
| | | |
| | | <div class="col-sm-3"> |
| | | <#button name="搜索" icon="fa-search" clickFun="TQuestion.search()"/> |
| | | <#button name="重置" icon="fa-trash" clickFun="TQuestion.resetSearch()"/> |
| | | </div> |
| | | </div> |
| | | <div class="hidden-xs" style="margin-top: 10px" role="group"> |
| | | <label>预约时间:</label> |
| | | <#button name="今日" icon="fa-search" clickFun="TQuestion.day(1)"/> |
| | | <#button name="明日" icon="fa-search" clickFun="TQuestion.day(2)"/> |
| | | <#button name="最近7天" icon="fa-search" clickFun="TQuestion.day(7)"/> |
| | | </div> |
| | | |
| | | <div style="margin-top: 10px" class="hidden-xs" id="TCouponTableToolbar" role="group"> |
| | | <#button name="添加" icon="fa-plus" clickFun="TQuestion.openAdd()"/> |
| | | <#button name="编辑" icon="fa-edit" clickFun="TQuestion.openChange()" space="true"/> |
| | | <#button name="已测试" icon="fa-check" clickFun="TQuestion.onShelf()" space="true"/> |
| | | |
| | | </div> |
| | | <#table id="TQuestionTable"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/modular/system/bodySideAppointment/tBodySideAppointment.js"></script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <style> |
| | | .avatar-uploader .el-upload { |
| | | border: 1px dashed #d9d9d9; |
| | | border-radius: 6px; |
| | | cursor: pointer; |
| | | position: relative; |
| | | height: 100px; |
| | | width: 100px; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .avatar-uploader .el-upload:hover { |
| | | border-color: #409EFF; |
| | | } |
| | | .avatar-uploader-icon { |
| | | font-size: 28px; |
| | | color: #8c939d; |
| | | width: 100px; |
| | | height: 100px; |
| | | line-height: 100px; |
| | | margin-top: 32px; |
| | | text-align: center; |
| | | } |
| | | .avatar { |
| | | width: 100px; |
| | | height: 100px; |
| | | display: block; |
| | | } |
| | | |
| | | .col-sm-12 { |
| | | margin-top: 20px; |
| | | } |
| | | |
| | | .col-sm-12 select { |
| | | height: 33px; |
| | | } |
| | | </style> |
| | | <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script> |
| | | <div class="ibox float-e-margins"> |
| | | |
| | | <div class="ibox-content"> |
| | | <div class="form-horizontal" id="carInfoForm"> |
| | | <div class="form-group" id="provinceCode"> |
| | | <label class="col-sm-3 control-label">*所在省:</label> |
| | | <div class="col-sm-9"> |
| | | <select style="width: 300px" class="form-control" id="pCode" name="pCode" onchange="TQuestion.oneChange()"> |
| | | <option value="">请选择省</option> |
| | | @for(obj in list){ |
| | | <option style="width: 300px" value="${obj.provinceCode}">${obj.province}</option> |
| | | @} |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group" id="cityCode"> |
| | | <label class="col-sm-3 control-label">*所在市:</label> |
| | | <div class="col-sm-9"> |
| | | <select style="width: 300px" class="form-control" id="cCode" name="cCode" onchange="TQuestion.oneChangeNext(this)"> |
| | | <option value="">请选择市</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*所属门店:</label> |
| | | <div class="col-sm-9"> |
| | | <select style="width: 300px" class="form-control" id="store" name="account"> |
| | | <option value="" style="color: #676A6C" disabled selected>请选择门店</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*家长姓名:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" id="parentName" placeholder="请输入家长姓名" type="text"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*家长联系方式:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" id="phone" placeholder="请输入家长联系方式" type="text"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*学员姓名:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" id="learnerName" placeholder="请输入学员姓名" type="text"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*学员年龄:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" id="learnerAge" placeholder="请输入学员年龄" type="text"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*学员生日:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" id="birthday" placeholder="请选择" type="date"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*预约时间:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" id="appointmentTime" placeholder="请选择" type="datetime-local"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5" > |
| | | <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="TQuestion.addSubmit()"/> |
| | | <#button btnCss="danger" name="关闭" id="cancel" icon="fa-eraser" clickFun="TQuestion.close()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | <script src="${ctxPath}/modular/system/bodySideAppointment/tBodySideAppointment.js"></script> |
| | | <script src="${ctxPath}/js/vue/vue.js"></script> |
| | | <script src="${ctxPath}/js/elementui/index.js"></script> |
| | | <link rel="stylesheet" href="${ctxPath}/js/elementui/index.css"> |
| | | |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <style> |
| | | .avatar-uploader .el-upload { |
| | | border: 1px dashed #d9d9d9; |
| | | border-radius: 6px; |
| | | cursor: pointer; |
| | | position: relative; |
| | | height: 100px; |
| | | width: 100px; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .avatar-uploader .el-upload:hover { |
| | | border-color: #409EFF; |
| | | } |
| | | .avatar-uploader-icon { |
| | | font-size: 28px; |
| | | color: #8c939d; |
| | | width: 100px; |
| | | height: 100px; |
| | | line-height: 100px; |
| | | margin-top: 32px; |
| | | text-align: center; |
| | | } |
| | | .avatar { |
| | | width: 100px; |
| | | height: 100px; |
| | | display: block; |
| | | } |
| | | |
| | | .col-sm-12 { |
| | | margin-top: 20px; |
| | | } |
| | | |
| | | .col-sm-12 select { |
| | | height: 33px; |
| | | } |
| | | </style> |
| | | <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script> |
| | | <div class="ibox float-e-margins"> |
| | | <input hidden id="dataId" value="${data.id}"> |
| | | <div class="ibox-content"> |
| | | <div class="form-horizontal" id="carInfoForm"> |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*家长姓名:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" value="${data.name}" id="name" placeholder="请输入分类名称" type="text"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*所在位置:</label> |
| | | <div class="col-sm-9"> |
| | | <select style="width: 300px" class="form-control" id="position" name = "gender"> |
| | | <option value="" style="color: #b6b6b6" disabled selected>请选择所在位置</option> |
| | | <option value="1" ${data.position == 1 ? 'selected' : ''}>线上课得积分</option> |
| | | <option value="2" ${data.position == 2 ? 'selected' : ''}>看视频得奖励</option> |
| | | |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*排序:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" id="sort" value="${data.sort}" placeholder="请输入排序" type="text"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5" > |
| | | @if(type!=1){ |
| | | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TQuestion.updateSubmit()"/> |
| | | @} |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TQuestion.close()"/> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | <script src="${ctxPath}/modular/system/benefits/TBenefits.js"></script> |
| | | <script src="${ctxPath}/js/vue/vue.js"></script> |
| | | <script src="${ctxPath}/js/elementui/index.js"></script> |
| | | <link rel="stylesheet" href="${ctxPath}/js/elementui/index.css"> |
| | | |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <h5>课包类型管理</h5> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | <div class="row"> |
| | | </div> |
| | | <div class="hidden-xs" id="TCompetitionTableToolbar" role="group"> |
| | | <#button name="添加" icon="fa-plus" clickFun="TSite.openAddTSite()"/> |
| | | <#button name="编辑" icon="fa-edit" clickFun="TSite.openTSiteDetail()" space="true"/> |
| | | <#button name="删除" icon="fa-remove" clickFun="TSite.del()" space="true"/> |
| | | </div> |
| | | <#table id="TSiteTable"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/modular/system/coursePackageType/coursePackageType.js"></script> |
| | | <script> |
| | | laydate.render({ |
| | | elem: '#createTime' |
| | | ,range: true |
| | | ,lang:"en" |
| | | }); |
| | | </script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <div class="ibox float-e-margins"> |
| | | |
| | | <div class="ibox-title"> |
| | | <h5>教练管理</h5> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | <div class="row"> |
| | | @if(objectType==1){ |
| | | <div class="col-sm-3"> |
| | | <div class="input-group"> |
| | | <div class="input-group-btn open"> |
| | | <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button" aria-expanded="true"> |
| | | 所在省 |
| | | </button> |
| | | </div> |
| | | <select class="form-control" id="pCode" onchange="TSite.oneChange()"> |
| | | <option value="">全部</option> |
| | | @for(obj in data){ |
| | | <option value="${obj.provinceCode}">${obj.province}</option> |
| | | @} |
| | | </select> |
| | | </div> |
| | | </div> |
| | | @} |
| | | @if(objectType==1){ |
| | | <div class="col-sm-3"> |
| | | <div class="input-group"> |
| | | <div class="input-group-btn open"> |
| | | <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button" aria-expanded="true"> |
| | | 所在市 |
| | | </button> |
| | | </div> |
| | | <select class="form-control" id="cCode"> |
| | | <option value="">请先选择省</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | @} |
| | | <div class="col-sm-3"> |
| | | <#NameCon id="name" name="姓名:" /> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#NameCon id="phone" name="联系电话:" /> |
| | | </div> |
| | | |
| | | <div class="col-sm-3"> |
| | | <#button name="搜索" icon="fa-search" clickFun="TSite.search()"/> |
| | | <#button name="重置" icon="fa-trash" clickFun="TSite.resetSearch()" space="true"/> |
| | | </div> |
| | | </div> |
| | | <div class="hidden-xs" id="TCompetitionTableToolbar" role="group"> |
| | | <#button name="添加" icon="fa-plus" clickFun="TSite.openAddTSite()"/> |
| | | <#button name="编辑" icon="fa-edit" clickFun="TSite.openEditTSite()" space="true"/> |
| | | <#button name="解冻" icon="fa-check" clickFun="TSite.onShelf()" space="true"/> |
| | | <#button name="冻结" icon="fa-remove" clickFun="TSite.offShelf()" space="true"/> |
| | | <#button name="查看详情" icon="fa-search" clickFun="TSite.openInfo()" space="true"/> |
| | | </div> |
| | | <#table id="TSiteTable"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <input hidden id="objectType" value="${objectType}"> |
| | | <input hidden id="objectId" value="${objectId}"> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/modular/system/tCoach/tCoach.js"></script> |
| | | <script> |
| | | laydate.render({ |
| | | elem: '#createTime' |
| | | ,range: true |
| | | ,lang:"en" |
| | | }); |
| | | </script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <style> |
| | | .avatar-uploader .el-upload { |
| | | border: 1px dashed #d9d9d9; |
| | | border-radius: 6px; |
| | | cursor: pointer; |
| | | position: relative; |
| | | height: 100px; |
| | | width: 100px; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .avatar-uploader .el-upload:hover { |
| | | border-color: #409EFF; |
| | | } |
| | | .avatar-uploader-icon { |
| | | font-size: 28px; |
| | | color: #8c939d; |
| | | width: 100px; |
| | | height: 100px; |
| | | line-height: 100px; |
| | | margin-top: 32px; |
| | | text-align: center; |
| | | } |
| | | .avatar { |
| | | width: 100px; |
| | | height: 100px; |
| | | display: block; |
| | | } |
| | | |
| | | .col-sm-12 { |
| | | margin-top: 20px; |
| | | } |
| | | |
| | | .col-sm-12 select { |
| | | height: 33px; |
| | | } |
| | | </style> |
| | | <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script> |
| | | <div class="ibox float-e-margins"> |
| | | <input hidden id="objectType" value="${objectType}"> |
| | | <input hidden id="objectId" value="${objectId}"> |
| | | <div class="ibox-content"> |
| | | <div class="form-horizontal" id="carInfoForm"> |
| | | <input hidden id="role" value="${role}"> |
| | | @if(objectType==1){ |
| | | <div class="form-group" id="provinceCode"> |
| | | <label class="col-sm-3 control-label">*所在省:</label> |
| | | <div class="col-sm-9"> |
| | | <select style="width: 300px" class="form-control" id="pCode" name="pCode" onchange="TSite.oneChange()"> |
| | | <option value="">请选择省</option> |
| | | @for(obj in list){ |
| | | <option style="width: 300px" value="${obj.provinceCode}">${obj.province}</option> |
| | | @} |
| | | </select> |
| | | </div> |
| | | </div> |
| | | @} |
| | | @if(objectType==1){ |
| | | <div class="form-group" id="cityCode"> |
| | | <label class="col-sm-3 control-label">*所在市:</label> |
| | | <div class="col-sm-9"> |
| | | <select style="width: 300px" class="form-control" id="cCode" name="cCode" onchange="TSite.oneChangeNext(this)"> |
| | | <option value="">请选择市</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | @} |
| | | @if(objectType==1){ |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*所属账号:</label> |
| | | <div class="col-sm-9"> |
| | | <select style="width: 300px" class="form-control" id="account" name="account"> |
| | | <option value="" style="color: #676A6C" disabled selected>请选择所属账号</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | @} |
| | | <div class="form-group" id="siteType"> |
| | | <label class="col-sm-3 control-label">*教练类型:</label> |
| | | <div class="col-sm-9"> |
| | | <select style="width: 300px" class="form-control" id="coachTypeId" name = "typeId"> |
| | | <option value="" style="color: #b6b6b6" disabled selected>请选择教练类型</option> |
| | | @for(obj in coachType){ |
| | | <option value="${obj.id}">${obj.name}</option> |
| | | @} |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*姓名:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" id="name" placeholder="请输入姓名" type="text"> |
| | | </div> |
| | | </div> |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*生日:</label> |
| | | <!-- <input style="width: 300px" class="form-control" type="time">--> |
| | | <div class="col-sm-9" style="display: flex"> |
| | | <input style="width: 300px;" placeholder="请选择" id="birthday" class="form-control" type="date"> |
| | | </div> |
| | | </div> |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*性别:</label> |
| | | <div class="col-sm-9"> |
| | | <select style="width: 300px" class="form-control" id="gender" name = "gender"> |
| | | <option value="" style="color: #b6b6b6" disabled selected>请选择性别</option> |
| | | <option value="1">男</option> |
| | | <option value="2">女</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*联系电话:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" id="phone" placeholder="请输入联系电话" type="text"> |
| | | </div> |
| | | </div> |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*身份证号:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" id="idcard" placeholder="请输入身份证号" type="text"> |
| | | </div> |
| | | </div> |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*身高:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" id="height" placeholder="请输入身高" type="text"> |
| | | <span style="margin-left: 5px;margin-top: 5px">cm</span> |
| | | </div> |
| | | </div> |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*体重:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" id="weight" placeholder="请输入体重" type="text"> |
| | | <span style="margin-left: 5px;margin-top: 5px">kg</span> |
| | | </div> |
| | | </div> |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*毕业院校:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" id="graduateSchool" placeholder="请输入毕业院校" type="text"> |
| | | </div> |
| | | </div> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">*照片:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <#avatar id="img" name="" avatarImg=""/> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row" id="app1" > |
| | | <div class="col-sm-6" style="width: 100%"> |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*资格证书: </label> |
| | | <input style="width: 300px" class="form-control" id="certificate" placeholder="请输入资格证书" type="text"> |
| | | </div> |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label"></label> |
| | | <div class="col-sm-9"> |
| | | <el-upload |
| | | :limit="5" |
| | | class="avatar-uploader" |
| | | action="/tCouponManage/uploadPic" |
| | | list-type="picture-card" |
| | | accept=".jpg,.jpeg,.png,.JPG,.JPEG" |
| | | :on-success="handleAvatarSuccess" |
| | | :on-remove="handleRemove"> |
| | | <i class="el-icon-plus"></i> |
| | | </el-upload> |
| | | <el-dialog :visible.sync="dialogVisible"> |
| | | <img width="100%" :src="imageUrl1" alt=""></el-dialog> |
| | | </div> </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5" > |
| | | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TSite.addSubmit()"/> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TSite.close()"/> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | <script src="${ctxPath}/modular/system/tCoach/tCoach_add.js"></script> |
| | | <script src="${ctxPath}/js/vue/vue.js"></script> |
| | | <script src="${ctxPath}/js/elementui/index.js"></script> |
| | | <link rel="stylesheet" href="${ctxPath}/js/elementui/index.css"> |
| | | <script> |
| | | var vue2 = new Vue({ |
| | | el: '#app1', |
| | | props: { |
| | | // 数量限制 |
| | | limit: { |
| | | type: Number, |
| | | default: 2 |
| | | }, |
| | | }, |
| | | data: { |
| | | autoUpload: true,//自动上传 |
| | | imageUrl1: '',//模型数据,用于上传图片完成后图片预览 |
| | | dialogVisible: false |
| | | }, |
| | | methods: { |
| | | handleAvatarSuccess(res, file) { |
| | | TSite.goodsPicArray.push(res); |
| | | }, |
| | | beforeAvatarUpload(file) { |
| | | const isLt2M = file.size / 1024 / 1024 < 10; |
| | | if (!isLt2M) { |
| | | this.$message.error('上传图片大小不能超过 10MB!'); |
| | | } |
| | | return isLt2M; |
| | | }, |
| | | handleRemove(file, fileList) { |
| | | TSite.goodsPicArray = TSite.goodsPicArray.filter(item => { |
| | | return item.uid != file.uid; |
| | | }); |
| | | }, |
| | | }, |
| | | created() { |
| | | }, |
| | | }); |
| | | |
| | | </script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <style> |
| | | .avatar-uploader .el-upload { |
| | | border: 1px dashed #d9d9d9; |
| | | border-radius: 6px; |
| | | cursor: pointer; |
| | | position: relative; |
| | | height: 100px; |
| | | width: 100px; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .avatar-uploader .el-upload:hover { |
| | | border-color: #409EFF; |
| | | } |
| | | </style> |
| | | <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script> |
| | | <div class="ibox float-e-margins"> |
| | | <input hidden id="objectType" value="${objectType}"> |
| | | <input hidden id="objectId" value="${objectId}"> |
| | | <input hidden id="dataId" value="${data.id}"> |
| | | <div class="ibox-content"> |
| | | <div class="form-horizontal" id="carInfoForm"> |
| | | <input hidden id="role" value="${role}"> |
| | | @if(objectType==1){ |
| | | <div class="form-group" id="provinceCode"> |
| | | <label class="col-sm-3 control-label">*所在省:</label> |
| | | <div class="col-sm-9"> |
| | | <select style="width: 300px" class="form-control" id="pCode" name="pCode" onchange="TSite.oneChange()"> |
| | | @for(obj in list){ |
| | | <option value="${obj.provinceCode}" ${obj.province == data.province ? 'selected=selected' : ''}>${obj.province}</option> |
| | | @} |
| | | </select> |
| | | </div> |
| | | </div> |
| | | @} |
| | | @if(objectType==1){ |
| | | <div class="form-group" id="cityCode"> |
| | | <label class="col-sm-3 control-label">*所在市:</label> |
| | | <div class="col-sm-9"> |
| | | <select style="width: 300px" class="form-control" id="cCode" name="cCode" onchange="TSite.oneChangeNext(this)"> |
| | | @for(obj in city){ |
| | | <option value="${obj.cityCode}" ${obj.city == data.city ? 'selected=selected' : ''}>${obj.city}</option> |
| | | @} |
| | | </select> |
| | | </div> |
| | | </div> |
| | | @} |
| | | @if(objectType==1){ |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">*所属账号:</label> |
| | | <div class="col-sm-9"> |
| | | <select style="width: 300px" class="form-control" id="account" name="account"> |
| | | @for(obj in cityManagers){ |
| | | <option value="${obj.id}" ${obj.id == data.cityManagerId ? 'selected=selected' : ''}>${obj.name}</option> |
| | | @} |
| | | </select> |
| | | </div> |
| | | </div> |
| | | @} |
| | | |
| | | <div class="form-group" id="siteType"> |
| | | <label class="col-sm-3 control-label">*教练类型:</label> |
| | | <div class="col-sm-9"> |
| | | <select style="width: 300px" class="form-control" id="coachTypeId" name = "typeId"> |
| | | <option value="" style="color: #b6b6b6" disabled selected>请选择教练类型</option> |
| | | @for(obj in coachType){ |
| | | <option value="${obj.id}" ${obj.id == data.coachTypeId ? 'selected=selected' : ''}>${obj.name}</option> |
| | | @} |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*姓名:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" id="name" value="${data.name}" placeholder="请输入姓名" type="text"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*生日:</label> |
| | | <div class="col-sm-9" style="display: flex"> |
| | | <input style="width: 300px;" placeholder="请选择" value="${birthday}" id="birthday" class="form-control" type="date"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*性别:</label> |
| | | <div class="col-sm-9"> |
| | | <select style="width: 300px" class="form-control" id="gender" name = "gender"> |
| | | <option value="1" ${data.gender == 1 ? 'selected' : ''}>男</option> |
| | | <option value="2" ${data.gender == 2 ? 'selected' : ''}>女</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*联系电话:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" value="${data.phone}" id="phone" placeholder="请输入联系电话" type="text"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*身份证号:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" id="idcard" value="${data.idcard}" placeholder="请输入身份证号" type="text"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*身高:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" id="height" value="${data.height}" placeholder="请输入身高" type="text"> |
| | | <span style="margin-left: 5px;margin-top: 5px">cm</span> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*体重:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" value="${data.weight}" id="weight" placeholder="请输入体重" type="text"> |
| | | <span style="margin-left: 5px;margin-top: 5px">kg</span> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*毕业院校:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" value="${data.graduateSchool}" id="graduateSchool" placeholder="请输入毕业院校" type="text"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">*照片:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <#avatar id="img" avatarImg="${data.diploma}" name="" /> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | <div class="row" id="app1" > |
| | | <div class="col-sm-6" style="width: 100%"> |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*资格证书: </label> |
| | | <input style="width: 300px" class="form-control" id="certificate" value="${data.certificate}" placeholder="请输入资格证书" type="text"> |
| | | </div> |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label"></label> |
| | | <div class="col-sm-9"> |
| | | <el-upload |
| | | :limit="5" |
| | | class="avatar-uploader" |
| | | action="/tCouponManage/uploadPic" |
| | | list-type="picture-card" |
| | | accept=".jpg,.jpeg,.png,.JPG,.JPEG" |
| | | :on-success="handleAvatarSuccess" |
| | | :on-remove="handleRemove"> |
| | | <i class="el-icon-plus"></i> |
| | | </el-upload> |
| | | <el-dialog :visible.sync="dialogVisible"> |
| | | @for(img in pictures){ |
| | | <img width="100%" src="${img}"> |
| | | @} |
| | | </el-dialog> |
| | | </div> </div> |
| | | |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5" > |
| | | @if(type!=1){ |
| | | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TSite.addSubmit()"/> |
| | | @} |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TSite.close()"/> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <script src="${ctxPath}/modular/system/tCoach/tCoach_add.js"></script> |
| | | <script src="${ctxPath}/js/vue/vue.js"></script> |
| | | <script src="${ctxPath}/js/elementui/index.js"></script> |
| | | <link rel="stylesheet" href="${ctxPath}/js/elementui/index.css"> |
| | | <script> |
| | | var vue2 = new Vue({ |
| | | el: '#app1', |
| | | props: { |
| | | // 数量限制 |
| | | limit: { |
| | | type: Number, |
| | | default: 2 |
| | | }, |
| | | }, |
| | | data: { |
| | | autoUpload: true,//自动上传 |
| | | imageUrl1: '',//模型数据,用于上传图片完成后图片预览 |
| | | dialogVisible: false |
| | | }, |
| | | methods: { |
| | | handleAvatarSuccess(res, file) { |
| | | TSite.goodsPicArray.push(res); |
| | | }, |
| | | beforeAvatarUpload(file) { |
| | | const isLt2M = file.size / 1024 / 1024 < 10; |
| | | if (!isLt2M) { |
| | | this.$message.error('上传图片大小不能超过 10MB!'); |
| | | } |
| | | return isLt2M; |
| | | }, |
| | | handleRemove(file, fileList) { |
| | | TSite.goodsPicArray = TSite.goodsPicArray.filter(item => { |
| | | return item.uid != file.uid; |
| | | }); |
| | | }, |
| | | }, |
| | | created() { |
| | | }, |
| | | }); |
| | | |
| | | </script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <h5>教练类型管理</h5> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | <div class="row"> |
| | | </div> |
| | | <div class="hidden-xs" id="TCompetitionTableToolbar" role="group"> |
| | | <#button name="添加" icon="fa-plus" clickFun="TSite.openAddTSite()"/> |
| | | <#button name="编辑" icon="fa-edit" clickFun="TSite.openTSiteDetail()" space="true"/> |
| | | <#button name="删除" icon="fa-remove" clickFun="TSite.del()" space="true"/> |
| | | </div> |
| | | <#table id="TSiteTable"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/modular/system/tCoachType/tCoachType.js"></script> |
| | | <script> |
| | | laydate.render({ |
| | | elem: '#createTime' |
| | | ,range: true |
| | | ,lang:"en" |
| | | }); |
| | | </script> |
| | | @} |
| | |
| | | <img width="100%" :src="imageUrl1" alt=""> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5"> |
| | | <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="add();" /> |
| | | <#button btnCss="info" name="关闭" id="close" icon="fa-check" clickFun="closeD();" /> |
| | | </div> |
| | | </div> |
| | | <label for="sort">*排 序:</label> |
| | |
| | | </div> |
| | | </div> |
| | | <script type="text/javascript"> |
| | | /** |
| | | * 关闭此对话框 |
| | | */ |
| | | function closeD(){ |
| | | console.log("关闭"); |
| | | parent.layer.close(window.parent.TQuestion.layerIndex); |
| | | } |
| | | const data1 = { |
| | | content:"", |
| | | sort:null, |
| | | answer:"" |
| | | } |
| | | }; |
| | | var editor_1 = null; |
| | | $(function () { |
| | | //初始化编辑器 |
| | |
| | | data1.content = value1; |
| | | data1.sort = value2; |
| | | data1.answer =editor_1.getContent(); |
| | | console.log(data1); |
| | | submitData(data1); |
| | | submitData(data1); |
| | | } |
| | | function submitData(data) { |
| | | $.ajax({ |
| | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5"> |
| | | <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="edit();" /> |
| | | <#button btnCss="info" name="关闭" id="close" icon="fa-check" clickFun="closeD();" /> |
| | | </div> |
| | | </div> |
| | | <label for="sort">*排 序:</label> |
| | |
| | | </div> |
| | | <script type="text/javascript"> |
| | | |
| | | |
| | | /** |
| | | * 关闭此对话框 |
| | | */ |
| | | function closeD(){ |
| | | console.log("关闭"); |
| | | parent.layer.close(window.parent.TQuestion.layerIndex); |
| | | } |
| | | const data1 = { |
| | | id:null, |
| | | content:"", |
| | |
| | | <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;">${info.answer}</textarea> |
| | | </div> |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5"> |
| | | <#button btnCss="info" name="关闭" id="close" icon="fa-check" clickFun="closeD();" /> |
| | | </div> |
| | | </div> |
| | | <label for="sort">*排 序:</label> |
| | | <input type="text" id="sort" value="${info.sort}" placeholder="请输入排序"><span> 数字越大,权重越大</span> |
| | |
| | | </div> |
| | | <script type="text/javascript"> |
| | | |
| | | |
| | | /** |
| | | * 关闭此对话框 |
| | | */ |
| | | function closeD(){ |
| | | console.log("关闭"); |
| | | parent.layer.close(window.parent.TQuestion.layerIndex); |
| | | } |
| | | const data1 = { |
| | | id:null, |
| | | content:"", |
| | |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | data: JSON.stringify(data), // 将数据转换为 JSON 字符串 |
| | | success: function(response) { |
| | | |
| | | Feng.success("修改成功!"); |
| | | }, |
| | | error: function(xhr, status, error) { |
| | |
| | | <#button name="重置密码" icon="fa-remove" clickFun="TCompetition.reload()" space="true"/> |
| | | <#button name="免费福利" icon="fa-remove" clickFun="TCompetition.gift()" space="true"/> |
| | | <#button name="首页设置" icon="fa-remove" clickFun="TCompetition.indexSet()" space="true"/> |
| | | |
| | | </div> |
| | | <#table id="TCompetitionTable"/> |
| | | </div> |
| | |
| | | <#avatar id="img" name="门店封面(推荐像素722*360px)" avatarImg="${item.coverDrawing}"/> |
| | | <#input id="imgOne" name="实景照片" type="text" value="${item.realPicture}"/> |
| | | |
| | | |
| | | </div> |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5"> |
| | | @if(type==1){ |
| | | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TCarInfoDlg.editSubmit()"/> |
| | | @} |
| | | <#button btnCss="danger" name="关闭" id="cancel" icon="fa-eraser" clickFun="TCarInfoDlg.close()"/> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <div class="ibox float-e-margins"> |
| | | <input hidden id="role" value="${role}"> |
| | | |
| | | <div class="ibox-title"> |
| | | <h5>场地管理</h5> |
| | | </div> |
| | |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | <div class="row"> |
| | | @if(role=='1'){ |
| | | @if(objectType==1){ |
| | | <div class="col-sm-3"> |
| | | <div class="input-group"> |
| | | <div class="input-group-btn open"> |
| | |
| | | 所在省 |
| | | </button> |
| | | </div> |
| | | <select class="form-control" id="pCode" onchange="TSite.oneChange(this)"> |
| | | <select class="form-control" id="pCode" onchange="TSite.oneChange(1)"> |
| | | <option value="">全部</option> |
| | | @for(obj in list){ |
| | | <option value="${obj.code}">${obj.name}</option> |
| | | <option value="${obj}">${obj}</option> |
| | | @} |
| | | </select> |
| | | </div> |
| | | </div> |
| | | @} |
| | | @if(role=='1'){ |
| | | @if(objectType==1){ |
| | | <div class="col-sm-3"> |
| | | <div class="input-group"> |
| | | <div class="input-group-btn open"> |
| | |
| | | </button> |
| | | </div> |
| | | <select class="form-control" id="cCode"> |
| | | <option value="">请先选择省</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | @} |
| | | <div class="col-sm-3"> |
| | | <#NameCon id="name" name="店长姓名" /> |
| | | <#NameCon id="storeName" name="门店名称" /> |
| | | </div> |
| | | |
| | | <div class="col-sm-3"> |
| | | <div class="input-group"> |
| | | <div class="input-group-btn open"> |
| | | <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button" aria-expanded="true"> |
| | | 场地类型 |
| | | </button> |
| | | </div> |
| | | <select class="form-control" id="sCode" > |
| | | <option value="">全部</option> |
| | | @for(obj in siteType){ |
| | | <option value="${obj.id}">${obj.name}</option> |
| | | @} |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#NameCon id="phone" name="店长手机号" /> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#NameCon id="shopName" name="门店名称" /> |
| | | <#NameCon id="name" name="场地名称" /> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#button name="搜索" icon="fa-search" clickFun="TCompetition.search()"/> |
| | | <#button name="重置" icon="fa-trash" clickFun="TCompetition.resetSearch()" space="true"/> |
| | | <#button name="搜索" icon="fa-search" clickFun="TSite.search()"/> |
| | | <#button name="重置" icon="fa-trash" clickFun="TSite.resetSearch()" space="true"/> |
| | | </div> |
| | | </div> |
| | | <div class="hidden-xs" id="TCompetitionTableToolbar" role="group"> |
| | | <#button name="添加" icon="fa-plus" clickFun="TCompetition.openAddTCompetition()"/> |
| | | <#button name="编辑" icon="fa-edit" clickFun="TCompetition.openTCompetitionDetail()" space="true"/> |
| | | <#button name="冻结" icon="fa-remove" clickFun="TCompetition.freeze()" space="true"/> |
| | | <#button name="解冻" icon="fa-remove" clickFun="TCompetition.unfreeze()" space="true"/> |
| | | <#button name="查看详情" icon="fa-remove" clickFun="TCompetition.info()" space="true"/> |
| | | <#button name="重置密码" icon="fa-remove" clickFun="TCompetition.reload()" space="true"/> |
| | | <#button name="免费福利" icon="fa-remove" clickFun="TCompetition.gift()" space="true"/> |
| | | <#button name="首页设置" icon="fa-remove" clickFun="TCompetition.indexSet()" space="true"/> |
| | | |
| | | <#button name="添加" icon="fa-plus" clickFun="TSite.openAddTSite()"/> |
| | | <#button name="编辑" icon="fa-edit" clickFun="TSite.openEditTSite()" space="true"/> |
| | | <#button name="上架" icon="fa-check" clickFun="TSite.onShelf()" space="true"/> |
| | | <#button name="下架" icon="fa-remove" clickFun="TSite.offShelf()" space="true"/> |
| | | <#button name="查看详情" icon="fa-search" clickFun="TSite.openInfo()" space="true"/> |
| | | <#button name="锁定场地" icon="fa-remove" clickFun="TSite.lock()" space="true"/> |
| | | </div> |
| | | <#table id="TCompetitionTable"/> |
| | | <#table id="TSiteTable"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <input hidden id="role" value="${role}"> |
| | | <input hidden id="objectType" value="${objectType}"> |
| | | <input hidden id="objectId" value="${objectId}"> |
| | | <input hidden id="type" value="${type}"> |
| | | </div> |
| | | </div> |
| | | </div> |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <style> |
| | | .avatar-uploader .el-upload { |
| | | border: 1px dashed #d9d9d9; |
| | | border-radius: 6px; |
| | | cursor: pointer; |
| | | position: relative; |
| | | height: 100px; |
| | | width: 100px; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .avatar-uploader .el-upload:hover { |
| | | border-color: #409EFF; |
| | | } |
| | | .avatar-uploader-icon { |
| | | font-size: 28px; |
| | | color: #8c939d; |
| | | width: 100px; |
| | | height: 100px; |
| | | line-height: 100px; |
| | | margin-top: 32px; |
| | | text-align: center; |
| | | } |
| | | .avatar { |
| | | width: 100px; |
| | | height: 100px; |
| | | display: block; |
| | | } |
| | | |
| | | .col-sm-12 { |
| | | margin-top: 20px; |
| | | } |
| | | |
| | | .col-sm-12 select { |
| | | height: 33px; |
| | | } |
| | | #app1{ |
| | | margin-left: 255px; |
| | | } |
| | | |
| | | |
| | | </style> |
| | | <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script> |
| | | <div class="ibox float-e-margins"> |
| | | <input hidden id="objectType" value="${objectType}"> |
| | | <input hidden id="objectId" value="${objectId}"> |
| | | <div class="ibox-content"> |
| | | <div class="form-horizontal" id="carInfoForm"> |
| | | <input hidden id="role" value="${role}"> |
| | | @if(objectType==1){ |
| | | <div class="form-group" id="provinceCode"> |
| | | <label class="col-sm-3 control-label">*所在省:</label> |
| | | <div class="col-sm-9"> |
| | | <select style="width: 300px" class="form-control" id="pCode" name="pCode" onchange="TSite.oneChange(2)"> |
| | | <option style="width: 300px" value="">选择省</option> |
| | | @for(obj in province){ |
| | | <option style="width: 300px" value="${obj}">${obj}</option> |
| | | @} |
| | | </select> |
| | | </div> |
| | | </div> |
| | | @} |
| | | @if(objectType==1){ |
| | | <div class="form-group" id="cityCode"> |
| | | <label class="col-sm-3 control-label">*所在市:</label> |
| | | <div class="col-sm-9"> |
| | | <select style="width: 300px" class="form-control" id="cCode" name="cCode" onchange="TSite.oneChangeNext(this)"> |
| | | <option value="">请先选择省</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | @} |
| | | @if(objectType==1){ |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*所属账号:</label> |
| | | <div class="col-sm-9"> |
| | | <select style="width: 300px" class="form-control" id="account" name="account"> |
| | | <option value="">请先选择省/市</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | @} |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*所属门店:</label> |
| | | <div class="col-sm-9"> |
| | | <select style="width: 300px" class="form-control" id="store" name="store" > |
| | | <option disabled selected value="">请选择门店</option> |
| | | @if(objectType!=1){ |
| | | @for(obj in stores){ |
| | | <option style="width: 300px" value="${obj.id}">${obj.name}</option> |
| | | @} |
| | | @} |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="form-group" id="siteType"> |
| | | <label class="col-sm-3 control-label">*场地分类:</label> |
| | | <div class="col-sm-9"> |
| | | <select style="width: 300px" class="form-control" id="siteTypeId" name = "typeId"> |
| | | <option value="">选择类型</option> |
| | | @for(obj in siteType){ |
| | | <option value="${obj.id}">${obj.name}</option> |
| | | @} |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | <#input style="width: 300px" id="name" name="*场地名称" type="text"/> |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*可预约时间段:</label> |
| | | <!-- <input style="width: 300px" class="form-control" type="time">--> |
| | | <div class="col-sm-9" style="display: flex"> |
| | | <input style="width: 136px;" value="开始时间" id="start-time" class="form-control" type="time"> |
| | | <span style="margin-top: 7px"> 至 </span> |
| | | <input style="width: 136px;" value="结束时间" id="end-time" class="form-control" type="time"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*现金价格:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" id="cashPrice" name="playPaiCoin" placeholder="请输入价格" type="text"> |
| | | <span style="margin-left: 5px;margin-top: 5px">元/半小时</span> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*玩湃币价格:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" id="playPaiCoin" name="playPaiCoin" placeholder="请输入价格" type="text"> |
| | | <span style="margin-left: 5px;margin-top: 5px">币/半小时</span> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">*场地责任险有效期:</label> |
| | | <div class="col-sm-9"> |
| | | <input style="width: 300px" class="form-control" id="insuranceEndTime" name="insuranceEndTime" type="date"> |
| | | </div> |
| | | |
| | | <#avatar id="img" name="" avatarImg=""/> |
| | | |
| | | <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> |
| | | @if(objectType==1){ |
| | | <div class="row" id="app1"> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label head-scu-label">*实景图片(请上传不超过五张图片): </label> |
| | | <div class="col-sm-2" style="width: 100%;margin-left: 11%;margin-top: 1%"> |
| | | <el-upload |
| | | :limit="5" |
| | | class="avatar-uploader" |
| | | action="/tCouponManage/uploadPic" |
| | | list-type="picture-card" |
| | | accept="." |
| | | :on-success="handleAvatarSuccess" |
| | | :on-remove="handleRemove"> |
| | | <i class="el-icon-plus"></i> |
| | | </el-upload> |
| | | <el-dialog :visible.sync="dialogVisible"> |
| | | <img width="100%" :src="imageUrl1" alt=""> |
| | | </el-dialog> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | @} |
| | | @if(objectType==1){ |
| | | <#input style="width: 300px" id="name" name="*添加闸机:" placeholder="请输入闸机ID" type="text"/> |
| | | @} |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5" > |
| | | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TSite.addSubmit()"/> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TSite.close()"/> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | <script src="${ctxPath}/modular/system/tSite/tSite.js"></script> |
| | | <script src="${ctxPath}/js/vue/vue.js"></script> |
| | | <script src="${ctxPath}/js/elementui/index.js"></script> |
| | | <link rel="stylesheet" href="${ctxPath}/js/elementui/index.css"> |
| | | <script> |
| | | var vue2 = new Vue({ |
| | | el: '#app1', |
| | | props: { |
| | | // 数量限制 |
| | | limit: { |
| | | type: Number, |
| | | default: 2 |
| | | }, |
| | | }, |
| | | data: { |
| | | autoUpload: true,//自动上传 |
| | | imageUrl1: '',//模型数据,用于上传图片完成后图片预览 |
| | | dialogVisible: false |
| | | }, |
| | | methods: { |
| | | handleAvatarSuccess(res, file) { |
| | | TSite.goodsPicArray.push(file); |
| | | }, |
| | | beforeAvatarUpload(file) { |
| | | const isLt2M = file.size / 1024 / 1024 < 10; |
| | | if (!isLt2M) { |
| | | this.$message.error('上传图片大小不能超过 10MB!'); |
| | | } |
| | | return isLt2M; |
| | | }, |
| | | handleRemove(file, fileList) { |
| | | TSite.goodsPicArray = TSite.goodsPicArray.filter(item => { |
| | | return item.uid != file.uid; |
| | | }); |
| | | }, |
| | | }, |
| | | created() { |
| | | }, |
| | | }); |
| | | var selectElement = document.getElementById('store'); |
| | | var startTime = document.getElementById('start-time'); |
| | | var endTime = document.getElementById('end-time'); |
| | | startTime.disabled = true; |
| | | endTime.disabled = true; |
| | | selectElement.addEventListener('change',function () { |
| | | if (selectElement.value !== ''){ |
| | | startTime.disabled = false; |
| | | endTime.disabled = false; |
| | | }else{ |
| | | startTime.disabled = true; |
| | | endTime.disabled = true; |
| | | } |
| | | }); |
| | | </script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-content"> |
| | | <div class="form-horizontal" id="carInfoForm"> |
| | | |
| | | @if(objectType == 1){ |
| | | <div class="form-group" id="provinceCode"> |
| | | <label class="col-sm-3 control-label">*所在省:</label> |
| | | <div class="col-sm-9"> |
| | | <select style="width: 300px" class="form-control" id="pCode" name="pCode" onchange="TSiteInfo.oneChange(this)"> |
| | | <!-- <option style="width: 300px" value="${list.province}">${list.province}</option>--> |
| | | @for(obj in province){ |
| | | <option value="${obj}" ${obj == list.province ? 'selected=selected' : ''}>${obj}</option> |
| | | <!-- <option style="width: 300px" value="${obj}">${obj}</option>--> |
| | | @} |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="form-group" id="cityCode"> |
| | | <label class="col-sm-3 control-label">*所在市:</label> |
| | | <div class="col-sm-9"> |
| | | <select style="width: 300px" class="form-control" id="cCode" name="cCode" onchange="TSiteInfo.oneChangeNext(this)"> |
| | | @for(obj in city1){ |
| | | <option value="${obj.city}" ${obj.city == list.city ? 'selected=selected' : ''}>${obj.city}</option> |
| | | <!-- <option style="width: 300px" value="${obj.city}">${obj.city}</option>--> |
| | | @} |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*所属账号:</label> |
| | | <div class="col-sm-9"> |
| | | <select style="width: 300px" class="form-control" id="account" name="account"> |
| | | @for(obj in accounts){ |
| | | <option style="width: 300px" value="${obj.id}">${obj.name}</option> |
| | | @} |
| | | </select> |
| | | </div> |
| | | </div> |
| | | @} |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*所属门店:</label> |
| | | <div class="col-sm-9"> |
| | | <select style="width: 300px" class="form-control" id="store" name="store" onchange="TSiteInfo.getTime(this)" > |
| | | @for(obj in stores){ |
| | | <option value="${obj.id}" ${obj.id == list.storeId ? 'selected=selected' : ''}>${obj.name}</option> |
| | | <!-- <option style="width: 300px" value="${obj.id}">${obj.name}</option>--> |
| | | @} |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="form-group" id="siteType"> |
| | | <label class="col-sm-3 control-label">*场地类型:</label> |
| | | <div class="col-sm-9"> |
| | | <select style="width: 300px" class="form-control" id="siteTypeId" name = "typeId"> |
| | | @for(obj in siteType){ |
| | | <option value="${obj.id}">${obj.name}</option> |
| | | @} |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*场地名称:</label> |
| | | <div class="col-sm-9" > |
| | | <input style="width: 300px" class="form-control" id="name" name="name" type="text" value="${list.name}"> |
| | | </div> |
| | | </div> |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*可预约时间段:</label> |
| | | <div class="col-sm-9" style="display: flex"> |
| | | <input style="width: 150px;" value="${list.appointmentStartTime}" id="start-time" class="form-control" type="time" > |
| | | <span style="margin-top: 7px"> 至 </span> |
| | | <input style="width: 150px;" value="${list.appointmentEndTime}" id="end-time" class="form-control" type="time"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*现金价格:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" id="cashPrice" name="playPaiCoin" type="text" value="${list.cashPrice}"> |
| | | <span style="margin-left: 5px;margin-top: 5px">元/半小时</span> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group" > |
| | | <label class="col-sm-3 control-label">*玩湃币价格:</label> |
| | | <div class="col-sm-9" style="display: flex;"> |
| | | <input style="width: 300px" class="form-control" id="playPaiCoin" name="playPaiCoin" type="text" value="${list.playPaiCoin}"> |
| | | <span style="margin-left: 5px;margin-top: 5px">币/半小时</span> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">*场地责任险有效期:</label> |
| | | <div class="col-sm-9"> |
| | | <input value="${time}" style="width: 300px" class="form-control" id="insuranceEndTime" name="insuranceEndTime" type="date"> |
| | | </div> |
| | | </div> |
| | | <#avatar id="img" name="" value ="${list.insuranceImg}" avatarImg="${list.insuranceImg}"/> |
| | | |
| | | <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="${list.managementPlan}" 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> |
| | | @if(objectType ==1){ |
| | | <div class="row" id="app1"> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label head-scu-label">*实景图片(请上传不超过五张图片): </label> |
| | | <div class="col-sm-2" style="width: 100%;margin-left: 11%;margin-top: 1%"> |
| | | <el-upload |
| | | :limit="5" |
| | | class="avatar-uploader" |
| | | action="/tCouponManage/uploadPic" |
| | | list-type="picture-card" |
| | | accept="." |
| | | :on-success="handleAvatarSuccess" |
| | | :on-remove="handleRemove"> |
| | | <i class="el-icon-plus"></i> |
| | | </el-upload> |
| | | <el-dialog :visible.sync="dialogVisible"> |
| | | <img width="100%" :src="imageUrl1" alt=""> |
| | | </el-dialog> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | @} |
| | | </div> |
| | | @if(objectType==1){ |
| | | <#input style="width: 300px" id="name" name="*添加闸机:" placeholder="请输入闸机ID" type="text"/> |
| | | @} |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5" > |
| | | @if(type==1){ |
| | | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TSiteInfo.addSubmit()"/> |
| | | @} |
| | | <#button btnCss="danger" name="关闭" id="cancel" icon="fa-eraser" clickFun="TSiteInfo.close()"/> |
| | | </div> |
| | | </div> |
| | | <input hidden id="role" value="${role}"> |
| | | <input type="hidden" id="id" value="${list.id}"> |
| | | </div> |
| | | <!-- <img id="img" value="${list.insuranceImg}"/>--> |
| | | <!-- <img id = "plan" value="${list.managementPlan}"/>--> |
| | | </div> |
| | | |
| | | <script src="${ctxPath}/modular/system/tSite/tSite_info.js"></script> |
| | | <script src="${ctxPath}/js/vue/vue.js"></script> |
| | | <script src="${ctxPath}/js/elementui/index.js"></script> |
| | | <link rel="stylesheet" href="${ctxPath}/js/elementui/index.css"> |
| | | <script> |
| | | var vue2 = new Vue({ |
| | | el: '#app1', |
| | | props: { |
| | | // 数量限制 |
| | | limit: { |
| | | type: Number, |
| | | default: 2 |
| | | }, |
| | | }, |
| | | data: { |
| | | autoUpload: true,//自动上传 |
| | | imageUrl1: '',//模型数据,用于上传图片完成后图片预览 |
| | | dialogVisible: false |
| | | }, |
| | | methods: { |
| | | handleAvatarSuccess(res, file) { |
| | | TCarInfoDlg.goodsPicArray.push(file); |
| | | }, |
| | | beforeAvatarUpload(file) { |
| | | const isLt2M = file.size / 1024 / 1024 < 10; |
| | | if (!isLt2M) { |
| | | this.$message.error('上传图片大小不能超过 10MB!'); |
| | | } |
| | | return isLt2M; |
| | | }, |
| | | handleRemove(file, fileList) { |
| | | TCarInfoDlg.goodsPicArray = TCarInfoDlg.goodsPicArray.filter(item => { |
| | | return item.uid != file.uid; |
| | | }); |
| | | }, |
| | | }, |
| | | created() { |
| | | }, |
| | | }); |
| | | var selectElement = document.getElementById('store'); |
| | | var startTime = document.getElementById('start-time'); |
| | | var endTime = document.getElementById('end-time'); |
| | | |
| | | selectElement.addEventListener('change',function () { |
| | | if (selectElement.value !== ''){ |
| | | startTime.disabled = false; |
| | | endTime.disabled = false; |
| | | }else{ |
| | | startTime.disabled = true; |
| | | endTime.disabled = true; |
| | | } |
| | | }); |
| | | </script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <style> |
| | | |
| | | .ibox-content { |
| | | text-align: center; |
| | | } |
| | | |
| | | </style> |
| | | <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-content"> |
| | | <div class="form-horizontal" id="carInfoForm"><h2 style="margin-bottom: 20px"> 锁定场地 </h2> |
| | | <div class="form-group" style="margin-left: 225px" > |
| | | <label class="col-sm-3 control-label">锁定时间:</label> |
| | | <div class="col-sm-9" style="display: flex"> |
| | | <input style="width: 200px;" value="开始时间" id="start-time" class="form-control" type="datetime-local"> |
| | | <span style="margin-top: 7px"> 至 </span> |
| | | <input style="width: 200px;" value="结束时间" id="end-time" class="form-control" type="datetime-local"> |
| | | <span> </span> |
| | | <#button btnCss="info" name="添加" id="${id}" icon="fa-check" clickFun="TSiteLock.add(${id})"/> |
| | | </div> |
| | | </div> |
| | | <div class="form-group" style="margin-left: 150px" > |
| | | <div class="col-sm-12" style="margin-left: -57px;margin-top: 20px"> |
| | | <table class="table table-bordered" style="width: 70%;margin-left: 228px;" id="lockTable"> |
| | | <thead> |
| | | <tr> |
| | | <td hidden>主键id</td> |
| | | <td>开始时间</td> |
| | | <td>结束时间</td> |
| | | <td>操作</td> |
| | | </tr> |
| | | </thead> |
| | | <tbody id="coun"> |
| | | @for(obj in list){ |
| | | <tr class="timeClass"> |
| | | <td><span>${obj.ssTime}</span></td> |
| | | <td><span>${obj.eeTime}</span></td> |
| | | <td><button id = "${obj.id}" onclick="TSiteLock.delete(this)">删除</button></td> |
| | | </tr> |
| | | @} |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="row btn-group-m-t" style="margin-left: 145px"> |
| | | <div class="col-sm-10 col-sm-offset-5" > |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TSiteLock.close()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <script src="${ctxPath}/modular/system/tSite/tSiteLock.js"></script> |
| | | <script src="${ctxPath}/js/vue/vue.js"></script> |
| | | <script src="${ctxPath}/js/elementui/index.js"></script> |
| | | <link rel="stylesheet" href="${ctxPath}/js/elementui/index.css"> |
| | | <script> |
| | | |
| | | </script> |
| | | @} |
| | |
| | | }; |
| | | |
| | | window.$ax = $ax; |
| | | |
| | | |
| | | } ()); |
| | |
| | | */ |
| | | // 开始上传文件 |
| | | function UploadFileFn() { |
| | | console.log("上传文件") |
| | | $("#progressBarFile").html("0%").css("width", "0%"); |
| | | var upFile = $("#upFile").get(0).files[0]; //input file标签 |
| | | |
New file |
| | |
| | | /** |
| | | * 管理初始化 |
| | | */ |
| | | var TQuestion = { |
| | | id: "TQuestionTable", //表格id |
| | | seItem: null, //选中的条目 |
| | | table: null, |
| | | layerIndex: -1 |
| | | }; |
| | | |
| | | /** |
| | | * 初始化表格的列 |
| | | */ |
| | | TQuestion.initColumn = function () { |
| | | return [ |
| | | {field: 'selectItem', checkbox: true}, |
| | | {title: 'id', field: 'id', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '分类名称', field: 'name', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '所在位置', field: 'position', visible: true, align: 'center', valign: 'middle', |
| | | formatter:function (data) { |
| | | return {1:"先上课得积分",2:"看视频得奖励"}[data] |
| | | } |
| | | }, |
| | | {title: '视频数', field: 'count', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '排序', field: 'sort', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '状态', field: 'state', visible: true, align: 'center', valign: 'middle', |
| | | formatter:function (data) { |
| | | return {1:"上架中",2:"下架中",3:"已失效"}[data] |
| | | }} |
| | | ]; |
| | | }; |
| | | |
| | | /** |
| | | * 检查是否选中 |
| | | */ |
| | | TQuestion.check = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | |
| | | if(selected.length == 0){ |
| | | Feng.info("请先选中表格中的某一记录!"); |
| | | return false; |
| | | }else{ |
| | | TQuestion.seItem = selected[0]; |
| | | return true; |
| | | } |
| | | }; |
| | | TQuestion.dataCount = 0; |
| | | TQuestion.phone = ""; |
| | | TQuestion.phoneId = ""; |
| | | |
| | | /** |
| | | * 点击添加 |
| | | */ |
| | | TQuestion.openAdd = function () { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '添加分类', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/benefits/add' |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | |
| | | /** |
| | | * 点击编辑 |
| | | */ |
| | | TQuestion.openChange = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length >1 ){ |
| | | Feng.info("只能选择一个问题进行编辑!"); |
| | | }else { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '编辑分类', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/benefits/update/' + TQuestion.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 上架 |
| | | */ |
| | | |
| | | TQuestion.onShelf = function () { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | const data1 = { |
| | | ids:[], |
| | | state:null |
| | | }; |
| | | selected.forEach(function(obj) { |
| | | var id = obj.id; |
| | | data1.ids.push(id); |
| | | }); |
| | | data1.state = 1; |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/benefits/changeState", |
| | | type: "POST", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | data: JSON.stringify(data1), // 将数据转换为 JSON 字符串 |
| | | success: function(response) { |
| | | Feng.success("上架成功!"); |
| | | TQuestion.search(); |
| | | |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "上架失败!"; |
| | | Feng.error("您的网络异常!"); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | }; |
| | | |
| | | |
| | | /** |
| | | * 下架 |
| | | */ |
| | | TQuestion.offShelf = function () { |
| | | |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | const data1 = { |
| | | ids:[], |
| | | state:null |
| | | }; |
| | | selected.forEach(function(obj) { |
| | | var id = obj.id; |
| | | data1.ids.push(id); |
| | | }); |
| | | data1.state = 2; |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/benefits/changeState", |
| | | type: "POST", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | data: JSON.stringify(data1), // 将数据转换为 JSON 字符串 |
| | | success: function(response) { |
| | | Feng.success("下架成功!"); |
| | | TQuestion.search(); |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "下架失败!"; |
| | | Feng.error("您的网络异常!"); |
| | | } |
| | | }); |
| | | } |
| | | }; |
| | | /** |
| | | * 查看详情 |
| | | */ |
| | | TQuestion.getInfo = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length >1 ){ |
| | | Feng.info("只能选择一条进行查看!"); |
| | | }else { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '详情', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/benefits/info/' + TQuestion.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 查看视频详情 |
| | | */ |
| | | TQuestion.getInfo = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length >1 ){ |
| | | Feng.info("只能选择一条进行查看!"); |
| | | }else { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '详情', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/benefits/getBenefitsVideos/' + TQuestion.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | TQuestion.delete = function () { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | const data1 = { |
| | | ids:[], |
| | | state:null |
| | | }; |
| | | selected.forEach(function(obj) { |
| | | var id = obj.id; |
| | | data1.ids.push(id); |
| | | }); |
| | | data1.state = 3; |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/benefits/changeState", |
| | | type: "POST", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | data: JSON.stringify(data1), // 将数据转换为 JSON 字符串 |
| | | success: function(response) { |
| | | Feng.success("删除成功!"); |
| | | TQuestion.search(); |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "删除失败!"; |
| | | Feng.error(errorMessage); |
| | | } |
| | | }); |
| | | } |
| | | }; |
| | | |
| | | TQuestion.addSubmit = function(){ |
| | | var data = { |
| | | id:null, |
| | | name:"", |
| | | position:"", |
| | | sort:"", |
| | | }; |
| | | data.name = $("#name").val() |
| | | data.position = $("#position").val() |
| | | data.sort = $("#sort").val() |
| | | |
| | | |
| | | if($("#name").val()==''){ |
| | | Feng.info("请输入分类名称") |
| | | return; |
| | | } |
| | | if($("#cCode").val()==''){ |
| | | Feng.info("请选择所在位置") |
| | | return; |
| | | } |
| | | if($("#account").val()=='' ){ |
| | | Feng.info("请输入排序") |
| | | return; |
| | | } |
| | | |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/benefits/addBenefits" , |
| | | type: "POST", |
| | | data: JSON.stringify(data), |
| | | contentType: "application/json", |
| | | success: function (response) { |
| | | Feng.success("添加成功"); |
| | | |
| | | }, |
| | | error: function (xhr, status, error) { |
| | | Feng.error("添加失败!" + error); |
| | | } |
| | | }); |
| | | TSite.search(); |
| | | }; |
| | | TQuestion.updateSubmit = function(){ |
| | | var data = { |
| | | id:null, |
| | | name:"", |
| | | position:"", |
| | | sort:"", |
| | | }; |
| | | data.name = $("#name").val() |
| | | data.position = $("#position").val() |
| | | data.sort = $("#sort").val() |
| | | data.id = $("#dataId").val() |
| | | if($("#name").val()==''){ |
| | | Feng.info("请输入分类名称") |
| | | return; |
| | | } |
| | | if($("#cCode").val()==''){ |
| | | Feng.info("请选择所在位置") |
| | | return; |
| | | } |
| | | if($("#account").val()=='' ){ |
| | | Feng.info("请输入排序") |
| | | return; |
| | | } |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/benefits/addBenefits" , |
| | | type: "POST", |
| | | data: JSON.stringify(data), |
| | | contentType: "application/json", |
| | | success: function (response) { |
| | | Feng.success("添加成功"); |
| | | }, |
| | | error: function (xhr, status, error) { |
| | | Feng.error("添加失败!" + error); |
| | | } |
| | | }); |
| | | TSite.search(); |
| | | }; |
| | | /** |
| | | * 查询列表 |
| | | */ |
| | | TQuestion.search = function () { |
| | | var queryData = {}; |
| | | queryData['name'] = $("#name").val(); |
| | | queryData['position'] = $("#position").val(); |
| | | TQuestion.table.refresh({query: queryData}); |
| | | }; |
| | | |
| | | |
| | | /** |
| | | * 重置搜索 |
| | | */ |
| | | TQuestion.resetSearch = function () { |
| | | $("#name").val(''); |
| | | $("#position").val(''); |
| | | TQuestion.search(); |
| | | }; |
| | | |
| | | $(function () { |
| | | var defaultColunms = TQuestion.initColumn(); |
| | | var table = new BSTable(TQuestion.id, "/benefits/list", defaultColunms); |
| | | table.setPaginationType("client"); |
| | | TQuestion.table = table.init(); |
| | | }); |
New file |
| | |
| | | /** |
| | | * 管理初始化 |
| | | */ |
| | | var TQuestion = { |
| | | id: "TQuestionTable", //表格id |
| | | seItem: null, //选中的条目 |
| | | table: null, |
| | | layerIndex: -1 |
| | | }; |
| | | |
| | | /** |
| | | * 初始化表格的列 |
| | | */ |
| | | TQuestion.initColumn = function () { |
| | | return [ |
| | | {field: 'selectItem', checkbox: true}, |
| | | {title: 'id', field: 'id', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: 'benefitsVideosId', field: 'benefitsVideosId', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '视频类型', field: 'type', visible: true, align: 'center', valign: 'middle', |
| | | formatter:function (data) { |
| | | return {1:"课后练习",2:"运动教学视频",3:"器材教学视频"}[data] |
| | | } |
| | | }, |
| | | {title: '视频封面', field: 'coverDrawing', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row, index) { |
| | | value = typeof value == "undefined" || value == '' ? '/static/img/NoPIC.png' : value; |
| | | return '<img src="' + value + '" style="height: 100px;"/>' |
| | | } |
| | | }, |
| | | {title: '视频名称', field: 'name', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '视频简介', field: 'introduce', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '可获积分', field: 'integral', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '添加时间', field: 'insertTime', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '状态', field: 'state', visible: true, align: 'center', valign: 'middle', |
| | | formatter:function (data) { |
| | | return {1:"上架中",2:"下架中",3:"已失效"}[data] |
| | | }} |
| | | ]; |
| | | }; |
| | | |
| | | /** |
| | | * 检查是否选中 |
| | | */ |
| | | TQuestion.check = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | |
| | | if(selected.length == 0){ |
| | | Feng.info("请先选中表格中的某一记录!"); |
| | | return false; |
| | | }else{ |
| | | TQuestion.seItem = selected[0]; |
| | | return true; |
| | | } |
| | | }; |
| | | TQuestion.dataCount = 0; |
| | | TQuestion.phone = ""; |
| | | TQuestion.phoneId = ""; |
| | | |
| | | |
| | | /** |
| | | * 点击添加 |
| | | */ |
| | | TQuestion.openAdd = function () { |
| | | var val = $("#id").val(); |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '添加分类', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/benefits/addBenefitsVideos/'+val |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | |
| | | |
| | | /** |
| | | * 上架 |
| | | */ |
| | | |
| | | TQuestion.onShelf = function () { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | const data1 = { |
| | | ids:[], |
| | | state:null |
| | | }; |
| | | selected.forEach(function(obj) { |
| | | var id = obj.id; |
| | | data1.ids.push(id); |
| | | }); |
| | | data1.state = 1; |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/benefits/changeCourseState", |
| | | type: "POST", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | data: JSON.stringify(data1), // 将数据转换为 JSON 字符串 |
| | | success: function(response) { |
| | | Feng.success("上架成功!"); |
| | | TQuestion.search(); |
| | | |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "上架失败!"; |
| | | Feng.error("您的网络异常!"); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | }; |
| | | |
| | | |
| | | /** |
| | | * 下架 |
| | | */ |
| | | TQuestion.offShelf = function () { |
| | | |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | const data1 = { |
| | | ids:[], |
| | | state:null |
| | | }; |
| | | selected.forEach(function(obj) { |
| | | var id = obj.id; |
| | | data1.ids.push(id); |
| | | }); |
| | | data1.state = 2; |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/benefits/changeCourseState", |
| | | type: "POST", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | data: JSON.stringify(data1), // 将数据转换为 JSON 字符串 |
| | | success: function(response) { |
| | | Feng.success("下架成功!"); |
| | | TQuestion.search(); |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "下架失败!"; |
| | | Feng.error("您的网络异常!"); |
| | | } |
| | | }); |
| | | } |
| | | }; |
| | | /** |
| | | * 查看详情 |
| | | */ |
| | | TQuestion.getInfo = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length >1 ){ |
| | | Feng.info("只能选择一条进行查看!"); |
| | | }else { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '详情', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/benefits/infoBenefitsVideos/' + TQuestion.seItem.id+'/'+1 |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 点击编辑 |
| | | */ |
| | | TQuestion.openChange = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | console.log("看看") |
| | | console.log(); |
| | | if(selected.length >1 ){ |
| | | Feng.info("只能选择一个进行编辑!"); |
| | | }else { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '编辑分类', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/benefits/infoBenefitsVideos/' + TQuestion.seItem.id+'/'+2+'/'+selected[0]['benefitsVideosId'] |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 查看视频详情的详情 |
| | | */ |
| | | TQuestion.getInfo = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length >1 ){ |
| | | Feng.info("只能选择一条进行查看!"); |
| | | }else { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '详情', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/benefits/infoBenefitsVideos/' + TQuestion.seItem.id+'/'+1+'/'+selected[0]['benefitsVideosId'] |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | } |
| | | }; |
| | | |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | TQuestion.delete = function () { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | const data1 = { |
| | | ids:[], |
| | | state:null |
| | | }; |
| | | selected.forEach(function(obj) { |
| | | var id = obj.id; |
| | | data1.ids.push(id); |
| | | }); |
| | | data1.state = 3; |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/benefits/changeCourseState", |
| | | type: "POST", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | data: JSON.stringify(data1), // 将数据转换为 JSON 字符串 |
| | | success: function(response) { |
| | | Feng.success("删除成功!"); |
| | | TQuestion.search(); |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "删除失败!"; |
| | | Feng.error(errorMessage); |
| | | } |
| | | }); |
| | | } |
| | | }; |
| | | |
| | | TQuestion.addSubmit = function(){ |
| | | var data = { |
| | | id:null, |
| | | name:"", |
| | | position:"", |
| | | sort:"", |
| | | }; |
| | | data.name = $("#name").val() |
| | | data.position = $("#position").val() |
| | | data.sort = $("#sort").val() |
| | | |
| | | |
| | | if($("#name").val()==''){ |
| | | Feng.info("请输入分类名称") |
| | | return; |
| | | } |
| | | if($("#cCode").val()==''){ |
| | | Feng.info("请选择所在位置") |
| | | return; |
| | | } |
| | | if($("#account").val()=='' ){ |
| | | Feng.info("请输入排序") |
| | | return; |
| | | } |
| | | |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/benefits/addBenefits" , |
| | | type: "POST", |
| | | data: JSON.stringify(data), |
| | | contentType: "application/json", |
| | | success: function (response) { |
| | | Feng.success("添加成功"); |
| | | |
| | | }, |
| | | error: function (xhr, status, error) { |
| | | Feng.error("添加失败!" + error); |
| | | } |
| | | }); |
| | | TSite.search(); |
| | | }; |
| | | TQuestion.updateSubmit = function(){ |
| | | var data = { |
| | | id:null, |
| | | name:"", |
| | | position:"", |
| | | sort:"", |
| | | }; |
| | | data.name = $("#name").val() |
| | | data.position = $("#position").val() |
| | | data.sort = $("#sort").val() |
| | | data.id = $("#dataId").val() |
| | | if($("#name").val()==''){ |
| | | Feng.info("请输入分类名称") |
| | | return; |
| | | } |
| | | if($("#cCode").val()==''){ |
| | | Feng.info("请选择所在位置") |
| | | return; |
| | | } |
| | | if($("#account").val()=='' ){ |
| | | Feng.info("请输入排序") |
| | | return; |
| | | } |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/benefits/addBenefits" , |
| | | type: "POST", |
| | | data: JSON.stringify(data), |
| | | contentType: "application/json", |
| | | success: function (response) { |
| | | Feng.success("添加成功"); |
| | | }, |
| | | error: function (xhr, status, error) { |
| | | Feng.error("添加失败!" + error); |
| | | } |
| | | }); |
| | | TSite.search(); |
| | | }; |
| | | /** |
| | | * 查询列表 |
| | | */ |
| | | TQuestion.search = function () { |
| | | var queryData = {}; |
| | | queryData['name'] = $("#name").val(); |
| | | queryData['type'] = $("#position").val(); |
| | | queryData['state'] = $("#state").val(); |
| | | TQuestion.table.refresh({query: queryData}); |
| | | }; |
| | | |
| | | |
| | | /** |
| | | * 重置搜索 |
| | | */ |
| | | TQuestion.resetSearch = function () { |
| | | $("#name").val(''); |
| | | $("#state").val(''); |
| | | $("#position").val(''); |
| | | TQuestion.search(); |
| | | }; |
| | | function UploadFileFn(){ |
| | | $('#upFile').click(); |
| | | } |
| | | $(function () { |
| | | |
| | | var val = $("#id").val(); |
| | | var defaultColunms = TQuestion.initColumn(); |
| | | var table = new BSTable(TQuestion.id, "/benefits/listBenefitsVideos/"+val, defaultColunms); |
| | | table.setPaginationType("client"); |
| | | TQuestion.table = table.init(); |
| | | |
| | | }); |
New file |
| | |
| | | /** |
| | | * 管理初始化 |
| | | */ |
| | | var TQuestion = { |
| | | id: "TQuestionTable", //表格id |
| | | seItem: null, //选中的条目 |
| | | table: null, |
| | | layerIndex: -1 |
| | | }; |
| | | |
| | | /** |
| | | * 初始化表格的列 |
| | | */ |
| | | TQuestion.initColumn = function () { |
| | | return [ |
| | | {field: 'selectItem', checkbox: true}, |
| | | {title: 'id', field: 'id', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '视频类型', field: 'type', visible: true, align: 'center', valign: 'middle', |
| | | formatter:function (data) { |
| | | return {1:"课后练习",2:"运动教学视频",3:"器材教学视频"}[data] |
| | | } |
| | | }, |
| | | {title: '视频封面', field: 'coverDrawing', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row, index) { |
| | | value = typeof value == "undefined" || value == '' ? '/static/img/NoPIC.png' : value; |
| | | return '<img src="' + value + '" style="height: 100px;"/>' |
| | | } |
| | | }, |
| | | {title: '视频名称', field: 'name', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '视频简介', field: 'introduce', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '可获积分', field: 'integral', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '添加时间', field: 'insertTime', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '状态', field: 'state', visible: true, align: 'center', valign: 'middle', |
| | | formatter:function (data) { |
| | | return {1:"上架中",2:"下架中",3:"已失效"}[data] |
| | | }} |
| | | ]; |
| | | }; |
| | | |
| | | /** |
| | | * 检查是否选中 |
| | | */ |
| | | TQuestion.check = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | |
| | | if(selected.length == 0){ |
| | | Feng.info("请先选中表格中的某一记录!"); |
| | | return false; |
| | | }else{ |
| | | TQuestion.seItem = selected[0]; |
| | | return true; |
| | | } |
| | | }; |
| | | TQuestion.dataCount = 0; |
| | | TQuestion.phone = ""; |
| | | TQuestion.phoneId = ""; |
| | | /** |
| | | * 选择视频 回显视频封面 |
| | | * @param e |
| | | */ |
| | | TQuestion.oneChange = function (e) { |
| | | var id = $("#name").val(); |
| | | var ajax = new $ax(Feng.ctxPath + "/benefits/getCoverDrawing/"+id, function(data){ |
| | | document.getElementById('img').src = data.coverDrawing; |
| | | $("#introduce").val(data.introduce); |
| | | }); |
| | | ajax.set("id",id); |
| | | ajax.start(); |
| | | }; |
| | | /** |
| | | * 点击添加 |
| | | */ |
| | | TQuestion.openAdd = function () { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '添加分类', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/benefits/add' |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | |
| | | /** |
| | | * 点击编辑 |
| | | */ |
| | | TQuestion.openChange = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length >1 ){ |
| | | Feng.info("只能选择一个问题进行编辑!"); |
| | | }else { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '编辑分类', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/benefits/update/' + TQuestion.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 上架 |
| | | */ |
| | | |
| | | TQuestion.onShelf = function () { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | const data1 = { |
| | | ids:[], |
| | | state:null |
| | | }; |
| | | selected.forEach(function(obj) { |
| | | var id = obj.id; |
| | | data1.ids.push(id); |
| | | }); |
| | | data1.state = 1; |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/benefits/changeCourseState", |
| | | type: "POST", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | data: JSON.stringify(data1), // 将数据转换为 JSON 字符串 |
| | | success: function(response) { |
| | | Feng.success("上架成功!"); |
| | | TQuestion.search(); |
| | | |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "上架失败!"; |
| | | Feng.error("您的网络异常!"); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | }; |
| | | |
| | | |
| | | /** |
| | | * 下架 |
| | | */ |
| | | TQuestion.offShelf = function () { |
| | | |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | const data1 = { |
| | | ids:[], |
| | | state:null |
| | | }; |
| | | selected.forEach(function(obj) { |
| | | var id = obj.id; |
| | | data1.ids.push(id); |
| | | }); |
| | | data1.state = 2; |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/benefits/changeCourseState", |
| | | type: "POST", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | data: JSON.stringify(data1), // 将数据转换为 JSON 字符串 |
| | | success: function(response) { |
| | | Feng.success("下架成功!"); |
| | | TQuestion.search(); |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "下架失败!"; |
| | | Feng.error("您的网络异常!"); |
| | | } |
| | | }); |
| | | } |
| | | }; |
| | | /** |
| | | * 查看详情 |
| | | */ |
| | | TQuestion.getInfo = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length >1 ){ |
| | | Feng.info("只能选择一条进行查看!"); |
| | | }else { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '详情', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/benefits/info/' + TQuestion.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 查看视频详情 |
| | | */ |
| | | TQuestion.getInfo = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length >1 ){ |
| | | Feng.info("只能选择一条进行查看!"); |
| | | }else { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '详情', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/benefits/getBenefitsVideos/' + TQuestion.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | TQuestion.delete = function () { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | const data1 = { |
| | | ids:[], |
| | | state:null |
| | | }; |
| | | selected.forEach(function(obj) { |
| | | var id = obj.id; |
| | | data1.ids.push(id); |
| | | }); |
| | | data1.state = 3; |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/benefits/changeCourseState", |
| | | type: "POST", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | data: JSON.stringify(data1), // 将数据转换为 JSON 字符串 |
| | | success: function(response) { |
| | | Feng.success("删除成功!"); |
| | | TQuestion.search(); |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "删除失败!"; |
| | | Feng.error(errorMessage); |
| | | } |
| | | }); |
| | | } |
| | | }; |
| | | |
| | | TQuestion.addSubmit = function(){ |
| | | var data = { |
| | | benefitsVideoClassificationId:null, |
| | | courseId:"", |
| | | integral:"" |
| | | }; |
| | | data.courseId = $("#name").val() |
| | | data.benefitsVideoClassificationId = $("#id").val() |
| | | data.integral = $("#integral").val() |
| | | |
| | | if($("#name").val()==''){ |
| | | Feng.info("请选择视频") |
| | | return; |
| | | } |
| | | |
| | | if($("#integral").val()==''){ |
| | | Feng.info("请输入可获积分") |
| | | return; |
| | | } |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/benefits/addBenefitsVideos" , |
| | | type: "POST", |
| | | data: JSON.stringify(data), |
| | | contentType: "application/json", |
| | | success: function (response) { |
| | | if (response === 500){ |
| | | Feng.error("所选视频已经存在于当前福利视频分类下!"); |
| | | }else{ |
| | | Feng.success("添加成功"); |
| | | } |
| | | }, |
| | | error: function (xhr, status, error) { |
| | | Feng.error("添加失败!" + error); |
| | | } |
| | | }); |
| | | }; |
| | | // 视频详情编辑提交按钮 |
| | | TQuestion.updateVideosSubmit = function(){ |
| | | var data = { |
| | | id:null, |
| | | integral:null |
| | | }; |
| | | data.id = $("#benefitsVideosId").val() |
| | | data.integral = $("#integral").val() |
| | | if($("#integral").val()==''){ |
| | | Feng.info("请输入可获积分") |
| | | return; |
| | | } |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/benefits/addBenefitsVideos" , |
| | | type: "POST", |
| | | data: JSON.stringify(data), |
| | | contentType: "application/json", |
| | | success: function (response) { |
| | | Feng.success("添加成功"); |
| | | }, |
| | | error: function (xhr, status, error) { |
| | | Feng.error("添加失败!" + error); |
| | | } |
| | | }); |
| | | }; |
| | | |
| | | TQuestion.updateSubmit = function(){ |
| | | var data = { |
| | | id:null, |
| | | name:"", |
| | | position:"", |
| | | sort:"", |
| | | }; |
| | | data.name = $("#name").val() |
| | | data.position = $("#position").val() |
| | | data.sort = $("#sort").val() |
| | | data.id = $("#dataId").val() |
| | | if($("#name").val()==''){ |
| | | Feng.info("请输入分类名称") |
| | | return; |
| | | } |
| | | if($("#cCode").val()==''){ |
| | | Feng.info("请选择所在位置") |
| | | return; |
| | | } |
| | | if($("#account").val()=='' ){ |
| | | Feng.info("请输入排序") |
| | | return; |
| | | } |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/benefits/addBenefits" , |
| | | type: "POST", |
| | | data: JSON.stringify(data), |
| | | contentType: "application/json", |
| | | success: function (response) { |
| | | Feng.success("添加成功"); |
| | | }, |
| | | error: function (xhr, status, error) { |
| | | Feng.error("添加失败!" + error); |
| | | } |
| | | }); |
| | | TSite.search(); |
| | | }; |
| | | /** |
| | | * 查询列表 |
| | | */ |
| | | TQuestion.search = function () { |
| | | var queryData = {}; |
| | | queryData['name'] = $("#name").val(); |
| | | queryData['type'] = $("#position").val(); |
| | | queryData['state'] = $("#state").val(); |
| | | TQuestion.table.refresh({query: queryData}); |
| | | }; |
| | | |
| | | |
| | | /** |
| | | * 重置搜索 |
| | | */ |
| | | TQuestion.resetSearch = function () { |
| | | $("#name").val(''); |
| | | $("#state").val(''); |
| | | $("#position").val(''); |
| | | TQuestion.search(); |
| | | }; |
| | | /** |
| | | * 关闭此对话框 |
| | | */ |
| | | TQuestion.close = function() { |
| | | parent.layer.close(window.parent.TQuestion.layerIndex); |
| | | } |
| | | |
| | | $(function () { |
| | | var val = $("#id").val(); |
| | | var defaultColunms = TQuestion.initColumn(); |
| | | var table = new BSTable(TQuestion.id, "/benefits/listBenefitsVideos/"+val, defaultColunms); |
| | | table.setPaginationType("client"); |
| | | TQuestion.table = table.init(); |
| | | var carPhoto = new $WebUpload("img"); |
| | | carPhoto.setUploadBarId("progressBar"); |
| | | carPhoto.init(); |
| | | }); |
New file |
| | |
| | | /** |
| | | * 管理初始化 |
| | | */ |
| | | var TQuestion = { |
| | | id: "TQuestionTable", //表格id |
| | | seItem: null, //选中的条目 |
| | | table: null, |
| | | layerIndex: -1 |
| | | }; |
| | | |
| | | /** |
| | | * 初始化表格的列 |
| | | */ |
| | | TQuestion.initColumn = function () { |
| | | return [ |
| | | {field: 'selectItem', checkbox: true}, |
| | | {title: 'id', field: 'id', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '视频类型', field: 'type', visible: true, align: 'center', valign: 'middle', |
| | | formatter:function (data) { |
| | | return {1:"课后练习",2:"运动教学视频",3:"器材教学视频"}[data] |
| | | } |
| | | }, |
| | | {title: '视频封面', field: 'coverDrawing', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row, index) { |
| | | value = typeof value == "undefined" || value == '' ? '/static/img/NoPIC.png' : value; |
| | | return '<img src="' + value + '" style="height: 100px;"/>' |
| | | } |
| | | }, |
| | | {title: '视频名称', field: 'name', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '视频简介', field: 'introduce', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '可获积分', field: 'integral', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '添加时间', field: 'insertTime', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '状态', field: 'state', visible: true, align: 'center', valign: 'middle', |
| | | formatter:function (data) { |
| | | return {1:"上架中",2:"下架中",3:"已失效"}[data] |
| | | }} |
| | | ]; |
| | | }; |
| | | |
| | | /** |
| | | * 检查是否选中 |
| | | */ |
| | | TQuestion.check = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | |
| | | if(selected.length == 0){ |
| | | Feng.info("请先选中表格中的某一记录!"); |
| | | return false; |
| | | }else{ |
| | | TQuestion.seItem = selected[0]; |
| | | return true; |
| | | } |
| | | }; |
| | | TQuestion.dataCount = 0; |
| | | TQuestion.phone = ""; |
| | | TQuestion.phoneId = ""; |
| | | |
| | | /** |
| | | * 点击添加 |
| | | */ |
| | | TQuestion.openAdd = function () { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '添加分类', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/benefits/add' |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | |
| | | /** |
| | | * 点击编辑 |
| | | */ |
| | | TQuestion.openChange = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length >1 ){ |
| | | Feng.info("只能选择一个问题进行编辑!"); |
| | | }else { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '编辑分类', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/benefits/update/' + TQuestion.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 上架 |
| | | */ |
| | | |
| | | TQuestion.onShelf = function () { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | const data1 = { |
| | | ids:[], |
| | | state:null |
| | | }; |
| | | selected.forEach(function(obj) { |
| | | var id = obj.id; |
| | | data1.ids.push(id); |
| | | }); |
| | | data1.state = 1; |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/benefits/changeCourseState", |
| | | type: "POST", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | data: JSON.stringify(data1), // 将数据转换为 JSON 字符串 |
| | | success: function(response) { |
| | | Feng.success("上架成功!"); |
| | | TQuestion.search(); |
| | | |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "上架失败!"; |
| | | Feng.error("您的网络异常!"); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | }; |
| | | |
| | | |
| | | /** |
| | | * 下架 |
| | | */ |
| | | TQuestion.offShelf = function () { |
| | | |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | const data1 = { |
| | | ids:[], |
| | | state:null |
| | | }; |
| | | selected.forEach(function(obj) { |
| | | var id = obj.id; |
| | | data1.ids.push(id); |
| | | }); |
| | | data1.state = 2; |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/benefits/changeCourseState", |
| | | type: "POST", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | data: JSON.stringify(data1), // 将数据转换为 JSON 字符串 |
| | | success: function(response) { |
| | | Feng.success("下架成功!"); |
| | | TQuestion.search(); |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "下架失败!"; |
| | | Feng.error("您的网络异常!"); |
| | | } |
| | | }); |
| | | } |
| | | }; |
| | | /** |
| | | * 查看详情 |
| | | */ |
| | | TQuestion.getInfo = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length >1 ){ |
| | | Feng.info("只能选择一条进行查看!"); |
| | | }else { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '详情', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/benefits/info/' + TQuestion.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 查看视频详情 |
| | | */ |
| | | TQuestion.getInfo = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length >1 ){ |
| | | Feng.info("只能选择一条进行查看!"); |
| | | }else { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '详情', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/benefits/getBenefitsVideos/' + TQuestion.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | TQuestion.delete = function () { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | const data1 = { |
| | | ids:[], |
| | | state:null |
| | | }; |
| | | selected.forEach(function(obj) { |
| | | var id = obj.id; |
| | | data1.ids.push(id); |
| | | }); |
| | | data1.state = 3; |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/benefits/changeCourseState", |
| | | type: "POST", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | data: JSON.stringify(data1), // 将数据转换为 JSON 字符串 |
| | | success: function(response) { |
| | | Feng.success("删除成功!"); |
| | | TQuestion.search(); |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "删除失败!"; |
| | | Feng.error(errorMessage); |
| | | } |
| | | }); |
| | | } |
| | | }; |
| | | |
| | | TQuestion.addSubmit = function(){ |
| | | var data = { |
| | | id:null, |
| | | name:"", |
| | | position:"", |
| | | sort:"", |
| | | }; |
| | | data.name = $("#name").val() |
| | | data.position = $("#position").val() |
| | | data.sort = $("#sort").val() |
| | | |
| | | |
| | | if($("#name").val()==''){ |
| | | Feng.info("请输入分类名称") |
| | | return; |
| | | } |
| | | if($("#cCode").val()==''){ |
| | | Feng.info("请选择所在位置") |
| | | return; |
| | | } |
| | | if($("#account").val()=='' ){ |
| | | Feng.info("请输入排序") |
| | | return; |
| | | } |
| | | |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/benefits/addBenefits" , |
| | | type: "POST", |
| | | data: JSON.stringify(data), |
| | | contentType: "application/json", |
| | | success: function (response) { |
| | | Feng.success("添加成功"); |
| | | |
| | | }, |
| | | error: function (xhr, status, error) { |
| | | Feng.error("添加失败!" + error); |
| | | } |
| | | }); |
| | | TSite.search(); |
| | | }; |
| | | TQuestion.updateSubmit = function(){ |
| | | var data = { |
| | | id:null, |
| | | name:"", |
| | | position:"", |
| | | sort:"", |
| | | }; |
| | | data.name = $("#name").val() |
| | | data.position = $("#position").val() |
| | | data.sort = $("#sort").val() |
| | | data.id = $("#dataId").val() |
| | | if($("#name").val()==''){ |
| | | Feng.info("请输入分类名称") |
| | | return; |
| | | } |
| | | if($("#cCode").val()==''){ |
| | | Feng.info("请选择所在位置") |
| | | return; |
| | | } |
| | | if($("#account").val()=='' ){ |
| | | Feng.info("请输入排序") |
| | | return; |
| | | } |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/benefits/addBenefits" , |
| | | type: "POST", |
| | | data: JSON.stringify(data), |
| | | contentType: "application/json", |
| | | success: function (response) { |
| | | Feng.success("添加成功"); |
| | | }, |
| | | error: function (xhr, status, error) { |
| | | Feng.error("添加失败!" + error); |
| | | } |
| | | }); |
| | | TSite.search(); |
| | | }; |
| | | /** |
| | | * 查询列表 |
| | | */ |
| | | TQuestion.search = function () { |
| | | var queryData = {}; |
| | | queryData['name'] = $("#name").val(); |
| | | queryData['type'] = $("#position").val(); |
| | | queryData['state'] = $("#state").val(); |
| | | TQuestion.table.refresh({query: queryData}); |
| | | }; |
| | | |
| | | |
| | | /** |
| | | * 重置搜索 |
| | | */ |
| | | TQuestion.resetSearch = function () { |
| | | $("#name").val(''); |
| | | $("#state").val(''); |
| | | $("#position").val(''); |
| | | TQuestion.search(); |
| | | }; |
| | | |
| | | $(function () { |
| | | var val = $("#id").val(); |
| | | var defaultColunms = TQuestion.initColumn(); |
| | | var table = new BSTable(TQuestion.id, "/benefits/listBenefitsVideos/"+val, defaultColunms); |
| | | table.setPaginationType("client"); |
| | | TQuestion.table = table.init(); |
| | | }); |
New file |
| | |
| | | /** |
| | | * 管理初始化 |
| | | */ |
| | | var TQuestion = { |
| | | id: "TQuestionTable", //表格id |
| | | seItem: null, //选中的条目 |
| | | table: null, |
| | | layerIndex: -1 |
| | | }; |
| | | |
| | | /** |
| | | * 初始化表格的列 |
| | | */ |
| | | TQuestion.initColumn = function () { |
| | | return [ |
| | | {field: 'selectItem', checkbox: true}, |
| | | {title: 'id', field: 'id', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '所在省市', field: 'provinceAndCity', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '预约门店', field: 'storeName', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '家长姓名', field: 'parentName', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '家长联系方式', field: 'phone', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '学员姓名', field: 'learnerName', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '学员年龄', field: 'learnerAge', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '学员生日', field: 'birthday', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '预约时间', field: 'appointmentTime', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '状态', field: 'status', visible: true, align: 'center', valign: 'middle', |
| | | formatter:function (data) { |
| | | return {1:"未测试",2:"已测试"}[data] |
| | | }} |
| | | ]; |
| | | }; |
| | | |
| | | /** |
| | | * 检查是否选中 |
| | | */ |
| | | TQuestion.check = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | |
| | | if(selected.length == 0){ |
| | | Feng.info("请先选中表格中的某一记录!"); |
| | | return false; |
| | | }else{ |
| | | TQuestion.seItem = selected[0]; |
| | | return true; |
| | | } |
| | | }; |
| | | TQuestion.dataCount = 0; |
| | | TQuestion.phone = ""; |
| | | TQuestion.phoneId = ""; |
| | | |
| | | /** |
| | | * 点击添加 |
| | | */ |
| | | TQuestion.openAdd = function () { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '添加分类', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/bodySideAppointment/add' |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | |
| | | /** |
| | | * 点击编辑 |
| | | */ |
| | | TQuestion.openChange = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length >1 ){ |
| | | Feng.info("只能选择一个问题进行编辑!"); |
| | | }else { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '编辑分类', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/benefits/update/' + TQuestion.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 上架 |
| | | */ |
| | | |
| | | TQuestion.onShelf = function () { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | |
| | | var ids=[]; |
| | | selected.forEach(function(obj) { |
| | | var id = obj.id; |
| | | ids.push(id); |
| | | }); |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/bodySideAppointment/changeState", |
| | | type: "POST", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | data: JSON.stringify(ids), // 将数据转换为 JSON 字符串 |
| | | success: function(response) { |
| | | Feng.success("上架成功!"); |
| | | TQuestion.search(); |
| | | |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "上架失败!"; |
| | | Feng.error("您的网络异常!"); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | }; |
| | | |
| | | |
| | | /** |
| | | * 下架 |
| | | */ |
| | | TQuestion.offShelf = function () { |
| | | |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | const data1 = { |
| | | ids:[], |
| | | state:null |
| | | }; |
| | | selected.forEach(function(obj) { |
| | | var id = obj.id; |
| | | data1.ids.push(id); |
| | | }); |
| | | data1.state = 2; |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/bodySideAppointment/changeState", |
| | | type: "POST", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | data: JSON.stringify(data1), // 将数据转换为 JSON 字符串 |
| | | success: function(response) { |
| | | Feng.success("下架成功!"); |
| | | TQuestion.search(); |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "下架失败!"; |
| | | Feng.error("您的网络异常!"); |
| | | } |
| | | }); |
| | | } |
| | | }; |
| | | /** |
| | | * 查看详情 |
| | | */ |
| | | TQuestion.getInfo = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length >1 ){ |
| | | Feng.info("只能选择一条进行查看!"); |
| | | }else { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '详情', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/benefits/info/' + TQuestion.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 查看视频详情 |
| | | */ |
| | | TQuestion.getInfo = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length >1 ){ |
| | | Feng.info("只能选择一条进行查看!"); |
| | | }else { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '详情', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/benefits/getBenefitsVideos/' + TQuestion.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | TQuestion.delete = function () { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | const data1 = { |
| | | ids:[], |
| | | state:null |
| | | }; |
| | | selected.forEach(function(obj) { |
| | | var id = obj.id; |
| | | data1.ids.push(id); |
| | | }); |
| | | data1.state = 3; |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/benefits/changeState", |
| | | type: "POST", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | data: JSON.stringify(data1), // 将数据转换为 JSON 字符串 |
| | | success: function(response) { |
| | | Feng.success("删除成功!"); |
| | | TQuestion.search(); |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "删除失败!"; |
| | | Feng.error(errorMessage); |
| | | } |
| | | }); |
| | | } |
| | | }; |
| | | TQuestion.oneChange = function () { |
| | | var province = $('#pCode option:selected').text(); |
| | | var citySelect = document.getElementById("cCode"); |
| | | var ajax = new $ax(Feng.ctxPath + "/tSite/getCity", function(data){ |
| | | if(data!=null){ |
| | | var content='<option value="">选择市</option>'; |
| | | $.each(data, function(k,v) { |
| | | content += "<option value='"+v.cityCode+"'>"+v.city+"</option>"; |
| | | }); |
| | | $("#cCode").empty().append(content); |
| | | } |
| | | }); |
| | | if (province === ""){ |
| | | citySelect.innerHTML = '<option value="">请先选择省</option>'; |
| | | } |
| | | ajax.set("province",province); |
| | | ajax.start(); |
| | | }; |
| | | |
| | | TQuestion.oneChangeNext = function (e) { |
| | | var oneId=$(e).val(); |
| | | var city = $('#cCode option:selected').text(); |
| | | |
| | | var citySelect = document.getElementById("account"); |
| | | var storeSelect = document.getElementById("store"); |
| | | if (oneId === ""){ |
| | | citySelect.innerHTML = '<option style="width: 300px" value="">请先选择省/市</option>'; |
| | | storeSelect.innerHTML = '<option style="width: 300px" value="">请先选择省/市</option>'; |
| | | } |
| | | var ajax1 = new $ax(Feng.ctxPath + "/tSite/storeChangeNext", function(data){ |
| | | if(data!=null && data.length !== 0){ |
| | | var content='<option value="">选择门店</option>'; |
| | | $.each(data, function(k,v) { |
| | | content += "<option style='width: 300px' value='"+v.id+"'>"+v.name+"</option>"; |
| | | }); |
| | | $("#store").empty().append(content); |
| | | }else { |
| | | storeSelect.innerHTML = '<option value="">当前所选市没有门店</option>'; |
| | | } |
| | | }); |
| | | ajax1.set("oneId",city); |
| | | ajax1.start(); |
| | | }; |
| | | TQuestion.addSubmit = function(){ |
| | | |
| | | var data = { |
| | | id:null, |
| | | province:"", |
| | | provinceCode:"", |
| | | city:"", |
| | | cityCode:"", |
| | | storeId:null, |
| | | storeName:"", |
| | | parentName:"", |
| | | phone:"", |
| | | learnerName:"", |
| | | learnerAge:null, |
| | | birthday:"", |
| | | appointmentTime:"", |
| | | status:null, |
| | | state:null |
| | | }; |
| | | data.id = $("#name").val() |
| | | data.province = $('#pCode option:selected').text(); |
| | | data.provinceCode = $("#pCode").val() |
| | | data.city = $('#cCode option:selected').text(); |
| | | data.cityCode = $("#cCode").val() |
| | | data.storeId = $("#store").val() |
| | | data.storeName = $('#store option:selected').text(); |
| | | data.parentName = $("#parentName").val() |
| | | data.phone = $("#phone").val() |
| | | data.learnerName = $("#learnerName").val() |
| | | data.learnerAge = $("#learnerAge").val() |
| | | data.birthday = $("#birthday").val() |
| | | data.appointmentTime = $("#appointmentTime").val().replace("T"," ") |
| | | console.log("看看") |
| | | console.log(data.appointmentTime); |
| | | if($("#pCode").val()==''){ |
| | | Feng.info("请选择省") |
| | | return; |
| | | } |
| | | if($("#cCode").val()==''){ |
| | | Feng.info("请选择市") |
| | | return; |
| | | } |
| | | if($("#store").val()=='' ){ |
| | | Feng.info("请选择门店") |
| | | return; |
| | | } |
| | | if($("#parentName").val()=='' ){ |
| | | Feng.info("请输入家长姓名") |
| | | return; |
| | | } |
| | | |
| | | if($("#phone").val()=='' ){ |
| | | Feng.info("请输入家长联系方式") |
| | | return; |
| | | } |
| | | if($("#learnerName").val()=='' ){ |
| | | Feng.info("请输入学员姓名") |
| | | return; |
| | | } |
| | | if($("#learnerAge").val()=='' ){ |
| | | Feng.info("请输入学员年龄") |
| | | return; |
| | | } |
| | | if($("#birthday").val()=='' ){ |
| | | Feng.info("请选择学员生日") |
| | | return; |
| | | } |
| | | if($("#appointmentTime").val()=='' ){ |
| | | Feng.info("请选择预约时间") |
| | | return; |
| | | } |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/bodySideAppointment/addBodySideAppointments" , |
| | | type: "POST", |
| | | data: JSON.stringify(data), |
| | | contentType: "application/json", |
| | | success: function (response) { |
| | | Feng.success("添加成功"); |
| | | }, |
| | | error: function (xhr, status, error) { |
| | | Feng.error("添加失败!" + error); |
| | | } |
| | | }); |
| | | |
| | | }; |
| | | TQuestion.updateSubmit = function(){ |
| | | var data = { |
| | | id:null, |
| | | name:"", |
| | | position:"", |
| | | sort:"", |
| | | }; |
| | | data.name = $("#name").val() |
| | | data.position = $("#position").val() |
| | | data.sort = $("#sort").val() |
| | | data.id = $("#dataId").val() |
| | | if($("#name").val()==''){ |
| | | Feng.info("请输入分类名称") |
| | | return; |
| | | } |
| | | if($("#cCode").val()==''){ |
| | | Feng.info("请选择所在位置") |
| | | return; |
| | | } |
| | | if($("#account").val()=='' ){ |
| | | Feng.info("请输入排序") |
| | | return; |
| | | } |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/benefits/addBenefits" , |
| | | type: "POST", |
| | | data: JSON.stringify(data), |
| | | contentType: "application/json", |
| | | success: function (response) { |
| | | Feng.success("添加成功"); |
| | | }, |
| | | error: function (xhr, status, error) { |
| | | Feng.error("添加失败!" + error); |
| | | } |
| | | }); |
| | | }; |
| | | /** |
| | | * 查询列表 |
| | | */ |
| | | TQuestion.search = function () { |
| | | var queryData = {}; |
| | | queryData['phone'] = $("#phone").val(); |
| | | queryData['parentName'] = $("#parentName").val(); |
| | | queryData['state'] = $("#state").val(); |
| | | TQuestion.table.refresh({query: queryData}); |
| | | }; |
| | | |
| | | |
| | | /** |
| | | * 重置搜索 |
| | | */ |
| | | TQuestion.resetSearch = function () { |
| | | |
| | | $("#phone").val(''); |
| | | $("#parentName").val(''); |
| | | $("#state").val(''); |
| | | TQuestion.search(); |
| | | }; |
| | | |
| | | $(function () { |
| | | var defaultColunms = TQuestion.initColumn(); |
| | | var table = new BSTable(TQuestion.id, "/bodySideAppointment/listAll", defaultColunms); |
| | | table.setPaginationType("client"); |
| | | TQuestion.table = table.init(); |
| | | }); |
New file |
| | |
| | | /** |
| | | * 管理初始化 |
| | | */ |
| | | var TQuestion = { |
| | | id: "TQuestionTable", //表格id |
| | | seItem: null, //选中的条目 |
| | | table: null, |
| | | layerIndex: -1 |
| | | }; |
| | | |
| | | /** |
| | | * 初始化表格的列 |
| | | */ |
| | | TQuestion.initColumn = function () { |
| | | return [ |
| | | {field: 'selectItem', checkbox: true}, |
| | | {title: 'id', field: 'id', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '视频类型', field: 'type', visible: true, align: 'center', valign: 'middle', |
| | | formatter:function (data) { |
| | | return {1:"课后练习",2:"运动教学视频",3:"器材教学视频"}[data] |
| | | } |
| | | }, |
| | | {title: '视频封面', field: 'coverDrawing', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row, index) { |
| | | value = typeof value == "undefined" || value == '' ? '/static/img/NoPIC.png' : value; |
| | | return '<img src="' + value + '" style="height: 100px;"/>' |
| | | } |
| | | }, |
| | | {title: '视频名称', field: 'name', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '视频简介', field: 'introduce', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '可获积分', field: 'integral', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '添加时间', field: 'insertTime', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '状态', field: 'state', visible: true, align: 'center', valign: 'middle', |
| | | formatter:function (data) { |
| | | return {1:"上架中",2:"下架中",3:"已失效"}[data] |
| | | }} |
| | | ]; |
| | | }; |
| | | |
| | | /** |
| | | * 检查是否选中 |
| | | */ |
| | | TQuestion.check = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | |
| | | if(selected.length == 0){ |
| | | Feng.info("请先选中表格中的某一记录!"); |
| | | return false; |
| | | }else{ |
| | | TQuestion.seItem = selected[0]; |
| | | return true; |
| | | } |
| | | }; |
| | | TQuestion.dataCount = 0; |
| | | TQuestion.phone = ""; |
| | | TQuestion.phoneId = ""; |
| | | |
| | | /** |
| | | * 点击添加 |
| | | */ |
| | | TQuestion.openAdd = function () { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '添加分类', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/benefits/add' |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | |
| | | /** |
| | | * 点击编辑 |
| | | */ |
| | | TQuestion.openChange = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length >1 ){ |
| | | Feng.info("只能选择一个问题进行编辑!"); |
| | | }else { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '编辑分类', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/benefits/update/' + TQuestion.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 上架 |
| | | */ |
| | | |
| | | TQuestion.onShelf = function () { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | const data1 = { |
| | | ids:[], |
| | | state:null |
| | | }; |
| | | selected.forEach(function(obj) { |
| | | var id = obj.id; |
| | | data1.ids.push(id); |
| | | }); |
| | | data1.state = 1; |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/benefits/changeCourseState", |
| | | type: "POST", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | data: JSON.stringify(data1), // 将数据转换为 JSON 字符串 |
| | | success: function(response) { |
| | | Feng.success("上架成功!"); |
| | | TQuestion.search(); |
| | | |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "上架失败!"; |
| | | Feng.error("您的网络异常!"); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | }; |
| | | |
| | | |
| | | /** |
| | | * 下架 |
| | | */ |
| | | TQuestion.offShelf = function () { |
| | | |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | const data1 = { |
| | | ids:[], |
| | | state:null |
| | | }; |
| | | selected.forEach(function(obj) { |
| | | var id = obj.id; |
| | | data1.ids.push(id); |
| | | }); |
| | | data1.state = 2; |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/benefits/changeCourseState", |
| | | type: "POST", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | data: JSON.stringify(data1), // 将数据转换为 JSON 字符串 |
| | | success: function(response) { |
| | | Feng.success("下架成功!"); |
| | | TQuestion.search(); |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "下架失败!"; |
| | | Feng.error("您的网络异常!"); |
| | | } |
| | | }); |
| | | } |
| | | }; |
| | | /** |
| | | * 查看详情 |
| | | */ |
| | | TQuestion.getInfo = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length >1 ){ |
| | | Feng.info("只能选择一条进行查看!"); |
| | | }else { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '详情', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/benefits/info/' + TQuestion.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 查看视频详情 |
| | | */ |
| | | TQuestion.getInfo = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length >1 ){ |
| | | Feng.info("只能选择一条进行查看!"); |
| | | }else { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '详情', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/benefits/getBenefitsVideos/' + TQuestion.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | TQuestion.delete = function () { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | const data1 = { |
| | | ids:[], |
| | | state:null |
| | | }; |
| | | selected.forEach(function(obj) { |
| | | var id = obj.id; |
| | | data1.ids.push(id); |
| | | }); |
| | | data1.state = 3; |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/benefits/changeCourseState", |
| | | type: "POST", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | data: JSON.stringify(data1), // 将数据转换为 JSON 字符串 |
| | | success: function(response) { |
| | | Feng.success("删除成功!"); |
| | | TQuestion.search(); |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "删除失败!"; |
| | | Feng.error(errorMessage); |
| | | } |
| | | }); |
| | | } |
| | | }; |
| | | |
| | | TQuestion.addSubmit = function(){ |
| | | var data = { |
| | | id:null, |
| | | name:"", |
| | | position:"", |
| | | sort:"", |
| | | }; |
| | | data.name = $("#name").val() |
| | | data.position = $("#position").val() |
| | | data.sort = $("#sort").val() |
| | | |
| | | |
| | | if($("#name").val()==''){ |
| | | Feng.info("请输入分类名称") |
| | | return; |
| | | } |
| | | if($("#cCode").val()==''){ |
| | | Feng.info("请选择所在位置") |
| | | return; |
| | | } |
| | | if($("#account").val()=='' ){ |
| | | Feng.info("请输入排序") |
| | | return; |
| | | } |
| | | |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/benefits/addBenefits" , |
| | | type: "POST", |
| | | data: JSON.stringify(data), |
| | | contentType: "application/json", |
| | | success: function (response) { |
| | | Feng.success("添加成功"); |
| | | |
| | | }, |
| | | error: function (xhr, status, error) { |
| | | Feng.error("添加失败!" + error); |
| | | } |
| | | }); |
| | | TSite.search(); |
| | | }; |
| | | TQuestion.updateSubmit = function(){ |
| | | var data = { |
| | | id:null, |
| | | name:"", |
| | | position:"", |
| | | sort:"", |
| | | }; |
| | | data.name = $("#name").val() |
| | | data.position = $("#position").val() |
| | | data.sort = $("#sort").val() |
| | | data.id = $("#dataId").val() |
| | | if($("#name").val()==''){ |
| | | Feng.info("请输入分类名称") |
| | | return; |
| | | } |
| | | if($("#cCode").val()==''){ |
| | | Feng.info("请选择所在位置") |
| | | return; |
| | | } |
| | | if($("#account").val()=='' ){ |
| | | Feng.info("请输入排序") |
| | | return; |
| | | } |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/benefits/addBenefits" , |
| | | type: "POST", |
| | | data: JSON.stringify(data), |
| | | contentType: "application/json", |
| | | success: function (response) { |
| | | Feng.success("添加成功"); |
| | | }, |
| | | error: function (xhr, status, error) { |
| | | Feng.error("添加失败!" + error); |
| | | } |
| | | }); |
| | | TSite.search(); |
| | | }; |
| | | /** |
| | | * 查询列表 |
| | | */ |
| | | TQuestion.search = function () { |
| | | var queryData = {}; |
| | | queryData['name'] = $("#name").val(); |
| | | queryData['type'] = $("#position").val(); |
| | | queryData['state'] = $("#state").val(); |
| | | TQuestion.table.refresh({query: queryData}); |
| | | }; |
| | | |
| | | |
| | | /** |
| | | * 重置搜索 |
| | | */ |
| | | TQuestion.resetSearch = function () { |
| | | $("#name").val(''); |
| | | $("#state").val(''); |
| | | $("#position").val(''); |
| | | TQuestion.search(); |
| | | }; |
| | | |
| | | $(function () { |
| | | var val = $("#id").val(); |
| | | var defaultColunms = TQuestion.initColumn(); |
| | | var table = new BSTable(TQuestion.id, "/benefits/listBenefitsVideos/"+val, defaultColunms); |
| | | table.setPaginationType("client"); |
| | | TQuestion.table = table.init(); |
| | | }); |
New file |
| | |
| | | /** |
| | | * 跨城站点管理管理初始化 |
| | | */ |
| | | var TSite = { |
| | | id: "TSiteTable", //表格id |
| | | seItem: null, //选中的条目 |
| | | table: null, |
| | | layerIndex: -1 |
| | | }; |
| | | |
| | | /** |
| | | * 初始化表格的列 |
| | | */ |
| | | TSite.initColumn = function () { |
| | | return [ |
| | | {field: 'selectItem', radio: true}, |
| | | {title: '主键ID', field: 'id', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '类型名称', field: 'name', visible: true, align: 'center', valign: 'middle' |
| | | }, |
| | | ]; |
| | | }; |
| | | |
| | | /** |
| | | * 检查是否选中 |
| | | */ |
| | | TSite.check = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length == 0){ |
| | | Feng.info("请先选中表格中的某一记录!"); |
| | | return false; |
| | | }else{ |
| | | TSite.seItem = selected[0]; |
| | | return true; |
| | | } |
| | | }; |
| | | TSite.oneChange = function (e) { |
| | | var oneId=$(e).val(); |
| | | var ajax = new $ax(Feng.ctxPath + "/tCity/onChange", function(data){ |
| | | if(data!=null){ |
| | | if(language==1){ |
| | | var content='<option value="">选择市</option>'; |
| | | }else if(language==2){ |
| | | var content='<option value="">Choose your franchisee</option>'; |
| | | }else { |
| | | var content='<option value="">Pilih franchisee Anda</option>'; |
| | | } |
| | | $.each(data, function(k,v) { |
| | | content += "<option value='"+v.code+"'>"+v.name+"</option>"; |
| | | }); |
| | | $("#cCode").empty().append(content); |
| | | } |
| | | }); |
| | | ajax.set("oneId",oneId); |
| | | ajax.start(); |
| | | } |
| | | |
| | | TSite.del = function () { |
| | | if (this.check()) { |
| | | let id = this.seItem.id; |
| | | let name = TSite.seItem.name |
| | | var operation = function(){ |
| | | var data1={ |
| | | id:id, |
| | | name:name, |
| | | state:null |
| | | } |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/coursePackageType/delete", |
| | | type: "POST", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | data: JSON.stringify(data1), // 将数据转换为 JSON 字符串 |
| | | success: function(response) { |
| | | window.location.reload(); |
| | | window.parent.layer.closeAll(); |
| | | if (response === 200) { |
| | | Feng.success("删除成功!"); |
| | | window.location.reload(); |
| | | window.parent.layer.closeAll(); |
| | | }else{ |
| | | Feng.error("当前课包类型正在被使用,无法删除!"); |
| | | } |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "删除失败!"; |
| | | Feng.error(errorMessage); |
| | | } |
| | | }); |
| | | layer.closeAll(); |
| | | } |
| | | Feng.confirm("确认删除该信息?", operation); |
| | | } |
| | | |
| | | }; |
| | | /** |
| | | * 点击添加跨城站点管理 |
| | | */ |
| | | TSite.openAddTSite = function () { |
| | | var index = layer.load(1,{ |
| | | type: 1 |
| | | , title: '添加场地类型' |
| | | , area: ['50%', '50%'] |
| | | , offset: 'auto' //具体配置参考:http://www.layui.com/doc/modules/layer.html#offset |
| | | , id: 'layerDemo' //防止重复弹出cge |
| | | , content: '<div class="form-horizontal">' + |
| | | ' <div class="col-sm-11" >' + |
| | | ' <div class="col-sm-11">' + |
| | | ' <div class="form-group">\n' + |
| | | ' <label class="col-sm-3 control-label">类型名称:</label>\n' + |
| | | ' <div class="col-sm-9">\n' + |
| | | ' <input class="form-control" type="text" id="name"> '+ |
| | | ' </div>\n' + |
| | | ' </div>\n' + |
| | | ' </div>' + |
| | | ' </div>' + |
| | | '</div>' |
| | | , btn: ['关闭', '保存'] |
| | | , btnAlign: 'c' //按钮居中 |
| | | , shade: 0.5 //不显示遮罩 |
| | | ,load:1 |
| | | , yes: function () { |
| | | layer.closeAll(); |
| | | }, |
| | | btn2:function () { |
| | | let name = $("#name").val() |
| | | if(name==''){ |
| | | Feng.info("请输入类型名称") |
| | | return false; |
| | | } |
| | | var ajax = new $ax(Feng.ctxPath + "/coursePackageType/add", function (data) { |
| | | if (data === 200) { |
| | | Feng.success("操作成功!"); |
| | | window.location.reload(); |
| | | window.parent.layer.closeAll(); |
| | | }else{ |
| | | Feng.error("当前课包类型已存在!"); |
| | | } |
| | | }, function (data) { |
| | | Feng.error("操作失败!") |
| | | }); |
| | | ajax.set("name", name); |
| | | ajax.start(); |
| | | layer.closeAll(); |
| | | } |
| | | }); |
| | | |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 打开查看跨城站点管理详情 |
| | | */ |
| | | TSite.openTSiteDetail = function () { |
| | | |
| | | if (this.check()) { |
| | | let id = TSite.seItem.id |
| | | let name = TSite.seItem.name |
| | | var index = layer.load(1,{ |
| | | type: 1 |
| | | , title: '编辑场地类型' |
| | | , area: ['50%', '50%'] |
| | | , offset: 'auto' //具体配置参考:http://www.layui.com/doc/modules/layer.html#offset |
| | | , id: 'layerDemo' //防止重复弹出cge |
| | | , content: '<div class="form-horizontal">' + |
| | | ' <div class="col-sm-11" >' + |
| | | ' <div class="col-sm-11">' + |
| | | ' <div class="form-group">\n' + |
| | | ' <label class="col-sm-3 control-label">类型名称:</label>\n' + |
| | | ' <div class="col-sm-9">\n' + |
| | | ' <input class="form-control" type="text" id="name" value='+name+'> '+ |
| | | ' </div>\n' + |
| | | ' </div>\n' + |
| | | ' </div>' + |
| | | ' </div>' + |
| | | '</div>' |
| | | , btn: ['关闭', '保存'] |
| | | , btnAlign: 'c' //按钮居中 |
| | | , shade: 0.5 //不显示遮罩 |
| | | ,load:1 |
| | | , yes: function () { |
| | | layer.closeAll(); |
| | | }, |
| | | btn2:function () { |
| | | let name = $("#name").val() |
| | | if(name==''){ |
| | | Feng.info("请输入类型名称") |
| | | return false; |
| | | } |
| | | var data1={ |
| | | id:id, |
| | | name:name, |
| | | state:null |
| | | } |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/coursePackageType/update", |
| | | type: "POST", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | data: JSON.stringify(data1), // 将数据转换为 JSON 字符串 |
| | | success: function(response) { |
| | | window.location.reload(); |
| | | window.parent.layer.closeAll(); |
| | | if (response === 200) { |
| | | Feng.success("修改成功!"); |
| | | window.location.reload(); |
| | | window.parent.layer.closeAll(); |
| | | }else{ |
| | | Feng.error("当前课包类型已存在!"); |
| | | } |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "修改失败!"; |
| | | Feng.error(errorMessage); |
| | | } |
| | | }); |
| | | layer.closeAll(); |
| | | } |
| | | }); |
| | | |
| | | this.layerIndex = index; |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 操作跨城站点管理 |
| | | */ |
| | | TSite.opt = function (type) { |
| | | if (this.check()) { |
| | | var name = TSite.seItem.name; |
| | | if (name == "" || name == null || name == undefined) { |
| | | name = "该站点"; |
| | | } else { |
| | | name = "【" + name + "】"; |
| | | } |
| | | var str = ""; |
| | | var text = "请谨慎操作!"; |
| | | var title = "请谨慎操作!"; |
| | | if (1 == type){ |
| | | str = "删除"; |
| | | title = "您是否确认删除"+name+"?"; |
| | | text = "请谨慎操作,删除后数据无法恢复!"; |
| | | } else if (2 == type){ |
| | | str = "冻结"; |
| | | title = "您是否确认冻结"+name+"?"; |
| | | } else if (3 == type){ |
| | | str = "解冻"; |
| | | title = "您是否确认解冻"+name+"?"; |
| | | } |
| | | if (1 == type){ |
| | | if (TSite.seItem.lineNum != "" && TSite.seItem.lineNum != null && TSite.seItem.lineNum > 0) { |
| | | swal("删除失败", "该站点还有关联线路!", "warning"); |
| | | return; |
| | | } |
| | | } |
| | | if(2 == type){ |
| | | if (TSite.seItem.state != 1) { |
| | | swal("冻结失败", "【正常】状态下才能执行此操作!", "warning"); |
| | | return; |
| | | } |
| | | } |
| | | if (3 == type){ |
| | | if (TSite.seItem.state != 2){ |
| | | swal("解冻失败", "【冻结】状态下才能执行此操作!", "warning"); |
| | | return; |
| | | } |
| | | } |
| | | |
| | | swal({ |
| | | title: title, |
| | | text: text, |
| | | type: "warning", |
| | | showCancelButton: true, |
| | | confirmButtonColor: "#DD6B55", |
| | | confirmButtonText: str, |
| | | closeOnConfirm: true |
| | | }, function () { |
| | | var ajax = new $ax(Feng.ctxPath + "/tSite/opt", function (data) { |
| | | swal(str+"成功", "您已经"+str+"了" + name + "。", "success"); |
| | | TSite.table.refresh(); |
| | | }, function (data) { |
| | | swal(str+"失败", data.responseJSON.message + "!", "warning"); |
| | | }); |
| | | ajax.set("tSiteId",TSite.seItem.id); |
| | | ajax.set("optType", type); |
| | | ajax.start(); |
| | | }); |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 查询跨城站点管理列表 |
| | | */ |
| | | TSite.search = function () { |
| | | var queryData = {}; |
| | | queryData['insertTime'] = $("#insertTime").val(); |
| | | queryData['name'] = $("#name").val(); |
| | | queryData['insertUser'] = $("#insertUser").val(); |
| | | queryData['city'] = $("#city").val(); |
| | | queryData['state'] = $("#state").val(); |
| | | TSite.table.refresh({query: queryData}); |
| | | }; |
| | | |
| | | TSite.resetSearch = function () { |
| | | $("#insertTime").val(""); |
| | | $("#name").val(""); |
| | | $("#insertUser").val(""); |
| | | $("#city").val(""); |
| | | $("#state").val(""); |
| | | TSite.search(); |
| | | }; |
| | | |
| | | $(function () { |
| | | var defaultColunms = TSite.initColumn(); |
| | | var table = new BSTable(TSite.id, "/coursePackageType/list", defaultColunms); |
| | | table.setPaginationType("client"); |
| | | TSite.table = table.init(); |
| | | }); |
New file |
| | |
| | | /** |
| | | * 跨城站点管理管理初始化 |
| | | */ |
| | | var TSite = { |
| | | id: "TSiteTable", //表格id |
| | | seItem: null, //选中的条目 |
| | | table: null, |
| | | layerIndex: -1, |
| | | picture:"", |
| | | fileUrl:"", |
| | | img:"", |
| | | plan:"", |
| | | goodsPicArray:[], |
| | | validateFields: { |
| | | } |
| | | }; |
| | | var objectType =$("#objectType").val() |
| | | /** |
| | | * 初始化表格的列 |
| | | */ |
| | | TSite.initColumn = function () { |
| | | return [ |
| | | {field: 'selectItem', checkbox: true}, |
| | | {title: '主键ID', field: 'id', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '所在省', field: 'province', visible: objectType==1?true:false, align: 'center', valign: 'middle',width:'20%', |
| | | }, |
| | | {title: '所在市', field: 'city', visible: objectType==1?true:false, align: 'center', valign: 'middle', |
| | | }, |
| | | {title: '所属账号', field: 'nameAndPhone', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '教练类型', field: 'coachTypeName', visible: true, align: 'center', valign: 'middle', |
| | | }, |
| | | {title: '姓名', field: 'name', visible: true, align: 'center', valign: 'middle', |
| | | }, |
| | | {title: '性别', field: 'gender', visible: true, align: 'center', valign: 'middle', |
| | | formatter:function (data) { |
| | | return {1:"男",2:"女"}[data] |
| | | } |
| | | }, |
| | | {title: '生日', field: 'birthday', visible: true, align: 'center', valign: 'middle', |
| | | }, |
| | | {title: '联系电话', field: 'phone', visible: true, align: 'center', valign: 'middle', |
| | | }, |
| | | {title: '状态', field: 'state', visible: true, align: 'center', valign: 'middle', |
| | | formatter:function (data) { |
| | | return {1:"正常",2:"冻结"}[data] |
| | | } |
| | | } |
| | | ]; |
| | | }; |
| | | |
| | | /** |
| | | * 检查是否选中 |
| | | */ |
| | | TSite.check = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length == 0){ |
| | | Feng.info("请先选中表格中的某一记录!"); |
| | | return false; |
| | | }else{ |
| | | TSite.seItem = selected[0]; |
| | | return true; |
| | | } |
| | | }; |
| | | /** |
| | | * 上架 |
| | | */ |
| | | |
| | | TSite.onShelf = function () { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | const data1 = { |
| | | ids:[], |
| | | type:null |
| | | }; |
| | | selected.forEach(function(obj) { |
| | | var id = obj.id; |
| | | data1.ids.push(id); |
| | | }); |
| | | data1.state = 1; |
| | | |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/tCoach/changeState", |
| | | type: "POST", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | data: JSON.stringify(data1), // 将数据转换为 JSON 字符串 |
| | | success: function(response) { |
| | | Feng.success("上架成功!"); |
| | | TSite.search(); |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "上架失败!"; |
| | | Feng.error("您的网络异常!"); |
| | | } |
| | | }); |
| | | } |
| | | }; |
| | | /** |
| | | * 下架 |
| | | */ |
| | | TSite.offShelf = function () { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | const data1 = { |
| | | ids:[], |
| | | state:null |
| | | }; |
| | | selected.forEach(function(obj) { |
| | | var id = obj.id; |
| | | data1.ids.push(id); |
| | | }); |
| | | data1.state = 2; |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/tCoach/changeState", |
| | | type: "POST", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | data: JSON.stringify(data1), // 将数据转换为 JSON 字符串 |
| | | success: function(response) { |
| | | Feng.success("下架成功!"); |
| | | TSite.search(); |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "下架失败!"; |
| | | Feng.error("您的网络异常!"); |
| | | } |
| | | }); |
| | | } |
| | | }; |
| | | TSite.uploadFile = function(){ |
| | | var elementById = document.getElementById("uploadFile"); |
| | | var file = elementById.files[0]; |
| | | var formData = new FormData(); |
| | | formData.append('file',file); |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/tCouponManage/uploadPic" , |
| | | type: "POST", |
| | | data: formData, |
| | | contentType: false, // 设置为false,让浏览器自动识别并设置请求头 |
| | | processData: false, // 设置为false,不处理发送的数据(因为FormData对象已经包含了文件数据) |
| | | success: function (response) { |
| | | TSite.fileUrl = response; |
| | | console.log(TSite.fileUrl); |
| | | Feng.success("文件上传成功"); |
| | | }, |
| | | error: function (xhr, status, error) { |
| | | Feng.error("文件上传失败!" + error); |
| | | } |
| | | }); |
| | | }; |
| | | TSite.getChange = function(e){ |
| | | var oneId=$(e).val(); |
| | | var selectedValue = e.value; |
| | | var citySelect = document.getElementById("cCode"); |
| | | |
| | | var ajax = new $ax(Feng.ctxPath + "/tSite/getChange", function(data){ |
| | | if(data!=null){ |
| | | var content='<option value="">选择市</option>'; |
| | | $.each(data, function(k,v) { |
| | | content += "<option value='"+v.name+"'>"+v.name+"</option>"; |
| | | }); |
| | | $("#cCode").empty().append(content); |
| | | } |
| | | }); |
| | | if (selectedValue === ""){ |
| | | citySelect.innerHTML = '<option value="">请先选择省</option>'; |
| | | } |
| | | ajax.set("province",oneId); |
| | | ajax.start(); |
| | | }; |
| | | // 场地管理首页 选择对应的省市 |
| | | // 传1是场地管理首页 传2是场地管理添加页面 |
| | | TSite.oneChange = function (e) { |
| | | var province = $('#pCode option:selected').text(); |
| | | // var province = $('#pCode option:selected').text(); |
| | | // var val = $('#pCode option:selected').val(); |
| | | var citySelect = document.getElementById("cCode"); |
| | | var ajax = new $ax(Feng.ctxPath + "/tCoach/getCity", function(data){ |
| | | if(data!=null){ |
| | | var content='<option value="">选择市</option>'; |
| | | $.each(data, function(k,v) { |
| | | content += "<option value='"+v.cityCode+"'>"+v.city+"</option>"; |
| | | }); |
| | | $("#cCode").empty().append(content); |
| | | } |
| | | }); |
| | | if (province === ""){ |
| | | citySelect.innerHTML = '<option value="">请先选择省</option>'; |
| | | } |
| | | |
| | | ajax.set("province",province); |
| | | ajax.start(); |
| | | }; |
| | | |
| | | TSite.oneChangeNext = function (e) { |
| | | var startTime = document.getElementById('start-time'); |
| | | var endTime = document.getElementById('end-time'); |
| | | |
| | | var oneId=$(e).val(); |
| | | var citySelect = document.getElementById("account"); |
| | | var storeSelect = document.getElementById("store"); |
| | | var ajax = new $ax(Feng.ctxPath + "/tSite/accountChangeNext", function(data){ |
| | | if(data!=null){ |
| | | var content='<option value="">选择账号</option>'; |
| | | $.each(data, function(k,v) { |
| | | content += "<option style='width: 300px' value='"+v.id+"'>"+v.name+"</option>"; |
| | | }); |
| | | $("#account").empty().append(content); |
| | | } |
| | | }); |
| | | if (oneId === ""){ |
| | | citySelect.innerHTML = '<option style="width: 300px" value="">请先选择省/市</option>'; |
| | | storeSelect.innerHTML = '<option style="width: 300px" value="">请先选择省/市</option>'; |
| | | startTime.disabled = true; |
| | | endTime.disabled = true; |
| | | } |
| | | ajax.set("oneId",oneId); |
| | | ajax.start(); |
| | | |
| | | var ajax1 = new $ax(Feng.ctxPath + "/tSite/storeChangeNext", function(data){ |
| | | if(data!=null && data.length !== 0){ |
| | | var content='<option value="">选择门店</option>'; |
| | | $.each(data, function(k,v) { |
| | | content += "<option style='width: 300px' value='"+v.id+"'>"+v.name+"</option>"; |
| | | }); |
| | | $("#store").empty().append(content); |
| | | }else { |
| | | storeSelect.innerHTML = '<option value="">当前所选市没有门店</option>'; |
| | | } |
| | | }); |
| | | ajax1.set("oneId",oneId); |
| | | ajax1.start(); |
| | | }; |
| | | /** |
| | | * 跳转添加场地页面 |
| | | */ |
| | | TSite.openAddTSite = function () { |
| | | |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: "添加场地", |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tCoach/addCoach' |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | /** |
| | | * 跳转锁定场地页面 |
| | | */ |
| | | TSite.lock = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length >1 ){ |
| | | Feng.info("只能选择一个场地进行锁定!"); |
| | | }else { |
| | | if (this.check()) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: "锁定场地", |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tSite/lockSite/' + TSite.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | } |
| | | }; |
| | | /** |
| | | * 打开场地管理查看详情 |
| | | */ |
| | | TSite.openInfo = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length >1 ){ |
| | | Feng.info("只能选择一个问题进行编辑!"); |
| | | }else { |
| | | if (this.check()) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: "查看详情", |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tCoach/infoCoach/' + TSite.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | } |
| | | }; |
| | | /** |
| | | * 打开场地管理编辑 |
| | | */ |
| | | TSite.openEditTSite = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length >1 ){ |
| | | Feng.info("只能选择一个教练进行编辑!"); |
| | | }else { |
| | | if (this.check()) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: "编辑教练", |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tCoach/updateCoach/' + TSite.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | } |
| | | }; |
| | | /** |
| | | * 关闭此对话框 |
| | | */ |
| | | TSite.close = function() { |
| | | parent.layer.close(window.parent.TSite.layerIndex); |
| | | } |
| | | |
| | | var sh = ""; // 门店经营开始时间:小时 |
| | | var sm = "";// 门店经营开始时间:分钟 |
| | | var eh = "";// 门店经营结束时间:小时 |
| | | var em = "";// 门店经营结束时间:分钟 |
| | | |
| | | TSite.addSubmit = function(){ |
| | | |
| | | var data = { |
| | | province:"", |
| | | city:"", |
| | | cityManagerId:"", |
| | | storeId:"", |
| | | siteTypeId:null, |
| | | appointmentStartTime:"", |
| | | appointmentEndTime:"", |
| | | cashPrice:null, |
| | | playPaiCoin:null, |
| | | insuranceEndTime:"", |
| | | name:"", |
| | | insuranceImg:"", |
| | | managementPlan:"" |
| | | }; |
| | | data.province = $("#pCode").val() |
| | | data.city = $("#cCode").val() |
| | | data.cityManagerId = $("#account").val() |
| | | data.storeId = $("#store").val() |
| | | data.siteTypeId = $("#siteTypeId").val() |
| | | data.appointmentStartTime= $("#start-time").val() |
| | | data.appointmentEndTime = $("#end-time").val() |
| | | data.cashPrice = $("#cashPrice").val() |
| | | data.playPaiCoin = $("#playPaiCoin").val() |
| | | data.insuranceEndTime = $("#insuranceEndTime").val() |
| | | data.name = $("#name").val() |
| | | data.insuranceImg = $("#img").val() |
| | | data.managementPlan = $('#courseVideo').val() |
| | | var sh =data.appointmentStartTime.split(':')[0]; |
| | | var sm =data.appointmentStartTime.split(':')[1]; |
| | | var eh =data.appointmentEndTime.split(':')[0]; |
| | | var em =data.appointmentEndTime.split(':')[1]; |
| | | |
| | | if($("#pCode").val()==''){ |
| | | Feng.info("请选择省") |
| | | return; |
| | | } |
| | | if($("#cCode").val()==''){ |
| | | Feng.info("请选择市") |
| | | return; |
| | | } |
| | | if($("#account").val()=='' ){ |
| | | Feng.info("请选择账号") |
| | | return; |
| | | } |
| | | if($("#store").val()=='' ){ |
| | | Feng.info("请选择门店") |
| | | return; |
| | | } |
| | | if($("#siteTypeId").val()=='' ){ |
| | | Feng.info("请选择场地类型") |
| | | return; |
| | | } |
| | | if($("#name").val()==''){ |
| | | Feng.info("请输入场地名称") |
| | | return; |
| | | } |
| | | if($("#start-time").val()=='' ){ |
| | | Feng.info("请输入可预约时间段 开始时间") |
| | | return; |
| | | } |
| | | if($("#end-time").val()==''){ |
| | | Feng.info("请输入可预约时间段 结束时间") |
| | | return; |
| | | } |
| | | if($("#cashPrice").val()==''){ |
| | | Feng.info("请输入现金价格") |
| | | return; |
| | | } |
| | | if($("#playPaiCoin").val()==''){ |
| | | Feng.info("请输入玩湃币价格") |
| | | return; |
| | | } |
| | | if($("#insuranceEndTime").val()==''){ |
| | | Feng.info("请输入场地责任险有效期") |
| | | return; |
| | | } |
| | | |
| | | if($("#img").val()==''){ |
| | | Feng.info("请上传场地责任有效期图片") |
| | | return; |
| | | } |
| | | if($('#courseVideo').val()==''){ |
| | | Feng.info("请上传消防及应急管理方案") |
| | | return; |
| | | } |
| | | var sTime = document.getElementById("start-time"); //获取输入的开始时间 |
| | | var eTime = document.getElementById("end-time"); // 获取输入的结束时间 |
| | | var rStime = ""; //门店的经营开始时间 |
| | | var rEtime = ""; //门店的经营结束时间 |
| | | var selectedText = $('#store option:selected').text(); |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/tSite/getTime/" + selectedText, |
| | | type: "GET", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | success: function (response) { |
| | | rStime = response.startTime; |
| | | sh = rStime.split(':')[0];// 门店经营开始时间:小时 |
| | | sm = rStime.split(':')[1];// 门店经营开始时间:分钟 |
| | | |
| | | rEtime = response.endTime; |
| | | eh = rEtime.split(':')[0];// 门店经营结束时间:小时 |
| | | em = rEtime.split(':')[1];// 门店经营结束时间:分钟 |
| | | |
| | | var start = sTime.value; |
| | | var startHour = start.split(':')[0]; // 输入的可预约开始时间:小时 |
| | | var startMinute = start.split(':')[1];// 输入的可预约开始时间:分钟 |
| | | if (Number(sh)>Number(startHour)){ |
| | | Feng.error("预约的开始时间不应小于营业开始时间!") |
| | | return false; |
| | | }else if(Number(sh) === Number(startHour) ){ |
| | | if (Number(sm)>Number(startMinute)){ |
| | | Feng.error("预约的开始时间不应大于营业开始时间!") |
| | | return false; |
| | | } |
| | | }else if (Number(eh)<Number(startHour)){ |
| | | Feng.error("预约的开始时间不应大于营业结束时间!") |
| | | return false; |
| | | }else if(Number(eh)===Number(startHour)){ |
| | | Feng.error("预约的开始时间不应大于等于营业结束时间!") |
| | | return false; |
| | | } |
| | | var end = eTime.value; |
| | | var endHour = end.split(':')[0]; // 输入的可预约结束时间:小时 |
| | | var endMinute = end.split(':')[1];// 输入的可预约结束时间:分钟 |
| | | if (Number(eh)<Number(endHour)){ |
| | | Feng.error("预约的结束时间不应大于营业结束时间!") |
| | | return ; |
| | | }else if(Number(eh) === Number(endHour) ){ |
| | | if (Number(em)<Number(endMinute)){ |
| | | Feng.error("预约的开始时间不应大于开始营业时间!") |
| | | return ; |
| | | } |
| | | }else if(Number(sh)>Number(endHour)){ |
| | | Feng.error("预约的结束时间不应小于营业开始时间!") |
| | | return ; |
| | | } |
| | | if (Number(endHour)===Number(sh)){ |
| | | if(Number(endMinute) < Number(sm)){ |
| | | Feng.error("预约结束时间不应小于营业开始时间"); |
| | | return; |
| | | } |
| | | } |
| | | if (Number(startHour)===Number(endHour) && Number(startMinute)===Number(endMinute)){ |
| | | Feng.error("至少预约半个小时"); |
| | | return; |
| | | } |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/tSite/addSite" , |
| | | type: "POST", |
| | | data: JSON.stringify(data), |
| | | contentType: "application/json", |
| | | success: function (response) { |
| | | Feng.success("添加成功"); |
| | | TSite.search(); |
| | | }, |
| | | error: function (xhr, status, error) { |
| | | Feng.error("添加失败!" + error); |
| | | } |
| | | }); |
| | | }, |
| | | error: function (xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "上架失败!"; |
| | | Feng.error("您的网络异常!"); |
| | | return false; |
| | | } |
| | | }); |
| | | }; |
| | | |
| | | TSite.search = function () { |
| | | var queryData = {}; |
| | | if ($("#pCode").val() === ""){ |
| | | queryData['province'] = "" |
| | | }else{ |
| | | queryData['province'] = $('#pCode option:selected').text(); |
| | | } |
| | | if ($("#cCode").val() === ""){ |
| | | queryData['city'] = "" |
| | | }else { |
| | | queryData['city'] = $('#cCode option:selected').text(); |
| | | } |
| | | queryData['name'] = $("#name").val(); |
| | | queryData['phone'] = $("#phone").val(); |
| | | TSite.table.refresh({query: queryData}); |
| | | }; |
| | | |
| | | TSite.resetSearch = function () { |
| | | $("#pCode").val(""); |
| | | $("#cCode").val(""); |
| | | $("#name").val(""); |
| | | $("#phone").val(""); |
| | | TSite.search(); |
| | | }; |
| | | |
| | | function UploadFileFn(){ |
| | | $('#upFile').click(); |
| | | } |
| | | |
| | | $(function () { |
| | | var defaultColunms = TSite.initColumn(); |
| | | var table = new BSTable(TSite.id, "/tCoach/list", defaultColunms); |
| | | table.setPaginationType("client"); |
| | | TSite.table = table.init(); |
| | | }); |
New file |
| | |
| | | /** |
| | | * 跨城站点管理管理初始化 |
| | | */ |
| | | var TSite = { |
| | | id: "TSiteTable", //表格id |
| | | seItem: null, //选中的条目 |
| | | table: null, |
| | | layerIndex: -1, |
| | | picture:"", |
| | | fileUrl:"", |
| | | img:"", |
| | | plan:"", |
| | | goodsPicArray:[], |
| | | validateFields: { |
| | | } |
| | | }; |
| | | var objectType =$("#objectType").val() |
| | | /** |
| | | * 初始化表格的列 |
| | | */ |
| | | TSite.initColumn = function () { |
| | | return [ |
| | | {field: 'selectItem', checkbox: true}, |
| | | {title: '主键ID', field: 'id', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '所在省', field: 'province', visible: objectType==1?true:false, align: 'center', valign: 'middle',width:'20%', |
| | | }, |
| | | {title: '所在市', field: 'city', visible: objectType==1?true:false, align: 'center', valign: 'middle', |
| | | }, |
| | | {title: '所属账号', field: 'nameAndPhone', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '教练类型', field: 'coachTypeName', visible: true, align: 'center', valign: 'middle', |
| | | }, |
| | | {title: '姓名', field: 'name', visible: true, align: 'center', valign: 'middle', |
| | | }, |
| | | {title: '性别', field: 'gender', visible: true, align: 'center', valign: 'middle', |
| | | formatter:function (data) { |
| | | return {1:"男",2:"女"}[data] |
| | | } |
| | | }, |
| | | {title: '生日', field: 'birthday', visible: true, align: 'center', valign: 'middle', |
| | | }, |
| | | {title: '联系电话', field: 'phone', visible: true, align: 'center', valign: 'middle', |
| | | }, |
| | | {title: '状态', field: 'state', visible: true, align: 'center', valign: 'middle', |
| | | formatter:function (data) { |
| | | return {1:"正常",2:"冻结"}[data] |
| | | } |
| | | } |
| | | ]; |
| | | }; |
| | | |
| | | /** |
| | | * 检查是否选中 |
| | | */ |
| | | TSite.check = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length == 0){ |
| | | Feng.info("请先选中表格中的某一记录!"); |
| | | return false; |
| | | }else{ |
| | | TSite.seItem = selected[0]; |
| | | return true; |
| | | } |
| | | }; |
| | | /** |
| | | * 上架 |
| | | */ |
| | | |
| | | TSite.onShelf = function () { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | const data1 = { |
| | | siteIds:[], |
| | | type:null |
| | | }; |
| | | selected.forEach(function(obj) { |
| | | var id = obj.id; |
| | | data1.siteIds.push(id); |
| | | }); |
| | | data1.type = 1; |
| | | |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/tSite/changeState", |
| | | type: "POST", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | data: JSON.stringify(data1), // 将数据转换为 JSON 字符串 |
| | | success: function(response) { |
| | | Feng.success("上架成功!"); |
| | | TSite.search(); |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "上架失败!"; |
| | | Feng.error("您的网络异常!"); |
| | | } |
| | | }); |
| | | } |
| | | }; |
| | | /** |
| | | * 下架 |
| | | */ |
| | | TSite.offShelf = function () { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | const data1 = { |
| | | siteIds:[], |
| | | type:null |
| | | }; |
| | | selected.forEach(function(obj) { |
| | | var id = obj.id; |
| | | data1.siteIds.push(id); |
| | | }); |
| | | data1.type = 2; |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/tSite/changeState", |
| | | type: "POST", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | data: JSON.stringify(data1), // 将数据转换为 JSON 字符串 |
| | | success: function(response) { |
| | | Feng.success("下架成功!"); |
| | | TSite.search(); |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "下架失败!"; |
| | | Feng.error("您的网络异常!"); |
| | | } |
| | | }); |
| | | } |
| | | }; |
| | | TSite.uploadFile = function(){ |
| | | var elementById = document.getElementById("uploadFile"); |
| | | var file = elementById.files[0]; |
| | | var formData = new FormData(); |
| | | formData.append('file',file); |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/tCouponManage/uploadPic" , |
| | | type: "POST", |
| | | data: formData, |
| | | contentType: false, // 设置为false,让浏览器自动识别并设置请求头 |
| | | processData: false, // 设置为false,不处理发送的数据(因为FormData对象已经包含了文件数据) |
| | | success: function (response) { |
| | | TSite.fileUrl = response; |
| | | console.log(TSite.fileUrl); |
| | | Feng.success("文件上传成功"); |
| | | }, |
| | | error: function (xhr, status, error) { |
| | | Feng.error("文件上传失败!" + error); |
| | | } |
| | | }); |
| | | }; |
| | | TSite.getChange = function(e){ |
| | | var oneId=$(e).val(); |
| | | var selectedValue = e.value; |
| | | var citySelect = document.getElementById("cCode"); |
| | | |
| | | var ajax = new $ax(Feng.ctxPath + "/tSite/getChange", function(data){ |
| | | if(data!=null){ |
| | | var content='<option value="">选择市</option>'; |
| | | $.each(data, function(k,v) { |
| | | content += "<option value='"+v.name+"'>"+v.name+"</option>"; |
| | | }); |
| | | $("#cCode").empty().append(content); |
| | | } |
| | | }); |
| | | if (selectedValue === ""){ |
| | | citySelect.innerHTML = '<option value="">请先选择省</option>'; |
| | | } |
| | | ajax.set("province",oneId); |
| | | ajax.start(); |
| | | }; |
| | | // 场地管理首页 选择对应的省市 |
| | | // 传1是场地管理首页 传2是场地管理添加页面 |
| | | TSite.oneChange = function () { |
| | | var province = $('#pCode option:selected').text(); |
| | | var citySelect = document.getElementById("cCode"); |
| | | var ajax = new $ax(Feng.ctxPath + "/tSite/getCity", function(data){ |
| | | if(data!=null){ |
| | | var content='<option value="">选择市</option>'; |
| | | $.each(data, function(k,v) { |
| | | content += "<option value='"+v.cityCode+"'>"+v.city+"</option>"; |
| | | }); |
| | | $("#cCode").empty().append(content); |
| | | } |
| | | }); |
| | | if (province === ""){ |
| | | citySelect.innerHTML = '<option value="">请先选择省</option>'; |
| | | $("#cCode").innerHTML = '<option value="">请先选择省/市</option>'; |
| | | } |
| | | |
| | | ajax.set("province",province); |
| | | ajax.start(); |
| | | }; |
| | | |
| | | TSite.oneChangeNext = function (e) { |
| | | var oneId=$(e).val(); |
| | | var city = $('#cCode option:selected').text(); |
| | | var ajax = new $ax(Feng.ctxPath + "/tSite/accountChangeNext", function(data){ |
| | | if(data!=null){ |
| | | var content='<option value="">选择账号</option>'; |
| | | $.each(data, function(k,v) { |
| | | content += "<option style='width: 300px' value='"+v.id+"'>"+v.name+"</option>"; |
| | | }); |
| | | $("#account").empty().append(content); |
| | | } |
| | | }); |
| | | if (oneId === ""){ |
| | | $("#account").innerHTML = '<option style="width: 300px" value="">请先选择省/市</option>'; |
| | | |
| | | } |
| | | ajax.set("oneId",city); |
| | | ajax.start(); |
| | | |
| | | // var ajax1 = new $ax(Feng.ctxPath + "/tSite/storeChangeNext", function(data){ |
| | | // if(data!=null && data.length !== 0){ |
| | | // var content='<option value="">选择门店</option>'; |
| | | // $.each(data, function(k,v) { |
| | | // content += "<option style='width: 300px' value='"+v.id+"'>"+v.name+"</option>"; |
| | | // }); |
| | | // $("#store").empty().append(content); |
| | | // }else { |
| | | // storeSelect.innerHTML = '<option value="">当前所选市没有门店</option>'; |
| | | // } |
| | | // }); |
| | | // ajax1.set("oneId",oneId); |
| | | // ajax1.start(); |
| | | }; |
| | | |
| | | /** |
| | | * 跳转添加场地页面 |
| | | */ |
| | | TSite.openAddTSite = function () { |
| | | |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: "添加场地", |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tSite/add' |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | /** |
| | | * 跳转锁定场地页面 |
| | | */ |
| | | TSite.lock = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length >1 ){ |
| | | Feng.info("只能选择一个场地进行锁定!"); |
| | | }else { |
| | | if (this.check()) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: "锁定场地", |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tSite/lockSite/' + TSite.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | } |
| | | }; |
| | | /** |
| | | * 打开场地管理查看详情 |
| | | */ |
| | | TSite.openInfo = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length >1 ){ |
| | | Feng.info("只能选择一个问题进行编辑!"); |
| | | }else { |
| | | if (this.check()) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: "查看详情", |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tSite/openInfoTSite/' + TSite.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | } |
| | | }; |
| | | /** |
| | | * 打开场地管理编辑 |
| | | */ |
| | | TSite.openEditTSite = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length >1 ){ |
| | | Feng.info("只能选择一个问题进行编辑!"); |
| | | }else { |
| | | if (this.check()) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: "编辑场地", |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tSite/openEditTSite/' + TSite.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | } |
| | | }; |
| | | /** |
| | | * 关闭此对话框 |
| | | */ |
| | | TSite.close = function() { |
| | | parent.layer.close(window.parent.TSite.layerIndex); |
| | | } |
| | | |
| | | var sh = ""; // 门店经营开始时间:小时 |
| | | var sm = "";// 门店经营开始时间:分钟 |
| | | var eh = "";// 门店经营结束时间:小时 |
| | | var em = "";// 门店经营结束时间:分钟 |
| | | |
| | | TSite.addSubmit = function(){ |
| | | |
| | | |
| | | var data = { |
| | | id:null, |
| | | province:"", |
| | | provinceCode:"", |
| | | city:"", |
| | | cityCode:"", |
| | | cityManagerId:null, |
| | | coachTypeId:null, |
| | | name:"", |
| | | birthday:"", |
| | | gender:null, |
| | | phone:"", |
| | | idcard:"", |
| | | height:null, |
| | | weight:null, |
| | | graduateSchool:"", |
| | | diploma:"", |
| | | certificate:"", |
| | | certificateImg:"", |
| | | }; |
| | | if ($("#dataId").val()!=="undefined"){ |
| | | data.id = $("#dataId").val(); |
| | | } |
| | | data.provinceCode = $("#pCode").val() |
| | | data.province = $('#pCode option:selected').text(); |
| | | data.cityCode = $("#cCode").val() |
| | | data.city = $('#cCode option:selected').text(); |
| | | data.cityManagerId = $("#account").val() |
| | | data.coachTypeId = $("#coachTypeId").val() |
| | | data.name = $("#name").val() |
| | | data.birthday = $("#birthday").val() |
| | | data.gender = $("#gender").val() |
| | | data.phone = $("#phone").val() |
| | | data.idcard = $("#idcard").val() |
| | | data.height = $("#height").val() |
| | | data.weight = $("#weight").val() |
| | | data.graduateSchool = $('#graduateSchool').val() |
| | | data.diploma = $('#img').val() |
| | | data.certificate = $('#certificate').val() |
| | | |
| | | var temp = "" |
| | | TSite.goodsPicArray.forEach(function (data) { |
| | | temp = temp+","+data |
| | | }); |
| | | data.certificateImg = temp |
| | | |
| | | if($("#pCode").val()==''){ |
| | | Feng.info("请选择省") |
| | | return; |
| | | } |
| | | if($("#cCode").val()==''){ |
| | | Feng.info("请选择市") |
| | | return; |
| | | } |
| | | if($("#account").val()=='' ){ |
| | | Feng.info("请选择账号") |
| | | return; |
| | | } |
| | | if($("#coachTypeId").val()=='' ){ |
| | | Feng.info("请选择教练类型") |
| | | return; |
| | | } |
| | | if($("#name").val()=='' ){ |
| | | Feng.info("请输入教练名称") |
| | | return; |
| | | } |
| | | if($("#birthday").val()==''){ |
| | | Feng.info("请输入教练生日") |
| | | return; |
| | | } |
| | | if($("#gender").val()=='' ){ |
| | | Feng.info("请选择教练性别") |
| | | return; |
| | | } |
| | | if($("#phone").val()==''){ |
| | | Feng.info("请输入教练电话") |
| | | return; |
| | | } |
| | | if($("#idcard").val()==''){ |
| | | Feng.info("请输入教练身份证号") |
| | | return; |
| | | } |
| | | if($("#height").val()==''){ |
| | | Feng.info("请输入教练身高") |
| | | return; |
| | | } |
| | | if($("#weight").val()==''){ |
| | | Feng.info("请输入教练体重") |
| | | return; |
| | | } |
| | | if($("#graduateSchool").val()==''){ |
| | | Feng.info("请输入毕业院校") |
| | | return; |
| | | } |
| | | if($("#img").val()==''){ |
| | | Feng.info("请输入毕业证图片") |
| | | return; |
| | | } |
| | | if($("#certificate").val()==''){ |
| | | Feng.info("请输入资格证书") |
| | | return; |
| | | } |
| | | if(TSite.goodsPicArray.length === 0){ |
| | | Feng.info("请上传资格证书图片") |
| | | return; |
| | | } |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/tCoach/add" , |
| | | type: "POST", |
| | | data: JSON.stringify(data), |
| | | contentType: "application/json", |
| | | success: function (response) { |
| | | Feng.success("添加成功"); |
| | | |
| | | }, |
| | | error: function (xhr, status, error) { |
| | | Feng.error("添加失败!" + error); |
| | | } |
| | | }); |
| | | TSite.search(); |
| | | }; |
| | | |
| | | TSite.search = function () { |
| | | var queryData = {}; |
| | | queryData['province'] = $('#pCode option:selected').text(); |
| | | queryData['city'] = $('#cCode option:selected').text(); |
| | | queryData['name'] = $("#name").val(); |
| | | queryData['phone'] = $("#phone").val(); |
| | | TSite.table.refresh({query: queryData}); |
| | | }; |
| | | |
| | | TSite.resetSearch = function () { |
| | | $("#pCode").val(""); |
| | | $("#cCode").val(""); |
| | | $("#name").val(""); |
| | | $("#phone").val(""); |
| | | TSite.search(); |
| | | }; |
| | | |
| | | function UploadFileFn(){ |
| | | $('#upFile').click(); |
| | | } |
| | | |
| | | $(function () { |
| | | |
| | | var defaultColunms = TSite.initColumn(); |
| | | var table = new BSTable(TSite.id, "/tCoach/list", defaultColunms); |
| | | table.setPaginationType("client"); |
| | | TSite.table = table.init(); |
| | | var carPhoto = new $WebUpload("img"); |
| | | carPhoto.setUploadBarId("progressBar"); |
| | | carPhoto.init(); |
| | | }); |
New file |
| | |
| | | /** |
| | | * 初始化车辆管理详情对话框 |
| | | */ |
| | | var language=1; |
| | | var TSiteInfo = { |
| | | layerIndex: -1, |
| | | validateFields: { |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 验证数据是否为空 |
| | | */ |
| | | TSiteInfo.validate = function () { |
| | | $('#carInfoForm').data("bootstrapValidator").resetForm(); |
| | | $('#carInfoForm').bootstrapValidator('validate'); |
| | | return $("#carInfoForm").data('bootstrapValidator').isValid(); |
| | | }; |
| | | |
| | | /** |
| | | * 清除数据 |
| | | */ |
| | | TSiteInfo.clearData = function() { |
| | | this.tCarInfoData = {}; |
| | | } |
| | | |
| | | /** |
| | | * 设置对话框中的数据 |
| | | * |
| | | * @param key 数据的名称 |
| | | * @param val 数据的具体值 |
| | | */ |
| | | TSiteInfo.set = function(key, val) { |
| | | this.tCarInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val; |
| | | return this; |
| | | } |
| | | |
| | | /** |
| | | * 设置对话框中的数据 |
| | | * |
| | | * @param key 数据的名称 |
| | | * @param val 数据的具体值 |
| | | */ |
| | | TSiteInfo.get = function(key) { |
| | | return $("#" + key).val(); |
| | | } |
| | | |
| | | // 场地管理首页 选择对应的省市 |
| | | TSiteInfo.oneChange = function (e) { |
| | | var oneId=$(e).val(); |
| | | var startTime = document.getElementById('start-time'); |
| | | var endTime = document.getElementById('end-time'); |
| | | var selectedValue = e.value; |
| | | var citySelect = document.getElementById("cCode"); |
| | | var accountSelect = document.getElementById("account"); |
| | | var storeSelect = document.getElementById("store"); |
| | | var ajax = new $ax(Feng.ctxPath + "/tSite/getCity", function(data){ |
| | | if(data!=null){ |
| | | var content='<option value="">选择市</option>'; |
| | | $.each(data, function(k,v) { |
| | | content += "<option value='"+v.city+"'>"+v.city+"</option>"; |
| | | }); |
| | | $("#cCode").empty().append(content); |
| | | } |
| | | }); |
| | | if (selectedValue === ""){ |
| | | citySelect.innerHTML = '<option value="">请先选择省</option>'; |
| | | startTime.disabled = true; |
| | | endTime.disabled = true; |
| | | } |
| | | accountSelect.innerHTML = '<option value="">请先选择省/市</option>'; |
| | | storeSelect.innerHTML = '<option value="">请先选择省/市</option>'; |
| | | ajax.set("province",oneId); |
| | | ajax.start(); |
| | | }; |
| | | TSiteInfo.oneChangeNext = function (e) { |
| | | var selectedText = $('#cCode option:selected').text(); |
| | | var startTime = document.getElementById('start-time'); |
| | | var endTime = document.getElementById('end-time'); |
| | | |
| | | var citySelect = document.getElementById("account"); |
| | | var storeSelect = document.getElementById("store"); |
| | | var ajax = new $ax(Feng.ctxPath + "/tSite/accountChangeNext", function(data){ |
| | | if(data!=null){ |
| | | var content='<option value="">选择账号</option>'; |
| | | $.each(data, function(k,v) { |
| | | content += "<option style='width: 300px' value='"+v.id+"'>"+v.name+"</option>"; |
| | | }); |
| | | $("#account").empty().append(content); |
| | | } |
| | | }); |
| | | if (selectedText === ""){ |
| | | storeSelect.innerHTML = '<option style="width: 300px" value="">请先选择省/市</option>'; |
| | | citySelect.innerHTML = '<option style="width: 300px" value="">请先选择省/市</option>'; |
| | | startTime.disabled = true; |
| | | endTime.disabled = true; |
| | | } |
| | | |
| | | ajax.set("oneId",selectedText); |
| | | ajax.start(); |
| | | |
| | | var ajax1 = new $ax(Feng.ctxPath + "/tSite/storeChangeNext", function(data){ |
| | | if(data!=null && data.length !== 0){ |
| | | var content='<option value="">选择门店</option>'; |
| | | $.each(data, function(k,v) { |
| | | content += "<option style='width: 300px' value='"+v.id+"'>"+v.name+"</option>"; |
| | | }); |
| | | $("#store").empty().append(content); |
| | | }else { |
| | | storeSelect.innerHTML = '<option value="">当前所选市没有门店</option>'; |
| | | } |
| | | }); |
| | | ajax1.set("oneId",selectedText); |
| | | ajax1.start(); |
| | | }; |
| | | TSiteInfo.getTime = function (e) { |
| | | |
| | | var selectedText = $('#store option:selected').text(); |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/tSite/getTime/" + selectedText, |
| | | type: "GET", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | success: function (response) { |
| | | var sTime = document.getElementById("start-time"); //获取输入的开始时间 |
| | | var eTime = document.getElementById("end-time"); // 获取输入的结束时间 |
| | | var rStime = response.startTime; //门店的经营开始时间 |
| | | var rEtime = response.endTime; //门店的经营结束时间 |
| | | |
| | | var sh = rStime.split(':')[0];// 门店经营开始时间:小时 |
| | | var sm = rStime.split(':')[1];// 门店经营开始时间:分钟 |
| | | console.log("门店经营开始时间") |
| | | console.log(sh) |
| | | console.log(sm) |
| | | rEtime = response.endTime; |
| | | var eh = rEtime.split(':')[0];// 门店经营结束时间:小时 |
| | | var em = rEtime.split(':')[1];// 门店经营结束时间:分钟 |
| | | console.log("门店经营结束时间") |
| | | console.log(eh) |
| | | console.log(em) |
| | | sTime.addEventListener('change',function () { |
| | | var start = sTime.value; |
| | | var startHour = start.split(':')[0]; // 输入的可预约开始时间:小时 |
| | | var startMinute = start.split(':')[1];// 输入的可预约开始时间:分钟 |
| | | |
| | | if (Number(sh)>Number(startHour)){ |
| | | Feng.error("预约的开始时间不应小于营业开始时间!") |
| | | }else if(Number(sh) === Number(startHour) ){ |
| | | if (Number(sm)>Number(startMinute)){ |
| | | Feng.error("预约的开始时间不应大于营业开始时间!") |
| | | } |
| | | }else if (Number(eh)<Number(startHour)){ |
| | | Feng.error("预约的开始时间不应大于营业结束时间!") |
| | | }else if(Number(eh)===Number(startHour)){ |
| | | Feng.error("预约的开始时间不应大于等于营业结束时间!") |
| | | } |
| | | }); |
| | | eTime.addEventListener('change',function () { |
| | | var end = eTime.value; |
| | | var endHour = end.split(':')[0]; // 输入的可预约结束时间:小时 |
| | | var endMinute = end.split(':')[1];// 输入的可预约结束时间:分钟 |
| | | if (Number(eh)<Number(endHour)){ |
| | | Feng.error("预约的结束时间不应大于营业结束时间!") |
| | | }else if(Number(eh) === Number(endHour) ){ |
| | | if (Number(em)<Number(endMinute)){ |
| | | Feng.error("预约的开始时间不应大于开始营业时间!") |
| | | } |
| | | }else if(Number(sh)>Number(endHour)){ |
| | | Feng.error("预约的结束时间不应小于营业开始时间!") |
| | | } |
| | | }) |
| | | |
| | | }, |
| | | error: function (xhr, status, error) { |
| | | Feng.error("您的网络异常!"); |
| | | } |
| | | }); |
| | | }; |
| | | function UploadFileFn(){ |
| | | $('#upFile').click(); |
| | | } |
| | | TSiteInfo.addSubmit = function(){ |
| | | var data = { |
| | | id:null, |
| | | province:"", |
| | | city:"", |
| | | cityManagerId:"", |
| | | storeId:"", |
| | | siteTypeId:null, |
| | | appointmentStartTime:"", |
| | | appointmentEndTime:"", |
| | | cashPrice:null, |
| | | playPaiCoin:null, |
| | | insuranceEndTime:"", |
| | | name:"", |
| | | insuranceImg:"", |
| | | managementPlan:"" |
| | | }; |
| | | data.province = $("#pCode").val() |
| | | data.id = $("#id").val() |
| | | data.city = $("#cCode").val() |
| | | data.cityManagerId = $("#account").val() |
| | | data.storeId = $("#store").val() |
| | | data.siteTypeId = $("#siteTypeId").val() |
| | | data.appointmentStartTime= $("#start-time").val() |
| | | data.appointmentEndTime = $("#end-time").val() |
| | | data.cashPrice = $("#cashPrice").val() |
| | | data.playPaiCoin = $("#playPaiCoin").val() |
| | | data.insuranceEndTime = $("#insuranceEndTime").val() |
| | | data.name = $("#name").val() |
| | | data.insuranceImg = $("#img").val() |
| | | data.managementPlan = $('#courseVideo').val() |
| | | var sh =data.appointmentStartTime.split(':')[0]; |
| | | var sm =data.appointmentStartTime.split(':')[1]; |
| | | var eh =data.appointmentEndTime.split(':')[0]; |
| | | var em =data.appointmentEndTime.split(':')[1]; |
| | | |
| | | if($("#pCode").val()==''){ |
| | | Feng.info("请选择省") |
| | | return; |
| | | } |
| | | if($("#cCode").val()==''){ |
| | | Feng.info("请选择市") |
| | | return; |
| | | } |
| | | if($("#account").val()=='' ){ |
| | | Feng.info("请选择账号") |
| | | return; |
| | | } |
| | | if($("#store").val()=='' ){ |
| | | Feng.info("请选择门店") |
| | | return; |
| | | } |
| | | if($("#siteTypeId").val()=='' ){ |
| | | Feng.info("请选择场地类型") |
| | | return; |
| | | } |
| | | if($("#name").val()==''){ |
| | | Feng.info("请输入场地名称") |
| | | return; |
| | | } |
| | | if($("#start-time").val()=='' ){ |
| | | Feng.info("请输入可预约时间段 开始时间") |
| | | return; |
| | | } |
| | | if($("#end-time").val()==''){ |
| | | Feng.info("请输入可预约时间段 结束时间") |
| | | return; |
| | | } |
| | | if($("#cashPrice").val()==''){ |
| | | Feng.info("请输入现金价格") |
| | | return; |
| | | } |
| | | if($("#playPaiCoin").val()==''){ |
| | | Feng.info("请输入玩湃币价格") |
| | | return; |
| | | } |
| | | if($("#insuranceEndTime").val()==''){ |
| | | Feng.info("请输入场地责任险有效期") |
| | | return; |
| | | } |
| | | |
| | | // if($("#img").val()==''){ |
| | | // Feng.info("请上传场地责任有效期图片") |
| | | // return; |
| | | // } |
| | | if($('#courseVideo').val()==''){ |
| | | Feng.info("请上传消防及应急管理方案") |
| | | return; |
| | | } |
| | | var sTime = document.getElementById("start-time"); //获取输入的开始时间 |
| | | var eTime = document.getElementById("end-time"); // 获取输入的结束时间 |
| | | var rStime = ""; //门店的经营开始时间 |
| | | var rEtime = ""; //门店的经营结束时间 |
| | | var selectedText = $('#store option:selected').text(); |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/tSite/getTime/" + selectedText, |
| | | type: "GET", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | success: function (response) { |
| | | rStime = response.startTime; |
| | | sh = rStime.split(':')[0];// 门店经营开始时间:小时 |
| | | sm = rStime.split(':')[1];// 门店经营开始时间:分钟 |
| | | |
| | | rEtime = response.endTime; |
| | | eh = rEtime.split(':')[0];// 门店经营结束时间:小时 |
| | | em = rEtime.split(':')[1];// 门店经营结束时间:分钟 |
| | | |
| | | var start = sTime.value; |
| | | var startHour = start.split(':')[0]; // 输入的可预约开始时间:小时 |
| | | var startMinute = start.split(':')[1];// 输入的可预约开始时间:分钟 |
| | | if (Number(sh)>Number(startHour)){ |
| | | Feng.error("预约的开始时间不应小于营业开始时间!") |
| | | return false; |
| | | }else if(Number(sh) === Number(startHour) ){ |
| | | if (Number(sm)>Number(startMinute)){ |
| | | Feng.error("预约的开始时间不应大于营业开始时间!") |
| | | return false; |
| | | } |
| | | }else if (Number(eh)<Number(startHour)){ |
| | | Feng.error("预约的开始时间不应大于营业结束时间!") |
| | | return false; |
| | | }else if(Number(eh)===Number(startHour)){ |
| | | Feng.error("预约的开始时间不应大于等于营业结束时间!") |
| | | return false; |
| | | } |
| | | var end = eTime.value; |
| | | var endHour = end.split(':')[0]; // 输入的可预约结束时间:小时 |
| | | var endMinute = end.split(':')[1];// 输入的可预约结束时间:分钟 |
| | | if (Number(eh)<Number(endHour)){ |
| | | Feng.error("预约的结束时间不应大于营业结束时间!") |
| | | return ; |
| | | }else if(Number(eh) === Number(endHour) ){ |
| | | if (Number(em)<Number(endMinute)){ |
| | | Feng.error("预约的开始时间不应大于开始营业时间!") |
| | | return ; |
| | | } |
| | | }else if(Number(sh)>Number(endHour)){ |
| | | Feng.error("预约的结束时间不应小于营业开始时间!") |
| | | return ; |
| | | } |
| | | if (Number(endHour)===Number(sh)){ |
| | | if(Number(endMinute) < Number(sm)){ |
| | | Feng.error("预约结束时间不应小于营业开始时间"); |
| | | return; |
| | | } |
| | | } |
| | | if (Number(startHour)===Number(endHour) && Number(startMinute)===Number(endMinute)){ |
| | | Feng.error("至少预约半个小时"); |
| | | return; |
| | | } |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/tSite/updateSite" , |
| | | type: "POST", |
| | | data: JSON.stringify(data), |
| | | contentType: "application/json", |
| | | success: function (response) { |
| | | Feng.success("修改成功"); |
| | | }, |
| | | error: function (xhr, status, error) { |
| | | Feng.error("修改失败!" + error); |
| | | } |
| | | }); |
| | | }, |
| | | error: function (xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "上架失败!"; |
| | | Feng.error("您的网络异常!"); |
| | | return false; |
| | | } |
| | | }); |
| | | |
| | | }; |
| | | /** |
| | | * 关闭此对话框 |
| | | */ |
| | | TSiteInfo.close = function() { |
| | | parent.layer.close(window.parent.TSite.layerIndex); |
| | | } |
| | | function UploadFileFn(){ |
| | | $('#upFile').click(); |
| | | } |
| | | $(function () { |
| | | // 限制分钟选项为 0 和 30 |
| | | var timeInputs = document.querySelectorAll('input[type="time"]'); |
| | | timeInputs.forEach(function(input) { |
| | | input.addEventListener('change', function() { |
| | | var selectedTime = input.value; |
| | | var hour = selectedTime.split(':')[0]; |
| | | var minute = selectedTime.split(':')[1]; |
| | | if (minute < 30 &&minute>0) { |
| | | minute = '30'; |
| | | } else if (minute >30) { |
| | | hour++; |
| | | minute = '00'; |
| | | if (hour<10){ |
| | | hour = '0'+hour; |
| | | } |
| | | } |
| | | input.value = hour + ':' + minute; |
| | | |
| | | }); |
| | | }); |
| | | Feng.initValidator("carInfoForm", TSiteInfo.validateFields); |
| | | var carPhoto = new $WebUpload("img"); |
| | | carPhoto.setUploadBarId("progressBar"); |
| | | carPhoto.init(); |
| | | |
| | | var carPhoto1 = new $WebUpload("url"); |
| | | carPhoto1.setUploadBarId("progressBar"); |
| | | carPhoto1.init(); |
| | | TSiteInfo.getTime() |
| | | |
| | | |
| | | }); |
New file |
| | |
| | | /** |
| | | * 跨城站点管理管理初始化 |
| | | */ |
| | | var TSite = { |
| | | id: "TSiteTable", //表格id |
| | | seItem: null, //选中的条目 |
| | | table: null, |
| | | layerIndex: -1 |
| | | }; |
| | | |
| | | /** |
| | | * 初始化表格的列 |
| | | */ |
| | | TSite.initColumn = function () { |
| | | return [ |
| | | {field: 'selectItem', radio: true}, |
| | | {title: '主键ID', field: 'id', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '类型名称', field: 'name', visible: true, align: 'center', valign: 'middle' |
| | | }, |
| | | ]; |
| | | }; |
| | | |
| | | /** |
| | | * 检查是否选中 |
| | | */ |
| | | TSite.check = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length == 0){ |
| | | Feng.info("请先选中表格中的某一记录!"); |
| | | return false; |
| | | }else{ |
| | | TSite.seItem = selected[0]; |
| | | return true; |
| | | } |
| | | }; |
| | | TSite.oneChange = function (e) { |
| | | var oneId=$(e).val(); |
| | | var ajax = new $ax(Feng.ctxPath + "/tCity/onChange", function(data){ |
| | | if(data!=null){ |
| | | if(language==1){ |
| | | var content='<option value="">选择市</option>'; |
| | | }else if(language==2){ |
| | | var content='<option value="">Choose your franchisee</option>'; |
| | | }else { |
| | | var content='<option value="">Pilih franchisee Anda</option>'; |
| | | } |
| | | $.each(data, function(k,v) { |
| | | content += "<option value='"+v.code+"'>"+v.name+"</option>"; |
| | | }); |
| | | $("#cCode").empty().append(content); |
| | | } |
| | | }); |
| | | ajax.set("oneId",oneId); |
| | | ajax.start(); |
| | | } |
| | | |
| | | TSite.del = function () { |
| | | if (this.check()) { |
| | | let id = this.seItem.id; |
| | | var operation = function(){ |
| | | var ajax = new $ax(Feng.ctxPath + "/tCoachType/delete", function (data) { |
| | | Feng.success("删除成功!"); |
| | | TSite.table.refresh(); |
| | | }, function (data) { |
| | | Feng.error("删除失败!"); |
| | | }); |
| | | ajax.set("id",id); |
| | | ajax.start(); |
| | | } |
| | | Feng.confirm("确认删除该信息?", operation); |
| | | } |
| | | |
| | | }; |
| | | /** |
| | | * 点击添加跨城站点管理 |
| | | */ |
| | | TSite.openAddTSite = function () { |
| | | var index = layer.load(1,{ |
| | | type: 1 |
| | | , title: '添加场地类型' |
| | | , area: ['50%', '50%'] |
| | | , offset: 'auto' //具体配置参考:http://www.layui.com/doc/modules/layer.html#offset |
| | | , id: 'layerDemo' //防止重复弹出cge |
| | | , content: '<div class="form-horizontal">' + |
| | | ' <div class="col-sm-11" >' + |
| | | ' <div class="col-sm-11">' + |
| | | ' <div class="form-group">\n' + |
| | | ' <label class="col-sm-3 control-label">类型名称:</label>\n' + |
| | | ' <div class="col-sm-9">\n' + |
| | | ' <input class="form-control" type="text" id="name"> '+ |
| | | ' </div>\n' + |
| | | ' </div>\n' + |
| | | ' </div>' + |
| | | ' </div>' + |
| | | '</div>' |
| | | , btn: ['关闭', '保存'] |
| | | , btnAlign: 'c' //按钮居中 |
| | | , shade: 0.5 //不显示遮罩 |
| | | ,load:1 |
| | | , yes: function () { |
| | | layer.closeAll(); |
| | | }, |
| | | btn2:function () { |
| | | let name = $("#name").val() |
| | | if(name==''){ |
| | | Feng.info("请输入类型名称") |
| | | return false; |
| | | } |
| | | var ajax = new $ax(Feng.ctxPath + "/tCoachType/add", function (data) { |
| | | if (data === 200) { |
| | | Feng.success("操作成功!"); |
| | | window.location.reload(); |
| | | window.parent.layer.closeAll(); |
| | | }else{ |
| | | Feng.error("当前教练类型已存在!"); |
| | | } |
| | | }, function (data) { |
| | | Feng.error("操作失败!") |
| | | }); |
| | | ajax.set("name", name); |
| | | ajax.start(); |
| | | layer.closeAll(); |
| | | } |
| | | }); |
| | | |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 打开查看跨城站点管理详情 |
| | | */ |
| | | TSite.openTSiteDetail = function () { |
| | | |
| | | if (this.check()) { |
| | | let id = TSite.seItem.id |
| | | let name = TSite.seItem.name |
| | | var index = layer.load(1,{ |
| | | type: 1 |
| | | , title: '编辑场地类型' |
| | | , area: ['50%', '50%'] |
| | | , offset: 'auto' //具体配置参考:http://www.layui.com/doc/modules/layer.html#offset |
| | | , id: 'layerDemo' //防止重复弹出cge |
| | | , content: '<div class="form-horizontal">' + |
| | | ' <div class="col-sm-11" >' + |
| | | ' <div class="col-sm-11">' + |
| | | ' <div class="form-group">\n' + |
| | | ' <label class="col-sm-3 control-label">类型名称:</label>\n' + |
| | | ' <div class="col-sm-9">\n' + |
| | | ' <input class="form-control" type="text" id="name" value='+name+'> '+ |
| | | ' </div>\n' + |
| | | ' </div>\n' + |
| | | ' </div>' + |
| | | ' </div>' + |
| | | '</div>' |
| | | , btn: ['关闭', '保存'] |
| | | , btnAlign: 'c' //按钮居中 |
| | | , shade: 0.5 //不显示遮罩 |
| | | ,load:1 |
| | | , yes: function () { |
| | | layer.closeAll(); |
| | | }, |
| | | btn2:function () { |
| | | let name = $("#name").val() |
| | | if(name==''){ |
| | | Feng.info("请输入类型名称") |
| | | return false; |
| | | } |
| | | var data1={ |
| | | id:id, |
| | | name:name |
| | | } |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/tCoachType/update", |
| | | type: "POST", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | data: JSON.stringify(data1), // 将数据转换为 JSON 字符串 |
| | | success: function(response) { |
| | | window.location.reload(); |
| | | window.parent.layer.closeAll(); |
| | | if (response === 200) { |
| | | Feng.success("修改成功!"); |
| | | window.location.reload(); |
| | | window.parent.layer.closeAll(); |
| | | }else{ |
| | | Feng.error("当前教练类型已存在!"); |
| | | } |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "修改失败!"; |
| | | Feng.error(errorMessage); |
| | | } |
| | | }); |
| | | layer.closeAll(); |
| | | } |
| | | }); |
| | | |
| | | this.layerIndex = index; |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 操作跨城站点管理 |
| | | */ |
| | | TSite.opt = function (type) { |
| | | if (this.check()) { |
| | | var name = TSite.seItem.name; |
| | | if (name == "" || name == null || name == undefined) { |
| | | name = "该站点"; |
| | | } else { |
| | | name = "【" + name + "】"; |
| | | } |
| | | var str = ""; |
| | | var text = "请谨慎操作!"; |
| | | var title = "请谨慎操作!"; |
| | | if (1 == type){ |
| | | str = "删除"; |
| | | title = "您是否确认删除"+name+"?"; |
| | | text = "请谨慎操作,删除后数据无法恢复!"; |
| | | } else if (2 == type){ |
| | | str = "冻结"; |
| | | title = "您是否确认冻结"+name+"?"; |
| | | } else if (3 == type){ |
| | | str = "解冻"; |
| | | title = "您是否确认解冻"+name+"?"; |
| | | } |
| | | if (1 == type){ |
| | | if (TSite.seItem.lineNum != "" && TSite.seItem.lineNum != null && TSite.seItem.lineNum > 0) { |
| | | swal("删除失败", "该站点还有关联线路!", "warning"); |
| | | return; |
| | | } |
| | | } |
| | | if(2 == type){ |
| | | if (TSite.seItem.state != 1) { |
| | | swal("冻结失败", "【正常】状态下才能执行此操作!", "warning"); |
| | | return; |
| | | } |
| | | } |
| | | if (3 == type){ |
| | | if (TSite.seItem.state != 2){ |
| | | swal("解冻失败", "【冻结】状态下才能执行此操作!", "warning"); |
| | | return; |
| | | } |
| | | } |
| | | |
| | | swal({ |
| | | title: title, |
| | | text: text, |
| | | type: "warning", |
| | | showCancelButton: true, |
| | | confirmButtonColor: "#DD6B55", |
| | | confirmButtonText: str, |
| | | closeOnConfirm: true |
| | | }, function () { |
| | | var ajax = new $ax(Feng.ctxPath + "/tSite/opt", function (data) { |
| | | swal(str+"成功", "您已经"+str+"了" + name + "。", "success"); |
| | | TSite.table.refresh(); |
| | | }, function (data) { |
| | | swal(str+"失败", data.responseJSON.message + "!", "warning"); |
| | | }); |
| | | ajax.set("tSiteId",TSite.seItem.id); |
| | | ajax.set("optType", type); |
| | | ajax.start(); |
| | | }); |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 查询跨城站点管理列表 |
| | | */ |
| | | TSite.search = function () { |
| | | var queryData = {}; |
| | | queryData['insertTime'] = $("#insertTime").val(); |
| | | queryData['name'] = $("#name").val(); |
| | | queryData['insertUser'] = $("#insertUser").val(); |
| | | queryData['city'] = $("#city").val(); |
| | | queryData['state'] = $("#state").val(); |
| | | TSite.table.refresh({query: queryData}); |
| | | }; |
| | | |
| | | TSite.resetSearch = function () { |
| | | $("#insertTime").val(""); |
| | | $("#name").val(""); |
| | | $("#insertUser").val(""); |
| | | $("#city").val(""); |
| | | $("#state").val(""); |
| | | TSite.search(); |
| | | }; |
| | | |
| | | $(function () { |
| | | var defaultColunms = TSite.initColumn(); |
| | | var table = new BSTable(TSite.id, "/tCoachType/list", defaultColunms); |
| | | table.setPaginationType("client"); |
| | | TSite.table = table.init(); |
| | | }); |
| | |
| | | success: function(response) { |
| | | Feng.success("删除成功!"); |
| | | window.parent.TQuestion.table.refresh(); |
| | | TQuestion.table.refresh(); |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "删除失败!"; |
| | |
| | | }; |
| | | |
| | | $(function () { |
| | | |
| | | const data1 = { |
| | | id:null, |
| | | phone:null, |
| | |
| | | data: JSON.stringify(data1), // 将数据转换为 JSON 字符串 |
| | | success: function(response) { |
| | | Feng.success("添加成功!"); |
| | | TQuestion.table.refresh(); |
| | | // window.parent.TQuestion.table.refresh(); |
| | | TQuestion.phone = ""; |
| | | }, |
| | |
| | | id: "TSiteTable", //表格id |
| | | seItem: null, //选中的条目 |
| | | table: null, |
| | | layerIndex: -1 |
| | | layerIndex: -1, |
| | | picture:"", |
| | | fileUrl:"", |
| | | img:"", |
| | | plan:"", |
| | | goodsPicArray:[], |
| | | validateFields: { |
| | | } |
| | | }; |
| | | |
| | | var objectType =$("#objectType").val() |
| | | /** |
| | | * 初始化表格的列 |
| | | */ |
| | | TSite.initColumn = function () { |
| | | return [ |
| | | {field: 'selectItem', radio: true}, |
| | | {field: 'selectItem', checkbox: true}, |
| | | {title: '主键ID', field: 'id', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '省', field: 'insertTime', visible: true, align: 'center', valign: 'middle',width:'20%', |
| | | {title: '省', field: 'province', visible: objectType==1?true:false, align: 'center', valign: 'middle',width:'20%', |
| | | }, |
| | | {title: '市', field: 'name', visible: true, align: 'center', valign: 'middle', |
| | | {title: '市', field: 'city', visible: objectType==1?true:false, align: 'center', valign: 'middle', |
| | | }, |
| | | {title: '门店名称', field: 'insertUserId', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '场地类型', field: 'insertUser', visible: true, align: 'center', valign: 'middle', |
| | | {title: '门店名称', field: 'storeName', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '场地类型', field: 'siteTypeName', visible: true, align: 'center', valign: 'middle', |
| | | }, |
| | | {title: '场地名称', field: 'province', visible: true, align: 'center', valign: 'middle', |
| | | {title: '场地名称', field: 'name', visible: true, align: 'center', valign: 'middle', |
| | | }, |
| | | {title: '场地责任险有效期', field: 'lineNum', visible: true, align: 'center', valign: 'middle', |
| | | {title: '场地责任险有效期', field: 'insuranceEndTime', visible: true, align: 'center', valign: 'middle', |
| | | }, |
| | | {title: '状态', field: 'state', visible: true, align: 'center', valign: 'middle', |
| | | formatter:function (data) { |
| | |
| | | return true; |
| | | } |
| | | }; |
| | | TSite.oneChange = function (e) { |
| | | var oneId=$(e).val(); |
| | | var ajax = new $ax(Feng.ctxPath + "/tCity/onChange", function(data){ |
| | | if(data!=null){ |
| | | if(language==1){ |
| | | var content='<option value="">选择市</option>'; |
| | | }else if(language==2){ |
| | | var content='<option value="">Choose your franchisee</option>'; |
| | | }else { |
| | | var content='<option value="">Pilih franchisee Anda</option>'; |
| | | /** |
| | | * 上架 |
| | | */ |
| | | |
| | | TSite.onShelf = function () { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | const data1 = { |
| | | siteIds:[], |
| | | type:null |
| | | }; |
| | | selected.forEach(function(obj) { |
| | | var id = obj.id; |
| | | data1.siteIds.push(id); |
| | | }); |
| | | data1.type = 1; |
| | | |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/tSite/changeState", |
| | | type: "POST", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | data: JSON.stringify(data1), // 将数据转换为 JSON 字符串 |
| | | success: function(response) { |
| | | Feng.success("上架成功!"); |
| | | TSite.search(); |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "上架失败!"; |
| | | Feng.error("您的网络异常!"); |
| | | } |
| | | }); |
| | | } |
| | | }; |
| | | /** |
| | | * 下架 |
| | | */ |
| | | TSite.offShelf = function () { |
| | | if (this.check()){ |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | const data1 = { |
| | | siteIds:[], |
| | | type:null |
| | | }; |
| | | selected.forEach(function(obj) { |
| | | var id = obj.id; |
| | | data1.siteIds.push(id); |
| | | }); |
| | | data1.type = 2; |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/tSite/changeState", |
| | | type: "POST", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | data: JSON.stringify(data1), // 将数据转换为 JSON 字符串 |
| | | success: function(response) { |
| | | Feng.success("下架成功!"); |
| | | TSite.search(); |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "下架失败!"; |
| | | Feng.error("您的网络异常!"); |
| | | } |
| | | }); |
| | | } |
| | | }; |
| | | TSite.uploadFile = function(){ |
| | | var elementById = document.getElementById("uploadFile"); |
| | | var file = elementById.files[0]; |
| | | var formData = new FormData(); |
| | | formData.append('file',file); |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/tCouponManage/uploadPic" , |
| | | type: "POST", |
| | | data: formData, |
| | | contentType: false, // 设置为false,让浏览器自动识别并设置请求头 |
| | | processData: false, // 设置为false,不处理发送的数据(因为FormData对象已经包含了文件数据) |
| | | success: function (response) { |
| | | TSite.fileUrl = response; |
| | | console.log(TSite.fileUrl); |
| | | Feng.success("文件上传成功"); |
| | | }, |
| | | error: function (xhr, status, error) { |
| | | Feng.error("文件上传失败!" + error); |
| | | } |
| | | }); |
| | | }; |
| | | TSite.getChange = function(e){ |
| | | var oneId=$(e).val(); |
| | | var selectedValue = e.value; |
| | | var citySelect = document.getElementById("cCode"); |
| | | |
| | | var ajax = new $ax(Feng.ctxPath + "/tSite/getChange", function(data){ |
| | | if(data!=null){ |
| | | var content='<option value="">选择市</option>'; |
| | | $.each(data, function(k,v) { |
| | | content += "<option value='"+v.code+"'>"+v.name+"</option>"; |
| | | content += "<option value='"+v.name+"'>"+v.name+"</option>"; |
| | | }); |
| | | $("#cCode").empty().append(content); |
| | | } |
| | | }); |
| | | if (selectedValue === ""){ |
| | | citySelect.innerHTML = '<option value="">请先选择省</option>'; |
| | | } |
| | | ajax.set("province",oneId); |
| | | ajax.start(); |
| | | }; |
| | | // 场地管理首页 选择对应的省市 |
| | | // 传1是场地管理首页 传2是场地管理添加页面 |
| | | TSite.oneChange = function (e) { |
| | | var selectElement = document.getElementById('store'); |
| | | var startTime = document.getElementById('start-time'); |
| | | var endTime = document.getElementById('end-time'); |
| | | if (startTime!==null){ |
| | | startTime.disabled = true; |
| | | endTime.disabled = true; |
| | | selectElement.addEventListener('change',function () { |
| | | if (selectElement.value !== ''){ |
| | | startTime.disabled = false; |
| | | endTime.disabled = false; |
| | | }else{ |
| | | startTime.disabled = true; |
| | | endTime.disabled = true; |
| | | } |
| | | }); |
| | | } |
| | | |
| | | var province = $('#pCode option:selected').text(); |
| | | var val = $('#pCode option:selected').val(); |
| | | |
| | | var citySelect = document.getElementById("cCode"); |
| | | var accountSelect = document.getElementById("account"); |
| | | var storeSelect = document.getElementById("store"); |
| | | var ajax = new $ax(Feng.ctxPath + "/tSite/getCity", function(data){ |
| | | if(data!=null){ |
| | | var content='<option value="">选择市</option>'; |
| | | $.each(data, function(k,v) { |
| | | content += "<option value='"+v.city+"'>"+v.city+"</option>"; |
| | | }); |
| | | $("#cCode").empty().append(content); |
| | | } |
| | | }); |
| | | if (val === ""){ |
| | | citySelect.innerHTML = '<option value="">请先选择省</option>'; |
| | | |
| | | } |
| | | if (e===2){ |
| | | accountSelect.innerHTML = '<option value="">请先选择省/市</option>'; |
| | | storeSelect.innerHTML = '<option value="">请先选择省/市</option>'; |
| | | } |
| | | if (val === ""){ |
| | | startTime.disabled = true; |
| | | endTime.disabled = true; |
| | | } |
| | | |
| | | ajax.set("province",province); |
| | | ajax.start(); |
| | | }; |
| | | |
| | | TSite.oneChangeNext = function (e) { |
| | | var startTime = document.getElementById('start-time'); |
| | | var endTime = document.getElementById('end-time'); |
| | | |
| | | var oneId=$(e).val(); |
| | | var citySelect = document.getElementById("account"); |
| | | var storeSelect = document.getElementById("store"); |
| | | var ajax = new $ax(Feng.ctxPath + "/tSite/accountChangeNext", function(data){ |
| | | if(data!=null){ |
| | | var content='<option value="">选择账号</option>'; |
| | | $.each(data, function(k,v) { |
| | | content += "<option style='width: 300px' value='"+v.id+"'>"+v.name+"</option>"; |
| | | }); |
| | | $("#account").empty().append(content); |
| | | } |
| | | }); |
| | | if (oneId === ""){ |
| | | citySelect.innerHTML = '<option style="width: 300px" value="">请先选择省/市</option>'; |
| | | storeSelect.innerHTML = '<option style="width: 300px" value="">请先选择省/市</option>'; |
| | | startTime.disabled = true; |
| | | endTime.disabled = true; |
| | | } |
| | | ajax.set("oneId",oneId); |
| | | ajax.start(); |
| | | } |
| | | |
| | | var ajax1 = new $ax(Feng.ctxPath + "/tSite/storeChangeNext", function(data){ |
| | | if(data!=null && data.length !== 0){ |
| | | var content='<option value="">选择门店</option>'; |
| | | $.each(data, function(k,v) { |
| | | content += "<option style='width: 300px' value='"+v.id+"'>"+v.name+"</option>"; |
| | | }); |
| | | $("#store").empty().append(content); |
| | | }else { |
| | | storeSelect.innerHTML = '<option value="">当前所选市没有门店</option>'; |
| | | } |
| | | }); |
| | | ajax1.set("oneId",oneId); |
| | | ajax1.start(); |
| | | }; |
| | | /** |
| | | * 点击添加跨城站点管理 |
| | | * 跳转添加场地页面 |
| | | */ |
| | | TSite.openAddTSite = function () { |
| | | |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: language==1?'添加':(language==2?'Add':'Tambahkan'), |
| | | title: "添加场地", |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tSite/tSite_add' |
| | | content: Feng.ctxPath + '/tSite/add' |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | /** |
| | | * 打开查看跨城站点管理详情 |
| | | * 跳转锁定场地页面 |
| | | */ |
| | | TSite.openTSiteDetail = function () { |
| | | TSite.lock = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length >1 ){ |
| | | Feng.info("只能选择一个场地进行锁定!"); |
| | | }else { |
| | | if (this.check()) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: "锁定场地", |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tSite/lockSite/' + TSite.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | } |
| | | }; |
| | | /** |
| | | * 打开场地管理查看详情 |
| | | */ |
| | | TSite.openInfo = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length >1 ){ |
| | | Feng.info("只能选择一个问题进行编辑!"); |
| | | }else { |
| | | if (this.check()) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: "查看详情", |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tSite/openInfoTSite/' + TSite.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | } |
| | | }; |
| | | /** |
| | | * 打开场地管理编辑 |
| | | */ |
| | | TSite.openEditTSite = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length >1 ){ |
| | | Feng.info("只能选择一个问题进行编辑!"); |
| | | }else { |
| | | if (this.check()) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: language==1?'编辑':(language==2?'Edit':'Edit'), |
| | | title: "编辑场地", |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tSite/tSite_update/' + TSite.seItem.id |
| | | content: Feng.ctxPath + '/tSite/openEditTSite/' + TSite.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 操作跨城站点管理 |
| | | */ |
| | | TSite.opt = function (type) { |
| | | if (this.check()) { |
| | | var name = TSite.seItem.name; |
| | | if (name == "" || name == null || name == undefined) { |
| | | name = "该站点"; |
| | | } else { |
| | | name = "【" + name + "】"; |
| | | } |
| | | var str = ""; |
| | | var text = "请谨慎操作!"; |
| | | var title = "请谨慎操作!"; |
| | | if (1 == type){ |
| | | str = "删除"; |
| | | title = "您是否确认删除"+name+"?"; |
| | | text = "请谨慎操作,删除后数据无法恢复!"; |
| | | } else if (2 == type){ |
| | | str = "冻结"; |
| | | title = "您是否确认冻结"+name+"?"; |
| | | } else if (3 == type){ |
| | | str = "解冻"; |
| | | title = "您是否确认解冻"+name+"?"; |
| | | } |
| | | if (1 == type){ |
| | | if (TSite.seItem.lineNum != "" && TSite.seItem.lineNum != null && TSite.seItem.lineNum > 0) { |
| | | swal("删除失败", "该站点还有关联线路!", "warning"); |
| | | return; |
| | | } |
| | | } |
| | | if(2 == type){ |
| | | if (TSite.seItem.state != 1) { |
| | | swal("冻结失败", "【正常】状态下才能执行此操作!", "warning"); |
| | | return; |
| | | } |
| | | } |
| | | if (3 == type){ |
| | | if (TSite.seItem.state != 2){ |
| | | swal("解冻失败", "【冻结】状态下才能执行此操作!", "warning"); |
| | | return; |
| | | } |
| | | } |
| | | |
| | | swal({ |
| | | title: title, |
| | | text: text, |
| | | type: "warning", |
| | | showCancelButton: true, |
| | | confirmButtonColor: "#DD6B55", |
| | | confirmButtonText: str, |
| | | closeOnConfirm: true |
| | | }, function () { |
| | | var ajax = new $ax(Feng.ctxPath + "/tSite/opt", function (data) { |
| | | swal(str+"成功", "您已经"+str+"了" + name + "。", "success"); |
| | | TSite.table.refresh(); |
| | | }, function (data) { |
| | | swal(str+"失败", data.responseJSON.message + "!", "warning"); |
| | | }); |
| | | ajax.set("tSiteId",TSite.seItem.id); |
| | | ajax.set("optType", type); |
| | | ajax.start(); |
| | | }); |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 查询跨城站点管理列表 |
| | | * 关闭此对话框 |
| | | */ |
| | | TSite.close = function() { |
| | | parent.layer.close(window.parent.TSite.layerIndex); |
| | | } |
| | | |
| | | var sh = ""; // 门店经营开始时间:小时 |
| | | var sm = "";// 门店经营开始时间:分钟 |
| | | var eh = "";// 门店经营结束时间:小时 |
| | | var em = "";// 门店经营结束时间:分钟 |
| | | |
| | | TSite.addSubmit = function(){ |
| | | |
| | | var data = { |
| | | province:"", |
| | | city:"", |
| | | cityManagerId:"", |
| | | storeId:"", |
| | | siteTypeId:null, |
| | | appointmentStartTime:"", |
| | | appointmentEndTime:"", |
| | | cashPrice:null, |
| | | playPaiCoin:null, |
| | | insuranceEndTime:"", |
| | | name:"", |
| | | insuranceImg:"", |
| | | managementPlan:"" |
| | | }; |
| | | data.province = $("#pCode").val() |
| | | data.city = $("#cCode").val() |
| | | data.cityManagerId = $("#account").val() |
| | | data.storeId = $("#store").val() |
| | | data.siteTypeId = $("#siteTypeId").val() |
| | | data.appointmentStartTime= $("#start-time").val() |
| | | data.appointmentEndTime = $("#end-time").val() |
| | | data.cashPrice = $("#cashPrice").val() |
| | | data.playPaiCoin = $("#playPaiCoin").val() |
| | | data.insuranceEndTime = $("#insuranceEndTime").val() |
| | | data.name = $("#name").val() |
| | | data.insuranceImg = $("#img").val() |
| | | data.managementPlan = $('#courseVideo').val() |
| | | var sh =data.appointmentStartTime.split(':')[0]; |
| | | var sm =data.appointmentStartTime.split(':')[1]; |
| | | var eh =data.appointmentEndTime.split(':')[0]; |
| | | var em =data.appointmentEndTime.split(':')[1]; |
| | | |
| | | if($("#pCode").val()==''){ |
| | | Feng.info("请选择省") |
| | | return; |
| | | } |
| | | if($("#cCode").val()==''){ |
| | | Feng.info("请选择市") |
| | | return; |
| | | } |
| | | if($("#account").val()=='' ){ |
| | | Feng.info("请选择账号") |
| | | return; |
| | | } |
| | | if($("#store").val()=='' ){ |
| | | Feng.info("请选择门店") |
| | | return; |
| | | } |
| | | if($("#siteTypeId").val()=='' ){ |
| | | Feng.info("请选择场地类型") |
| | | return; |
| | | } |
| | | if($("#name").val()==''){ |
| | | Feng.info("请输入场地名称") |
| | | return; |
| | | } |
| | | if($("#start-time").val()=='' ){ |
| | | Feng.info("请输入可预约时间段 开始时间") |
| | | return; |
| | | } |
| | | if($("#end-time").val()==''){ |
| | | Feng.info("请输入可预约时间段 结束时间") |
| | | return; |
| | | } |
| | | if($("#cashPrice").val()==''){ |
| | | Feng.info("请输入现金价格") |
| | | return; |
| | | } |
| | | if($("#playPaiCoin").val()==''){ |
| | | Feng.info("请输入玩湃币价格") |
| | | return; |
| | | } |
| | | if($("#insuranceEndTime").val()==''){ |
| | | Feng.info("请输入场地责任险有效期") |
| | | return; |
| | | } |
| | | |
| | | if($("#img").val()==''){ |
| | | Feng.info("请上传场地责任有效期图片") |
| | | return; |
| | | } |
| | | if($('#courseVideo').val()==''){ |
| | | Feng.info("请上传消防及应急管理方案") |
| | | return; |
| | | } |
| | | var sTime = document.getElementById("start-time"); //获取输入的开始时间 |
| | | var eTime = document.getElementById("end-time"); // 获取输入的结束时间 |
| | | var rStime = ""; //门店的经营开始时间 |
| | | var rEtime = ""; //门店的经营结束时间 |
| | | var selectedText = $('#store option:selected').text(); |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/tSite/getTime/" + selectedText, |
| | | type: "GET", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | success: function (response) { |
| | | rStime = response.startTime; |
| | | sh = rStime.split(':')[0];// 门店经营开始时间:小时 |
| | | sm = rStime.split(':')[1];// 门店经营开始时间:分钟 |
| | | |
| | | rEtime = response.endTime; |
| | | eh = rEtime.split(':')[0];// 门店经营结束时间:小时 |
| | | em = rEtime.split(':')[1];// 门店经营结束时间:分钟 |
| | | |
| | | var start = sTime.value; |
| | | var startHour = start.split(':')[0]; // 输入的可预约开始时间:小时 |
| | | var startMinute = start.split(':')[1];// 输入的可预约开始时间:分钟 |
| | | if (Number(sh)>Number(startHour)){ |
| | | Feng.error("预约的开始时间不应小于营业开始时间!") |
| | | return false; |
| | | }else if(Number(sh) === Number(startHour) ){ |
| | | if (Number(sm)>Number(startMinute)){ |
| | | Feng.error("预约的开始时间不应大于营业开始时间!") |
| | | return false; |
| | | } |
| | | }else if (Number(eh)<Number(startHour)){ |
| | | Feng.error("预约的开始时间不应大于营业结束时间!") |
| | | return false; |
| | | }else if(Number(eh)===Number(startHour)){ |
| | | Feng.error("预约的开始时间不应大于等于营业结束时间!") |
| | | return false; |
| | | } |
| | | var end = eTime.value; |
| | | var endHour = end.split(':')[0]; // 输入的可预约结束时间:小时 |
| | | var endMinute = end.split(':')[1];// 输入的可预约结束时间:分钟 |
| | | if (Number(eh)<Number(endHour)){ |
| | | Feng.error("预约的结束时间不应大于营业结束时间!") |
| | | return ; |
| | | }else if(Number(eh) === Number(endHour) ){ |
| | | if (Number(em)<Number(endMinute)){ |
| | | Feng.error("预约的开始时间不应大于开始营业时间!") |
| | | return ; |
| | | } |
| | | }else if(Number(sh)>Number(endHour)){ |
| | | Feng.error("预约的结束时间不应小于营业开始时间!") |
| | | return ; |
| | | } |
| | | if (Number(endHour)===Number(sh)){ |
| | | if(Number(endMinute) < Number(sm)){ |
| | | Feng.error("预约结束时间不应小于营业开始时间"); |
| | | return; |
| | | } |
| | | } |
| | | if (Number(startHour)===Number(endHour) && Number(startMinute)===Number(endMinute)){ |
| | | Feng.error("至少预约半个小时"); |
| | | return; |
| | | } |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/tSite/addSite" , |
| | | type: "POST", |
| | | data: JSON.stringify(data), |
| | | contentType: "application/json", |
| | | success: function (response) { |
| | | Feng.success("添加成功"); |
| | | TSite.search(); |
| | | }, |
| | | error: function (xhr, status, error) { |
| | | Feng.error("添加失败!" + error); |
| | | } |
| | | }); |
| | | }, |
| | | error: function (xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "上架失败!"; |
| | | Feng.error("您的网络异常!"); |
| | | return false; |
| | | } |
| | | }); |
| | | }; |
| | | |
| | | TSite.search = function () { |
| | | var queryData = {}; |
| | | queryData['insertTime'] = $("#insertTime").val(); |
| | | queryData['province'] = $("#pCode").val(); |
| | | queryData['city'] = $("#cCode").val(); |
| | | queryData['siteTypeId'] = $("#sCode").val(); |
| | | // 场地名称 |
| | | queryData['name'] = $("#name").val(); |
| | | queryData['insertUser'] = $("#insertUser").val(); |
| | | queryData['city'] = $("#city").val(); |
| | | queryData['state'] = $("#state").val(); |
| | | // 门店名称 |
| | | queryData['storeName'] = $("#storeName").val(); |
| | | TSite.table.refresh({query: queryData}); |
| | | }; |
| | | |
| | | TSite.resetSearch = function () { |
| | | $("#insertTime").val(""); |
| | | $("#pCode").val(""); |
| | | $("#cCode").val(""); |
| | | $("#store").val(""); |
| | | $("#sCode").val(""); |
| | | $("#storeName").val(""); |
| | | $("#siteTypeId").val(""); |
| | | $("#name").val(""); |
| | | $("#insertUser").val(""); |
| | | $("#city").val(""); |
| | | $("#state").val(""); |
| | | $("#insuranceEndTime").val(""); |
| | | TSite.search(); |
| | | }; |
| | | |
| | | function UploadFileFn(){ |
| | | $('#upFile').click(); |
| | | } |
| | | |
| | | $(function () { |
| | | // 限制分钟选项为 0 和 30 |
| | | var timeInputs = document.querySelectorAll('input[type="time"]'); |
| | | timeInputs.forEach(function(input) { |
| | | input.addEventListener('change', function() { |
| | | var selectedTime = input.value; |
| | | var hour = selectedTime.split(':')[0]; |
| | | var minute = selectedTime.split(':')[1]; |
| | | if (minute < 30 &&minute>0) { |
| | | minute = '30'; |
| | | } else if (minute >30) { |
| | | hour++; |
| | | minute = '00'; |
| | | if (hour<10){ |
| | | hour = '0'+hour; |
| | | } |
| | | } |
| | | input.value = hour + ':' + minute; |
| | | }); |
| | | }); |
| | | |
| | | |
| | | var defaultColunms = TSite.initColumn(); |
| | | var table = new BSTable(TSite.id, "/tSite/list", defaultColunms); |
| | | table.setPaginationType("server"); |
| | | var type =$("#type").val(); |
| | | if (type !== 1){ |
| | | var table1 = new BSTable(TSite.id, "/tSite/listExipre", defaultColunms); |
| | | table1.setPaginationType("client"); |
| | | TSite.table = table1.init(); |
| | | } |
| | | var table = new BSTable(TSite.id, "/tSite/listAll", defaultColunms); |
| | | table.setPaginationType("client"); |
| | | TSite.table = table.init(); |
| | | Feng.initValidator("carInfoForm", TSite.validateFields); |
| | | var carPhoto = new $WebUpload("img"); |
| | | carPhoto.setUploadBarId("progressBar"); |
| | | carPhoto.init(); |
| | | $('#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); |
| | | } |
| | | }) |
| | | }); |
| | | }); |
New file |
| | |
| | | /** |
| | | * 跨城站点管理管理初始化 |
| | | */ |
| | | var TSiteLock = { |
| | | layerIndex: -1, |
| | | validateFields: { |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 关闭此对话框 |
| | | */ |
| | | TSiteLock.close = function() { |
| | | parent.layer.close(window.parent.TSite.layerIndex); |
| | | } |
| | | /** |
| | | * 添加 |
| | | */ |
| | | TSiteLock.add = function(id) { |
| | | console.log("看看id"); |
| | | console.log(id) |
| | | var startTime = $("#start-time").val().replace("T"," "); |
| | | var endTime = $("#end-time").val().replace("T"," "); |
| | | data1 = { |
| | | siteId:id, |
| | | ssTime:startTime, |
| | | eeTime:endTime |
| | | }; |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/tSite/addSiteLock", |
| | | type: "POST", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | data: JSON.stringify(data1), // 将数据转换为 JSON 字符串 |
| | | success: function(response) { |
| | | console.log("看看后端返回的id"); |
| | | console.log(response.data); |
| | | var str = '<tr class="timeClass">' + |
| | | '<td><span>' + startTime +'</span></td>' + |
| | | '<td><span>' + endTime + '</span></td>' + |
| | | '<td><button '+'id = '+response.data+' + onclick="TSiteLock.delete(this)">删除</button></td></tr>'; |
| | | $("#coun").append(str); |
| | | Feng.success("锁定成功!"); |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | Feng.error("您的网络异常!"); |
| | | } |
| | | }); |
| | | } |
| | | /** |
| | | * 删除 |
| | | */ |
| | | TSiteLock.delete = function(e) { |
| | | $(e).parent().parent().remove(); |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/tSite/deleteSiteLock/"+e.id, |
| | | type: "POST", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | success: function(response) { |
| | | Feng.success("删除成功!"); |
| | | TSite.search(); |
| | | }, |
| | | error: function(xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "删除失败!"; |
| | | Feng.error("您的网络异常!"); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | function UploadFileFn(){ |
| | | $('#upFile').click(); |
| | | } |
| | | |
| | | |
| | | $(function () { |
| | | |
| | | |
| | | |
| | | }); |
| | |
| | | /** |
| | | * 初始化跨城站点管理详情对话框 |
| | | * 初始化车辆管理详情对话框 |
| | | */ |
| | | var TSiteInfoDlg = { |
| | | tSiteInfoData : {}, |
| | | var language=1; |
| | | var TSiteInfo = { |
| | | layerIndex: -1, |
| | | validateFields: { |
| | | name: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '站点名称不能为空' |
| | | } |
| | | } |
| | | }, |
| | | provinceCode: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '请选择站点所属省' |
| | | } |
| | | } |
| | | }, |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 验证数据是否为空 |
| | | */ |
| | | TSiteInfoDlg.validate = function () { |
| | | $('#siteInfoForm').data("bootstrapValidator").resetForm(); |
| | | $('#siteInfoForm').bootstrapValidator('validate'); |
| | | return $("#siteInfoForm").data('bootstrapValidator').isValid(); |
| | | TSiteInfo.validate = function () { |
| | | $('#carInfoForm').data("bootstrapValidator").resetForm(); |
| | | $('#carInfoForm').bootstrapValidator('validate'); |
| | | return $("#carInfoForm").data('bootstrapValidator').isValid(); |
| | | }; |
| | | |
| | | |
| | | /** |
| | | * 清除数据 |
| | | */ |
| | | TSiteInfoDlg.clearData = function() { |
| | | this.tSiteInfoData = {}; |
| | | TSiteInfo.clearData = function() { |
| | | this.tCarInfoData = {}; |
| | | } |
| | | |
| | | /** |
| | |
| | | * @param key 数据的名称 |
| | | * @param val 数据的具体值 |
| | | */ |
| | | TSiteInfoDlg.set = function(key, val) { |
| | | this.tSiteInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val; |
| | | TSiteInfo.set = function(key, val) { |
| | | this.tCarInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val; |
| | | return this; |
| | | } |
| | | |
| | |
| | | * @param key 数据的名称 |
| | | * @param val 数据的具体值 |
| | | */ |
| | | TSiteInfoDlg.get = function(key) { |
| | | TSiteInfo.get = function(key) { |
| | | return $("#" + key).val(); |
| | | } |
| | | |
| | | // 场地管理首页 选择对应的省市 |
| | | TSiteInfo.oneChange = function (e) { |
| | | var oneId=$(e).val(); |
| | | var startTime = document.getElementById('start-time'); |
| | | var endTime = document.getElementById('end-time'); |
| | | var selectedValue = e.value; |
| | | var citySelect = document.getElementById("cCode"); |
| | | var accountSelect = document.getElementById("account"); |
| | | var storeSelect = document.getElementById("store"); |
| | | var ajax = new $ax(Feng.ctxPath + "/tSite/getCity", function(data){ |
| | | if(data!=null){ |
| | | var content='<option value="">选择市</option>'; |
| | | $.each(data, function(k,v) { |
| | | content += "<option value='"+v.city+"'>"+v.city+"</option>"; |
| | | }); |
| | | $("#cCode").empty().append(content); |
| | | } |
| | | }); |
| | | if (selectedValue === ""){ |
| | | citySelect.innerHTML = '<option value="">请先选择省</option>'; |
| | | startTime.disabled = true; |
| | | endTime.disabled = true; |
| | | } |
| | | accountSelect.innerHTML = '<option value="">请先选择省/市</option>'; |
| | | storeSelect.innerHTML = '<option value="">请先选择省/市</option>'; |
| | | ajax.set("province",oneId); |
| | | ajax.start(); |
| | | }; |
| | | TSiteInfo.oneChangeNext = function (e) { |
| | | var selectedText = $('#cCode option:selected').text(); |
| | | var startTime = document.getElementById('start-time'); |
| | | var endTime = document.getElementById('end-time'); |
| | | |
| | | var citySelect = document.getElementById("account"); |
| | | var storeSelect = document.getElementById("store"); |
| | | var ajax = new $ax(Feng.ctxPath + "/tSite/accountChangeNext", function(data){ |
| | | if(data!=null){ |
| | | var content='<option value="">选择账号</option>'; |
| | | $.each(data, function(k,v) { |
| | | content += "<option style='width: 300px' value='"+v.id+"'>"+v.name+"</option>"; |
| | | }); |
| | | $("#account").empty().append(content); |
| | | } |
| | | }); |
| | | if (selectedText === ""){ |
| | | storeSelect.innerHTML = '<option style="width: 300px" value="">请先选择省/市</option>'; |
| | | citySelect.innerHTML = '<option style="width: 300px" value="">请先选择省/市</option>'; |
| | | startTime.disabled = true; |
| | | endTime.disabled = true; |
| | | } |
| | | |
| | | ajax.set("oneId",selectedText); |
| | | ajax.start(); |
| | | |
| | | var ajax1 = new $ax(Feng.ctxPath + "/tSite/storeChangeNext", function(data){ |
| | | if(data!=null && data.length !== 0){ |
| | | var content='<option value="">选择门店</option>'; |
| | | $.each(data, function(k,v) { |
| | | content += "<option style='width: 300px' value='"+v.id+"'>"+v.name+"</option>"; |
| | | }); |
| | | $("#store").empty().append(content); |
| | | }else { |
| | | storeSelect.innerHTML = '<option value="">当前所选市没有门店</option>'; |
| | | } |
| | | }); |
| | | ajax1.set("oneId",selectedText); |
| | | ajax1.start(); |
| | | }; |
| | | TSiteInfo.getTime = function (e) { |
| | | |
| | | var selectedText = $('#store option:selected').text(); |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/tSite/getTime/" + selectedText, |
| | | type: "GET", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | success: function (response) { |
| | | var sTime = document.getElementById("start-time"); //获取输入的开始时间 |
| | | var eTime = document.getElementById("end-time"); // 获取输入的结束时间 |
| | | var rStime = response.startTime; //门店的经营开始时间 |
| | | var rEtime = response.endTime; //门店的经营结束时间 |
| | | |
| | | var sh = rStime.split(':')[0];// 门店经营开始时间:小时 |
| | | var sm = rStime.split(':')[1];// 门店经营开始时间:分钟 |
| | | console.log("门店经营开始时间") |
| | | console.log(sh) |
| | | console.log(sm) |
| | | rEtime = response.endTime; |
| | | var eh = rEtime.split(':')[0];// 门店经营结束时间:小时 |
| | | var em = rEtime.split(':')[1];// 门店经营结束时间:分钟 |
| | | console.log("门店经营结束时间") |
| | | console.log(eh) |
| | | console.log(em) |
| | | sTime.addEventListener('change',function () { |
| | | var start = sTime.value; |
| | | var startHour = start.split(':')[0]; // 输入的可预约开始时间:小时 |
| | | var startMinute = start.split(':')[1];// 输入的可预约开始时间:分钟 |
| | | |
| | | if (Number(sh)>Number(startHour)){ |
| | | Feng.error("预约的开始时间不应小于营业开始时间!") |
| | | }else if(Number(sh) === Number(startHour) ){ |
| | | if (Number(sm)>Number(startMinute)){ |
| | | Feng.error("预约的开始时间不应大于营业开始时间!") |
| | | } |
| | | }else if (Number(eh)<Number(startHour)){ |
| | | Feng.error("预约的开始时间不应大于营业结束时间!") |
| | | }else if(Number(eh)===Number(startHour)){ |
| | | Feng.error("预约的开始时间不应大于等于营业结束时间!") |
| | | } |
| | | }); |
| | | eTime.addEventListener('change',function () { |
| | | var end = eTime.value; |
| | | var endHour = end.split(':')[0]; // 输入的可预约结束时间:小时 |
| | | var endMinute = end.split(':')[1];// 输入的可预约结束时间:分钟 |
| | | if (Number(eh)<Number(endHour)){ |
| | | Feng.error("预约的结束时间不应大于营业结束时间!") |
| | | }else if(Number(eh) === Number(endHour) ){ |
| | | if (Number(em)<Number(endMinute)){ |
| | | Feng.error("预约的开始时间不应大于开始营业时间!") |
| | | } |
| | | }else if(Number(sh)>Number(endHour)){ |
| | | Feng.error("预约的结束时间不应小于营业开始时间!") |
| | | } |
| | | }) |
| | | |
| | | }, |
| | | error: function (xhr, status, error) { |
| | | Feng.error("您的网络异常!"); |
| | | } |
| | | }); |
| | | }; |
| | | function UploadFileFn(){ |
| | | $('#upFile').click(); |
| | | } |
| | | TSiteInfo.addSubmit = function(){ |
| | | var data = { |
| | | id:null, |
| | | province:"", |
| | | city:"", |
| | | cityManagerId:"", |
| | | storeId:"", |
| | | siteTypeId:null, |
| | | appointmentStartTime:"", |
| | | appointmentEndTime:"", |
| | | cashPrice:null, |
| | | playPaiCoin:null, |
| | | insuranceEndTime:"", |
| | | name:"", |
| | | insuranceImg:"", |
| | | managementPlan:"" |
| | | }; |
| | | data.province = $("#pCode").val() |
| | | data.id = $("#id").val() |
| | | data.city = $("#cCode").val() |
| | | data.cityManagerId = $("#account").val() |
| | | data.storeId = $("#store").val() |
| | | data.siteTypeId = $("#siteTypeId").val() |
| | | data.appointmentStartTime= $("#start-time").val() |
| | | data.appointmentEndTime = $("#end-time").val() |
| | | data.cashPrice = $("#cashPrice").val() |
| | | data.playPaiCoin = $("#playPaiCoin").val() |
| | | data.insuranceEndTime = $("#insuranceEndTime").val() |
| | | data.name = $("#name").val() |
| | | data.insuranceImg = $("#img").val() |
| | | data.managementPlan = $('#courseVideo').val() |
| | | var sh =data.appointmentStartTime.split(':')[0]; |
| | | var sm =data.appointmentStartTime.split(':')[1]; |
| | | var eh =data.appointmentEndTime.split(':')[0]; |
| | | var em =data.appointmentEndTime.split(':')[1]; |
| | | |
| | | if($("#pCode").val()==''){ |
| | | Feng.info("请选择省") |
| | | return; |
| | | } |
| | | if($("#cCode").val()==''){ |
| | | Feng.info("请选择市") |
| | | return; |
| | | } |
| | | if($("#account").val()=='' ){ |
| | | Feng.info("请选择账号") |
| | | return; |
| | | } |
| | | if($("#store").val()=='' ){ |
| | | Feng.info("请选择门店") |
| | | return; |
| | | } |
| | | if($("#siteTypeId").val()=='' ){ |
| | | Feng.info("请选择场地类型") |
| | | return; |
| | | } |
| | | if($("#name").val()==''){ |
| | | Feng.info("请输入场地名称") |
| | | return; |
| | | } |
| | | if($("#start-time").val()=='' ){ |
| | | Feng.info("请输入可预约时间段 开始时间") |
| | | return; |
| | | } |
| | | if($("#end-time").val()==''){ |
| | | Feng.info("请输入可预约时间段 结束时间") |
| | | return; |
| | | } |
| | | if($("#cashPrice").val()==''){ |
| | | Feng.info("请输入现金价格") |
| | | return; |
| | | } |
| | | if($("#playPaiCoin").val()==''){ |
| | | Feng.info("请输入玩湃币价格") |
| | | return; |
| | | } |
| | | if($("#insuranceEndTime").val()==''){ |
| | | Feng.info("请输入场地责任险有效期") |
| | | return; |
| | | } |
| | | |
| | | // if($("#img").val()==''){ |
| | | // Feng.info("请上传场地责任有效期图片") |
| | | // return; |
| | | // } |
| | | if($('#courseVideo').val()==''){ |
| | | Feng.info("请上传消防及应急管理方案") |
| | | return; |
| | | } |
| | | var sTime = document.getElementById("start-time"); //获取输入的开始时间 |
| | | var eTime = document.getElementById("end-time"); // 获取输入的结束时间 |
| | | var rStime = ""; //门店的经营开始时间 |
| | | var rEtime = ""; //门店的经营结束时间 |
| | | var selectedText = $('#store option:selected').text(); |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/tSite/getTime/" + selectedText, |
| | | type: "GET", |
| | | contentType: "application/json", // 设置请求头的 Content-Type |
| | | success: function (response) { |
| | | rStime = response.startTime; |
| | | sh = rStime.split(':')[0];// 门店经营开始时间:小时 |
| | | sm = rStime.split(':')[1];// 门店经营开始时间:分钟 |
| | | |
| | | rEtime = response.endTime; |
| | | eh = rEtime.split(':')[0];// 门店经营结束时间:小时 |
| | | em = rEtime.split(':')[1];// 门店经营结束时间:分钟 |
| | | |
| | | var start = sTime.value; |
| | | var startHour = start.split(':')[0]; // 输入的可预约开始时间:小时 |
| | | var startMinute = start.split(':')[1];// 输入的可预约开始时间:分钟 |
| | | if (Number(sh)>Number(startHour)){ |
| | | Feng.error("预约的开始时间不应小于营业开始时间!") |
| | | return false; |
| | | }else if(Number(sh) === Number(startHour) ){ |
| | | if (Number(sm)>Number(startMinute)){ |
| | | Feng.error("预约的开始时间不应大于营业开始时间!") |
| | | return false; |
| | | } |
| | | }else if (Number(eh)<Number(startHour)){ |
| | | Feng.error("预约的开始时间不应大于营业结束时间!") |
| | | return false; |
| | | }else if(Number(eh)===Number(startHour)){ |
| | | Feng.error("预约的开始时间不应大于等于营业结束时间!") |
| | | return false; |
| | | } |
| | | var end = eTime.value; |
| | | var endHour = end.split(':')[0]; // 输入的可预约结束时间:小时 |
| | | var endMinute = end.split(':')[1];// 输入的可预约结束时间:分钟 |
| | | if (Number(eh)<Number(endHour)){ |
| | | Feng.error("预约的结束时间不应大于营业结束时间!") |
| | | return ; |
| | | }else if(Number(eh) === Number(endHour) ){ |
| | | if (Number(em)<Number(endMinute)){ |
| | | Feng.error("预约的开始时间不应大于开始营业时间!") |
| | | return ; |
| | | } |
| | | }else if(Number(sh)>Number(endHour)){ |
| | | Feng.error("预约的结束时间不应小于营业开始时间!") |
| | | return ; |
| | | } |
| | | if (Number(endHour)===Number(sh)){ |
| | | if(Number(endMinute) < Number(sm)){ |
| | | Feng.error("预约结束时间不应小于营业开始时间"); |
| | | return; |
| | | } |
| | | } |
| | | if (Number(startHour)===Number(endHour) && Number(startMinute)===Number(endMinute)){ |
| | | Feng.error("至少预约半个小时"); |
| | | return; |
| | | } |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/tSite/updateSite" , |
| | | type: "POST", |
| | | data: JSON.stringify(data), |
| | | contentType: "application/json", |
| | | success: function (response) { |
| | | Feng.success("修改成功"); |
| | | }, |
| | | error: function (xhr, status, error) { |
| | | Feng.error("修改失败!" + error); |
| | | } |
| | | }); |
| | | }, |
| | | error: function (xhr, status, error) { |
| | | var errorMessage = xhr.responseText ? xhr.responseText : "上架失败!"; |
| | | Feng.error("您的网络异常!"); |
| | | return false; |
| | | } |
| | | }); |
| | | |
| | | }; |
| | | /** |
| | | * 关闭此对话框 |
| | | */ |
| | | TSiteInfoDlg.close = function() { |
| | | TSiteInfo.close = function() { |
| | | parent.layer.close(window.parent.TSite.layerIndex); |
| | | } |
| | | |
| | | /** |
| | | * 收集数据 |
| | | */ |
| | | TSiteInfoDlg.collectData = function() { |
| | | this |
| | | .set('id') |
| | | .set('name') |
| | | .set('province') |
| | | .set('provinceCode') |
| | | .set('city') |
| | | .set('cityCode') |
| | | .set('district') |
| | | .set('districtCode') |
| | | .set('state') |
| | | .set('insertTime') |
| | | .set('insertUserId'); |
| | | function UploadFileFn(){ |
| | | $('#upFile').click(); |
| | | } |
| | | $(function () { |
| | | // 限制分钟选项为 0 和 30 |
| | | var timeInputs = document.querySelectorAll('input[type="time"]'); |
| | | timeInputs.forEach(function(input) { |
| | | input.addEventListener('change', function() { |
| | | var selectedTime = input.value; |
| | | var hour = selectedTime.split(':')[0]; |
| | | var minute = selectedTime.split(':')[1]; |
| | | if (minute < 30 &&minute>0) { |
| | | minute = '30'; |
| | | } else if (minute >30) { |
| | | hour++; |
| | | minute = '00'; |
| | | if (hour<10){ |
| | | hour = '0'+hour; |
| | | } |
| | | } |
| | | input.value = hour + ':' + minute; |
| | | |
| | | /** |
| | | * 提交添加 |
| | | */ |
| | | TSiteInfoDlg.addSubmit = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | if(!this.validate()){ |
| | | return ; |
| | | } |
| | | var name = $("#name").val(); |
| | | var provinceCode = $("#provinceCode").val(); |
| | | var cityCode = $("#cityCode").val(); |
| | | var districtCode = $("#districtCode").val(); |
| | | if ("" == provinceCode){ |
| | | Feng.error("请选择所属城市"); |
| | | return; |
| | | } |
| | | var subArr=[]; |
| | | $(".areaValueClass").each(function () { |
| | | subArr.push({ |
| | | id:$(this).find("input[name*='id']").val(), |
| | | areaType:$(this).find("input[name*='areaType1']").val(), |
| | | time:$(this).find("input[name*='time']").val(), |
| | | name:$(this).find("input[name*='name']").val(), |
| | | province:$(this).find("input[name*='province1']").val(), |
| | | provinceCode:$(this).find("input[name*='provinceCode1']").val(), |
| | | city:$(this).find("input[name*='city1']").val(), |
| | | cityCode:$(this).find("input[name*='cityCode1']").val(), |
| | | district:$(this).find("input[name*='district1']").val(), |
| | | districtCode:$(this).find("input[name*='districtCode1']").val(), |
| | | coordinate:$(this).find("input[name*='coordinate1']").val(), |
| | | }) |
| | | }); |
| | | }); |
| | | if(subArr.length <= 0){ |
| | | Feng.error("请至少填写一条站点区域"); |
| | | return; |
| | | } |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tSite/add", function(data){ |
| | | if(data.status == 200){ |
| | | Feng.success("添加成功!"); |
| | | window.parent.TSite.table.refresh(); |
| | | TSiteInfoDlg.close(); |
| | | }else{ |
| | | Feng.error(data.msg); |
| | | } |
| | | },function(data){ |
| | | Feng.error("添加失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("name",name); |
| | | ajax.set("provinceCode",provinceCode); |
| | | ajax.set("province",$("#provinceCode option:selected").text()); |
| | | if ("" != cityCode && null != cityCode && undefined != cityCode){ |
| | | ajax.set("cityCode",cityCode); |
| | | ajax.set("city",$("#cityCode option:selected").text()); |
| | | } |
| | | if ("" != districtCode && null != districtCode && undefined != districtCode){ |
| | | ajax.set("districtCode",$("#districtCode").val()); |
| | | ajax.set("district",$("#districtCode option:selected").text()); |
| | | } |
| | | ajax.set("subArr",JSON.stringify(subArr)); |
| | | ajax.start(); |
| | | } |
| | | Feng.initValidator("carInfoForm", TSiteInfo.validateFields); |
| | | var carPhoto = new $WebUpload("img"); |
| | | carPhoto.setUploadBarId("progressBar"); |
| | | carPhoto.init(); |
| | | |
| | | /** |
| | | * 提交修改 |
| | | */ |
| | | TSiteInfoDlg.editSubmit = function() { |
| | | var carPhoto1 = new $WebUpload("url"); |
| | | carPhoto1.setUploadBarId("progressBar"); |
| | | carPhoto1.init(); |
| | | TSiteInfo.getTime() |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | if(!this.validate()){ |
| | | return ; |
| | | } |
| | | var name = $("#name").val(); |
| | | var provinceCode = $("#provinceCode").val(); |
| | | var cityCode = $("#cityCode").val(); |
| | | var districtCode = $("#districtCode").val(); |
| | | if ("" == provinceCode){ |
| | | Feng.error("请选择所属城市"); |
| | | return; |
| | | } |
| | | var subArr=[]; |
| | | $(".areaValueClass").each(function () { |
| | | subArr.push({ |
| | | id:$(this).find("input[name*='id']").val(), |
| | | areaType:$(this).find("input[name*='areaType1']").val(), |
| | | time:$(this).find("input[name*='time']").val(), |
| | | name:$(this).find("input[name*='name']").val(), |
| | | province:$(this).find("input[name*='province1']").val(), |
| | | provinceCode:$(this).find("input[name*='provinceCode1']").val(), |
| | | city:$(this).find("input[name*='city1']").val(), |
| | | cityCode:$(this).find("input[name*='cityCode1']").val(), |
| | | district:$(this).find("input[name*='district1']").val(), |
| | | districtCode:$(this).find("input[name*='districtCode1']").val(), |
| | | coordinate:$(this).find("input[name*='coordinate1']").val(), |
| | | }) |
| | | }); |
| | | if(subArr.length <= 0){ |
| | | Feng.error("请至少填写一条站点区域"); |
| | | return; |
| | | } |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tSite/update", function(data){ |
| | | Feng.success("修改成功!"); |
| | | window.parent.TSite.table.refresh(); |
| | | TSiteInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("修改失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("id",$("#id").val()); |
| | | ajax.set("name",name); |
| | | ajax.set("provinceCode",provinceCode); |
| | | ajax.set("province",$("#provinceCode option:selected").text()); |
| | | if ("" != cityCode && null != cityCode && undefined != cityCode){ |
| | | ajax.set("cityCode",cityCode); |
| | | ajax.set("city",$("#cityCode option:selected").text()); |
| | | } |
| | | if ("" != districtCode && null != districtCode && undefined != districtCode){ |
| | | ajax.set("districtCode",$("#districtCode").val()); |
| | | ajax.set("district",$("#districtCode option:selected").text()); |
| | | } |
| | | ajax.set("subArr",JSON.stringify(subArr)); |
| | | ajax.start(); |
| | | } |
| | | |
| | | $(function() { |
| | | Feng.initValidator("siteInfoForm", TSiteInfoDlg.validateFields); |
| | | }); |
| | | |
| | | |
| | | //省改变 |
| | | TSiteInfoDlg.provinceChange = function (e) { |
| | | var provinceCode=$(e).val(); |
| | | var ajax = new $ax(Feng.ctxPath + "/tCompany/change", function(data){ |
| | | if(data!=null){ |
| | | if(language==1){ |
| | | var content='<option value="">选择市</option>'; |
| | | }else if(language==2){ |
| | | var content='<option value="">Please select a city</option>'; |
| | | }else { |
| | | var content='<option value="">Pilih Kota</option>'; |
| | | } |
| | | $.each(data, function(k,v) { |
| | | content += "<option value='"+v.code+"'>"+v.name+"</option>"; |
| | | }); |
| | | $("#cityCode").empty().append(content); |
| | | $("#districtCode").empty().append('<option value="">选择区</option>'); |
| | | } |
| | | }); |
| | | ajax.set("code",provinceCode); |
| | | ajax.start(); |
| | | } |
| | | //市改变 |
| | | TSiteInfoDlg.cityChange = function (e) { |
| | | var cityCode=$(e).val(); |
| | | var ajax = new $ax(Feng.ctxPath + "/tCompany/change", function(data){ |
| | | if(data!=null){ |
| | | if(language==1){ |
| | | var content='<option value="">选择区</option>'; |
| | | }else if(language==2){ |
| | | var content='<option value="">Please select a city</option>'; |
| | | }else { |
| | | var content='<option value="">Pilih Kota</option>'; |
| | | } |
| | | $.each(data, function(k,v) { |
| | | content += "<option value='"+v.code+"'>"+v.name+"</option>"; |
| | | }); |
| | | $("#districtCode").empty().append(content); |
| | | } |
| | | }); |
| | | ajax.set("code",cityCode); |
| | | ajax.start(); |
| | | } |
| | | /** |
| | | * 类型改变执行 |
| | | * @param e |
| | | */ |
| | | TSiteInfoDlg.areaTypeClick = function (e) { |
| | | if (1 == e){//行政区域 |
| | | $("#areaType1Div").show(); |
| | | $("#areaType2Div").hide(); |
| | | } else if (2 == e){ |
| | | $("#areaType2Div").show(); |
| | | $("#areaType1Div").hide(); |
| | | } |
| | | } |
| | | |
| | | //站点区域省改变 |
| | | TSiteInfoDlg.provinceChange1 = function (e) { |
| | | var provinceCode=$(e).val(); |
| | | var ajax = new $ax(Feng.ctxPath + "/tCompany/change", function(data){ |
| | | if(data!=null){ |
| | | if(language==1){ |
| | | var content='<option value="">选择市</option>'; |
| | | }else if(language==2){ |
| | | var content='<option value="">Please select a city</option>'; |
| | | }else { |
| | | var content='<option value="">Pilih Kota</option>'; |
| | | } |
| | | $.each(data, function(k,v) { |
| | | content += "<option value='"+v.code+"'>"+v.name+"</option>"; |
| | | }); |
| | | $("#cityCode1").empty().append(content); |
| | | $("#districtCode1").empty().append('<option value="">选择区</option>'); |
| | | } |
| | | }); |
| | | ajax.set("code",provinceCode); |
| | | ajax.start(); |
| | | } |
| | | //站点区域市改变 |
| | | TSiteInfoDlg.cityChange1 = function (e) { |
| | | var cityCode=$(e).val(); |
| | | var ajax = new $ax(Feng.ctxPath + "/tCompany/change", function(data){ |
| | | if(data!=null){ |
| | | if(language==1){ |
| | | var content='<option value="">选择区</option>'; |
| | | }else if(language==2){ |
| | | var content='<option value="">Please select a city</option>'; |
| | | }else { |
| | | var content='<option value="">Pilih Kota</option>'; |
| | | } |
| | | $.each(data, function(k,v) { |
| | | content += "<option value='"+v.code+"'>"+v.name+"</option>"; |
| | | }); |
| | | $("#districtCode1").empty().append(content); |
| | | } |
| | | }); |
| | | ajax.set("code",cityCode); |
| | | ajax.start(); |
| | | } |
| | | |
| | | /** |
| | | * 添加区域 |
| | | */ |
| | | TSiteInfoDlg.addArea = function () { |
| | | var areaName = $("#areaName").val(); |
| | | if ("" == areaName || null == areaName){ |
| | | Feng.error("区域名称不能为空"); |
| | | return; |
| | | } |
| | | var areaType = $("input[name='areaType']:checked").val(); |
| | | var b = false; |
| | | $(".areaValueClass").each(function () { |
| | | var areaType1 = $(this).find("input[name*='areaType1']").val(); |
| | | if(areaType != areaType1){ |
| | | b = true; |
| | | return |
| | | } |
| | | }); |
| | | if(b){ |
| | | Feng.error("电子围栏和行政区域不能混合使用"); |
| | | return; |
| | | } |
| | | |
| | | if (1 == areaType){ |
| | | var provinceCode1 = $("#provinceCode1").val(); |
| | | var province1 = $("#provinceCode1 option:selected").text(); |
| | | var cityCode1 = $("#cityCode1").val(); |
| | | var city1 = $("#cityCode1 option:selected").text(); |
| | | var districtCode1 = $("#districtCode1").val(); |
| | | var district1 = $("#districtCode1 option:selected").text(); |
| | | if ("" == provinceCode1){ |
| | | Feng.error("请选择行政区域所属省"); |
| | | return; |
| | | } |
| | | }else if (2 == areaType) { |
| | | if("" == coordinate){ |
| | | Feng.error('请在地图上规划区域'); |
| | | return; |
| | | } |
| | | } |
| | | var subArr=[]; |
| | | $(".areaValueClass").each(function () { |
| | | subArr.push({ |
| | | areaType:$(this).find("input[name*='areaType1']").val(), |
| | | time:$(this).find("input[name*='time']").val(), |
| | | name:$(this).find("input[name*='name']").val(), |
| | | province:$(this).find("input[name*='province1']").val(), |
| | | provinceCode:$(this).find("input[name*='provinceCode1']").val(), |
| | | city:$(this).find("input[name*='city1']").val(), |
| | | cityCode:$(this).find("input[name*='cityCode1']").val(), |
| | | district:$(this).find("input[name*='district1']").val(), |
| | | districtCode:$(this).find("input[name*='districtCode1']").val(), |
| | | coordinate:$(this).find("input[name*='coordinate1']").val(), |
| | | }) |
| | | }); |
| | | var str = '<tr class="areaValueClass">' + |
| | | // '<td>' + (subArr.length+1) + '</td>' + |
| | | '<td style="text-align: center;">' + |
| | | '<input type="hidden" id="areaType1" name="areaType1" value="'+areaType+'">' + |
| | | '<input type="hidden" id="time" name="time" value="'+getNowFormatDate()+'">' + getNowFormatDate() + '</td>' + |
| | | |
| | | '<td style="text-align: center;">' + |
| | | '<input type="hidden" id="name" name="name" value="'+areaName+'">' + |
| | | '<input type="hidden" id="provinceCode1" name="provinceCode1" value="'+provinceCode1+'">' + |
| | | '<input type="hidden" id="province1" name="province1" value="'+province1+'">' + |
| | | '<input type="hidden" id="cityCode1" name="cityCode1" value="'+cityCode1+'">' + |
| | | '<input type="hidden" id="city1" name="city1" value="'+city1+'">' + |
| | | '<input type="hidden" id="districtCode1" name="districtCode1" value="'+districtCode1+'">' + |
| | | '<input type="hidden" id="district1" name="district1" value="'+district1+'">' + |
| | | '<input type="hidden" id="coordinate1" name="coordinate1" value="'+coordinate+'">' + areaName + '</td>' + |
| | | |
| | | '<td style="text-align: center;"><button onclick="deleteSub(this)">移除</button></td></tr>'; |
| | | $("#areaValue").append(str); |
| | | |
| | | //清除电子围栏数据 |
| | | $("#clear").click(); |
| | | } |
| | | //删除数据 |
| | | function deleteSub(e) { |
| | | $(e).parent().parent().remove(); |
| | | } |
| | |
| | | <groupId>cn.mb.cloud</groupId> |
| | | <artifactId>mb-cloud-parent</artifactId> |
| | | <version>1.1.3</version> |
| | | <relativePath>../cloud-server-parent/pom.xml</relativePath> |
| | | <relativePath>../../cloud-server-parent/pom.xml</relativePath> |
| | | </parent> |
| | | <artifactId>mb-cloud-other</artifactId> |
| | | <packaging>jar</packaging> |
| | |
| | | </executions> |
| | | </plugin> |
| | | |
| | | <plugin> |
| | | <groupId>com.spotify</groupId> |
| | | <artifactId>docker-maven-plugin</artifactId> |
| | | </plugin> |
| | | </plugins> |
| | | </build> |
| | | <repositories> |
| | |
| | | package com.dsh.other.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.dsh.other.entity.Site; |
| | | import com.dsh.other.entity.SiteBooking; |
| | | import com.dsh.other.entity.SiteType; |
| | | import com.dsh.other.entity.TSite; |
| | | import com.dsh.other.feignclient.account.CityManagerClient; |
| | | import com.dsh.other.feignclient.account.model.CityManager; |
| | | import com.dsh.other.feignclient.activity.UserCouponClient; |
| | | import com.dsh.other.feignclient.activity.model.QueryUserCouponByIdAndUserId; |
| | | import com.dsh.other.feignclient.activity.model.UserCoupon; |
| | | import com.dsh.other.feignclient.model.BillingDataRequestVo; |
| | | import com.dsh.other.feignclient.model.SiteChangeStateVO; |
| | | import com.dsh.other.feignclient.model.SiteVo; |
| | | import com.dsh.other.model.*; |
| | | import com.dsh.other.model.dto.siteDto.TSiteDTO; |
| | | import com.dsh.other.model.vo.questionVo.QuestionChangeStateVO; |
| | | import com.dsh.other.model.vo.siteVo.ExpireSiteSearchVO; |
| | | import com.dsh.other.model.vo.siteVo.SiteSearchVO; |
| | | import com.dsh.other.service.ISiteBookingService; |
| | | import com.dsh.other.service.ISiteService; |
| | | import com.dsh.other.service.ISiteTypeService; |
| | |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | |
| | | |
| | | @Resource |
| | | private UserCouponClient userCouponClient; |
| | | @Autowired |
| | | private CityManagerClient cityManagerClient; |
| | | |
| | | |
| | | /** |
| | | * 获取所有场地 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/base/site/list") |
| | | public List<TSiteDTO> listAll(@RequestBody SiteSearchVO vo){ |
| | | |
| | | return siteTypeService.listAll(vo); |
| | | |
| | | } |
| | | /** |
| | | * 获取场地有效期在两个月内的场地列表 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/base/site/listExipre") |
| | | public List<TSiteDTO> listExipre(@RequestBody ExpireSiteSearchVO vo){ |
| | | |
| | | return siteTypeService.listExipre(vo); |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 上/下架、删除常见问题 type=1为上架 2为下架 3为删除 |
| | | */ |
| | | @RequestMapping("/base/site/changeState") |
| | | public Object changeState(@RequestBody SiteChangeStateVO vo){ |
| | | |
| | | return siteService.changeState(vo); |
| | | } |
| | | /** |
| | | * 添加场地管理 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/base/site/addSite") |
| | | public Object addSite(@RequestBody Site site){ |
| | | if(site.getId()!= null ){ |
| | | |
| | | return siteService.updateById(site); |
| | | }else { |
| | | return siteService.save(site); |
| | | } |
| | | } |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/base/site/querySiteType") |
| | |
| | | return ResultUtil.runErr(); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 购买课程微信支付回调 |
New file |
| | |
| | | package com.dsh.other.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.dsh.other.entity.Site; |
| | | import com.dsh.other.entity.SiteBooking; |
| | | import com.dsh.other.entity.SiteLock; |
| | | import com.dsh.other.entity.SiteType; |
| | | import com.dsh.other.feignclient.activity.UserCouponClient; |
| | | import com.dsh.other.feignclient.activity.model.QueryUserCouponByIdAndUserId; |
| | | import com.dsh.other.feignclient.activity.model.UserCoupon; |
| | | import com.dsh.other.feignclient.model.BillingDataRequestVo; |
| | | import com.dsh.other.feignclient.model.SiteChangeStateVO; |
| | | import com.dsh.other.feignclient.model.SiteVo; |
| | | import com.dsh.other.model.*; |
| | | import com.dsh.other.model.dto.siteDto.TSiteDTO; |
| | | import com.dsh.other.model.dto.siteDto.TSiteLockDTO; |
| | | import com.dsh.other.model.vo.siteVo.SiteSearchVO; |
| | | import com.dsh.other.service.ISiteBookingService; |
| | | import com.dsh.other.service.ISiteLockService; |
| | | import com.dsh.other.service.ISiteService; |
| | | import com.dsh.other.service.ISiteTypeService; |
| | | import com.dsh.other.util.PayMoneyUtil; |
| | | import com.dsh.other.util.ResultUtil; |
| | | import com.dsh.other.util.TokenUtil; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.PrintWriter; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @author zhibing.pu |
| | | * @date 2023/7/13 16:50 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("") |
| | | public class SiteLockController { |
| | | |
| | | @Autowired |
| | | private ISiteService siteService; |
| | | @Autowired |
| | | private ISiteLockService siteLockService; |
| | | |
| | | /** |
| | | * 锁定场地列表 |
| | | * @param |
| | | * @return |
| | | */ |
| | | |
| | | @PostMapping("/siteLock/getListById/{id}") |
| | | public List<TSiteLockDTO> getListById(@PathVariable("id") Integer id){ |
| | | return siteLockService.getListById(id); |
| | | } |
| | | |
| | | /** |
| | | * 添加锁定场地 |
| | | * @param |
| | | * @return |
| | | */ |
| | | @ResponseBody |
| | | @PostMapping("/siteLock/addSiteLock") |
| | | public Object addSiteLock(@RequestBody TSiteLockDTO siteLock){ |
| | | SiteLock siteLock1 = new SiteLock(); |
| | | BeanUtils.copyProperties(siteLock,siteLock1); |
| | | siteLockService.save(siteLock1); |
| | | return siteLock1.getId(); |
| | | } |
| | | |
| | | /** |
| | | * 删除锁定场地 |
| | | * @param |
| | | * @return |
| | | */ |
| | | @PostMapping("/siteLock/deleteSiteLock/{id}") |
| | | public Object deleteSiteLock(@PathVariable("id") Integer id){ |
| | | return siteLockService.removeById(id); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | private GDMapGeocodingUtil gdMapGeocodingUtil; |
| | | |
| | | |
| | | /** |
| | | * 根据城市管理员id获取门店 |
| | | */ |
| | | @RequestMapping("base/site/getStoreByCityManagerId") |
| | | public Object getStoreByCityManagerId(@RequestBody Integer id){ |
| | | return storeService.getStoreByCityManagerId(id); |
| | | } |
| | | /** |
| | | * 根据员工id获取门店 |
| | | */ |
| | | @RequestMapping("base/site/getStoreByStoreStaffId") |
| | | public Object getStoreByStoreStaffId(@RequestBody Integer id){ |
| | | return storeService.getStoreByStoreStaffId(id); |
| | | } |
| | | |
| | | /** |
| | | * 根据门店id获取门店信息 |
| | | */ |
| | | @RequestMapping("base/site/getStoreById") |
| | | public Store getStoreById(@RequestBody Integer id){ |
| | | return storeService.getOne(new QueryWrapper<Store>().eq("id",id)); |
| | | } |
| | | /** |
| | | * 选择市区 展示全部门店 |
| | | */ |
| | | @RequestMapping("base/store/getStore") |
| | | public List<Store> getStore(@RequestBody String city){ |
| | | return storeService.list(new QueryWrapper<Store>().eq("city",city)); |
| | | } |
| | | |
| | | /** |
| | | * 根据所选门店 查询经营时间 |
| | | * @param oneId |
| | | * @return |
| | | */ |
| | | @RequestMapping("base/store/getTime") |
| | | public Store getTime(@RequestBody String oneId){ |
| | | return storeService.getOne(new QueryWrapper<Store>().eq("name",oneId)); |
| | | } |
| | | |
| | | |
| | | |
| | | @PostMapping("/base/protocol/storeDetail/courseOfSto") |
| | |
| | | */ |
| | | @ResponseBody |
| | | @PostMapping("/store/queryStoreByIds") |
| | | public List<Store> queryStoreByIds(List<Integer> ids){ |
| | | public List<Store> queryStoreByIds(@RequestBody List<Integer> ids){ |
| | | try { |
| | | return storeService.list(new LambdaQueryWrapper<Store>() |
| | | .in(Store::getId,ids)); |
| | |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | |
| | | * 场地责任险有效期 |
| | | */ |
| | | @TableField("insuranceEndTime") |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | private Date insuranceEndTime; |
| | | /** |
| | | * 场地责任险图片 |
| | |
| | | * 添加时间 |
| | | */ |
| | | @TableField("insertTime") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
| | | private Date insertTime; |
| | | |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | |
| | | * 锁定开始时间 |
| | | */ |
| | | @TableField("startTime") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
| | | private Date startTime; |
| | | /** |
| | | * 锁定结束时间 |
| | | */ |
| | | @TableField("endTime") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
| | | private Date endTime; |
| | | } |
New file |
| | |
| | | package com.dsh.other.entity; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @author zhibing.pu |
| | | * @Date 2023/8/1 17:43 |
| | | */ |
| | | @Data |
| | | @TableName("t_site") |
| | | public class TSite { |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | /** |
| | | * 门店id |
| | | */ |
| | | @TableField("storeId") |
| | | private Integer storeId; |
| | | /** |
| | | * 场地名称 |
| | | */ |
| | | @TableField("name") |
| | | private String name; |
| | | /** |
| | | * 场地类型id |
| | | */ |
| | | @TableField("siteTypeId") |
| | | private Integer siteTypeId; |
| | | /** |
| | | * 城市管理员id |
| | | */ |
| | | @TableField("cityManagerId") |
| | | private Integer cityManagerId; |
| | | /** |
| | | * 省 |
| | | */ |
| | | @TableField("province") |
| | | private String province; |
| | | /** |
| | | * 省编号 |
| | | */ |
| | | @TableField("provinceCode") |
| | | private String provinceCode; |
| | | /** |
| | | * 市名称 |
| | | */ |
| | | @TableField("city") |
| | | private String city; |
| | | /** |
| | | * 市编号 |
| | | */ |
| | | @TableField("cityCode") |
| | | private String cityCode; |
| | | /** |
| | | * 预约开始时间 |
| | | */ |
| | | @TableField("appointmentStartTime") |
| | | private String appointmentStartTime; |
| | | /** |
| | | * 预约结束时间 |
| | | */ |
| | | @TableField("appointmentEndTime") |
| | | private String appointmentEndTime; |
| | | /** |
| | | * 现金价格(x/半小时) |
| | | */ |
| | | @TableField("cashPrice") |
| | | private Double cashPrice; |
| | | /** |
| | | * 玩湃币价格(x/半小时) |
| | | */ |
| | | @TableField("playPaiCoin") |
| | | private Integer playPaiCoin; |
| | | /** |
| | | * 场地责任险有效期 |
| | | */ |
| | | @TableField("insuranceEndTime") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date insuranceEndTime; |
| | | /** |
| | | * 场地责任险图片 |
| | | */ |
| | | @TableField("insuranceImg") |
| | | private String insuranceImg; |
| | | /** |
| | | * 消防应急管理方案 |
| | | */ |
| | | @TableField("managementPlan") |
| | | private String managementPlan; |
| | | /** |
| | | * 状态(1=正常,2=冻结,3=删除) |
| | | */ |
| | | @TableField("state") |
| | | private Integer state; |
| | | /** |
| | | * 添加时间 |
| | | */ |
| | | @TableField("insertTime") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
| | | private Date insertTime; |
| | | } |
New file |
| | |
| | | package com.dsh.other.feignclient.account; |
| | | |
| | | import com.dsh.other.feignclient.account.model.CityManager; |
| | | import org.springframework.cloud.openfeign.FeignClient; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author zhibing.pu |
| | | * @Date 2023/8/1 17:07 |
| | | */ |
| | | @FeignClient("mb-cloud-account") |
| | | public interface CityManagerClient { |
| | | |
| | | |
| | | /** |
| | | * 根据id获取数据 |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @PostMapping("/cityManager/queryCityManagerById") |
| | | CityManager queryCityManagerById(Integer id); |
| | | |
| | | /** |
| | | * 获取已有城市管理的省、市 |
| | | */ |
| | | @RequestMapping("/cityManager/listAll") |
| | | List<CityManager> listAll(); |
| | | |
| | | /** |
| | | * 选择省 展示市 |
| | | */ |
| | | @RequestMapping("/cityManager/getCity") |
| | | List<CityManager> getCity(@RequestBody String province); |
| | | |
| | | /** |
| | | * 选择市区 展示全部账号 |
| | | */ |
| | | @RequestMapping("/cityManager/getAccount") |
| | | List<CityManager> getAccount(@RequestBody String city); |
| | | |
| | | } |
New file |
| | |
| | | package com.dsh.other.feignclient.account.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @author zhibing.pu |
| | | * @Date 2023/8/1 17:00 |
| | | */ |
| | | @Data |
| | | @TableName("t_city_manager") |
| | | public class CityManager { |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | /** |
| | | * 姓名 |
| | | */ |
| | | @TableField("name") |
| | | private String name; |
| | | /** |
| | | * 电话 |
| | | */ |
| | | @TableField("phone") |
| | | private String phone; |
| | | /** |
| | | * 省 |
| | | */ |
| | | @TableField("province") |
| | | private String province; |
| | | /** |
| | | * 省编号 |
| | | */ |
| | | @TableField("provinceCode") |
| | | private String provinceCode; |
| | | /** |
| | | * 市 |
| | | */ |
| | | @TableField("city") |
| | | private String city; |
| | | /** |
| | | * 市编号 |
| | | */ |
| | | @TableField("cityCode") |
| | | private String cityCode; |
| | | /** |
| | | * 状态(1=正常,2=冻结,3=删除) |
| | | */ |
| | | @TableField("state") |
| | | private Integer state; |
| | | } |
New file |
| | |
| | | package com.dsh.other.feignclient.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @author zhibing.pu |
| | | * @Date 2023/8/1 17:43 |
| | | */ |
| | | @Data |
| | | public class SiteAddDTO { |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | /** |
| | | * 门店id |
| | | */ |
| | | private Integer storeId; |
| | | /** |
| | | * 场地名称 |
| | | */ |
| | | private String name; |
| | | /** |
| | | * 场地类型id |
| | | */ |
| | | private Integer siteTypeId; |
| | | /** |
| | | * 城市管理员id |
| | | */ |
| | | private Integer cityManagerId; |
| | | /** |
| | | * 省 |
| | | */ |
| | | private String province; |
| | | /** |
| | | * 省编号 |
| | | */ |
| | | private String provinceCode; |
| | | /** |
| | | * 市名称 |
| | | */ |
| | | private String city; |
| | | /** |
| | | * 市编号 |
| | | */ |
| | | private String cityCode; |
| | | /** |
| | | * 预约开始时间 |
| | | */ |
| | | private String appointmentStartTime; |
| | | /** |
| | | * 预约结束时间 |
| | | */ |
| | | private String appointmentEndTime; |
| | | /** |
| | | * 现金价格(x/半小时) |
| | | */ |
| | | private Double cashPrice; |
| | | /** |
| | | * 玩湃币价格(x/半小时) |
| | | */ |
| | | private Integer playPaiCoin; |
| | | /** |
| | | * 场地责任险有效期 |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date insuranceEndTime; |
| | | /** |
| | | * 场地责任险图片 |
| | | */ |
| | | private String insuranceImg; |
| | | /** |
| | | * 消防应急管理方案 |
| | | */ |
| | | private String managementPlan; |
| | | /** |
| | | * 状态(1=正常,2=冻结,3=删除) |
| | | */ |
| | | private Integer state; |
| | | /** |
| | | * 添加时间 |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date insertTime; |
| | | } |
New file |
| | |
| | | package com.dsh.other.feignclient.model; |
| | | |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 修改场地状态 |
| | | */ |
| | | @Data |
| | | public class SiteChangeStateVO { |
| | | /** |
| | | * 场地Id |
| | | */ |
| | | List<Integer> siteIds; |
| | | /** |
| | | * 上/下架 删除场地 type=1 上架 2下架 3删除 |
| | | */ |
| | | Integer type; |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.dsh.other.entity.SiteLock; |
| | | import com.dsh.other.model.dto.siteDto.TSiteLockDTO; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author zhibing.pu |
| | | * @Date 2023/7/18 14:43 |
| | | */ |
| | | public interface SiteLockMapper extends BaseMapper<SiteLock> { |
| | | List<TSiteLockDTO> getListById(@Param("id") Integer id); |
| | | } |
| | |
| | | import com.dsh.other.model.QueryMySiteVo; |
| | | import com.dsh.other.model.QuerySiteList; |
| | | import com.dsh.other.model.QuerySiteListVo; |
| | | import com.dsh.other.model.dto.siteDto.TSiteDTO; |
| | | import com.dsh.other.model.vo.siteVo.ExpireSiteSearchVO; |
| | | import com.dsh.other.model.vo.siteVo.SiteSearchVO; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | */ |
| | | List<QueryMySiteVo> queryMySite(@Param("uid") Integer uid, @Param("status") Integer status, |
| | | @Param("pageNo") Integer pageNo, @Param("pageSize") Integer pageSize); |
| | | |
| | | List<TSiteDTO> listAll(@Param("query") SiteSearchVO vo); |
| | | |
| | | |
| | | Object changeState(@Param("siteIds") List<Integer> siteIds, @Param("type")Integer type); |
| | | |
| | | List<TSiteDTO> listExipre(@Param("query") ExpireSiteSearchVO vo); |
| | | |
| | | } |
| | |
| | | import com.dsh.other.model.BaseVo; |
| | | import com.dsh.other.model.ProvinceAndCityVo; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.aspectj.lang.annotation.DeclareParents; |
| | | |
| | | import java.util.List; |
| | | |
| | |
| | | */ |
| | | List<BaseVo> queryStoreByCityCode(@Param("cityCode") String cityCode); |
| | | |
| | | /** |
| | | * 根据城市管理员id获取门店集合 |
| | | * @param id |
| | | * @return |
| | | */ |
| | | List<Store> getStoreByCityManagerId(@Param("id") Integer id); |
| | | /** |
| | | * 根据门店员工id获取门店集合 |
| | | * @param id |
| | | * @return |
| | | */ |
| | | List<Store> getStoreByStoreStaffId(@Param("id") Integer id); |
| | | } |
New file |
| | |
| | | package com.dsh.other.model.dto.siteDto; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @author 场地管理列表DTO |
| | | * @Date 2023/8/1 17:43 |
| | | */ |
| | | @Data |
| | | public class TSiteDTO { |
| | | /** |
| | | * 主键 |
| | | */ |
| | | private Integer id; |
| | | /** |
| | | * 门店id |
| | | */ |
| | | private Integer storeId; |
| | | /** |
| | | * 门店名称 |
| | | */ |
| | | private String storeName; |
| | | /** |
| | | * 场地名称 |
| | | */ |
| | | private String name; |
| | | /** |
| | | * 场地类型id |
| | | */ |
| | | private Integer siteTypeId; |
| | | /** |
| | | * 场地类型名称 |
| | | */ |
| | | private String siteTypeName; |
| | | /** |
| | | * 城市管理员id |
| | | */ |
| | | private Integer cityManagerId; |
| | | /** |
| | | * 省 |
| | | */ |
| | | private String province; |
| | | /** |
| | | * 省编号 |
| | | */ |
| | | private String provinceCode; |
| | | /** |
| | | * 市名称 |
| | | */ |
| | | private String city; |
| | | /** |
| | | * 市编号 |
| | | */ |
| | | private String cityCode; |
| | | /** |
| | | * 预约开始时间 |
| | | */ |
| | | private String appointmentStartTime; |
| | | /** |
| | | * 预约结束时间 |
| | | */ |
| | | private String appointmentEndTime; |
| | | /** |
| | | * 现金价格(x/半小时) |
| | | */ |
| | | private Double cashPrice; |
| | | /** |
| | | * 玩湃币价格(x/半小时) |
| | | */ |
| | | private Integer playPaiCoin; |
| | | /** |
| | | * 场地责任险有效期 |
| | | */ |
| | | private Date insuranceEndTime; |
| | | /** |
| | | * 场地责任险图片 |
| | | */ |
| | | private String insuranceImg; |
| | | /** |
| | | * 消防应急管理方案 |
| | | */ |
| | | private String managementPlan; |
| | | /** |
| | | * 状态(1=正常,2=冻结,3=删除) |
| | | */ |
| | | private Integer state; |
| | | /** |
| | | * 添加时间 |
| | | */ |
| | | private Date insertTime; |
| | | } |
New file |
| | |
| | | package com.dsh.other.model.dto.siteDto; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * 锁定场地DTO |
| | | */ |
| | | @Data |
| | | public class TSiteLockDTO { |
| | | /** |
| | | * 场地id |
| | | */ |
| | | private Integer id; |
| | | /** |
| | | * 场地id |
| | | */ |
| | | private Integer siteId; |
| | | /** |
| | | * 锁定开始时间 |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm") |
| | | private Date startTime; |
| | | /** |
| | | * 锁定结束时间 |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm") |
| | | private Date endTime; |
| | | |
| | | private String ssTime; |
| | | |
| | | private String eeTime; |
| | | } |
New file |
| | |
| | | package com.dsh.other.model.vo.siteVo; |
| | | |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class ExpireSiteSearchVO { |
| | | /** |
| | | * 省 |
| | | */ |
| | | private String province; |
| | | /** |
| | | * 市 |
| | | */ |
| | | private String city; |
| | | |
| | | /** |
| | | * 门店名称 |
| | | */ |
| | | private String storeName; |
| | | |
| | | /** |
| | | * 场地类型 |
| | | */ |
| | | private Integer siteTypeId; |
| | | |
| | | /** |
| | | * 场地名称 |
| | | */ |
| | | private String name; |
| | | /** |
| | | * 对象类型(1=平台,2=城市管理员,3=门店) |
| | | */ |
| | | private Integer objectType; |
| | | |
| | | private Integer objectId; |
| | | |
| | | // 登陆人类型 |
| | | private Integer typeId ; |
| | | |
| | | } |
New file |
| | |
| | | package com.dsh.other.model.vo.siteVo; |
| | | |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class SiteSearchVO { |
| | | /** |
| | | * 省 |
| | | */ |
| | | private String province; |
| | | /** |
| | | * 市 |
| | | */ |
| | | private String city; |
| | | |
| | | /** |
| | | * 门店名称 |
| | | */ |
| | | private String storeName; |
| | | |
| | | /** |
| | | * 场地类型 |
| | | */ |
| | | private Integer siteTypeId; |
| | | |
| | | /** |
| | | * 场地名称 |
| | | */ |
| | | private String name; |
| | | /** |
| | | * 对象类型(1=平台,2=城市管理员,3=门店) |
| | | */ |
| | | private Integer objectType; |
| | | |
| | | private Integer objectId; |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.dsh.other.entity.SiteLock; |
| | | import com.dsh.other.model.dto.siteDto.TSiteLockDTO; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author zhibing.pu |
| | | * @Date 2023/7/18 14:44 |
| | | */ |
| | | public interface ISiteLockService extends IService<SiteLock> { |
| | | List<TSiteLockDTO> getListById(Integer id); |
| | | |
| | | |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.dsh.other.entity.Site; |
| | | import com.dsh.other.feignclient.model.SiteChangeStateVO; |
| | | import com.dsh.other.model.*; |
| | | import com.dsh.other.util.ResultUtil; |
| | | |
| | |
| | | * @throws Exception |
| | | */ |
| | | ResultUtil<Map<String, Double>> queryContinuePaymentMySitePrice(Integer id) throws Exception; |
| | | |
| | | Object changeState(SiteChangeStateVO vo); |
| | | |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.dsh.other.entity.SiteType; |
| | | import com.dsh.other.model.BaseVo; |
| | | import com.dsh.other.model.dto.siteDto.TSiteDTO; |
| | | import com.dsh.other.model.vo.siteVo.ExpireSiteSearchVO; |
| | | import com.dsh.other.model.vo.siteVo.SiteSearchVO; |
| | | |
| | | import java.util.List; |
| | | |
| | |
| | | * @throws Exception |
| | | */ |
| | | List<BaseVo> querySiteType() throws Exception; |
| | | |
| | | List<TSiteDTO> listAll(SiteSearchVO vo); |
| | | |
| | | List<TSiteDTO> listExipre(ExpireSiteSearchVO vo); |
| | | } |
| | |
| | | */ |
| | | List<BaseVo> queryStoreByCityCode(String cityCode) throws Exception; |
| | | |
| | | List<Store> getStoreByCityManagerId(Integer id); |
| | | |
| | | List<Store> getStoreByStoreStaffId(Integer id); |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.dsh.other.entity.SiteLock; |
| | | import com.dsh.other.mapper.SiteLockMapper; |
| | | import com.dsh.other.model.dto.siteDto.TSiteLockDTO; |
| | | import com.dsh.other.service.ISiteLockService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author zhibing.pu |
| | |
| | | */ |
| | | @Service |
| | | public class SiteLockServiceImpl extends ServiceImpl<SiteLockMapper, SiteLock> implements ISiteLockService { |
| | | @Autowired |
| | | private SiteLockMapper siteLockMapper; |
| | | @Override |
| | | public List<TSiteLockDTO> getListById(Integer id) { |
| | | return siteLockMapper.getListById(id); |
| | | } |
| | | |
| | | } |
| | |
| | | import com.dsh.other.feignclient.activity.model.Coupon; |
| | | import com.dsh.other.feignclient.activity.model.QueryUserCouponByIdAndUserId; |
| | | import com.dsh.other.feignclient.activity.model.UserCoupon; |
| | | import com.dsh.other.feignclient.model.SiteChangeStateVO; |
| | | import com.dsh.other.mapper.SiteMapper; |
| | | import com.dsh.other.model.*; |
| | | import com.dsh.other.service.*; |
| | | import com.dsh.other.util.*; |
| | | import io.swagger.models.auth.In; |
| | | import org.aspectj.weaver.ast.Var; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | |
| | | |
| | | @Autowired |
| | | private PayMoneyUtil payMoneyUtil; |
| | | @Autowired |
| | | private SiteMapper siteMapper; |
| | | |
| | | |
| | | |
| | |
| | | map.put("cash", payMoney); |
| | | return ResultUtil.success(map); |
| | | } |
| | | |
| | | @Override |
| | | public Object changeState(SiteChangeStateVO vo) { |
| | | |
| | | List<Integer> siteIds = vo.getSiteIds(); |
| | | Integer type = vo.getType(); |
| | | return siteMapper.changeState(siteIds,type); |
| | | |
| | | } |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.dsh.other.entity.SiteType; |
| | | import com.dsh.other.mapper.SiteMapper; |
| | | import com.dsh.other.mapper.SiteTypeMapper; |
| | | import com.dsh.other.model.BaseVo; |
| | | import com.dsh.other.model.dto.siteDto.TSiteDTO; |
| | | import com.dsh.other.model.vo.siteVo.ExpireSiteSearchVO; |
| | | import com.dsh.other.model.vo.siteVo.SiteSearchVO; |
| | | import com.dsh.other.service.ISiteTypeService; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | |
| | | @Service |
| | | public class SiteTypeServiceImpl extends ServiceImpl<SiteTypeMapper, SiteType> implements ISiteTypeService { |
| | | |
| | | @Resource |
| | | private SiteMapper siteMapper; |
| | | |
| | | /** |
| | | * 获取场地分类 |
| | |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | @Override |
| | | public List<TSiteDTO> listAll(SiteSearchVO vo) { |
| | | return siteMapper.listAll(vo); |
| | | } |
| | | |
| | | @Override |
| | | public List<TSiteDTO> listExipre(ExpireSiteSearchVO vo) { |
| | | |
| | | |
| | | return siteMapper.listExipre(vo); |
| | | } |
| | | } |
| | |
| | | public class StoreServiceImpl extends ServiceImpl<StoreMapper,Store> implements StoreService { |
| | | |
| | | @Autowired |
| | | private StoreMapper storeMapper; |
| | | @Autowired |
| | | private GDMapGeocodingUtil gdMapGeocodingUtil; |
| | | |
| | | |
| | | /** |
| | | * 根据城市管理员id获取门店集合 |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<Store> getStoreByCityManagerId(Integer id) { |
| | | return storeMapper.getStoreByCityManagerId(id); |
| | | } |
| | | /** |
| | | * 根据门店员工id获取门店集合 |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<Store> getStoreByStoreStaffId(Integer id) { |
| | | return storeMapper.getStoreByStoreStaffId(id); |
| | | } |
| | | |
| | | |
| | | /** |
| | |
| | | public List<BaseVo> queryStoreByCityCode(String cityCode) throws Exception { |
| | | return this.baseMapper.queryStoreByCityCode(cityCode); |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | <mapper namespace="com.dsh.other.mapper.SiteLockMapper"> |
| | | |
| | | |
| | | <select id="getListById" resultType="com.dsh.other.model.dto.siteDto.TSiteLockDTO"> |
| | | select * from t_site_lock |
| | | where siteId = #{id} |
| | | and endTime > NOW() |
| | | </select> |
| | | </mapper> |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.dsh.other.mapper.SiteMapper"> |
| | | |
| | | <update id="changeState"> |
| | | update t_site set |
| | | state = #{type} |
| | | <where> |
| | | <if test="siteIds != null and siteIds.size()>0"> |
| | | AND t_site.id IN |
| | | <foreach collection="siteIds" separator="," item="id" open="(" close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | </where> |
| | | </update> |
| | | |
| | | <select id="querySiteList" resultType="com.dsh.other.model.QuerySiteListVo"> |
| | | select |
| | |
| | | </if> |
| | | order by a.insertTime desc limit #{pageNo}, #{pageSize} |
| | | </select> |
| | | <select id="listAll" resultType="com.dsh.other.model.dto.siteDto.TSiteDTO"> |
| | | select t1.*,t2.name storeName,t3.name siteTypeName from t_site t1 |
| | | inner join t_store t2 on t1.storeId = t2.id |
| | | left join t_site_type t3 on t1.siteTypeId = t3.id |
| | | <where> |
| | | <if test="query.objectType == 2"> |
| | | and t1.cityManagerId = #{query.objectId} |
| | | </if> |
| | | <if test="query.objectType == 3"> |
| | | and t2.storeStaffId = #{query.objectId} |
| | | </if> |
| | | <if test="query.city!=null and query.city!= ''"> |
| | | and t1.city = #{query.city} |
| | | </if> |
| | | <if test="query.province!=null and query.province!= ''"> |
| | | and t1.province = #{query.province} |
| | | </if> |
| | | <if test="query.siteTypeId!=null and query.siteTypeId!= ''"> |
| | | and t1.siteTypeId = #{query.siteTypeId} |
| | | </if> |
| | | <if test="query.storeName!=null and query.storeName!= ''"> |
| | | and t2.name like concat('%',#{query.storeName},'%') |
| | | </if> |
| | | <if test="query.name!=null and query.name!= ''"> |
| | | and t1.name like concat('%',#{query.name},'%') |
| | | </if> |
| | | and t1.state != 3 |
| | | </where> |
| | | </select> |
| | | <select id="listExipre" resultType="com.dsh.other.model.dto.siteDto.TSiteDTO"> |
| | | select t1.*,t2.name storeName,t3.name siteTypeName from t_site t1 |
| | | inner join t_store t2 on t1.storeId = t2.id |
| | | left join t_site_type t3 on t1.siteTypeId = t3.id |
| | | <where> |
| | | <if test="query.objectType == 2"> |
| | | and t1.cityManagerId = #{query.objectId} |
| | | </if> |
| | | <if test="query.objectType == 3"> |
| | | and t2.storeStaffId = #{query.objectId} |
| | | </if> |
| | | <if test="query.city!=null and query.city!= ''"> |
| | | and t1.city = #{query.city} |
| | | </if> |
| | | <if test="query.province!=null and query.province!= ''"> |
| | | and t1.province = #{query.province} |
| | | </if> |
| | | <if test="query.siteTypeId!=null and query.siteTypeId!= ''"> |
| | | and t1.siteTypeId = #{query.siteTypeId} |
| | | </if> |
| | | <if test="query.storeName!=null and query.storeName!= ''"> |
| | | and t2.name like concat('%',#{query.storeName},'%') |
| | | </if> |
| | | <if test="query.name!=null and query.name!= ''"> |
| | | and t1.name like concat('%',#{query.name},'%') |
| | | </if> |
| | | and t1.state != 3 |
| | | and t1.insuranceEndTime <= DATE_ADD(CURDATE(), INTERVAL 2 MONTH); |
| | | </where> |
| | | </select> |
| | | </mapper> |
| | |
| | | <select id="queryStoreByCityCode" resultType="com.dsh.other.model.BaseVo"> |
| | | select id, name from t_store where state = 1 and cityCode = #{cityCode} |
| | | </select> |
| | | <select id="getStoreByCityManagerId" resultType="com.dsh.other.entity.Store"> |
| | | select * from t_store where cityManagerId = #{id} |
| | | </select> |
| | | <select id="getStoreByStoreStaffId" resultType="com.dsh.other.entity.Store"> |
| | | select * from t_store where storeStaffId = #{id} |
| | | </select> |
| | | </mapper> |