From 5f804115139dfdeeb2ce950a0f584b30f94b285c Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期六, 23 九月 2023 17:57:27 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/PlayPai
---
cloud-server-course/src/main/java/com/dsh/course/mapper/MoneyBackMapper.java | 8
cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit_three.html | 124
cloud-server-management/src/main/java/com/dsh/course/model/dto/InsertBackDto.java | 9
cloud-server-management/src/main/webapp/static/modular/system/tShopEvaluation/tShop_info.js | 1
cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java | 405 ++
cloud-server-other/src/main/java/com/dsh/other/mapper/TStoreOtherConfigTrueMapper.java | 17
cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/tCoupon_add.html | 56
cloud-server-course/src/main/resources/mapper/CoursePackageStudentMapper.xml | 8
cloud-server-account/src/main/java/com/dsh/account/service/TStudentService.java | 9
cloud-server-course/src/main/java/com/dsh/course/service/CourseCounsumService.java | 9
cloud-server-course/src/main/java/com/dsh/course/mapper/CoursePackageStudentMapper.java | 4
cloud-server-other/src/main/java/com/dsh/other/service/TStoreOtherConfigTrueService.java | 17
.idea/workspace.xml | 175
cloud-server-activity/src/main/java/com/dsh/activity/mapper/CouponMapper.java | 6
cloud-server-course/src/main/java/com/dsh/course/service/impl/CourseCounsumServiceImpl.java | 14
cloud-server-other/src/main/java/com/dsh/other/controller/AskedQuestionsController.java | 1
cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit_one.html | 42
cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackage.js | 16
cloud-server-account/src/main/java/com/dsh/account/mapper/TStudentMapper.java | 10
cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_add.html | 46
cloud-server-activity/src/main/resources/mapper/CouponMapper.xml | 13
cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add.html | 9
cloud-server-account/src/main/resources/mapper/TStudentMapper.xml | 7
cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_imgAll.html | 10
cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOther.js | 38
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/ConsumeQuery.java | 19
cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppGiftServiceImpl.java | 4
cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackageStudent.html | 5
cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOtherTwo.js | 812 +++++
cloud-server-management/src/main/java/com/dsh/course/feignClient/other/HistoryClient.java | 4
cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetail/QuestionIns.java | 6
cloud-server-management/src/main/java/com/dsh/course/feignClient/other/model/Site.java | 22
cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/CouponListOfSearch.java | 3
cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackage.java | 6
cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/TOperatorCityService.java | 17
cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/CoursePackagePaymentConfig.java | 1
cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add_one.html | 2
cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudentEdit.html | 1102 ++++++-
cloud-server-other/src/main/java/com/dsh/other/service/IBannerService.java | 1
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java | 324 ++
cloud-server-management/src/main/java/com/dsh/course/util/ChineseMoneyUtils.java | 104
cloud-server-management/src/main/java/com/dsh/course/model/MoneyBack.java | 22
cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js | 289 +
cloud-server-course/pom.xml | 6
cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOtherOne.js | 5
cloud-server-other/src/main/resources/mapper/BannerMapper.xml | 3
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 85
cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/TCoursePackagePayment.java | 11
cloud-server-management/src/main/webapp/WEB-INF/view/system/tSite/TSite_edit.html | 233 +
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponController.java | 23
cloud-server-account/src/main/java/com/dsh/account/entity/GiftSearchDto.java | 11
cloud-server-course/src/main/java/com/dsh/course/feignclient/account/StudentClient.java | 4
cloud-server-other/src/main/java/com/dsh/other/service/impl/TStoreOtherConfigTrueServiceImpl.java | 21
cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageStudentServiceImpl.java | 5
cloud-server-management/pom.xml | 15
cloud-server-course/src/main/java/com/dsh/course/entity/CourseCounsum.java | 28
cloud-server-other/src/main/java/com/dsh/other/mapper/TStoreOtherMapper.java | 17
cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudentEdit_first.html | 6
cloud-server-management/src/main/java/com/dsh/course/util/HtmlToPdfUtils.java | 53
cloud-server-course/src/main/java/com/dsh/course/entity/dto/ClassListDto.java | 8
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/ToHoliDto.java | 13
cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/banckmoney.html | 347 ++
cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit.html | 58
cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java | 2
cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_edit.html | 11
cloud-server-other/src/main/resources/mapper/TStoreOtherMapper.xml | 6
cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java | 11
cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/StuCourseResp.java | 1
cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/classRecord.html | 16
cloud-server-other/src/main/java/com/dsh/other/entity/GetHistoryDto.java | 1
cloud-server-course/src/main/java/com/dsh/course/controller/CancelSourceController.java | 2
cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java | 6
cloud-server-management/src/main/webapp/static/modular/system/coursePackage/classRecord.js | 35
cloud-server-other/src/main/java/com/dsh/other/service/impl/BannerServiceImpl.java | 2
cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/TCoursePackage.java | 3
cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java | 8
cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/classelct.html | 283 ++
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TStudent.java | 4
cloud-server-other/src/main/java/com/dsh/other/model/QuerySiteInfoVo.java | 5
cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseStuddentClient.java | 56
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TOperatorCity.java | 58
cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudentEditTTT.html | 136
cloud-server-course/src/main/java/com/dsh/course/feignclient/model/StuCourseResp.java | 1
cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml | 9
cloud-server-management/src/main/webapp/static/modular/system/tStudent/htmlToPdf.js | 66
cloud-server-course/src/main/java/com/dsh/course/entity/InsertBackDto.java | 9
cloud-server-course/src/main/java/com/dsh/course/mapper/CourseCounsumMapper.java | 8
cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/registrationRecord.html | 3
cloud-server-other/src/main/java/com/dsh/other/entity/TStoreOtherConfigTrue.java | 84
cloud-server-other/src/main/java/com/dsh/other/controller/BannerController.java | 8
cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/BigDecimalToChineseAmountUtil.java | 80
cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java | 17
cloud-server-course/src/main/java/com/dsh/course/feignclient/CoursePaymentClient.java | 3
cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/tCoupon_edit.html | 56
cloud-server-other/src/main/java/com/dsh/other/service/impl/TStoreOtherServiceImpl.java | 21
cloud-server-management/src/main/webapp/static/modular/system/coursePackage/TCoupon.js | 337 ++
cloud-server-management/src/main/webapp/WEB-INF/view/system/tSite/TSite_add.html | 113
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java | 151
cloud-server-account/src/main/java/com/dsh/account/service/TAppGiftService.java | 2
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/GiftSearchDto.java | 11
cloud-server-other/src/main/java/com/dsh/other/service/TStoreOtherService.java | 17
cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java | 2
cloud-server-course/src/main/java/com/dsh/course/util/ResultUtil.java | 108
cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/TCoupon.html | 80
cloud-server-management/src/main/java/com/dsh/course/mapper/TOperatorCityMapper.java | 17
cloud-server-course/src/main/java/com/dsh/course/service/MoneyBackService.java | 9
cloud-server-course/src/main/java/com/dsh/course/entity/dto/ToHoliDto.java | 13
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCoursePackageController.java | 96
cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java | 2
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java | 55
cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TOperatorCityServiceImpl.java | 21
cloud-server-management/src/main/java/com/dsh/course/dto/ClassListDto.java | 8
cloud-server-course/src/main/java/com/dsh/course/entity/CoursePackagePaymentConfig.java | 1
cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite_info.js | 149
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CourseCounsum.java | 19
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/ToClassDto.java | 10
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java | 40
cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/TCouponEdit.html | 80
cloud-server-course/src/main/java/com/dsh/course/feignclient/account/AppUserClient.java | 2
cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java | 40
cloud-server-other/src/main/java/com/dsh/other/model/dto/siteDto/SelectDto.java | 9
cloud-server-management/src/main/resources/mapper/TOperatorCityMapper.xml | 6
cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java | 30
cloud-server-other/src/main/java/com/dsh/other/model/dto/siteDto/GiftSearchDto.java | 9
cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add_three.html | 134
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java | 220 +
cloud-server-other/src/main/java/com/dsh/other/entity/Site.java | 6
cloud-server-course/src/main/java/com/dsh/course/entity/MoneyBack.java | 28
.idea/modules.xml | 1
cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java | 3
cloud-server-management/src/main/webapp/static/modular/system/coursePackage/registrationRecord.js | 40
cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage.html | 17
cloud-server-account/src/main/java/com/dsh/account/controller/ExploreWPController.java | 3
cloud-server-course/src/main/java/com/dsh/course/service/CoursePackageStudentService.java | 4
cloud-server-course/src/main/java/com/dsh/course/entity/dto/ConsumeQuery.java | 18
cloud-server-management/src/main/java/com/dsh/course/feignClient/account/AppUserClient.java | 4
cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/trans.html | 128
cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/RegisteredCourse.java | 2
cloud-server-other/src/main/resources/mapper/TStoreOtherConfigTrueMapper.xml | 6
cloud-server-management/src/main/webapp/static/modular/system/tShop/tShop_info.js | 63
cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java | 6
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TSite.java | 21
cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackage_info.js | 83
cloud-server-course/src/main/java/com/dsh/course/service/impl/MoneyBackServiceImpl.java | 14
cloud-server-management/src/main/webapp/static/modular/system/coursePackage/TCouponEdit.js | 314 ++
cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/CouponListOfSearch.java | 2
cloud-server-other/src/main/java/com/dsh/other/entity/TStoreOther.java | 51
cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java | 2
cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentClient.java | 4
cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackageStudent.js | 26
cloud-server-course/src/main/java/com/dsh/course/model/dto/ToClassDto.java | 9
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/HoliSelect.java | 5
152 files changed, 7,652 insertions(+), 759 deletions(-)
diff --git a/.idea/modules.xml b/.idea/modules.xml
index 7931019..b047c60 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -4,7 +4,6 @@
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/PlayPai.iml" filepath="$PROJECT_DIR$/.idea/PlayPai.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-parent/mb-cloud-parent.iml" filepath="$PROJECT_DIR$/cloud-server-parent/mb-cloud-parent.iml" />
</modules>
</component>
</project>
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index e8767ab..3dda1b2 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -22,49 +22,16 @@
<select />
</component>
<component name="ChangeListManager">
- <list default="true" id="cb08d02f-fd4f-4fa2-85fe-abd508fa83ac" name="Default Changelist" comment="9.15.1">
- <change afterPath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/.idea/modules.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/modules.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/src/main/java/com/dsh/account/controller/AppUserController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/mapper/TAppUserMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/mapper/TAppUserMapper.java" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/mapper/TStudentMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/mapper/TStudentMapper.java" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/service/TStudentService.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/service/TStudentService.java" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-account/src/main/resources/mapper/TAppUserMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-account/src/main/resources/mapper/TAppUserMapper.xml" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-account/src/main/resources/mapper/TStudentMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-account/src/main/resources/mapper/TStudentMapper.xml" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/feignclient/account/AppUserClient.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/feignclient/account/AppUserClient.java" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/mapper/CoursePackageStudentMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/mapper/CoursePackageStudentMapper.java" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/service/CoursePackageStudentService.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/service/CoursePackageStudentService.java" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageStudentServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageStudentServiceImpl.java" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-course/src/main/resources/mapper/CoursePackageStudentMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-course/src/main/resources/mapper/CoursePackageStudentMapper.xml" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/AppUserClient.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/AppUserClient.java" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/ITStudentService.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/ITStudentService.java" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TStudentServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TStudentServiceImpl.java" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/ResultUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/ResultUtil.java" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudent.html" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudent.html" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudentEdit.html" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudentEdit.html" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/tStudent/tStudent.js" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-management/src/main/webapp/static/modular/system/tStudent/tStudent.js" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/controller/BannerController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/controller/BannerController.java" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/mapper/BannerMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/mapper/BannerMapper.java" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/service/IBannerService.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/service/IBannerService.java" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/service/impl/BannerServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud-server-other/src/main/java/com/dsh/other/service/impl/BannerServiceImpl.java" afterDir="false" />
- </list>
+ <list default="true" id="cb08d02f-fd4f-4fa2-85fe-abd508fa83ac" name="Default Changelist" comment="学员2" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
+ </component>
+ <component name="ChangesViewManager">
+ <option name="groupingKeys">
+ <option value="directory" />
+ </option>
</component>
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
@@ -97,48 +64,52 @@
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
- <component name="PropertiesComponent"><![CDATA[{
- "keyToString": {
- "DefaultHtmlFileTemplate": "HTML File",
- "RequestMappingsPanelOrder0": "0",
- "RequestMappingsPanelOrder1": "1",
- "RequestMappingsPanelWidth0": "75",
- "RequestMappingsPanelWidth1": "75",
- "WebServerToolWindowFactoryState": "false",
- "git-widget-placeholder": "master",
- "ignore.virus.scanning.warn.message": "true",
- "last_opened_file_path": "D:/ttt/java/PlayPai/cloud-server-other/src/main/resources/mapper",
- "node.js.detected.package.eslint": "true",
- "node.js.detected.package.tslint": "true",
- "node.js.selected.package.eslint": "(autodetect)",
- "node.js.selected.package.tslint": "(autodetect)",
- "project.structure.last.edited": "模块",
- "project.structure.proportion": "0.15",
- "project.structure.side.proportion": "0.54367816",
- "spring.configuration.checksum": "7fb6c6ffe49cf7315145a28a96be3d8f",
- "vue.rearranger.settings.migration": "true"
+ <component name="PropertiesComponent">{
+ "keyToString": {
+ "DefaultHtmlFileTemplate": "HTML File",
+ "RequestMappingsPanelOrder0": "0",
+ "RequestMappingsPanelOrder1": "1",
+ "RequestMappingsPanelWidth0": "75",
+ "RequestMappingsPanelWidth1": "75",
+ "WebServerToolWindowFactoryState": "false",
+ "git-widget-placeholder": "master",
+ "ignore.virus.scanning.warn.message": "true",
+ "last_opened_file_path": "D:/JavaTool/PlayPai1/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent",
+ "node.js.detected.package.eslint": "true",
+ "node.js.detected.package.tslint": "true",
+ "node.js.selected.package.eslint": "(autodetect)",
+ "node.js.selected.package.tslint": "(autodetect)",
+ "nodejs_package_manager_path": "npm",
+ "project.structure.last.edited": "模块",
+ "project.structure.proportion": "0.15",
+ "project.structure.side.proportion": "0.54367816",
+ "settings.editor.selected.configurable": "MavenSettings",
+ "spring.configuration.checksum": "b0c8222ba40624e179f539b98c2e8cad",
+ "vue.rearranger.settings.migration": "true"
}
-}]]></component>
+}</component>
<component name="ReactorSettings">
<option name="notificationShown" value="true" />
</component>
<component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS">
- <recent name="D:\ttt\java\PlayPai\cloud-server-other\src\main\resources\mapper" />
- <recent name="D:\ttt\java\PlayPai\cloud-server-management\src\main\webapp\WEB-INF\view\system\tStudent" />
- <recent name="D:\ttt\java\PlayPai\cloud-server-management\src\main\webapp\static" />
- <recent name="D:\ttt\java\PlayPai\cloud-server-parent" />
- <recent name="D:\ttt\java\PlayPai\cloud-server-management\src\main\resources\mapper" />
+ <recent name="D:\JavaTool\PlayPai1\cloud-server-management\src\main\webapp\WEB-INF\view\system\tStudent" />
+ <recent name="D:\JavaTool\PlayPai1\cloud-server-management\src\main\webapp\static\modular\system\coursePackage" />
+ <recent name="D:\JavaTool\PlayPai1\cloud-server-management\src\main\webapp\static\modular\system\tCoupon" />
+ <recent name="D:\JavaTool\PlayPai1\cloud-server-management\src\main\webapp\WEB-INF\view\system\coursePackage" />
+ <recent name="D:\JavaTool\PlayPai1\cloud-server-management\src\main\webapp\WEB-INF\view\system" />
</key>
<key name="MoveFile.RECENT_KEYS">
+ <recent name="D:\JavaTool\PlayPai1\cloud-server-management\src\main\webapp\static\modular\system\tStudent" />
+ <recent name="D:\JavaTool\PlayPai1\cloud-server-parent" />
<recent name="D:\ttt\java\PlayPai\cloud-server-parent" />
</key>
<key name="CopyClassDialog.RECENTS_KEY">
- <recent name="com.dsh.course.entity.dto" />
- <recent name="com.dsh.course.feignClient.other" />
- <recent name="com.dsh.course.dto" />
- <recent name="com.dsh.account.dto" />
<recent name="com.dsh.course.mapper" />
+ <recent name="com.dsh.course.service.impl" />
+ <recent name="com.dsh.course.service" />
+ <recent name="com.dsh.course.entity" />
+ <recent name="com.dsh.course.entity.dto" />
</key>
</component>
<component name="RunDashboard">
@@ -148,7 +119,20 @@
</set>
</option>
</component>
- <component name="RunManager" selected="Spring Boot.AuthApplication">
+ <component name="RunManager" selected="Spring Boot.ManagementApplication">
+ <configuration name="BigDecimalToChineseWords" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
+ <option name="MAIN_CLASS_NAME" value="com.dsh.guns.modular.system.util.BigDecimalToChineseWords" />
+ <module name="mb-cloud-management" />
+ <extension name="coverage">
+ <pattern>
+ <option name="PATTERN" value="com.dsh.guns.modular.system.util.*" />
+ <option name="ENABLED" value="true" />
+ </pattern>
+ </extension>
+ <method v="2">
+ <option name="Make" enabled="true" />
+ </method>
+ </configuration>
<configuration name="AccountApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
<module name="mb-cloud-account" />
<option name="SHORTEN_COMMAND_LINE" value="MANIFEST" />
@@ -234,15 +218,21 @@
</configuration>
<list>
<item itemvalue="Spring Boot.GatewayApplication" />
+ <item itemvalue="Spring Boot.UserApplication" />
<item itemvalue="Spring Boot.AccountApplication" />
<item itemvalue="Spring Boot.ManagementApplication" />
- <item itemvalue="Spring Boot.CourseApplication" />
<item itemvalue="Spring Boot.OtherApplication" />
- <item itemvalue="Spring Boot.UserApplication" />
<item itemvalue="Spring Boot.AuthApplication" />
<item itemvalue="Spring Boot.ActivityApplication" />
+ <item itemvalue="Spring Boot.CourseApplication" />
<item itemvalue="Spring Boot.CompetitionApplication" />
+ <item itemvalue="应用程序.BigDecimalToChineseWords" />
</list>
+ <recent_temporary>
+ <list>
+ <item itemvalue="应用程序.BigDecimalToChineseWords" />
+ </list>
+ </recent_temporary>
</component>
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="应用程序级" UseSingleDictionary="true" transferred="true" />
<component name="SvnConfiguration">
@@ -268,6 +258,21 @@
<workItem from="1694826468892" duration="22165000" />
<workItem from="1694931109193" duration="31686000" />
<workItem from="1695084815207" duration="29663000" />
+ <workItem from="1695138476053" duration="63000" />
+ <workItem from="1695138628399" duration="396000" />
+ <workItem from="1695139199151" duration="117000" />
+ <workItem from="1695139544607" duration="173000" />
+ <workItem from="1695139722530" duration="14000" />
+ <workItem from="1695139741242" duration="4527000" />
+ <workItem from="1695162059666" duration="1120000" />
+ <workItem from="1695163191288" duration="585000" />
+ <workItem from="1695170647169" duration="6776000" />
+ <workItem from="1695178072108" duration="30661000" />
+ <workItem from="1695250896481" duration="445000" />
+ <workItem from="1695255303249" duration="37521000" />
+ <workItem from="1695342171677" duration="37810000" />
+ <workItem from="1695430054273" duration="24454000" />
+ <workItem from="1695461202457" duration="322000" />
</task>
<task id="LOCAL-00001" summary="后台代码删除">
<created>1690249807612</created>
@@ -368,7 +373,23 @@
<option name="project" value="LOCAL" />
<updated>1694749099246</updated>
</task>
- <option name="localTasksCounter" value="15" />
+ <task id="LOCAL-00015" summary="学员">
+ <option name="closed" value="true" />
+ <created>1695461057360</created>
+ <option name="number" value="00015" />
+ <option name="presentableId" value="LOCAL-00015" />
+ <option name="project" value="LOCAL" />
+ <updated>1695461057360</updated>
+ </task>
+ <task id="LOCAL-00016" summary="学员2">
+ <option name="closed" value="true" />
+ <created>1695461216122</created>
+ <option name="number" value="00016" />
+ <option name="presentableId" value="LOCAL-00016" />
+ <option name="project" value="LOCAL" />
+ <updated>1695461216122</updated>
+ </task>
+ <option name="localTasksCounter" value="17" />
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
@@ -389,7 +410,9 @@
<MESSAGE value="后台代码删除" />
<MESSAGE value="后台代码" />
<MESSAGE value="9.15" />
- <option name="LAST_COMMIT_MESSAGE" value="9.15" />
+ <MESSAGE value="学员" />
+ <MESSAGE value="学员2" />
+ <option name="LAST_COMMIT_MESSAGE" value="学员2" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
@@ -407,6 +430,10 @@
</breakpoints>
</breakpoint-manager>
</component>
+ <component name="XSLT-Support.FileAssociations.UIState">
+ <expand />
+ <select />
+ </component>
<component name="masterDetails">
<states>
<state key="ArtifactsStructureConfigurable.UI">
diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java
index 45bcdcc..3ba94f2 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java
@@ -129,7 +129,6 @@
e.printStackTrace();
return ResultUtil.runErr();
}
-
}
@ResponseBody
@@ -159,9 +158,9 @@
@ApiOperation(value = "上课首页分配课时-课程列表", tags = {"APP-开始上课"})
@ApiImplicitParams({
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
- @ApiImplicitParam(value = "分配给课包id", name = "packetId", required = true, dataType = "string"),
+ @ApiImplicitParam(value = "分配给课包id", name = "packetId", required = true, dataType = "Long"),
})
- public ResultUtil<Integer> weeksOfAddHours(Integer packetId){
+ public ResultUtil<Integer> weeksOfAddHours(Long packetId){
try {
Integer appUserId = tokenUtil.getUserIdFormRedis();
if(null == appUserId){
@@ -169,10 +168,12 @@
}
TAppGift one = appGiftService.getOne(new LambdaQueryWrapper<TAppGift>().eq(TAppGift::getUserId, appUserId));
Boolean b= false;
+ Integer i=0;
if(one!=null && one.getNum()>0){
- b =appGiftService.weeksOfAddHours(packetId,appUserId,one.getNum());
+ i=appGiftService.weeksOfAddHours(packetId,appUserId,one.getNum());
+
}
- if(b){
+ if(i==1){
// 送完清0
one.setNum(0);
appGiftService.updateById(one);
diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/ExploreWPController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/ExploreWPController.java
index 07ccdea..805c510 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/controller/ExploreWPController.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/controller/ExploreWPController.java
@@ -73,7 +73,8 @@
@ApiOperation(value = "联系客服-常见问题列表", tags = {"APP-探索玩湃"})
public ResultUtil<List<QuestionIns>> queryFrequentlyAskedQuestionDetails(){
try {
- return ResultUtil.success(tsService.queryQuestionData());
+ List<QuestionIns> questionIns = tsService.queryQuestionData();
+ return ResultUtil.success(questionIns);
}catch (Exception e){
return ResultUtil.runErr();
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java
index 5dc844f..292ef63 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java
@@ -1,11 +1,11 @@
package com.dsh.account.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.dsh.account.dto.CreateHistoryDto;
-import com.dsh.account.dto.GetHistoryDto;
-import com.dsh.account.dto.StudentSearch;
-import com.dsh.account.dto.TStudentDto;
+import com.dsh.account.dto.*;
+import com.dsh.account.entity.GiftSearchDto;
import com.dsh.account.entity.TStudent;
+import com.dsh.account.feignclient.course.CoursePaymentClient;
+import com.dsh.account.feignclient.course.model.TCoursePackagePayment;
import com.dsh.account.model.StudentVo;
import com.dsh.account.service.TStudentService;
import com.dsh.account.util.ResultUtil;
@@ -15,7 +15,9 @@
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import springfox.documentation.swagger2.mappers.ModelMapper;
+import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
@@ -130,6 +132,8 @@
}
+
+
/**
* 根据名称模糊搜索学员
* @param name
@@ -180,4 +184,32 @@
List<GetHistoryDto> getHistoryDtos = studentService.getHistory();
return getHistoryDtos;
}
+
+
+ @Resource
+ private CoursePaymentClient paymentClient;
+ @ResponseBody
+ @PostMapping("/student/giftSelect")
+ public List<SelectDto> giftSelect(@RequestBody GiftSearchDto giftSearchDto){
+ System.out.println("======giftSelect=========giftSearchDto===="+giftSearchDto);
+
+// Integer appId = studentService.getGiftSelect(giftSearchDto);
+ TCoursePackagePayment coursePackagePaymentById = paymentClient.getCoursePackagePaymentById(giftSearchDto.getId());
+// System.out.println("=======giftSelect======appId====>"+appId);
+ List<TStudent> selectDtos = studentService.list(new QueryWrapper<TStudent>()
+ .select("name, id")
+ .eq("state", 1)
+ .eq("name", giftSearchDto.getName()).eq("phone",giftSearchDto.getPhone()).ne("appUserId",coursePackagePaymentById.getAppUserId()));
+
+
+ List<SelectDto> list = new ArrayList<>();
+ for (TStudent student : selectDtos) {
+ SelectDto selectDto = new SelectDto();
+ selectDto.setValue(student.getName());
+ selectDto.setId(student.getId());
+ list.add(selectDto);
+ }
+ System.out.println("=======giftSelect======selectDtos====>"+list);
+ return list;
+ }
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/entity/GiftSearchDto.java b/cloud-server-account/src/main/java/com/dsh/account/entity/GiftSearchDto.java
new file mode 100644
index 0000000..712302d
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/entity/GiftSearchDto.java
@@ -0,0 +1,11 @@
+package com.dsh.account.entity;
+
+import io.swagger.models.auth.In;
+import lombok.Data;
+
+@Data
+public class GiftSearchDto {
+ String name;
+ String phone;
+ Integer id;
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java
index 290de04..d035236 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java
@@ -48,6 +48,10 @@
@PostMapping("/base/coursePack/delPaymentCoursePackage")
public boolean delPaymentCoursePackage(@RequestBody Integer payId);
+
+ @PostMapping("/base/coursePack/getCoursePackagePaymentById")
+ public TCoursePackagePayment getCoursePackagePaymentById(@RequestBody Integer id);
+
@PostMapping("/base/coursePack/updatePaymentCoursePackage")
void updatePaymentCoursePackage(@RequestBody TCoursePackagePayment coursePackagePayment);
@@ -65,7 +69,7 @@
List<TCoursePackagePayment> getCoursePackagePaymentOfCode(@RequestBody String code);
@PostMapping("/base/coursePack/sendHours")
- Boolean sendHours(String s);
+ Integer sendHours(String s);
@PostMapping("/base/coursePack/getClassHour")
Integer getClassHour(Integer courseConfigId);
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/StuCourseResp.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/StuCourseResp.java
index 3a7fe9a..64baa1c 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/StuCourseResp.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/StuCourseResp.java
@@ -6,6 +6,7 @@
@Data
public class StuCourseResp {
+ private Long id;
@ApiModelProperty(value = "课包id")
private Integer courseId;
diff --git a/cloud-server-account/src/main/java/com/dsh/account/mapper/TStudentMapper.java b/cloud-server-account/src/main/java/com/dsh/account/mapper/TStudentMapper.java
index 2830077..f3bc468 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/mapper/TStudentMapper.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/mapper/TStudentMapper.java
@@ -1,10 +1,8 @@
package com.dsh.account.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.dsh.account.dto.CreateHistoryDto;
-import com.dsh.account.dto.GetHistoryDto;
-import com.dsh.account.dto.StudentSearch;
-import com.dsh.account.dto.TStudentDto;
+import com.dsh.account.dto.*;
+import com.dsh.account.entity.GiftSearchDto;
import com.dsh.account.entity.TStudent;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -30,4 +28,8 @@
void createHistory(@Param("createHistoryDto") CreateHistoryDto createHistoryDto);
List<GetHistoryDto> getHistory();
+
+
+
+ Integer getGiftSelect(@Param("giftSearchDto")GiftSearchDto giftSearchDto);
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/RegisteredCourse.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/RegisteredCourse.java
index 7f05d00..9c672fc 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/RegisteredCourse.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/classDetails/RegisteredCourse.java
@@ -6,6 +6,8 @@
@Data
public class RegisteredCourse {
+ private Long id;
+
@ApiModelProperty(value = "课程ID")
private Integer courseId;
diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetail/QuestionIns.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetail/QuestionIns.java
index 46721d3..4a04537 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetail/QuestionIns.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/exploreDetail/QuestionIns.java
@@ -8,12 +8,12 @@
public class QuestionIns {
@ApiModelProperty(value = "问题id")
- private Integer noticeId;
+ private Integer quesId;
@ApiModelProperty(value = "问题标题")
- private String noticeTitle;
+ private String quesTitle;
@ApiModelProperty(value = "答复内容")
- private String noticeContents;
+ private String quesContents;
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/TAppGiftService.java b/cloud-server-account/src/main/java/com/dsh/account/service/TAppGiftService.java
index c283d2a..919ab30 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/TAppGiftService.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/TAppGiftService.java
@@ -13,7 +13,7 @@
*/
public interface TAppGiftService extends IService<TAppGift> {
- Boolean weeksOfAddHours(Integer packetId,Integer appUserId,Integer num);
+ Integer weeksOfAddHours(Long packetId,Integer appUserId,Integer num);
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/TStudentService.java b/cloud-server-account/src/main/java/com/dsh/account/service/TStudentService.java
index c3beb00..668232d 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/TStudentService.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/TStudentService.java
@@ -1,10 +1,8 @@
package com.dsh.account.service;
import com.baomidou.mybatisplus.extension.service.IService;
-import com.dsh.account.dto.CreateHistoryDto;
-import com.dsh.account.dto.GetHistoryDto;
-import com.dsh.account.dto.StudentSearch;
-import com.dsh.account.dto.TStudentDto;
+import com.dsh.account.dto.*;
+import com.dsh.account.entity.GiftSearchDto;
import com.dsh.account.entity.TStudent;
import com.dsh.account.feignclient.competition.model.PurchaseRecordVo;
import com.dsh.account.feignclient.course.model.RecordAppoint;
@@ -112,4 +110,7 @@
void createHistory(CreateHistoryDto createHistoryDto);
List<GetHistoryDto> getHistory();
+
+
+ Integer getGiftSelect(GiftSearchDto giftSearchDto);
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppGiftServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppGiftServiceImpl.java
index 60fe644..e3d4252 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppGiftServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppGiftServiceImpl.java
@@ -24,8 +24,8 @@
private CoursePaymentClient coursePaymentClient;
@Override
- public Boolean weeksOfAddHours(Integer packetId,Integer appUserId,Integer num) {
- Boolean b = coursePaymentClient.sendHours(packetId+"_"+appUserId+"_"+num);
+ public Integer weeksOfAddHours(Long packetId,Integer appUserId,Integer num) {
+ Integer b = coursePaymentClient.sendHours(packetId+"_"+appUserId+"_"+num);
return b;
}
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
index 656063c..20c6292 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
@@ -197,6 +197,7 @@
coursePackIds = stuCoursePayment.stream().map(StuCourseResp::getCourseId).collect(Collectors.toList());
for (StuCourseResp tCoursePackagePayment : stuCoursePayment) {
RegisteredCourse course = new RegisteredCourse();
+ course.setId(tCoursePackagePayment.getId());
course.setCourseId(tCoursePackagePayment.getCourseId());
course.setCourseName(tCoursePackagePayment.getCourseName());
course.setTotalNums(ToolUtil.isEmpty(tCoursePackagePayment.getTotalCourseNums()) ? 0 : tCoursePackagePayment.getTotalCourseNums());
@@ -205,6 +206,7 @@
course.setPeriodOfValidity(tCoursePackagePayment.getPeriodOfValidity());
courseList.add(course);
}
+
}
classInfoVo.setCourseList(courseList);
List<ExerciseVideo> stuCourseOfVideoList = voclClient.getStuCourseOfVideoList(coursePackIds);
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java
index a4d184e..2a17749 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java
@@ -3,14 +3,8 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.dsh.account.dto.CreateHistoryDto;
-import com.dsh.account.dto.GetHistoryDto;
-import com.dsh.account.dto.StudentSearch;
-import com.dsh.account.dto.TStudentDto;
-import com.dsh.account.entity.Coach;
-import com.dsh.account.entity.TAppUser;
-import com.dsh.account.entity.TCourseInfoRecord;
-import com.dsh.account.entity.TStudent;
+import com.dsh.account.dto.*;
+import com.dsh.account.entity.*;
import com.dsh.account.feignclient.activity.IntroduceRewardsClient;
import com.dsh.account.feignclient.activity.UserConponClient;
import com.dsh.account.feignclient.activity.model.IntrduceOfUserRequest;
@@ -834,5 +828,12 @@
return this.baseMapper.getHistory();
}
+ @Override
+ public Integer getGiftSelect(GiftSearchDto giftSearchDto) {
+ return this.baseMapper.getGiftSelect(giftSearchDto);
+ }
+
+
+
}
diff --git a/cloud-server-account/src/main/resources/mapper/TStudentMapper.xml b/cloud-server-account/src/main/resources/mapper/TStudentMapper.xml
index 2450b6c..c37cace 100644
--- a/cloud-server-account/src/main/resources/mapper/TStudentMapper.xml
+++ b/cloud-server-account/src/main/resources/mapper/TStudentMapper.xml
@@ -70,4 +70,11 @@
</select>
+
+
+ <select id="getGiftSelect" resultType="java.lang.Integer">
+ SELECT appUserId FROM t_student
+ WHERE name = #{giftSearchDto.name}
+ AND phone = #{giftSearchDto.phone}
+ </select>
</mapper>
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/CouponListOfSearch.java b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/CouponListOfSearch.java
index eceb9b3..b557c6b 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/CouponListOfSearch.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/CouponListOfSearch.java
@@ -22,5 +22,8 @@
private Integer state;
private Page<Map<String, Object>> page;
+ private String cityCode;
+ private Integer storeId;
+
}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/mapper/CouponMapper.java b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/CouponMapper.java
index b622619..091436a 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/mapper/CouponMapper.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/mapper/CouponMapper.java
@@ -28,7 +28,11 @@
@Param("userPopulation")Integer userPopulation,
@Param("status")Integer status,
@Param("state")Integer state,
- @Param("page")Page<Map<String, Object>> page);
+ @Param("page")Page<Map<String, Object>> page,
+ @Param("cityCode") String cityCode,
+ @Param("storeId")Integer storeId
+
+ );
List<Map<String, Object>> queryCouponExamineList(@Param("name")String name,
@Param("type")Integer type,
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java
index 1483b1c..0377fd4 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java
@@ -105,7 +105,7 @@
@Override
public List<Map<String, Object>> queryCouponListOfSearch(CouponListOfSearch ofSearch) {
- return this.baseMapper.queryCouponListOfSearch(ofSearch.getName(),ofSearch.getType(),ofSearch.getDistributionMethod(),ofSearch.getUserPopulation(),ofSearch.getStatus(),ofSearch.getState(),ofSearch.getPage());
+ return this.baseMapper.queryCouponListOfSearch(ofSearch.getName(),ofSearch.getType(),ofSearch.getDistributionMethod(),ofSearch.getUserPopulation(),ofSearch.getStatus(),ofSearch.getState(),ofSearch.getPage(),ofSearch.getCityCode(),ofSearch.getStoreId());
}
@Override
diff --git a/cloud-server-activity/src/main/resources/mapper/CouponMapper.xml b/cloud-server-activity/src/main/resources/mapper/CouponMapper.xml
index a09094e..91343f2 100644
--- a/cloud-server-activity/src/main/resources/mapper/CouponMapper.xml
+++ b/cloud-server-activity/src/main/resources/mapper/CouponMapper.xml
@@ -31,6 +31,19 @@
illustrate
from t_coupon
where 1 = 1
+ <if test="cityCode != null">
+ and id in(
+ SELECT DISTINCT couponId FROM
+
+ (SELECT DISTINCT couponId
+ from t_coupon_store
+ WHERE storeId = #{storeId}
+ UNION ALL
+ SELECT DISTINCT couponId
+
+ from t_coupon_city
+ WHERE provinceCode = #{cityCode}) o)
+ </if>
<if test="name != null">
and `name` like concat('%', #{name}, '%')
</if>
diff --git a/cloud-server-course/pom.xml b/cloud-server-course/pom.xml
index 1626e9e..8a34b7b 100644
--- a/cloud-server-course/pom.xml
+++ b/cloud-server-course/pom.xml
@@ -113,6 +113,12 @@
<artifactId>alipay-sdk-java</artifactId>
<version>4.8.10.ALL</version>
</dependency>
+ <dependency>
+ <groupId>com.huaweicloud</groupId>
+ <artifactId>esdk-obs-java-bundle</artifactId>
+ <version>3.23.5</version>
+ <scope>compile</scope>
+ </dependency>
</dependencies>
<build>
diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CancelSourceController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CancelSourceController.java
index ae65256..bef6424 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/controller/CancelSourceController.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CancelSourceController.java
@@ -7,6 +7,7 @@
import com.dsh.course.feignclient.model.GetStuSessionList;
import com.dsh.course.feignclient.model.PurchaseRecordVo;
import com.dsh.course.service.CancelledClassesService;
+import com.dsh.course.service.CourseCounsumService;
import com.dsh.course.service.TCoursePackagePaymentService;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
@@ -22,7 +23,6 @@
@RestController
@RequestMapping("")
public class CancelSourceController {
-
@Autowired
private CancelledClassesService caceService;
diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
index 95220d3..7c6bc1d 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -5,6 +5,7 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsh.course.entity.*;
import com.dsh.course.feignclient.account.AppUserClient;
@@ -17,6 +18,7 @@
import com.dsh.course.feignclient.model.*;
import com.dsh.course.feignclient.other.StoreClient;
import com.dsh.course.feignclient.other.model.Store;
+import com.dsh.course.mapper.CoursePackageSchedulingMapper;
import com.dsh.course.model.*;
import com.dsh.course.model.dto.DiscountJsonDto;
import com.dsh.course.model.vo.CourseDetailRequest;
@@ -33,6 +35,7 @@
import io.swagger.annotations.ApiOperation;
import net.bytebuddy.asm.Advice;
import org.aspectj.weaver.ast.Var;
+import io.swagger.models.auth.In;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
@@ -115,6 +118,11 @@
private StoreClient storeClient;
@Autowired
private TCoursePackageDiscountService discountService;
+
+ @Resource
+ private CoursePackageSchedulingMapper coursePackageSchedulingMapper;
+
+
private final SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:mm");
/**
@@ -231,6 +239,7 @@
TCoursePackage tCoursePackage = tcpService.getById(tCoursePackagePayment.getCoursePackageId());
StuCourseResp resp = new StuCourseResp();
resp.setCourseId(tCoursePackage.getId());
+ resp.setId(tCoursePackagePayment.getId());
resp.setCourseName(tCoursePackage.getName());
resp.setTotalCourseNums(tCoursePackagePayment.getTotalClassHours());
resp.setResidueNums(tCoursePackagePayment.getLaveClassHours());
@@ -263,12 +272,12 @@
.groupBy("coursePackageId"));
if (list.size() > 0){
for (TCoursePackagePayment tCoursePackagePayment : list) {
- CoursePackageStudent packageStudent = cspsService.getOne(new LambdaQueryWrapper<CoursePackageStudent>()
+ List<CoursePackageStudent> packageStudent = cspsService.list(new LambdaQueryWrapper<CoursePackageStudent>()
.eq(CoursePackageStudent::getAppUserId, courseRest.getAppUserId())
.eq(CoursePackageStudent::getStudentId,courseRest.getStuId())
.eq(CoursePackageStudent::getCoursePackagePaymentId,tCoursePackagePayment.getId())
.eq(CoursePackageStudent::getCoursePackageId,tCoursePackagePayment.getCoursePackageId()));
- if (ToolUtil.isEmpty(packageStudent) || (ToolUtil.isNotEmpty(packageStudent) && packageStudent.getReservationStatus() != 1)){
+ if (ToolUtil.isEmpty(packageStudent) || (ToolUtil.isNotEmpty(packageStudent) && packageStudent.get(0).getReservationStatus() == 1)){
// 没有预约过的/已经取消了的
TCoursePackage tCoursePackage = tcpService.getById(tCoursePackagePayment.getCoursePackageId());
CoursePackagePaymentConfig paymentConfig = icppcService.getOne(new QueryWrapper<CoursePackagePaymentConfig>()
@@ -755,6 +764,10 @@
if(null == userIdFormRedis){
return ResultUtil.tokenErr();
}
+ Integer couponId = request.getConponId();
+ if(couponId==null || couponId==0){
+ request.setConponId(null);
+ }
return packagePaymentService.ContinuationOrpaymentCourse(userIdFormRedis,request);
}catch (Exception e){
return ResultUtil.runErr();
@@ -1027,6 +1040,11 @@
.eq("code",code));
}
+
+ @PostMapping("/base/coursePack/getCoursePackagePaymentById")
+ public TCoursePackagePayment getCoursePackagePaymentById(@RequestBody Integer id){
+ return packagePaymentService.getById(id);
+ }
@PostMapping("/base/coursePack/delPaymentCoursePackage")
public boolean delPaymentCoursePackage(@RequestBody Integer payId){
return packagePaymentService.removeById(payId);
@@ -1084,11 +1102,17 @@
// 2.0 送课时
@PostMapping("/base/coursePack/sendHours")
- public Boolean sendHours(@RequestBody String s){
+ public Integer sendHours(@RequestBody String s){
String[] split = s.split("_");
- TCoursePackagePayment byId = packagePaymentService.getById(Integer.valueOf(split[0]));
+ TCoursePackagePayment byId = packagePaymentService.getById(Long.valueOf(split[0]));
byId.setTotalClassHours(byId.getTotalClassHours()+Integer.valueOf(split[2]));
- return packagePaymentService.updateById(byId);
+ boolean b = packagePaymentService.updateHoursById(byId,Integer.valueOf(split[2]));
+ if(b){
+ return 1;
+ }else {
+
+ return 0;
+ }
}
@@ -1143,6 +1167,16 @@
}
+ @ResponseBody
+ @PostMapping("/coursePackagePayment/CountqueryByClassId")
+ public Integer CountqueryByClassId(@RequestBody Integer id){
+ int coursePackageId = packagePaymentService.count(new QueryWrapper<TCoursePackagePayment>().eq("coursePackageId", id));
+
+
+ return coursePackageId;
+ }
+
+
/**
* 修改数据
* @param coursePackagePayment
@@ -1173,28 +1207,27 @@
if(null == appUserId){
return ResultUtil.tokenErr();
}
- TCoursePackagePayment packagePayment = packagePaymentService.getOne(new LambdaQueryWrapper<TCoursePackagePayment>()
+ List<TCoursePackagePayment> packagePayment = packagePaymentService.list(new LambdaQueryWrapper<TCoursePackagePayment>()
.eq(TCoursePackagePayment::getCoursePackageId,courseID )
.eq(TCoursePackagePayment::getAppUserId,appUserId)
.eq(TCoursePackagePayment::getStudentId,stuId)
);
- if (ToolUtil.isEmpty(packagePayment)){
+ if (ToolUtil.isEmpty(packagePayment) || packagePayment.size()==0){
return ResultUtil.error("该用户未购买该课包");
}
List<CoursePackageStudent> coursePackageStudent = cspsService.list(new LambdaQueryWrapper<CoursePackageStudent>()
- .eq(CoursePackageStudent::getCoursePackageId,packagePayment.getCoursePackageId())
- .eq(CoursePackageStudent::getCoursePackagePaymentId,courseID)
+ .in(CoursePackageStudent::getCoursePackagePaymentId,packagePayment.stream().map(TCoursePackagePayment::getId).collect(Collectors.toList()))
+ .eq(CoursePackageStudent::getCoursePackageId,courseID)
.eq(CoursePackageStudent::getStudentId,stuId)
.eq(CoursePackageStudent::getAppUserId,appUserId)
);
if (ToolUtil.isNotEmpty(coursePackageStudent)){
for (CoursePackageStudent packageStudent : coursePackageStudent) {
- if(packageStudent.getReservationStatus()==0){
+ if(packageStudent.getReservationStatus()==1){
packageStudent.setSignInOrNot(2);
- packageStudent.setInsertTime(simpleDateFormat.parse(time));
- cspsService.updateById(packageStudent);
+ cspsService.updateSignInOrNotById(packageStudent.getId());
}
}
@@ -1227,6 +1260,8 @@
map.put("lon",lon);
map.put("lat",lat);
+ String time1 = courseDetailReq.getTime();
+
// 找出门店的所有课程 排出体验
List<TCoursePackage> list = tcpService.list(new LambdaQueryWrapper<TCoursePackage>().eq(TCoursePackage::getStoreId, courseDetailReq.getStoreId()).ne(TCoursePackage::getType, 3).like(TCoursePackage::getClassWeeks,week));
List<Integer> collect = list.stream().map(TCoursePackage::getId).collect(Collectors.toList());
@@ -1236,6 +1271,7 @@
// 找出购买的课包
List<TCoursePackagePayment> list1 = packagePaymentService.list(new LambdaQueryWrapper<TCoursePackagePayment>().eq(TCoursePackagePayment::getAppUserId, courseDetailReq.getAppUserId()).eq(TCoursePackagePayment::getStudentId, courseDetailReq.getStuId()).in(TCoursePackagePayment::getCoursePackageId, collect));
List<Integer> collect1 = list1.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList());
+ List<Long> ids = list1.stream().map(TCoursePackagePayment::getId).collect(Collectors.toList());
for (TCoursePackage tCoursePackage : list) {
DetailsListVo detailsListVo = new DetailsListVo();
detailsListVo.setId(tCoursePackage.getId());
@@ -1257,7 +1293,30 @@
}
detailsListVo.setNum(tCoursePackage.getNeedNum());
if (collect1.contains(tCoursePackage.getId())) {
- detailsListVo.setType(1);
+ // 找出排课记录
+ List<CoursePackageScheduling> list3 = coursePackageSchedulingMapper.selectList(new LambdaQueryWrapper<CoursePackageScheduling>()
+ .eq(CoursePackageScheduling::getCoursePackageId, tCoursePackage.getId())
+ .like(CoursePackageScheduling::getClassDate, courseDetailReq.getTime())
+ );
+ List<Long> collect2 = list3.stream().map(CoursePackageScheduling::getId).collect(Collectors.toList());
+ if(collect2.size()==0){
+ collect2.add(-1l);
+ }
+ List<CoursePackageStudent> list4 = cspsService.list(new LambdaQueryWrapper<CoursePackageStudent>()
+ .eq(CoursePackageStudent::getAppUserId, courseDetailReq.getAppUserId())
+ .eq(CoursePackageStudent::getCoursePackageId, tCoursePackage.getId())
+ .in(CoursePackageStudent::getCoursePackageSchedulingId, collect2).
+ in(CoursePackageStudent::getCoursePackagePaymentId, ids)
+ );
+
+ detailsListVo.setType(1);
+ if(list4.size()>0){
+ Integer signInOrNot = list4.get(0).getSignInOrNot();
+ if(signInOrNot==2){
+ detailsListVo.setType(3);
+ }
+ }
+
} else {
detailsListVo.setType(2);
}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java
index e60bb31..631575c 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java
@@ -4,23 +4,30 @@
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.dsh.course.entity.StudentClassInfo;
-import com.dsh.course.entity.TCoursePackagePayment;
-import com.dsh.course.entity.dto.ClassListDto;
-import com.dsh.course.entity.dto.SelectDto;
-import com.dsh.course.entity.dto.updateTimeDto;
+import com.dsh.course.entity.*;
+import com.dsh.course.entity.dto.*;
import com.dsh.course.feignclient.account.AppUserClient;
-import com.dsh.course.service.CoursePackageStudentService;
-import com.dsh.course.service.TCoursePackagePaymentService;
+import com.dsh.course.feignclient.account.StudentClient;
+import com.dsh.course.feignclient.account.model.Student;
+import com.dsh.course.model.dto.ToClassDto;
+import com.dsh.course.service.*;
import com.dsh.course.util.ResultUtil;
+import com.dsh.course.util.UUIDUtil;
import io.swagger.annotations.Api;
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.ArrayUtils;
+import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.swing.text.html.parser.Entity;
+import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Date;
import java.util.List;
+import java.util.stream.Collectors;
@Api
@CrossOrigin
@@ -43,12 +50,13 @@
// Date maxDate = studentService.getMaxDate(tStudentId);
Date minDate = studentService.getMinDate(tStudentId);
- System.out.println("===========>"+studentClassInfo);
Integer totalHours = studentClassInfo.getTotalHours();
Integer hasHours = studentClassInfo.getRestHours();
Integer restHours = totalHours-hasHours;
studentClassInfo.setHasHours(restHours);
studentClassInfo.setInDate(minDate);
+ System.out.println("===========>"+studentClassInfo);
+
return studentClassInfo;
}
//获取学员课程列表
@@ -57,6 +65,9 @@
public List<ClassListDto> listClass(@RequestParam("tStudentId")Integer tStudentId) {
System.out.println("==========getClassList===tStudentId===="+tStudentId);
List<ClassListDto> listDtos = studentService.getClassList(tStudentId);
+ for (ClassListDto dto : listDtos){
+ dto.setHasClassHours(dto.getTotalClassHours()-dto.getLaveClassHours());
+ }
System.out.println("======listDtos======"+listDtos);
return listDtos;
@@ -105,4 +116,382 @@
}
+
+ //根据payid获取对应门店的常规课程
+
+ @Autowired
+ private TCoursePackageService packageService;
+ @RequestMapping("/holiSelect")
+ @ResponseBody
+ public List<SelectDto> getHoliSelect(@RequestParam("courseId")Integer id){
+
+ TCoursePackage byId = packageService.getById(id);
+ Integer storeId = byId.getStoreId();
+ List<TCoursePackage> list = packageService.list(new QueryWrapper<TCoursePackage>()
+ .select("id", "name")
+ .eq("storeId", storeId)
+ .eq("type","2")
+ );
+ List<SelectDto> selectDtos = new ArrayList<>();
+ for (TCoursePackage t :list){
+ SelectDto selectDto = new SelectDto();
+ selectDto.setId(t.getId());
+ selectDto.setValue(t.getName());
+ selectDtos.add(selectDto);
+ }
+
+
+
+
+ return selectDtos;
+ }
+
+ @RequestMapping("/transSelect")
+ @ResponseBody
+ public List<SelectDto> getTransSelect(@RequestParam("courseId")Integer id){
+
+ TCoursePackage byId = packageService.getById(id);
+ Integer storeId = byId.getStoreId();
+ List<TCoursePackage> list = packageService.list(new QueryWrapper<TCoursePackage>()
+ .select("id", "name")
+ .eq("storeId", storeId)
+ .eq("type","1")
+ );
+ List<SelectDto> selectDtos = new ArrayList<>();
+ for (TCoursePackage t :list){
+ SelectDto selectDto = new SelectDto();
+ selectDto.setId(t.getId());
+ selectDto.setValue(t.getName());
+ selectDtos.add(selectDto);
+ }
+
+
+
+
+ return selectDtos;
+ }
+
+ @Autowired
+ private CourseCounsumService counsumService;
+ @RequestMapping("/queryCounsum")
+ @ResponseBody
+ public List<CourseCounsum> queryCounsum(@RequestBody ConsumeQuery consumeQuery){
+ System.out.println("======queryCounsum==========="+consumeQuery);
+
+ QueryWrapper<CourseCounsum> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("paymentId",consumeQuery.getPayId());
+
+
+ if (consumeQuery.getChangeType()!=null){
+ queryWrapper.eq("changeType", consumeQuery.getChangeType());
+ }
+ if (consumeQuery.getStart()!=null){
+ queryWrapper.between("insertTime", consumeQuery.getStart(), consumeQuery.getEnd());
+ }
+ if (consumeQuery.getReason()!=null&&consumeQuery.getReason()!=""){
+ queryWrapper.like("reason", consumeQuery.getReason());
+
+ }
+
+ List<CourseCounsum> list = counsumService.list(queryWrapper);
+
+
+
+
+// List<CourseCounsum> list = counsumService.list(new QueryWrapper<CourseCounsum>().eq("paymentId", consumeQuery.getPayId()).eq("changeType", consumeQuery.getChangeType()).between("insertTime", consumeQuery.getStart(), consumeQuery.getEnd()).like("reason", consumeQuery.getReason()));
+ return list;
+ }
+
+
+ @RequestMapping("/insertBack")
+ @ResponseBody
+ public void insertBack(@RequestBody InsertBackDto insertBackDto){
+
+ MoneyBack moneyBack = new MoneyBack();
+ moneyBack.setStudentId(insertBackDto.getId());
+ moneyBack.setStatus(0);
+ moneyBack.setInsertTime(new Date());
+ moneyBack.setIds(insertBackDto.getIds());
+ moneyBackService.save(moneyBack);
+
+ }
+
+
+ @RequestMapping("/queryByIds")
+ @ResponseBody
+ public List<TCoursePackagePayment> queryByIds(@RequestParam("ids")String ids){
+ List<TCoursePackagePayment> paymentList = paymentService.list(new QueryWrapper<TCoursePackagePayment>()
+ .in("id", Arrays.asList(ids.split(","))));
+
+ System.out.println("========client==>"+paymentList);
+ return paymentList;
+ }
+
+ @RequestMapping("/changeStatus")
+ @ResponseBody
+ public void changeStatus(@RequestParam("id")Integer id){
+ MoneyBack byId = moneyBackService.getById(id);
+ byId.setStatus(1);
+ moneyBackService.updateById(byId);
+
+ }
+
+ @RequestMapping("/zeroClass")
+ @ResponseBody
+ public void zeroClass(@RequestParam("id")Integer id){
+ MoneyBack byId = moneyBackService.getById(id);
+ String[] split = byId.getIds().split(",");
+ System.out.println("========split===>"+split);
+ List<TCoursePackagePayment> id1 = paymentService.list(new QueryWrapper<TCoursePackagePayment>().in("id", split));
+ for (TCoursePackagePayment o :id1){
+ o.setTotalClassHours(0);
+ o.setLaveClassHours(0);
+ o.setAppUserId(null);
+ }
+ paymentService.updateBatchById(id1);
+ }
+
+ @RequestMapping("/cancel")
+ @ResponseBody
+ public void cancel(@RequestParam("ids")String ids){
+ String[] split = ids.split(",");
+ List<CoursePackageStudent> coursePackagePaymentId = studentService.list(new QueryWrapper<CoursePackageStudent>().in("coursePackagePaymentId", split));
+ for (CoursePackageStudent student :coursePackagePaymentId){
+ student.setReservationStatus(2);
+ student.setAppUserId(null);
+ }
+ studentService.updateBatchById(coursePackagePaymentId);
+
+
+ }
+
+ @Autowired
+ private MoneyBackService moneyBackService;
+ @RequestMapping("/getMoneyBack")
+ @ResponseBody
+ public List<MoneyBack> getMoneyBack(@RequestParam("tStudentId")Integer tStudentId){
+
+ List<MoneyBack> moneyBacksck = moneyBackService.list(new QueryWrapper<MoneyBack>().eq("studentId", tStudentId));
+ return moneyBacksck;
+ }
+
+ //课程转移
+ @RequestMapping("/toClass")
+ @ResponseBody
+ public void toClass(@RequestBody ToClassDto toClassDto){
+ System.out.println("===========到达getSelect======="+toClassDto);
+ TCoursePackagePayment orinPay = paymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("id", toClassDto.getId()));
+ TCoursePackagePayment studentPay = paymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("studentId", toClassDto.getToStudentId()).eq("coursePackageId",orinPay.getCoursePackageId()));
+ if (studentPay!=null) {
+ System.out.println("======orinPay=====>" + orinPay);
+ System.out.println("======studentPay=====>" + studentPay);
+ Integer laveClassHours = orinPay.getLaveClassHours();
+ Integer totalClassHours = orinPay.getTotalClassHours();
+
+ orinPay.setTotalClassHours(0);
+ orinPay.setLaveClassHours(0);
+ orinPay.setAppUserId(null);
+ paymentService.updateById(orinPay);
+
+ CourseCounsum courseCounsum = new CourseCounsum();
+ courseCounsum.setInsertTime(new Date());
+ courseCounsum.setReason("转课");
+ courseCounsum.setNum(laveClassHours);
+ courseCounsum.setChangeType(0);
+ courseCounsum.setPaymentId(orinPay.getId());
+ counsumService.save(courseCounsum);
+
+ Integer laveClassHours1 = studentPay.getLaveClassHours();
+ Integer totalClassHours1 = studentPay.getTotalClassHours();
+ int total = totalClassHours + totalClassHours1;
+ int lave = laveClassHours + laveClassHours1;
+
+ studentPay.setAppUserId(null);
+ studentPay.setLaveClassHours(lave);
+ studentPay.setTotalClassHours(total);
+ paymentService.updateById(studentPay);
+
+ CourseCounsum courseCounsum1 = new CourseCounsum();
+ courseCounsum1.setInsertTime(new Date());
+ courseCounsum1.setReason("转课");
+ courseCounsum1.setNum(laveClassHours);
+ courseCounsum1.setChangeType(1);
+ courseCounsum1.setPaymentId(studentPay.getId());
+ counsumService.save(courseCounsum1);
+
+ }else {
+
+
+
+ orinPay.setTotalClassHours(0);
+ orinPay.setLaveClassHours(0);
+ orinPay.setAppUserId(null);
+ paymentService.updateById(orinPay);
+
+
+ CourseCounsum courseCounsum = new CourseCounsum();
+ courseCounsum.setInsertTime(new Date());
+ courseCounsum.setReason("赠课");
+ courseCounsum.setNum(orinPay.getLaveClassHours());
+ courseCounsum.setChangeType(0);
+ courseCounsum.setPaymentId(orinPay.getId());
+ counsumService.save(courseCounsum);
+
+
+
+ Student student = studentClient.queryStudentById(toClassDto.getToStudentId());
+ TCoursePackagePayment to = new TCoursePackagePayment();
+ to.setStudentId(toClassDto.getToStudentId());
+ to.setTotalClassHours(orinPay.getTotalClassHours());
+ to.setLaveClassHours(orinPay.getLaveClassHours());
+ to.setCoursePackageId(orinPay.getCoursePackageId());
+ to.setState(1);
+ to.setAppUserId(student.getAppUserId());
+ to.setPayStatus(2);
+ to.setStatus(1);
+ to.setInsertTime(new Date());
+ paymentService.save(to);
+
+
+ CourseCounsum courseCounsum1 = new CourseCounsum();
+ courseCounsum1.setInsertTime(new Date());
+ courseCounsum1.setReason("赠课");
+ courseCounsum1.setNum(orinPay.getLaveClassHours());
+ courseCounsum1.setChangeType(1);
+ courseCounsum1.setPaymentId(to.getId());
+ counsumService.save(courseCounsum);
+
+ }
+
+
+ }
+
+ @Resource
+ private StudentClient studentClient;
+ @RequestMapping(value = "/toHoli",produces = MediaType.APPLICATION_JSON_UTF8_VALUE, consumes = "application/json;charset=UTF-8")
+ @ResponseBody
+ public String toHoli(@RequestBody ToHoliDto toHoliDto){
+
+ String [] ids = toHoliDto.getIds();
+ List<String> strings = new ArrayList<>();
+
+
+ for (String id : ids){
+ //扣除课时
+ TCoursePackagePayment payment = paymentService.getById(id);
+ System.out.println("=====byId========="+payment);
+
+
+ Integer laveClassHours = payment.getLaveClassHours();
+
+ Integer classNum = toHoliDto.getClassNum();
+ Integer totalClassHours = payment.getTotalClassHours();
+ Student student = studentClient.queryStudentById(payment.getStudentId());
+
+ if (laveClassHours < classNum){
+ strings.add(student.getName()); continue;
+ }
+
+ Integer laveClassHoursnew = laveClassHours - classNum;
+ Integer totalClassHoursnew = totalClassHours - classNum;
+ payment.setLaveClassHours(laveClassHoursnew);
+ payment.setTotalClassHours(totalClassHoursnew);
+ payment.setAppUserId(null);
+
+ paymentService.updateById(payment);
+
+ //获取student信息
+
+ //新增课时
+
+ TCoursePackagePayment holi = new TCoursePackagePayment();
+ holi.setAppUserId(student.getAppUserId());
+ holi.setStudentId(student.getId());
+ holi.setCoursePackageId(toHoliDto.getClassId());
+ holi.setTotalClassHours(toHoliDto.getClassNum());
+ holi.setLaveClassHours(toHoliDto.getClassNum());
+ holi.setState(1);
+ holi.setInsertTime(new Date());
+ paymentService.save(holi);
+
+ System.out.println("保存成功=============》="+holi);
+
+
+
+ }
+ String[] stringArray = strings.toArray(new String[strings.size()]);
+
+ String join = StringUtils.join(stringArray, ",");
+ System.out.println("==========join========"+join);
+ return join;
+
+
+
+
+ }
+
+ @RequestMapping(value = "/toTrans",produces = MediaType.APPLICATION_JSON_UTF8_VALUE, consumes = "application/json;charset=UTF-8")
+ @ResponseBody
+ public String toTrans(@RequestBody ToHoliDto toHoliDto){
+
+ String [] ids = toHoliDto.getIds();
+ List<String> strings = new ArrayList<>();
+
+
+ for (String id : ids){
+ //扣除课时
+ TCoursePackagePayment payment = paymentService.getById(id);
+ System.out.println("=====byId========="+payment);
+
+
+ Integer laveClassHours = payment.getLaveClassHours();
+
+ Integer classNum = toHoliDto.getClassNum();
+ Integer totalClassHours = payment.getTotalClassHours();
+ Student student = studentClient.queryStudentById(payment.getStudentId());
+
+// if (laveClassHours < classNum){
+// strings.add(student.getName()); continue;
+// }
+//
+// Integer laveClassHoursnew = laveClassHours - classNum;
+// Integer totalClassHoursnew = totalClassHours - classNum;
+ payment.setLaveClassHours(0);
+ payment.setTotalClassHours(0);
+ payment.setAppUserId(null);
+
+ paymentService.updateById(payment);
+
+ //获取student信息
+
+ //新增课时
+
+ TCoursePackagePayment holi = new TCoursePackagePayment();
+ holi.setAppUserId(student.getAppUserId());
+ holi.setStudentId(student.getId());
+ holi.setCoursePackageId(toHoliDto.getClassId());
+ holi.setTotalClassHours(laveClassHours);
+ holi.setLaveClassHours(laveClassHours);
+ holi.setState(1);
+ holi.setInsertTime(new Date());
+ paymentService.save(holi);
+
+ System.out.println("保存成功=============》="+holi);
+
+
+
+ }
+ String[] stringArray = strings.toArray(new String[strings.size()]);
+
+ String join = StringUtils.join(stringArray, ",");
+ System.out.println("==========join========"+join);
+ return "转课成功";
+
+
+
+
+ }
+
+
+
}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/CourseCounsum.java b/cloud-server-course/src/main/java/com/dsh/course/entity/CourseCounsum.java
new file mode 100644
index 0000000..0725d67
--- /dev/null
+++ b/cloud-server-course/src/main/java/com/dsh/course/entity/CourseCounsum.java
@@ -0,0 +1,28 @@
+package com.dsh.course.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 io.swagger.models.auth.In;
+import lombok.Data;
+
+import java.util.Date;
+
+
+@Data
+@TableName("t_course_consum")
+public class CourseCounsum {
+ @TableId(value = "id", type = IdType.AUTO)
+ Integer id;
+ @TableField("changeType")
+ Integer changeType;
+ @TableField("num")
+ Integer num;
+ @TableField("reason")
+ String reason;
+ @TableField("paymentId")
+ Long paymentId;
+ @TableField("insertTime")
+ Date insertTime;
+}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/CoursePackagePaymentConfig.java b/cloud-server-course/src/main/java/com/dsh/course/entity/CoursePackagePaymentConfig.java
index 41ad552..68d4ee9 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/entity/CoursePackagePaymentConfig.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/entity/CoursePackagePaymentConfig.java
@@ -40,4 +40,5 @@
private Integer playPaiCoin;
@TableField("couponIds")
private String couponIds;
+
}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/InsertBackDto.java b/cloud-server-course/src/main/java/com/dsh/course/entity/InsertBackDto.java
new file mode 100644
index 0000000..8fc3e85
--- /dev/null
+++ b/cloud-server-course/src/main/java/com/dsh/course/entity/InsertBackDto.java
@@ -0,0 +1,9 @@
+package com.dsh.course.entity;
+
+import lombok.Data;
+
+@Data
+public class InsertBackDto {
+ Integer id;
+ String ids;
+}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/MoneyBack.java b/cloud-server-course/src/main/java/com/dsh/course/entity/MoneyBack.java
new file mode 100644
index 0000000..1ce9e05
--- /dev/null
+++ b/cloud-server-course/src/main/java/com/dsh/course/entity/MoneyBack.java
@@ -0,0 +1,28 @@
+package com.dsh.course.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_back_money")
+public class MoneyBack {
+ @TableId(value = "id", type = IdType.AUTO)
+ Integer id;
+ @TableField("ids")
+ String ids;
+ @TableField("studentId")
+ Integer studentId;
+ @TableField("status")
+ Integer status;
+ @TableField("insertTime")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ Date insertTime;
+
+}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackage.java b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackage.java
index 9adac73..e9c4168 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackage.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackage.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.dsh.course.service.CourseCounsumService;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -25,6 +26,8 @@
@Accessors(chain = true)
@TableName("t_course_package")
public class TCoursePackage extends Model<TCoursePackage>{
+
+
private static final long serialVersionUID = 1L;
@@ -83,6 +86,9 @@
*/
@TableField("maxSubscribeNumber")
private Integer maxSubscribeNumber;
+
+ @TableField("codeTime")
+ private Integer codeTime;
/**
* 上课开始时间
*/
diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java
index 47fcba7..66c684a 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java
@@ -1,9 +1,6 @@
package com.dsh.course.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.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
@@ -32,6 +29,7 @@
* 主键
*/
@TableId(value = "id", type = IdType.NONE)
+ @TableField(updateStrategy = FieldStrategy.NEVER)
private Long id;
/**
* 业务编号
diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/dto/ClassListDto.java b/cloud-server-course/src/main/java/com/dsh/course/entity/dto/ClassListDto.java
index c482bb5..07462f7 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/entity/dto/ClassListDto.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/entity/dto/ClassListDto.java
@@ -1,15 +1,19 @@
package com.dsh.course.entity.dto;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import io.swagger.models.auth.In;
import lombok.Data;
import java.util.Date;
@Data
public class ClassListDto {
- private Integer id;
+
+ private Long id;
private String className;
- private String classType;
+ private Integer classType;
private Date insertTime;
diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/dto/ConsumeQuery.java b/cloud-server-course/src/main/java/com/dsh/course/entity/dto/ConsumeQuery.java
new file mode 100644
index 0000000..ea49194
--- /dev/null
+++ b/cloud-server-course/src/main/java/com/dsh/course/entity/dto/ConsumeQuery.java
@@ -0,0 +1,18 @@
+package com.dsh.course.entity.dto;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class ConsumeQuery {
+
+
+ Date start;
+ Date end;
+ Integer changeType;
+
+ String reason;
+
+ Integer payId;
+}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/dto/ToHoliDto.java b/cloud-server-course/src/main/java/com/dsh/course/entity/dto/ToHoliDto.java
new file mode 100644
index 0000000..09e6ceb
--- /dev/null
+++ b/cloud-server-course/src/main/java/com/dsh/course/entity/dto/ToHoliDto.java
@@ -0,0 +1,13 @@
+package com.dsh.course.entity.dto;
+
+import io.swagger.models.auth.In;
+import lombok.Data;
+
+import java.util.List;
+@Data
+public class ToHoliDto {
+ Integer id;
+ Integer classId;
+ Integer classNum;
+ String[] ids;
+}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/feignclient/CoursePaymentClient.java b/cloud-server-course/src/main/java/com/dsh/course/feignclient/CoursePaymentClient.java
index 5d8cbb7..ef4c078 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/feignclient/CoursePaymentClient.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/feignclient/CoursePaymentClient.java
@@ -44,6 +44,9 @@
@PostMapping("/base/coursePack/getPaymentCoursePackage")
public TCoursePackagePayment getCoursePackagePaymentByCode(@RequestBody String payId);
+ @PostMapping("/base/coursePack/getCoursePackagePaymentById")
+ public TCoursePackagePayment getCoursePackagePaymentById(@RequestBody Integer id);
+
@PostMapping("/base/coursePack/delPaymentCoursePackage")
public boolean delPaymentCoursePackage(@RequestBody Integer payId);
diff --git a/cloud-server-course/src/main/java/com/dsh/course/feignclient/account/AppUserClient.java b/cloud-server-course/src/main/java/com/dsh/course/feignclient/account/AppUserClient.java
index 12efef4..233d34b 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/feignclient/account/AppUserClient.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/feignclient/account/AppUserClient.java
@@ -47,4 +47,6 @@
@PostMapping("/appUser/getSelects")
List<SelectDto> getSelects(List<Integer> studentIds);
+
+
}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/feignclient/account/StudentClient.java b/cloud-server-course/src/main/java/com/dsh/course/feignclient/account/StudentClient.java
index 5754fcc..830c804 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/feignclient/account/StudentClient.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/feignclient/account/StudentClient.java
@@ -1,6 +1,7 @@
package com.dsh.course.feignclient.account;
import com.dsh.course.feignclient.account.model.Student;
+import io.swagger.models.auth.In;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
@@ -39,4 +40,7 @@
*/
@PostMapping("/student/queryStudentListByName")
List<Student> queryStudentListByName(String name);
+
+
+
}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/feignclient/model/StuCourseResp.java b/cloud-server-course/src/main/java/com/dsh/course/feignclient/model/StuCourseResp.java
index 440631b..aa50a57 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/feignclient/model/StuCourseResp.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/feignclient/model/StuCourseResp.java
@@ -6,6 +6,7 @@
@Data
public class StuCourseResp {
+ private Long id;
@ApiModelProperty(value = "课包id")
private Integer courseId;
diff --git a/cloud-server-course/src/main/java/com/dsh/course/mapper/CourseCounsumMapper.java b/cloud-server-course/src/main/java/com/dsh/course/mapper/CourseCounsumMapper.java
new file mode 100644
index 0000000..228421f
--- /dev/null
+++ b/cloud-server-course/src/main/java/com/dsh/course/mapper/CourseCounsumMapper.java
@@ -0,0 +1,8 @@
+package com.dsh.course.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.dsh.course.entity.CourseCounsum;
+import com.dsh.course.entity.CoursePackagePaymentConfig;
+
+public interface CourseCounsumMapper extends BaseMapper<CourseCounsum> {
+}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/mapper/CoursePackageStudentMapper.java b/cloud-server-course/src/main/java/com/dsh/course/mapper/CoursePackageStudentMapper.java
index a8668aa..af725af 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/mapper/CoursePackageStudentMapper.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/mapper/CoursePackageStudentMapper.java
@@ -38,4 +38,8 @@
List<ClassListDto> getClassList(@Param("tStudentId")Integer tStudentId);
Date getMaxDate(@Param("tStudentId")Integer tStudentId);
+
+ void updateSignInOrNotById(@Param("id") Long id);
+
+
}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/mapper/MoneyBackMapper.java b/cloud-server-course/src/main/java/com/dsh/course/mapper/MoneyBackMapper.java
new file mode 100644
index 0000000..328996c
--- /dev/null
+++ b/cloud-server-course/src/main/java/com/dsh/course/mapper/MoneyBackMapper.java
@@ -0,0 +1,8 @@
+package com.dsh.course.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.dsh.course.entity.CourseCounsum;
+import com.dsh.course.entity.MoneyBack;
+
+public interface MoneyBackMapper extends BaseMapper<MoneyBack> {
+}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java b/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java
index e5f35fc..6881ae8 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java
@@ -62,4 +62,6 @@
void updateUseTime(@Param("id")Long id, @Param("date") Date date);
List<Integer> getStudentIds(@Param("id")Integer payId);
+
+ boolean updateHoursById(@Param("id") Long id, @Param("i") int i);
}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/model/dto/ToClassDto.java b/cloud-server-course/src/main/java/com/dsh/course/model/dto/ToClassDto.java
new file mode 100644
index 0000000..2f28104
--- /dev/null
+++ b/cloud-server-course/src/main/java/com/dsh/course/model/dto/ToClassDto.java
@@ -0,0 +1,9 @@
+package com.dsh.course.model.dto;
+
+import lombok.Data;
+
+@Data
+public class ToClassDto {
+ Integer id;
+ Integer toStudentId;
+}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/CourseCounsumService.java b/cloud-server-course/src/main/java/com/dsh/course/service/CourseCounsumService.java
new file mode 100644
index 0000000..99f8528
--- /dev/null
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/CourseCounsumService.java
@@ -0,0 +1,9 @@
+package com.dsh.course.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.dsh.course.entity.CancelledClasses;
+import com.dsh.course.entity.CourseCounsum;
+
+public interface CourseCounsumService extends IService<CourseCounsum> {
+
+}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/CoursePackageStudentService.java b/cloud-server-course/src/main/java/com/dsh/course/service/CoursePackageStudentService.java
index af73f12..da9421a 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/CoursePackageStudentService.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/CoursePackageStudentService.java
@@ -36,4 +36,8 @@
Date getMaxDate(Integer tStudentId);
Date getMinDate(Integer tStudentId);
+
+ void updateSignInOrNotById(Long id);
+
+
}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/MoneyBackService.java b/cloud-server-course/src/main/java/com/dsh/course/service/MoneyBackService.java
new file mode 100644
index 0000000..bee5744
--- /dev/null
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/MoneyBackService.java
@@ -0,0 +1,9 @@
+package com.dsh.course.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.dsh.course.entity.CourseCounsum;
+import com.dsh.course.entity.MoneyBack;
+
+public interface MoneyBackService extends IService<MoneyBack> {
+
+}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java b/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java
index 929efbb..fbb40ef 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java
@@ -121,6 +121,9 @@
List<Integer> getStudentIds(Integer payId);
+ boolean updateHoursById(TCoursePackagePayment byId, int i);
+
+
List<CoursePackagePaymentVO> listAll(CoursePackagePaymentQuery query);
int changeState(CoursePackagePayDTO dto);
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/CourseCounsumServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/CourseCounsumServiceImpl.java
new file mode 100644
index 0000000..5f4467c
--- /dev/null
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/CourseCounsumServiceImpl.java
@@ -0,0 +1,14 @@
+package com.dsh.course.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dsh.course.entity.CancelledClasses;
+import com.dsh.course.entity.CourseCounsum;
+import com.dsh.course.mapper.CancelledClassesMapper;
+import com.dsh.course.mapper.CourseCounsumMapper;
+import com.dsh.course.service.CancelledClassesService;
+import com.dsh.course.service.CourseCounsumService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class CourseCounsumServiceImpl extends ServiceImpl<CourseCounsumMapper, CourseCounsum> implements CourseCounsumService {
+}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageStudentServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageStudentServiceImpl.java
index 0178d52..ad47688 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageStudentServiceImpl.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageStudentServiceImpl.java
@@ -101,4 +101,9 @@
public Date getMinDate(Integer tStudentId) {
return null;
}
+
+ @Override
+ public void updateSignInOrNotById(Long id) {
+ this.baseMapper.updateSignInOrNotById(id);
+ }
}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/MoneyBackServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/MoneyBackServiceImpl.java
new file mode 100644
index 0000000..75c9b66
--- /dev/null
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/MoneyBackServiceImpl.java
@@ -0,0 +1,14 @@
+package com.dsh.course.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dsh.course.entity.CourseCounsum;
+import com.dsh.course.entity.MoneyBack;
+import com.dsh.course.mapper.CourseCounsumMapper;
+import com.dsh.course.mapper.MoneyBackMapper;
+import com.dsh.course.service.CourseCounsumService;
+import com.dsh.course.service.MoneyBackService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class MoneyBackServiceImpl extends ServiceImpl<MoneyBackMapper, MoneyBack> implements MoneyBackService {
+}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
index 7d3a215..4cc970a 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
@@ -235,32 +235,36 @@
.eq("appUserId",appUserId ));
System.out.println(tCoursePackagePayments);
if (tCoursePackagePayments.size() > 0){
- for (TCoursePackagePayment tCoursePackagePayment : tCoursePackagePayments) {
- TCoursePackage coursePackage = tcpmapper.selectById(tCoursePackagePayment.getCoursePackageId());
- Store store = stoClient.queryStoreById(coursePackage.getStoreId());
- RegisterCourseVo registerCourseVo = new RegisterCourseVo();
- // 2.0
- registerCourseVo.setType(coursePackage.getType());
+ try {
+ for (TCoursePackagePayment tCoursePackagePayment : tCoursePackagePayments) {
+ TCoursePackage coursePackage = tcpmapper.selectById(tCoursePackagePayment.getCoursePackageId());
+ Store store = stoClient.queryStoreById(coursePackage.getStoreId());
+ RegisterCourseVo registerCourseVo = new RegisterCourseVo();
+ // 2.0
+ registerCourseVo.setType(coursePackage.getType());
- registerCourseVo.setCoursePayId(tCoursePackagePayment.getId());
- registerCourseVo.setCoursePackageId(tCoursePackagePayment.getCoursePackageId());
- registerCourseVo.setCoursePackTypeId(coursePackage.getCoursePackageTypeId());
- registerCourseVo.setPackageImg(coursePackage.getCoverDrawing());
- String storeAndCourse = coursePackage.getName()+"("+ store.getName() +")";
- registerCourseVo.setCourseNameStore(storeAndCourse);
+ registerCourseVo.setCoursePayId(tCoursePackagePayment.getId());
+ registerCourseVo.setCoursePackageId(tCoursePackagePayment.getCoursePackageId());
+ registerCourseVo.setCoursePackTypeId(coursePackage.getCoursePackageTypeId());
+ registerCourseVo.setPackageImg(coursePackage.getCoverDrawing());
+ String storeAndCourse = coursePackage.getName()+"("+ store.getName() +")";
+ registerCourseVo.setCourseNameStore(storeAndCourse);
// registerCourseVo.setCourseTime(coursePackage.getClassStartTime()+"-"+coursePackage.getClassEndTime());
- // 2.0
- registerCourseVo.setCourseTime(new SimpleDateFormat("yyyy-MM-dd").format(tCoursePackagePayment.getInsertTime()));
- Coach coach = coachClient.queryCoachById(coursePackage.getCoachId());
- registerCourseVo.setCourseTeacher(ToolUtil.isEmpty(coach) ? "" : coach.getName());
- List<CoursePackageStudent> coursePackageStudents = cpsMapper.selectList(new QueryWrapper<CoursePackageStudent>()
- .eq("coursePackageId",coursePackage.getId())
- .eq("studentId",appUserId ));
- if (coursePackageStudents.size() > 0 ){
- registerCourseVo.setCourseNums(coursePackageStudents.size() * 2);
+ // 2.0
+ registerCourseVo.setCourseTime(new SimpleDateFormat("yyyy-MM-dd").format(tCoursePackagePayment.getInsertTime()));
+ Coach coach = coachClient.queryCoachById(coursePackage.getCoachId());
+ registerCourseVo.setCourseTeacher(ToolUtil.isEmpty(coach) ? "" : coach.getName());
+ List<CoursePackageStudent> coursePackageStudents = cpsMapper.selectList(new QueryWrapper<CoursePackageStudent>()
+ .eq("coursePackageId",coursePackage.getId())
+ .eq("studentId",appUserId ));
+ if (coursePackageStudents.size() > 0 ){
+ registerCourseVo.setCourseNums(coursePackageStudents.size() * 2);
+ }
+ registerCourseVo.setPayStatus(tCoursePackagePayment.getPayStatus());
+ courseVos.add(registerCourseVo);
}
- registerCourseVo.setPayStatus(tCoursePackagePayment.getPayStatus());
- courseVos.add(registerCourseVo);
+ }catch (Exception e){
+ e.printStackTrace();
}
if (ToolUtil.isNotEmpty(courseTypeId.getSearch())){
@@ -1032,6 +1036,11 @@
return this.baseMapper.getStudentIds(payId);
}
+ @Override
+ public boolean updateHoursById(TCoursePackagePayment byId, int i) {
+ return this.baseMapper.updateHoursById(byId.getId(),i);
+ }
+
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
index 854a8af..18512d7 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
@@ -1061,33 +1061,40 @@
}else if(integer>i) {
Calendar instance = Calendar.getInstance();
instance.add(Calendar.DATE,integer-i);
- Date time = instance.getTime();
+ Date time1 = instance.getTime();
+ List<Date> list = new ArrayList<>();
+ list.add(time1);
+ instance.add(Calendar.DATE,7);
+ Date time2 = instance.getTime();
+ list.add(time2);
+ for (Date time : list) {
+ for (int i1 = 0; i1 < split.length; i1++) {
+ CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
+ coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
+ try {
+ Date parse = format1.parse(format.format(time) + " " + split[i1]);
+ Date parse1 = format1.parse(format.format(time) + " " + split1[i1]);
+ coursePackageScheduling.setClassDate(parse);
+ coursePackageScheduling.setEndDate(parse1);
+ coursePackageScheduling.setStatus(1);
+ coursePackageSchedulingService.save(coursePackageScheduling);
- for (int i1 = 0; i1 < split.length; i1++) {
- CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
- coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
- try {
- Date parse = format1.parse(format.format(time) + " " + split[i1]);
- Date parse1 = format1.parse(format.format(time) + " " + split1[i1]);
- coursePackageScheduling.setClassDate(parse);
- coursePackageScheduling.setEndDate(parse1);
- coursePackageScheduling.setStatus(1);
- coursePackageSchedulingService.save(coursePackageScheduling);
-
- CoursePackageStudent student1 = new CoursePackageStudent();
- student1.setAppUserId(userId);
- student1.setStudentId(sId);
- student1.setCoursePackageId(tCoursePackage.getId());
- student1.setCoursePackagePaymentId(paymentId);
- student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
- student1.setSignInOrNot(0);
- student1.setReservationStatus(1);
- student1.setInsertTime(new Date());
- cpsMapper.insert(student1);
- } catch (ParseException e) {
- e.printStackTrace();
+ CoursePackageStudent student1 = new CoursePackageStudent();
+ student1.setAppUserId(userId);
+ student1.setStudentId(sId);
+ student1.setCoursePackageId(tCoursePackage.getId());
+ student1.setCoursePackagePaymentId(paymentId);
+ student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
+ student1.setSignInOrNot(0);
+ student1.setReservationStatus(1);
+ student1.setInsertTime(new Date());
+ cpsMapper.insert(student1);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
}
}
+
}else {
Calendar instance = Calendar.getInstance();
instance.add(Calendar.DATE,7);
@@ -1212,50 +1219,70 @@
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf1.parse(sdf.format(new Date()) + " 00:00:00");
List<String> list = Arrays.asList(coursePackage.getClassWeeks().split(";"));
- String classStartTime = coursePackage.getClassStartTime();
- String[] split = classStartTime.split(":");
- String classEndTime = coursePackage.getClassEndTime();
- String[] split1 = classEndTime.split(":");
- Calendar s = Calendar.getInstance();
- s.setTime(date);
- s.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 1);
- s.set(Calendar.HOUR_OF_DAY, Integer.valueOf(split[0]));
- s.set(Calendar.MINUTE, Integer.valueOf(split[1]));
- s.set(Calendar.SECOND, 0);
+ String value = coursePackage.getClassStartTime();
+ String value1 = coursePackage.getClassEndTime();
- Calendar e = Calendar.getInstance();
- e.setTime(date);
- e.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 13);
- long timeInMillis = e.getTimeInMillis();
+ String[] star = value.split(",");
+ String[] end = value1.split(",");
- while (true){
- int w = s.get(Calendar.DAY_OF_WEEK);
- WeekEnum weekEnum = WeekEnum.getWeekEnum(w);
- if(list.contains(weekEnum.getChineseName())){
- Calendar classDate = Calendar.getInstance();
- classDate.setTime(s.getTime());
- classDate.set(Calendar.HOUR_OF_DAY, Integer.valueOf(split[0]));
- classDate.set(Calendar.MINUTE, Integer.valueOf(split[1]));
- classDate.set(Calendar.SECOND, 0);
+ for (int i = 0; i < star.length; i++) {
- Calendar endDate = Calendar.getInstance();
- endDate.setTime(s.getTime());
- endDate.set(Calendar.HOUR_OF_DAY, Integer.valueOf(split1[0]));
- endDate.set(Calendar.MINUTE, Integer.valueOf(split1[1]));
- endDate.set(Calendar.SECOND, 0);
-
- CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
- coursePackageScheduling.setCoursePackageId(coursePackage.getId());
- coursePackageScheduling.setClassDate(classDate.getTime());
- coursePackageScheduling.setEndDate(endDate.getTime());
- coursePackageScheduling.setStatus(1);
- coursePackageSchedulingService.save(coursePackageScheduling);
- }
+// int index = star[i].indexOf(",");
+//
+//
+// String result = value.substring(0, index).trim();
+ String classStartTime = star[i];
+ String[] split = classStartTime.split(":");
+// String value1 = en;
+ int index1 = value1.indexOf(",");
+// String result1 = value.substring(0, index1).trim();
+ String classEndTime = end[i];
+ String[] split1 = classEndTime.split(":");
+ Calendar s = Calendar.getInstance();
+ s.setTime(date);
s.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 1);
- if(s.getTimeInMillis() > timeInMillis){
- break;
+ s.set(Calendar.HOUR_OF_DAY, Integer.valueOf(split[0]));
+ s.set(Calendar.MINUTE, Integer.valueOf(split[1]));
+ s.set(Calendar.SECOND, 0);
+
+ Calendar e = Calendar.getInstance();
+ e.setTime(date);
+ e.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 13);
+ long timeInMillis = e.getTimeInMillis();
+
+ while (true){
+ int w = s.get(Calendar.DAY_OF_WEEK);
+ WeekEnum weekEnum = WeekEnum.getWeekEnum(w);
+ if(list.contains(weekEnum.getChineseName())){
+ Calendar classDate = Calendar.getInstance();
+ classDate.setTime(s.getTime());
+ classDate.set(Calendar.HOUR_OF_DAY, Integer.valueOf(split[0]));
+ classDate.set(Calendar.MINUTE, Integer.valueOf(split[1]));
+ classDate.set(Calendar.SECOND, 0);
+
+ Calendar endDate = Calendar.getInstance();
+ endDate.setTime(s.getTime());
+ endDate.set(Calendar.HOUR_OF_DAY, Integer.valueOf(split1[0]));
+ endDate.set(Calendar.MINUTE, Integer.valueOf(split1[1]));
+ endDate.set(Calendar.SECOND, 0);
+
+ CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
+ coursePackageScheduling.setCoursePackageId(coursePackage.getId());
+ coursePackageScheduling.setClassDate(classDate.getTime());
+ coursePackageScheduling.setEndDate(endDate.getTime());
+ coursePackageScheduling.setStatus(1);
+ coursePackageSchedulingService.save(coursePackageScheduling);
+ }
+ s.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 1);
+ if(s.getTimeInMillis() > timeInMillis){
+ break;
+ }
}
+
}
+
+
+
return coursePackage.getId();
}catch (Exception e){
e.printStackTrace();
diff --git a/cloud-server-course/src/main/java/com/dsh/course/util/ResultUtil.java b/cloud-server-course/src/main/java/com/dsh/course/util/ResultUtil.java
index 45a64c6..52cf2de 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/util/ResultUtil.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/util/ResultUtil.java
@@ -1,13 +1,8 @@
package com.dsh.course.util;
-import com.alibaba.fastjson.JSONObject;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-
/**
* 定义统一返回对象
*/
-@ApiModel(value = "统一返回结果集")
public class ResultUtil<T> {
public static final Integer SUCCESS = 200;
@@ -18,24 +13,22 @@
public static final Integer ERROR = 500;
- public static final Integer TOKEN_ERROR = 600;
+ public static final String Token = "Token失效";
- public static final Integer SIGN_ERROR = 700;
+ private Integer status;//状态码
- public static final String Token = "TOKEN_INVALID";
-
- public static final String SIGN = "SIGN_INVALID";
-
- @ApiModelProperty(name = "code", value = "业务状态码 200:成功,300:参数错误,400:运行异常,500:其他异常, 600:token无效,需重新登录,700:签名无效")
private Integer code;//备用状态码
- @ApiModelProperty(name = "msg", value = "返回结果说明")
private String msg;//返回说明
- @ApiModelProperty(name = "data", value = "返回结果值")
private T data;//返回数据
+ private String str;//存储单个字符串值
+
+ public Integer getStatus() {
+ return status;
+ }
public String getMsg() {
return msg;
@@ -45,29 +38,53 @@
return data;
}
+ public String getStr() {
+ return str;
+ }
public Integer getCode() {
return code;
}
- private ResultUtil(Integer code, String msg) {
+ public ResultUtil(Integer status, Integer code, String msg) {
+ this.status = status;
this.code = code;
this.msg = msg;
}
- private ResultUtil(Integer code, String msg, T data) {
+ private ResultUtil(Integer status, Integer code, String msg, T data) {
+ this.status = status;
this.code = code;
this.msg = msg;
this.data = data;
}
-
- public static <T> ResultUtil<T> getResult(Integer code, String msg){
- return new ResultUtil<>(code, msg);
+ public ResultUtil(Integer status, Integer code, String msg, T data, String str) {
+ this.status = status;
+ this.code = code;
+ this.msg = msg;
+ this.data = data;
+ this.str = str;
}
- public static <T> ResultUtil<T> getResult(Integer code, String msg, T data){
- return new ResultUtil<>(code, msg, data);
+ private ResultUtil(Integer status, Integer code, String msg, String str) {
+ this.status = status;
+ this.code = code;
+ this.msg = msg;
+ this.str = str;
+ }
+
+
+ public static <T> ResultUtil<T> getResult(Integer status, Integer code, String msg){
+ return new ResultUtil<>(status, code, msg);
+ }
+
+ public static <T> ResultUtil<T> getResult(Integer status, Integer code, String msg, T data){
+ return new ResultUtil<>(status, code, msg, data);
+ }
+
+ public static <T> ResultUtil<T> getResult(Integer status, Integer code, String msg, T data, String str){
+ return new ResultUtil<>(status, code, msg, data, str);
}
/**
@@ -75,7 +92,7 @@
* @return
*/
public static ResultUtil error(String mag){
- return ResultUtil.getResult(ResultUtil.ERROR, mag, new JSONObject());
+ return ResultUtil.getResult(ResultUtil.ERROR, ResultUtil.ERROR, mag);
}
/**
@@ -83,7 +100,7 @@
* @return
*/
public static <T> ResultUtil <T> error(String mag, T obj){
- return ResultUtil.getResult(ResultUtil.ERROR, mag, obj);
+ return ResultUtil.getResult(ResultUtil.ERROR, ResultUtil.ERROR, mag, obj);
}
/**
@@ -91,7 +108,7 @@
* @return
*/
public static ResultUtil tokenErr(){
- return ResultUtil.getResult(ResultUtil.TOKEN_ERROR, ResultUtil.Token, new JSONObject());
+ return ResultUtil.getResult(ResultUtil.ERROR, ResultUtil.ERROR, ResultUtil.Token);
}
/**
@@ -99,15 +116,15 @@
* @return
*/
public static ResultUtil tokenErr(String msg){
- return ResultUtil.getResult(ResultUtil.TOKEN_ERROR, msg, new JSONObject());
+ return ResultUtil.getResult(ResultUtil.ERROR, ResultUtil.ERROR, msg);
}
/**
* 参数异常
* @return
*/
- public static ResultUtil paranErr(String ages){
- return ResultUtil.getResult(ResultUtil.PARAM_ERROR, "【" + ages + "】参数异常", new JSONObject());
+ public static ResultUtil paranErr(){
+ return ResultUtil.getResult(ResultUtil.PARAM_ERROR, ResultUtil.PARAM_ERROR, "参数异常");
}
/**
@@ -115,16 +132,15 @@
* @return
*/
public static <T> ResultUtil<T> paranErr(T data){
- return ResultUtil.getResult(ResultUtil.PARAM_ERROR, "PARAM_ERROR", data);
+ return ResultUtil.getResult(ResultUtil.PARAM_ERROR, ResultUtil.PARAM_ERROR, "参数异常", data);
}
-
/**
* 运行异常
* @return
*/
public static ResultUtil runErr(){
- return ResultUtil.getResult(ResultUtil.RUNTIME_ERROR, "SYSTEM_RUN_ERROR", new JSONObject());
+ return ResultUtil.getResult(ResultUtil.RUNTIME_ERROR, ResultUtil.RUNTIME_ERROR, "服务器运行异常");
}
@@ -133,15 +149,7 @@
* @return
*/
public static <T>ResultUtil<T> runErr(T data){
- return ResultUtil.getResult(ResultUtil.RUNTIME_ERROR, "SYSTEM_RUN_ERROR", data);
- }
-
- /**
- * 运行异常
- * @return
- */
- public static <T>ResultUtil<T> runErr(T data, String msg){
- return ResultUtil.getResult(ResultUtil.RUNTIME_ERROR, msg, data);
+ return ResultUtil.getResult(ResultUtil.RUNTIME_ERROR, ResultUtil.RUNTIME_ERROR, "服务器运行异常", data);
}
@@ -151,7 +159,7 @@
* @return
*/
public static ResultUtil success(){
- return ResultUtil.getResult(ResultUtil.SUCCESS, "SUCCESS", new JSONObject());
+ return ResultUtil.getResult(ResultUtil.SUCCESS, ResultUtil.SUCCESS, "成功");
}
@@ -162,28 +170,26 @@
* @return
*/
public static <T> ResultUtil<T> success(T data){
- return ResultUtil.getResult(ResultUtil.SUCCESS, "SUCCESS", data);
+ return ResultUtil.getResult(ResultUtil.SUCCESS, ResultUtil.SUCCESS, "成功", data);
}
/**
* 返回成功
- * @param msg
* @param data
+ * @param str
* @param <T>
* @return
*/
- public static <T> ResultUtil<T> success(String msg, T data){
- return ResultUtil.getResult(ResultUtil.SUCCESS, msg, data);
+ public static <T> ResultUtil<T> success(T data, String str){
+ return ResultUtil.getResult(ResultUtil.SUCCESS, ResultUtil.SUCCESS, "成功", data, str);
}
+ public static <T> ResultUtil<T> success(String msg, T data){
+ return ResultUtil.getResult(ResultUtil.SUCCESS, ResultUtil.SUCCESS, msg, data);
+ }
- /**
- * 签名无效
- * @param <T>
- * @return
- */
- public static <T> ResultUtil<T> sign(){
- return ResultUtil.getResult(ResultUtil.SIGN_ERROR, SIGN);
+ public static <T> ResultUtil<T> success(String msg, T data, String str){
+ return ResultUtil.getResult(ResultUtil.SUCCESS, ResultUtil.SUCCESS, msg, data, str);
}
}
diff --git a/cloud-server-course/src/main/resources/mapper/CoursePackageStudentMapper.xml b/cloud-server-course/src/main/resources/mapper/CoursePackageStudentMapper.xml
index 2c7eee1..72b98e5 100644
--- a/cloud-server-course/src/main/resources/mapper/CoursePackageStudentMapper.xml
+++ b/cloud-server-course/src/main/resources/mapper/CoursePackageStudentMapper.xml
@@ -1,7 +1,9 @@
<?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.course.mapper.CoursePackageStudentMapper">
-
+ <update id="updateSignInOrNotById">
+ update t_course_package_student set signInOrNot = 2 where id =#{id}
+ </update>
<select id="queryCoursePackageStudentList" resultType="map">
@@ -44,11 +46,11 @@
SELECT
*,
pg.NAME AS className,
- ty.`name` AS classType
+ pg.`type` AS classType
FROM
t_course_package_payment py
LEFT JOIN t_course_package pg ON py.coursePackageId = pg.id
- LEFT JOIN t_course_package_type ty ON pg.type = ty.id
+
<where>
<if test="null != tStudentId">
diff --git a/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml b/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml
index 2b2bb8f..64e77bc 100644
--- a/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml
+++ b/cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml
@@ -30,6 +30,9 @@
set useTime = #{date}
where id = #{id}
</update>
+ <update id="updateHoursById">
+ update t_course_package_payment set totalClassHours =totalClassHours +#{i},classHours =classHours+#{i},laveClassHours =laveClassHours+#{i} where id =#{id}
+ </update>
<select id="queryCountNumber" resultType="int">
@@ -128,7 +131,11 @@
SELECT appUserId
FROM t_course_package_payment
WHERE id = #{id}
- ) AND id != #{id};
+ ) AND id != #{id} and coursePackageId=(
+ SELECT coursePackageId
+ FROM t_course_package_payment
+ WHERE id = #{id}
+ )
</select>
diff --git a/cloud-server-management/pom.xml b/cloud-server-management/pom.xml
index 85e929b..eecc3ec 100644
--- a/cloud-server-management/pom.xml
+++ b/cloud-server-management/pom.xml
@@ -210,6 +210,19 @@
<version>2.3.1</version>
</dependency>
+
+ <!-- itext7html转pdf -->
+ <dependency>
+ <groupId>com.itextpdf</groupId>
+ <artifactId>html2pdf</artifactId>
+ <version>3.0.2</version>
+ </dependency>
+ <!-- 中文字体支持 -->
+ <dependency>
+ <groupId>com.itextpdf</groupId>
+ <artifactId>font-asian</artifactId>
+ <version>7.1.13</version>
+ </dependency>
</dependencies>
<build>
@@ -267,6 +280,8 @@
<url>http://maven.magic-beans.cn/nexus/content/repositories/thirdparty/</url>
</repository>
+
+
</repositories>
diff --git a/cloud-server-management/src/main/java/com/dsh/course/dto/ClassListDto.java b/cloud-server-management/src/main/java/com/dsh/course/dto/ClassListDto.java
index dffe07c..99cd02b 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/dto/ClassListDto.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/dto/ClassListDto.java
@@ -1,15 +1,19 @@
package com.dsh.course.dto;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import java.util.Date;
@Data
public class ClassListDto {
- private Integer id;
+
+ @JsonSerialize(using = ToStringSerializer.class)
+ private Long id;
private String className;
- private String classType;
+ private Integer classType;
private Date insertTime;
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/AppUserClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/AppUserClient.java
index 0e0dfae..88eb6bf 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/AppUserClient.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/AppUserClient.java
@@ -10,6 +10,8 @@
import com.dsh.course.feignClient.account.model.QueryByNamePhone;
import com.dsh.course.feignClient.account.model.TAppUser;
import com.dsh.guns.modular.system.model.TStudent;
+import com.dsh.guns.modular.system.model.dto.GiftSearchDto;
+import com.dsh.guns.modular.system.model.dto.SelectDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody;
@@ -70,4 +72,6 @@
@PostMapping("/student/getHisory")
List<GetHistoryDto> getHisory();
+ @PostMapping("/student/giftSelect")
+ List<SelectDto> giftSelect(@RequestBody GiftSearchDto giftSearchDto);
}
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/CouponListOfSearch.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/CouponListOfSearch.java
index a41f7f6..4fff639 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/CouponListOfSearch.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/CouponListOfSearch.java
@@ -22,5 +22,7 @@
private Integer state;
private Page<Map<String, Object>> page;
+ private String cityCode;
+ private Integer storeId;
}
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentClient.java
index f251e0d..76e484f 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentClient.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentClient.java
@@ -75,4 +75,8 @@
*/
@PostMapping("/coursePackagePayment/editCoursePackagePayment")
void editCoursePackagePayment(TCoursePackagePayment coursePackagePayment);
+
+
+ @PostMapping("/coursePackagePayment/CountqueryByClassId")
+ Integer queryByClassId(Integer id);
}
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseStuddentClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseStuddentClient.java
index 8ea647a..c7528fb 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseStuddentClient.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CourseStuddentClient.java
@@ -2,9 +2,20 @@
import com.dsh.course.dto.ClassListDto;
import com.dsh.course.dto.updateTimeDto;
+import com.dsh.course.feignClient.course.model.TCoursePackagePayment;
+import com.dsh.course.model.MoneyBack;
+import com.dsh.course.model.dto.InsertBackDto;
import com.dsh.course.model.dto.StudentClassInfo;
+import com.dsh.guns.modular.system.model.CourseCounsum;
+import com.dsh.guns.modular.system.model.dto.ConsumeQuery;
import com.dsh.guns.modular.system.model.dto.SelectDto;
+import com.dsh.guns.modular.system.model.dto.ToClassDto;
+import com.dsh.guns.modular.system.model.dto.ToHoliDto;
+import com.dsh.guns.modular.system.util.ResultUtil;
+import io.swagger.models.auth.In;
import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.http.MediaType;
+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.RequestParam;
@@ -59,4 +70,49 @@
*/
@RequestMapping("/courdent/getSelect")
List<SelectDto> getSelect(@RequestParam("payId") Integer payId);
+ /**
+ * 转移课程
+ * @param toClassDto
+ * @return
+ */
+ @RequestMapping("/courdent/toClass")
+ void toClass(@RequestBody ToClassDto toClassDto);
+
+
+ //获取常规假期课下拉框
+ @RequestMapping("/courdent/holiSelect")
+ List<SelectDto> getGiftSelect(@RequestParam("courseId") Integer paymentId);
+
+ @RequestMapping("/courdent/transSelect")
+ List<SelectDto> getTransSelect(@RequestParam("courseId") Integer paymentId);
+
+ @RequestMapping(value = "/courdent/toHoli",produces = MediaType.APPLICATION_JSON_UTF8_VALUE, consumes = "application/json;charset=UTF-8")
+ String toHoli(@RequestBody ToHoliDto toHoliDto);
+ @RequestMapping(value = "/courdent/toTrans",produces = MediaType.APPLICATION_JSON_UTF8_VALUE, consumes = "application/json;charset=UTF-8")
+
+ String toTrans(@RequestBody ToHoliDto toHoliDto);
+
+
+ @RequestMapping("/courdent/queryByIds")
+ List<TCoursePackagePayment> queryByIds(@RequestParam("ids")String ids);
+
+
+ @RequestMapping("/courdent/queryCounsum")
+ List<CourseCounsum> queryCounsum( @RequestBody ConsumeQuery consumeQuery);
+
+
+ @RequestMapping("/courdent/getMoneyBack")
+
+ List<MoneyBack> getMoneyBack(@RequestParam("tStudentId")Integer tStudentId);
+
+ @PostMapping("/courdent/insertBack")
+
+ void insertBack(@RequestBody InsertBackDto insertBackDto);
+
+ @RequestMapping("/courdent/changeStatus")
+ void changeStatus(@RequestParam("id")Integer id);
+ @RequestMapping("/courdent/cancel")
+ void cancel(@RequestParam("ids")String ids);
+ @RequestMapping("/courdent/zeroClass")
+ void zeroClass(@RequestParam("id")Integer id);
}
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/CoursePackagePaymentConfig.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/CoursePackagePaymentConfig.java
index 6533a11..af4cc16 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/CoursePackagePaymentConfig.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/CoursePackagePaymentConfig.java
@@ -32,4 +32,5 @@
* 玩湃币价格
*/
private Integer playPaiCoin;
+ private String couponIds;
}
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/TCoursePackage.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/TCoursePackage.java
index 3e75872..2f040b1 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/TCoursePackage.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/TCoursePackage.java
@@ -63,6 +63,9 @@
* 最多预约人数
*/
private Integer maxSubscribeNumber;
+
+ private Integer codeTime;
+
/**
* 上课开始时间
*/
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/TCoursePackagePayment.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/TCoursePackagePayment.java
index c73435a..778cf54 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/TCoursePackagePayment.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/course/model/TCoursePackagePayment.java
@@ -124,4 +124,15 @@
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date insertTime;
+ //课包单价
+ private BigDecimal onePrice;
+
+ //已学课时
+
+ private Integer hasHours;
+
+ private BigDecimal restPrice;
+
+ private String name;
+
}
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/HistoryClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/HistoryClient.java
index 06d2662..66646b4 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/HistoryClient.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/HistoryClient.java
@@ -3,6 +3,8 @@
import com.dsh.course.dto.CreateHistoryDto;
import com.dsh.course.dto.GetHistoryDto;
import com.dsh.guns.modular.system.model.Store;
+import com.dsh.guns.modular.system.model.dto.GiftSearchDto;
+import com.dsh.guns.modular.system.model.dto.SelectDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@@ -26,4 +28,6 @@
@PostMapping("/class/gethisotory")
List<GetHistoryDto> getHisory(@RequestBody Integer studentId);
+
+
}
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/model/Site.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/model/Site.java
index 90d6814..d8d1dcf 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/model/Site.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/other/model/Site.java
@@ -109,4 +109,26 @@
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date insertTime;
+ @TableField("operatorId")
+ private Integer operatorId;
+ @TableField("typeName")
+ private String typeName;
+ @TableField("nextName")
+ private String nextName;
+ @TableField("ishalf")
+ private Integer ishalf;
+ @TableField("cashPriceOne")
+ private Double cashPriceOne;
+ @TableField("playPaiCoinOne")
+ private Double playPaiCoinOne;
+ @TableField("halfName")
+ private String halfName;
+ @TableField("introduce")
+ private String introduce;
+ @TableField("imgs")
+ private String imgs;
+ @TableField("ids")
+ private String ids;
+
+
}
diff --git a/cloud-server-management/src/main/java/com/dsh/course/mapper/TOperatorCityMapper.java b/cloud-server-management/src/main/java/com/dsh/course/mapper/TOperatorCityMapper.java
new file mode 100644
index 0000000..87dd0a3
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/course/mapper/TOperatorCityMapper.java
@@ -0,0 +1,17 @@
+package com.dsh.course.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.dsh.guns.modular.system.model.TOperatorCity;
+
+/**
+ * <p>
+ * 运营商 Mapper 接口
+ * </p>
+ *
+ * @author administrator
+ * @since 2023-09-22
+ */
+public interface TOperatorCityMapper extends BaseMapper<TOperatorCity> {
+
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/course/model/MoneyBack.java b/cloud-server-management/src/main/java/com/dsh/course/model/MoneyBack.java
new file mode 100644
index 0000000..017bb80
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/course/model/MoneyBack.java
@@ -0,0 +1,22 @@
+package com.dsh.course.model;
+
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.models.auth.In;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class MoneyBack {
+
+ Integer id;
+ String ids;
+ Integer studentId;
+ Integer status;
+ @TableField("insertTime")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ Date insertTime;
+
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/course/model/dto/InsertBackDto.java b/cloud-server-management/src/main/java/com/dsh/course/model/dto/InsertBackDto.java
new file mode 100644
index 0000000..7a3161c
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/course/model/dto/InsertBackDto.java
@@ -0,0 +1,9 @@
+package com.dsh.course.model.dto;
+
+import lombok.Data;
+
+@Data
+public class InsertBackDto {
+ Integer id;
+ String ids;
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/course/util/ChineseMoneyUtils.java b/cloud-server-management/src/main/java/com/dsh/course/util/ChineseMoneyUtils.java
new file mode 100644
index 0000000..022557f
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/course/util/ChineseMoneyUtils.java
@@ -0,0 +1,104 @@
+package com.dsh.course.util;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+
+public class ChineseMoneyUtils {
+ /**
+ * 中文数字
+ */
+ final static private String[] CHINESE_NUMBER = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };
+ /**
+ * 中文数字单位
+ */
+ final static private String[] CHINESE_NUMBER_UNIT = { "", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾", "佰", "仟" };
+ /**
+ * 人民币单位
+ */
+ final static private String[] CHINESE_MONEY_UNIT = { "圆", "角", "分" };
+
+ public static void main(String[] args) {
+ String chineseMoney = toChineseMoney(new BigDecimal("320"));
+ System.out.println("chineseMoney = " + chineseMoney);
+ }
+
+ /**
+ * @param sourceMoney 要转换的数值,最多支持到亿
+ * @return 结果
+ */
+ public static String toChineseMoney(BigDecimal sourceMoney) {
+ if (new BigDecimal("1000000000000").compareTo(sourceMoney) <= 0
+ && BigDecimal.ZERO.compareTo(sourceMoney) >= 0) {
+ throw new RuntimeException("支持转换的金额范围为0~1万亿");
+ }
+ StringBuilder sb = new StringBuilder();
+ // 整数部分
+ BigDecimal intPart = sourceMoney.setScale(0, RoundingMode.DOWN);
+ // 小数部分
+ BigDecimal decimalPart = sourceMoney.subtract(intPart).multiply(new BigDecimal(100)).setScale(0,
+ RoundingMode.DOWN);
+
+ // 处理整数部分圆
+ if (intPart.compareTo(BigDecimal.ZERO) > 0) {
+ String intPartNumberString = intPart.toPlainString();
+ int length = intPartNumberString.length();
+ // 统计末尾的零,末尾零不做处理
+ int zeroCount = 0;
+ for (int i = length - 1; i >= 0; i--) {
+ int number = Integer.parseInt(String.valueOf(intPartNumberString.charAt(i)));
+ if (number == 0) {
+ zeroCount++;
+ } else {
+ break;
+ }
+ }
+ for (int i = 0; i < length; i++) {
+ // 如果转换到末尾0,则停止转换
+ if (i + zeroCount == length) {
+ break;
+ }
+ int number = Integer.parseInt(String.valueOf(intPartNumberString.charAt(i)));
+ // 获取中文数字
+ String chineseNumber = CHINESE_NUMBER[number];
+ // 获取中文数字单位
+ String chineseNumberUnit = CHINESE_NUMBER_UNIT[length - i - 1];
+ sb.append(chineseNumber).append(chineseNumberUnit);
+ }
+ // 统计完后加上金额单位
+ sb.append(CHINESE_MONEY_UNIT[0]);
+ } else {
+ sb.append(CHINESE_NUMBER[0]).append(CHINESE_MONEY_UNIT[0]);
+ }
+
+ // 处理小数部分
+ if (decimalPart.compareTo(new BigDecimal(10)) >= 0) {
+ // 角
+ String jiao = decimalPart.toPlainString();
+ int number = Integer.parseInt(String.valueOf(jiao.charAt(0)));
+ if (number != 0) {
+ String chineseNumber = CHINESE_NUMBER[number];
+ sb.append(chineseNumber).append(CHINESE_MONEY_UNIT[1]);
+ }
+
+ // 分
+ String fen = decimalPart.toPlainString();
+ number = Integer.parseInt(String.valueOf(fen.charAt(1)));
+ if (number != 0) {
+ String chineseNumber = CHINESE_NUMBER[number];
+ sb.append(chineseNumber).append(CHINESE_MONEY_UNIT[2]);
+ }
+ } else if (decimalPart.compareTo(BigDecimal.ZERO) > 0) {
+ // 分
+ String fen = decimalPart.toPlainString();
+ int number = Integer.parseInt(String.valueOf(fen.charAt(0)));
+ if (number != 0) {
+ String chineseNumber = CHINESE_NUMBER[number];
+ sb.append(chineseNumber).append(CHINESE_MONEY_UNIT[2]);
+ }
+ } else {
+ sb.append("整");
+ }
+ return sb.toString();
+ }
+
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/course/util/HtmlToPdfUtils.java b/cloud-server-management/src/main/java/com/dsh/course/util/HtmlToPdfUtils.java
new file mode 100644
index 0000000..62463d6
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/course/util/HtmlToPdfUtils.java
@@ -0,0 +1,53 @@
+package com.dsh.course.util;
+
+import com.itextpdf.html2pdf.ConverterProperties;
+import com.itextpdf.html2pdf.HtmlConverter;
+import com.itextpdf.kernel.events.PdfDocumentEvent;
+import com.itextpdf.kernel.font.PdfFont;
+import com.itextpdf.kernel.font.PdfFontFactory;
+import com.itextpdf.kernel.geom.PageSize;
+import com.itextpdf.kernel.pdf.PdfDocument;
+import com.itextpdf.kernel.pdf.PdfWriter;
+import com.itextpdf.layout.font.FontProvider;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+/**
+ * @author zhibing.pu
+ * @Date 2023/8/14 11:13
+ */
+public class HtmlToPdfUtils {
+
+ public static void convertToPdf(InputStream inputStream, String waterMark, OutputStream outputStream) throws IOException {
+
+ PdfWriter pdfWriter = new PdfWriter(outputStream);
+ PdfDocument pdfDocument = new PdfDocument(pdfWriter);
+ //设置为A4大小
+ pdfDocument.setDefaultPageSize(PageSize.A4);
+ //添加水印
+// pdfDocument.addEventHandler(PdfDocumentEvent.END_PAGE, new WaterMarkEventHandler(waterMark));
+
+ //添加页码
+ //pdfDocument.addEventHandler(PdfDocumentEvent.END_PAGE,new PageEventHandler());
+ //添加中文字体支持
+ ConverterProperties properties = new ConverterProperties();
+ FontProvider fontProvider = new FontProvider();
+
+ PdfFont sysFont = PdfFontFactory.createFont("STSongStd-Light", "UniGB-UCS2-H", false);
+ fontProvider.addFont(sysFont.getFontProgram(), "UniGB-UCS2-H");
+
+ //添加自定义字体,例如微软雅黑
+ /*if (StringUtils.isNotBlank(fontPath)){
+ PdfFont microsoft = PdfFontFactory.createFont(fontPath, PdfEncodings.IDENTITY_H, false);
+ fontProvider.addFont(microsoft.getFontProgram(), PdfEncodings.IDENTITY_H);
+ }*/
+
+ properties.setFontProvider(fontProvider);
+ HtmlConverter.convertToPdf(inputStream, pdfDocument, properties);
+
+ pdfWriter.close();
+ pdfDocument.close();
+ }
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponController.java
index bf6aacd..77b294d 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponController.java
@@ -24,6 +24,7 @@
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.OssUploadUtil;
import com.dsh.guns.modular.system.util.ResultUtil;
import org.apache.commons.beanutils.ConvertUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -223,6 +224,26 @@
ofSearch.setState(state);
return client.getCouponListOfSearch(ofSearch);
}
+
+ /**
+ * 获取 优惠券管理
+ */
+ @RequestMapping(value = "/list1")
+ @ResponseBody
+ public Object listOfDatas1(String name, Integer type, Integer distributionMethod , Integer userPopulation, Integer status, Integer state,String cityCode,Integer storeId) {
+ Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
+ CouponListOfSearch ofSearch = new CouponListOfSearch();
+ ofSearch.setPage(page);
+ ofSearch.setName(name);
+ ofSearch.setType(type);
+ ofSearch.setDistributionMethod(distributionMethod);
+ ofSearch.setUserPopulation(userPopulation);
+ ofSearch.setStatus(status);
+ ofSearch.setState(state);
+ ofSearch.setCityCode(cityCode);
+ ofSearch.setStoreId(storeId);
+ return client.getCouponListOfSearch(ofSearch);
+ }
@RequestMapping(value = "/listRecord")
@ResponseBody
public Object listRecord(Integer id,String name, Integer type, String phone) {
@@ -280,7 +301,7 @@
if (imgFile != null){
String originalFilename = imgFile.getOriginalFilename();
String newName = originalFilename.substring(imgFile.getOriginalFilename().lastIndexOf("."));
- String url = OBSUploadUtil.inputStreamUpload(imgFile);
+ String url = OssUploadUtil.ossUpload("img/",imgFile);
Map<String, String> map = new HashMap<String, String>();
//是否上传成功
map.put("state", "SUCCESS");
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCoursePackageController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCoursePackageController.java
index f6d119e..fcef6e6 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCoursePackageController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCoursePackageController.java
@@ -1,16 +1,15 @@
package com.dsh.guns.modular.system.controller.code;
import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
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.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.*;
import com.dsh.course.feignClient.course.model.*;
import com.dsh.guns.config.UserExt;
import com.dsh.guns.core.base.controller.BaseController;
@@ -21,6 +20,7 @@
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 io.swagger.models.auth.In;
import org.aspectj.weaver.ast.Var;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
@@ -120,7 +120,7 @@
* @return
*/
@GetMapping("/openAddCoursePackage")
- public String openAddCoursePackage(Model model){
+ public String openAddCoursePackage(Model model,Integer type){
Integer objectType = UserExt.getUser().getObjectType();
Integer objectId = UserExt.getUser().getObjectId();
List<TCoursePackageType> tCoursePackageTypes = coursePackageTypeClient.queryAllCoursePackageType();
@@ -143,6 +143,11 @@
model.addAttribute("site", list3);
List<Coach> coaches = coachClient.queryCoachByCity(code1);
model.addAttribute("coach", coaches);
+
+// System.out.println("========type========"+type);
+// if (type ==1){
+// return PREFIX + "coursePackage_edit.html";
+// }
return PREFIX + "coursePackage_add.html";
}
@@ -188,11 +193,17 @@
List<Coach> coaches = coachClient.queryCoachByCity(cityCode);
model.addAttribute("coach", coaches);
List<CoursePackagePaymentConfig> list4 = coursePackagePaymentConfigClient.queryCoursePackagePaymentConfigList(id);
+ System.out.println("========couponIds=========>"+list4.get(0).getCouponIds());
+ model.addAttribute("couponIds", list4.get(0).getCouponIds());
model.addAttribute("coursePackagePaymentConfig", list4.remove(0));
model.addAttribute("coursePackagePaymentConfigs", list4);
CoursePackagePaymentConfig coursePackagePaymentConfig = list4.get(0);
- model.addAttribute("cashPayment", coursePackagePaymentConfig.getCashPayment() == 0 ? false : true);
- model.addAttribute("playPaiCoin", coursePackagePaymentConfig.getPlayPaiCoin() == 0 ? false : true);
+// if (list4.size()!=0) {
+ model.addAttribute("cashPayment", coursePackagePaymentConfig.getCashPayment() == 0 ? false : true);
+ model.addAttribute("playPaiCoin", coursePackagePaymentConfig.getPlayPaiCoin() == 0 ? false : true);
+ System.out.println("=========coursePackagePaymentConfig=============>" + coursePackagePaymentConfig);
+// model.addAttribute("couponIds", "3,2");
+// }
return PREFIX + "coursePackage_edit.html";
}
@@ -243,6 +254,7 @@
CoursePackagePaymentConfig coursePackagePaymentConfig = list4.get(0);
model.addAttribute("cashPayment", coursePackagePaymentConfig.getCashPayment() == 0 ? false : true);
model.addAttribute("playPaiCoin", coursePackagePaymentConfig.getPlayPaiCoin() == 0 ? false : true);
+// model.addAttribute("couponIds", coursePackagePaymentConfig.getCouponIds());
return PREFIX + "coursePackage_info.html";
}
@@ -290,6 +302,27 @@
* @param id
* @return
*/
+ @GetMapping("/conpun/{id}")
+ public String conpun(@PathVariable Integer id,Model model){
+ model.addAttribute("index",id);
+ return PREFIX + "TCoupon.html";
+ }
+
+ @GetMapping("/conpun1/{id}")
+ public String conpun1(Model model,@PathVariable Integer id,String conpunids){
+ System.out.println("=====model=======conpunids======"+conpunids);
+ model.addAttribute("index",id);
+
+ model.addAttribute("conpund",conpunids);
+ return PREFIX + "TCouponEdit.html";
+ }
+
+ /**
+ * 跳转到优惠卷选择表页
+ * @param model
+ * @param id
+ * @return
+ */
@GetMapping("/registrationRecord")
public String registrationRecord(Model model, Integer id){
TCoursePackage tCoursePackage = coursePackageService.queryById(id);
@@ -297,6 +330,9 @@
return PREFIX + "registrationRecord.html";
}
+
+ @Resource
+ @Autowired CoursePackagePaymentClient packagePaymentClient;
/**
* 跳转到上课记录列表页
@@ -307,11 +343,25 @@
@GetMapping("/openClassRecord")
public String openClassRecord(Model model, Integer id){
TCoursePackage tCoursePackage = coursePackageClient.queryById(id);
+ String[] start = tCoursePackage.getClassStartTime().split(",");
+ String[] end = tCoursePackage.getClassEndTime().split(",");
+ Integer counts = packagePaymentClient.queryByClassId(id);
+
+
+ List<String> strings = new ArrayList<>();
+ for (int i = 0; i <start.length ; i++) {
+ String outTime = start[i] +"-" +end[0];
+ strings.add(outTime);
+ }
+
TStore store = storeService.getById(tCoursePackage.getStoreId());
Coach coach = coachClient.queryCoachById(tCoursePackage.getCoachId());
model.addAttribute("item", tCoursePackage);
model.addAttribute("store", store);
model.addAttribute("coach", coach);
+ model.addAttribute("times", strings);
+ model.addAttribute("counts", counts);
+
return PREFIX + "classRecord.html";
}
@@ -504,11 +554,33 @@
@PostMapping("/addCoursePackage")
public ResultUtil addCoursePackage(TCoursePackage coursePackage, String coursePackagePaymentConfig){
String classStartTime = coursePackage.getClassStartTime();
- String classEndTime = coursePackage.getClassEndTime();
- classStartTime = classStartTime.substring(0, classStartTime.lastIndexOf(":"));
- classEndTime = classEndTime.substring(0, classEndTime.lastIndexOf(":"));
- coursePackage.setClassStartTime(classStartTime);
- coursePackage.setClassEndTime(classEndTime);
+// String classEndTime = coursePackage.getClassEndTime();
+
+ System.out.println("=======getClassStartTime============"+classStartTime);
+ String startTime = coursePackage.getClassStartTime();
+ JSONArray jsonArray = JSON.parseArray(startTime);
+ System.out.println("=======jsonArray==========="+jsonArray);
+
+ List<String> first = new ArrayList<>();
+ List<String> second = new ArrayList<>();
+ for (int i = 0; i < jsonArray.size(); i++) {
+// JSONObject jsonObject = JSON.parseObject(jsonArray.getString(i));
+
+ String jsonString = jsonArray.getString(i);
+ String[] split = jsonString.split(" - ");
+ first.add(split[0]);
+ second.add(split[1]);
+
+ }
+ String firstString = String.join(",",first);
+ String secondString = String.join(",",second);
+ System.out.println("=========firstString========>"+firstString);
+
+ System.out.println("=========secondString========>"+secondString);
+ // classStartTime = classStartTime.substring(0, classStartTime.lastIndexOf(":"));
+// classEndTime = classEndTime.substring(0, classEndTime.lastIndexOf(":"));
+ coursePackage.setClassStartTime(firstString);
+ coursePackage.setClassEndTime(secondString);
coursePackage.setAuditStatus(1);
coursePackage.setStatus(1);
coursePackage.setState(1);
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java
index 16910ce..3598333 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java
@@ -73,7 +73,8 @@
@Autowired
private TStoreOtherService storeOtherService;
-
+ @Autowired
+ private TOperatorService tOperatorService;
/**
@@ -97,6 +98,8 @@
model.addAttribute("list",list);
String roleid = UserExt.getUser().getRoleid();
model.addAttribute("role",roleid);
+ List<TOperator> list1 = tOperatorService.list();
+ model.addAttribute("yysList",list1);
return PREFIX + "tShop_add.html";
}
@RequestMapping("/tShop_add_one")
@@ -109,11 +112,12 @@
return PREFIX + "tShop_add_one.html";
}
@RequestMapping("/tShop_add_two")
- public String tCompetitionAddTwo(Model model) {
+ public String tCompetitionAddTwo(Integer id,Model model) {
List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
model.addAttribute("list",list);
+ model.addAttribute("id",id);
String roleid = UserExt.getUser().getRoleid();
- return PREFIX + "tShop_add_two.html";
+ return PREFIX + "TShop_edit_three.html";
}
@@ -125,23 +129,42 @@
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()));
+
+// TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, byId.getProvinceCode()));
+ TOperatorCity one = operatorCityService.getOne(new LambdaQueryWrapper<TOperatorCity>().eq(TOperatorCity::getOperatorId, byId.getOperatorId()).eq(TOperatorCity::getType, 1));
+ List<TOperatorCity> ones = operatorCityService.list(new LambdaQueryWrapper<TOperatorCity>().eq(TOperatorCity::getOperatorId, byId.getOperatorId()).eq(TOperatorCity::getType, 1));
+ model.addAttribute("list",ones);
+ List<TOperatorCity> list3 = operatorCityService.list(new LambdaQueryWrapper<TOperatorCity>().eq(TOperatorCity::getPid, one.getId()).eq(TOperatorCity::getType, 2));
+ if(list3.size()>0){
+ model.addAttribute("list1",list3);
+ }else {
+ TCity one1 = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, byId.getProvinceCode()));
+ List<TCity> list1 = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId,one1.getId()));
+ model.addAttribute("list1",list1);
+ }
CityListQuery cityListQuery = new CityListQuery();
cityListQuery.setOffset(1);
cityListQuery.setLimit(10000);
cityListQuery.setCityCode(byId.getCityCode());
Page<TCityManager> list2 = cityClient.list(cityListQuery);
- model.addAttribute("list1",list1);
+
+ List<TOperator> list1 = tOperatorService.list();
+ model.addAttribute("yysList",list1);
+
model.addAttribute("list2",list2.getRecords());
String roleid = UserExt.getUser().getRoleid();
- model.addAttribute("role",roleid);
+ model.addAttribute("role",roleid);
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("/tShop_update1/{id}")
+ public String tCityUpdate1(@PathVariable Integer id, Model model) {
+ TStoreOther byId = storeOtherService.getById(id);
+ model.addAttribute("item",byId);
+ return PREFIX + "tShop_edit_one.html";
}
@@ -160,6 +183,20 @@
model.addAttribute("list1",list1);
return PREFIX + "tShop_edit_two.html";
+ }
+ @RequestMapping("/tShop_update_one1/{id}")
+ public String tCityUpdateOne1(@PathVariable Integer id, Model model) {
+ TStoreOtherConfigTrue byId = tStoreOtherConfigTrueService.getById(id);
+ TTurn one = tTurnService.getOne(new LambdaQueryWrapper<TTurn>().eq(TTurn::getName, byId.getName()));
+ // page list
+ List<TTurn> list = tTurnService.list(new LambdaQueryWrapper<TTurn>().eq(TTurn::getPid, one.getId()));
+ // type list
+ List<TTurn> list1 = tTurnService.list(new LambdaQueryWrapper<TTurn>().eq(TTurn::getPid, byId.getPageId()));
+ model.addAttribute("item",byId);
+ model.addAttribute("list",list);
+ model.addAttribute("list1",list1);
+
+ return PREFIX + "tShop_add_three.html";
}
@@ -241,16 +278,36 @@
page.setRecords(list);
return super.packForBT(page);
}
+ @RequestMapping(value = "/listTwo1")
+ @ResponseBody
+ public Object listTwo1(Integer id) {
+ Page<TStoreOtherConfigTrue> page = new PageFactory<TStoreOtherConfigTrue>().defaultPage();
+ List<TStoreOtherConfigTrue> list = tStoreOtherConfigTrueService.page(page,new LambdaQueryWrapper<TStoreOtherConfigTrue>().eq(TStoreOtherConfigTrue::getPid, id).eq(TStoreOtherConfigTrue::getState,1)).getRecords();
+ page.setRecords(list);
+ return super.packForBT(page);
+ }
@RequestMapping(value = "/add")
@ResponseBody
public Object list(TStore tStore,String time,String userName,String userPhone,String ids,Integer type,Integer yyId,String lat,String lon) {
try {
if(ToolUtil.isNotEmpty(tStore.getProvinceCode())) {
- TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, tStore.getProvinceCode()));
+ TOperatorCity byId = operatorCityService.getById(tStore.getProvinceCode());
+ TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, byId.getCode()));
tStore.setProvince(one.getName());
- TCity one1 = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, tStore.getCityCode()));
- tStore.setCity(one1.getName());
+ tStore.setProvinceCode(one.getCode());
+ List<TOperatorCity> list = operatorCityService.list(new LambdaQueryWrapper<TOperatorCity>().eq(TOperatorCity::getPid, byId.getId()).eq(TOperatorCity::getType, 2));
+ if(list.size()>0){
+ TOperatorCity byId1 = operatorCityService.getById(tStore.getCityCode());
+ TCity one1 = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, byId1.getCode()));
+ tStore.setCity(one1.getName());
+ tStore.setCityCode(one1.getCode());
+ }else {
+ TCity byId1 = cityService.getById(tStore.getCityCode());
+ TCity one1 = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, byId1.getCode()));
+ tStore.setCity(one1.getName());
+ tStore.setCityCode(one1.getCode());
+ }
}
tStore.setStartTime(time.split(" - ")[0]);
tStore.setEndTime(time.split(" - ")[1]);
@@ -294,15 +351,27 @@
@RequestMapping(value = "/update")
@ResponseBody
- public Object update(TStore tStore,String time,String userName,String userPhone,String ids,Integer type,Integer yyId) {
+ public Object update(TStore tStore,String time,String userName,String userPhone,String ids,Integer type,Integer yyId,String lat,String lon) {
try {
TStore byId = storeService.getById(tStore.getId());
if(ToolUtil.isNotEmpty(tStore.getProvinceCode())) {
- TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, tStore.getProvinceCode()));
+ TOperatorCity tOperatorCity = operatorCityService.getById(tStore.getProvinceCode());
+ TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, tOperatorCity.getCode()));
tStore.setProvince(one.getName());
- TCity one1 = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, tStore.getCityCode()));
- tStore.setCity(one1.getName());
+ tStore.setProvinceCode(one.getCode());
+ List<TOperatorCity> list = operatorCityService.list(new LambdaQueryWrapper<TOperatorCity>().eq(TOperatorCity::getPid, tOperatorCity.getId()).eq(TOperatorCity::getType, 2));
+ if(list.size()>0){
+ TOperatorCity byId1 = operatorCityService.getById(tStore.getCityCode());
+ TCity one1 = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, byId1.getCode()));
+ tStore.setCity(one1.getName());
+ tStore.setCityCode(one1.getCode());
+ }else {
+ TCity byId1 = cityService.getById(tStore.getCityCode());
+ TCity one1 = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, byId1.getCode()));
+ tStore.setCity(one1.getName());
+ tStore.setCityCode(one1.getCode());
+ }
}
tStore.setStartTime(time.split(" - ")[0]);
tStore.setEndTime(time.split(" - ")[1]);
@@ -321,6 +390,8 @@
user.setName(userName);
user.setPhone(userPhone);
userMapper.updateById(user);
+ tStore.setLon(lon);
+ tStore.setLat(lat);
storeService.updateById(tStore);
return new SuccessTip<>();
}catch (Exception e){
@@ -400,6 +471,42 @@
}
}
+ @Autowired
+ private TOperatorCityService operatorCityService;
+
+ @RequestMapping(value = "/onChange1")
+ @ResponseBody
+ public Object onChange1(Integer oneId) {
+ try {
+ List<TOperatorCity> list = operatorCityService.list(new LambdaQueryWrapper<TOperatorCity>().eq(TOperatorCity::getOperatorId, oneId).eq(TOperatorCity::getType, 1));
+ return list;
+ }catch (Exception e){
+ e.printStackTrace();
+ return ERROR;
+ }
+ }
+
+ @RequestMapping(value = "/onChange2")
+ @ResponseBody
+ public Object onChange2(Integer oneId) {
+ try {
+ List<TOperatorCity> list1 = operatorCityService.list(new LambdaQueryWrapper<TOperatorCity>().eq(TOperatorCity::getOperatorId, oneId).eq(TOperatorCity::getType, 1));
+ List<TOperatorCity> list = operatorCityService.list(new LambdaQueryWrapper<TOperatorCity>().eq(TOperatorCity::getPid, oneId).eq(TOperatorCity::getType, 2));
+ if(list.size()==0){
+ TOperatorCity tOperatorCity = list1.get(0);
+ Integer code = tOperatorCity.getCode();
+ TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, code));
+ List<TCity> list2 = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, one.getId()));
+ return list2;
+ }else {
+ return list;
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ return ERROR;
+ }
+ }
+
@RequestMapping(value = "/cancel")
public Object cancel(Integer id) {
@@ -416,6 +523,33 @@
public Object delete1(Integer id) {
try {
storeService.delete1(id);
+ return SUCCESS_TIP;
+ }catch (Exception e){
+ e.printStackTrace();
+ return ERROR;
+ }
+ }
+ @ResponseBody
+ @RequestMapping(value = "/deleteTwo")
+ public Object delete2(Integer id) {
+ try {
+ TStoreOtherConfigTrue byId = tStoreOtherConfigTrueService.getById(id);
+
+ byId.setState(2);
+ tStoreOtherConfigTrueService.updateById(byId);
+ return SUCCESS_TIP;
+ }catch (Exception e){
+ e.printStackTrace();
+ return ERROR;
+ }
+ }
+ @ResponseBody
+ @RequestMapping(value = "/del")
+ public Object del(Integer id) {
+ try {
+ storeOtherService.removeById(id);
+ tStoreOtherConfigTrueService.remove(new LambdaQueryWrapper<TStoreOtherConfigTrue>().eq(TStoreOtherConfigTrue::getPid,id));
+
return SUCCESS_TIP;
}catch (Exception e){
e.printStackTrace();
@@ -457,6 +591,20 @@
TStore byId = storeService.getById(id);
byId.setState(1);
storeService.updateById(byId);
+ return SUCCESS_TIP;
+ }catch (Exception e){
+ e.printStackTrace();
+ return ERROR;
+ }
+ }
+
+ @RequestMapping(value = "/unfreeze1")
+ @ResponseBody
+ public Object unfreeze1(Integer id,Integer type) {
+ try {
+ TStoreOther byId = storeOtherService.getById(id);
+ byId.setState(type);
+ storeOtherService.updateById(byId);
return SUCCESS_TIP;
}catch (Exception e){
e.printStackTrace();
@@ -508,7 +656,6 @@
* ajax.set("type",type);
* ajax.set("turnId",turnId);
* ajax.set("sort",sort);
- * @param id
* @return
*/
@RequestMapping(value = "/addConfigOne")
@@ -553,6 +700,23 @@
return ERROR;
}
}
+ @RequestMapping(value = "/addConfig1")
+ @ResponseBody
+ public Object addConfig1(String name,Integer id) {
+ try {
+ TStoreOther byId = storeOtherService.getById(id);
+ byId.setName(
+ name
+ );
+ storeOtherService.updateById(byId);
+
+
+ return SUCCESS_TIP;
+ }catch (Exception e){
+ e.printStackTrace();
+ return ERROR;
+ }
+ }
@RequestMapping(value = "/updateConfigOne")
@ResponseBody
public Object addConfigOne(String url,String name,Integer page,Integer type,String turnId,Integer sort,Integer id) {
@@ -577,6 +741,30 @@
return ERROR;
}
}
+ @RequestMapping(value = "/updateConfigOne3")
+ @ResponseBody
+ public Object addConfigOne3(String url,String name,Integer page,Integer type,String turnId,Integer sort,Integer id) {
+ try {
+ TStoreOtherConfigTrue byId = tStoreOtherConfigTrueService.getById(id);
+ if(ToolUtil.isNotEmpty(url)){
+ byId.setUrl(url);
+ }
+ byId.setName(name);
+ TTurn byId1 = tTurnService.getById(page);
+ TTurn byId2 = tTurnService.getById(type);
+ byId.setPage(byId1.getName());
+ byId.setType(byId2.getName());
+ byId.setTurnId(turnId);
+ byId.setSort(sort);
+ byId.setPageId(page);
+ byId.setTypeId(type);
+ tStoreOtherConfigTrueService.updateById(byId);
+ return SUCCESS_TIP;
+ }catch (Exception e){
+ e.printStackTrace();
+ return ERROR;
+ }
+ }
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java
index 2cfba7a..ecd68dc 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java
@@ -219,6 +219,10 @@
}
Integer objectType = UserExt.getUser().getObjectType();
Integer objectId = UserExt.getUser().getObjectId();
+
+ List<TOperator> list = tOperatorService.list();
+ model.addAttribute("yysList",list);
+
model.addAttribute("userType",objectType);
HashSet<String> set = new HashSet<String>(list1);
QueryWrapper<TSiteType> wrapper = new QueryWrapper<>();
@@ -256,6 +260,29 @@
model.addAttribute("objectType",objectType);
model.addAttribute("objectId",objectId);
model.addAttribute("stores",stores);
+
+ String nextName = site.getNextName();
+ ArrayList<String> strings1 = new ArrayList<>();
+ for (String s : nextName.split(",")) {
+ strings1.add(s);
+ }
+ model.addAttribute("nextNames",strings1);
+
+
+ String halfNames = site.getHalfName();
+ ArrayList<String> strings2 = new ArrayList<>();
+ String[] split = halfNames.split(",");
+ String halfName=null;
+ for (int i = 0; i < split.length; i++) {
+ if(i==0){
+ halfName = split[0];
+ }else {
+ strings2.add(split[i]);
+ }
+ }
+ model.addAttribute("halfNames",strings2);
+ model.addAttribute("halfName",halfName);
+
return PREFIX + "TSite_edit.html";
}
@@ -287,6 +314,8 @@
list1.add(cityManager.getProvince());
}
Integer objectType = UserExt.getUser().getObjectType();
+ List<TOperator> list = tOperatorService.list();
+ model.addAttribute("yysList",list);
Integer objectId = UserExt.getUser().getObjectId();
model.addAttribute("userType",objectType);
HashSet<String> set = new HashSet<String>(list1);
@@ -539,6 +568,17 @@
}
}
+ @RequestMapping(value = "/getChangeOne")
+ @ResponseBody
+ public Object getChangeOne(Integer oneId) {
+ try {
+ return storeService.list(new LambdaQueryWrapper<TStore>().eq(TStore::getOperatorId,oneId).eq(TStore::getState,1));
+ }catch (Exception e){
+ e.printStackTrace();
+ return ERROR;
+ }
+ }
+
// 选择市后 获取对应账号
@RequestMapping(value = "/accountChangeNext")
@ResponseBody
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java
index 47961f2..5373667 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java
@@ -3,24 +3,42 @@
import com.dsh.course.dto.*;
import com.dsh.course.feignClient.account.AppUserClient;
+import com.dsh.course.feignClient.account.model.TAppUser;
+import com.dsh.course.feignClient.course.CoursePackageClient;
import com.dsh.course.feignClient.course.CourseStuddentClient;
+import com.dsh.course.feignClient.course.model.TCoursePackage;
import com.dsh.course.feignClient.course.model.TCoursePackagePayment;
import com.dsh.course.feignClient.other.HistoryClient;
+import com.dsh.course.model.MoneyBack;
+import com.dsh.course.model.dto.InsertBackDto;
import com.dsh.course.model.dto.StudentClassInfo;
+import com.dsh.course.util.ChineseMoneyUtils;
+import com.dsh.course.util.HtmlToPdfUtils;
import com.dsh.guns.config.UserExt;
import com.dsh.guns.core.base.controller.BaseController;
+import com.dsh.guns.modular.system.model.CourseCounsum;
import com.dsh.guns.modular.system.model.TStudent;
import com.dsh.guns.modular.system.model.User;
-import com.dsh.guns.modular.system.model.dto.SelectDto;
+import com.dsh.guns.modular.system.model.dto.*;
import com.dsh.guns.modular.system.service.ITStudentService;
+import com.dsh.guns.modular.system.util.BigDecimalToChineseAmountUtil;
import com.dsh.guns.modular.system.util.ResultUtil;
+import io.swagger.models.auth.In;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpRequest;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -50,8 +68,51 @@
+ @RequestMapping("download")
+ public void down(HttpServletRequest request, HttpServletResponse response) throws IOException {
+ // Get the InputStream from a file or any other source
+ InputStream inputStream = request.getInputStream(); // Obtain the InputStream
+ // Set the content type of the response
+ response.setContentType("application/octet-stream");
+ // Set the headers for file download
+ response.setHeader("Content-Disposition", "attachment; filename=\"filename.extension\"");
+
+ // Get the OutputStream from the response
+ OutputStream outputStream = response.getOutputStream();
+
+ // Copy the data from InputStream to OutputStream
+ byte[] buffer = new byte[1024];
+ int bytesRead;
+ while ((bytesRead = inputStream.read(buffer)) != -1) {
+ outputStream.write(buffer, 0, bytesRead);
+ }
+
+ HtmlToPdfUtils.convertToPdf(inputStream,null,outputStream);
+
+ // Close the streams
+ inputStream.close();
+ outputStream.close();
+ }
+
+ /**
+ * 获取变更列表
+ */
+ /**
+ * 获取有效期
+ */
+ @RequestMapping("/changelist/{payId}")
+ @ResponseBody
+ public ResultUtil changelist(@PathVariable("payId") Integer payId, ConsumeQuery consumeQuery) {
+ consumeQuery.setPayId(payId);
+ System.out.println("=======changelist==========="+consumeQuery);
+ List<CourseCounsum> courseCounsums = courseStuddentClient.queryCounsum(consumeQuery);
+ Map<String,List<CourseCounsum>> map = new HashMap<>();
+ map.put("items",courseCounsums);
+
+ return new ResultUtil<>(0,0,null,map,null);
+ }
/**
* 跳转到首页
@@ -61,6 +122,22 @@
return PREFIX + "tStudent.html";
}
+ @RequestMapping("TTT")
+ public String index1() {
+ return PREFIX + "tStudentEditTTT.html";
+ }
+
+ @RequestMapping("openAddCoursePackage")
+ public String index3() {
+ return PREFIX + "classelct.html";
+ }
+
+ @RequestMapping("trans")
+ public String index2() {
+ return PREFIX + "trans.html";
+ }
+
+
/**
* 跳转到添加
*/
@@ -69,6 +146,91 @@
return PREFIX + "tStudent_add.html";
}
+ @Resource
+ private CoursePackageClient coursePackageClient;
+
+
+ /**
+ * 获取有效期
+ */
+ @RequestMapping("/getBackList/{tStudentId}")
+ @ResponseBody
+ public ResultUtil getBackList(@PathVariable("tStudentId") Integer tStudentId) {
+
+ List<MoneyBack> moneyBacks = courseStuddentClient.getMoneyBack(tStudentId);
+ Map<String, List<MoneyBack>> map = new HashMap<>();
+ map.put("items",moneyBacks);
+
+ return new ResultUtil<>(0,0,null,map,null);
+ }
+ /**
+ * 跳转到退款
+ */
+ @RequestMapping("/backmoney")
+ public String backmoney(Integer id,String ids,Model model) {
+
+ TStudentDto tStudentDto = appUserClient.queryOneWebUser(id);
+ model.addAttribute("id", id);
+ model.addAttribute("ids", ids);
+
+
+ TAppUser tAppUser = appUserClient.queryById(tStudentDto.getAppUserId());
+ model.addAttribute("userName",tAppUser.getName());
+ model.addAttribute("tStudentDto",tStudentDto);
+
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+ String formattedDate = dateFormat.format(new Date());
+ model.addAttribute("reDate", formattedDate);
+
+ List<TCoursePackagePayment> coursePackagePayments = courseStuddentClient.queryByIds(ids);
+
+ BigDecimal countAll = new BigDecimal(0);
+
+ for (TCoursePackagePayment payment : coursePackagePayments){
+
+ //课包名称
+ TCoursePackage tCoursePackage = coursePackageClient.queryById(payment.getCoursePackageId());
+ payment.setName(tCoursePackage.getName());
+ payment.setId(Long.valueOf(tCoursePackage.getId()));
+
+ BigDecimal cashPayment = payment.getCashPayment();
+ Integer totalClassHours = payment.getTotalClassHours();
+ BigDecimal result = new BigDecimal(0);
+ if (totalClassHours!=0) {
+ result = cashPayment.divide(BigDecimal.valueOf(totalClassHours), 2, RoundingMode.HALF_UP);
+ }
+
+
+
+ //单价
+ payment.setOnePrice(result);
+
+ int has = payment.getTotalClassHours() - payment.getLaveClassHours();
+ //剩余课时
+ payment.setHasHours(has);
+
+
+ BigDecimal onePrice = payment.getOnePrice();
+ Integer laveClassHours = payment.getLaveClassHours();
+ BigDecimal result1 = onePrice.multiply(BigDecimal.valueOf(laveClassHours));
+ //总价
+ payment.setRestPrice(result1);
+ System.out.println("======="+result1);
+ countAll = countAll.add(result1);
+
+ }
+ //中文总价
+// String allprice = BigDecimalToChineseAmountUtil.convertToChineseAmount(countAll);
+ String allprice = ChineseMoneyUtils.toChineseMoney(countAll);
+ model.addAttribute("countAll", countAll);
+ model.addAttribute("allprice", allprice);
+ model.addAttribute("coursePackagePayments", coursePackagePayments);
+
+ model.addAttribute("index",1);
+
+ System.out.println("=====ids========"+ids);
+ return PREFIX + "banckmoney.html";
+ }
/**
* 跳转到修改
*/
@@ -88,7 +250,7 @@
model.addAttribute("pic2", pics[1]);
System.out.println("=====pic2==" + pics[1]);
}
- if (pics.length > 3) {
+ if (pics.length > 2) {
model.addAttribute("pic3", pics[2]);
System.out.println("=====pic3==" + pics[2]);
}
@@ -121,7 +283,7 @@
model.addAttribute("pic2", pics[1]);
System.out.println("=====pic2==" + pics[1]);
}
- if (pics.length > 3) {
+ if (pics.length > 2) {
model.addAttribute("pic3", pics[2]);
System.out.println("=====pic3==" + pics[2]);
}
@@ -180,13 +342,39 @@
+
+//保存退款记录
@RequestMapping("/ttt")
@ResponseBody
- public ResultUtil list1(StudentSearch search) {
+ public ResultUtil list1(Integer id, String ids) {
+ InsertBackDto insertBackDto= new InsertBackDto();
+ insertBackDto.setId(id);
+ insertBackDto.setIds(ids);
+ System.out.println("=====insertBackDto========"+insertBackDto);
+ courseStuddentClient.insertBack(insertBackDto);
+
+ //取消排课
+ courseStuddentClient.cancel(ids);
System.out.println("============学员查询接口=========");
return ResultUtil.success();
}
+
+ @RequestMapping("/changeStatus/{id}")
+ @ResponseBody
+ public ResultUtil changeStatus(@PathVariable Integer id) {
+// InsertBackDto insertBackDto= new InsertBackDto();
+// insertBackDto.setId(id);
+//// insertBackDto.setIds(ids);
+// System.out.println("=====insertBackDto========"+insertBackDto);
+
+ courseStuddentClient.changeStatus(id);
+ courseStuddentClient.zeroClass(id);
+
+ System.out.println("============学员查询接口=========");
+ return new ResultUtil<>(0,0,"同意成功",null,null);
+ }
+
/**
* 学员修改
@@ -194,8 +382,10 @@
@RequestMapping(value = "/update")
@ResponseBody
- public ResultUtil update(@RequestBody TStudent tStudent, String image1, String image2, String image3 ) {
- String lateralSurface = image1+";"+image2+";"+image3;
+ public ResultUtil update(@RequestBody TStudent tStudent) {
+ String lateralSurface = tStudent.getImage1()+";"+tStudent.getImage2()+";"+tStudent.getImage3();
+
+ System.out.println("=======lateralSurface======>?"+lateralSurface);
tStudent.setLateralSurface(lateralSurface);
System.out.println("学员体测表的值"+lateralSurface);
itStudentService.update(tStudent);
@@ -270,4 +460,126 @@
map.put("options",selectDtos);
return new ResultUtil(0,0,"编辑成功",map,"");
}
+
+ /**
+ * 学员转移课程
+ */
+ @RequestMapping(value = "/toClass")
+ @ResponseBody
+ public ResultUtil toClass( Integer id,Integer toStudentId) {
+ ToClassDto toClassDto = new ToClassDto();
+ toClassDto.setToStudentId(toStudentId);
+ toClassDto.setId(id);
+
+ courseStuddentClient.toClass(toClassDto);
+
+// Map<String,List<SelectDto>> map = new HashMap<>();
+// map.put("options",selectDtos);
+ return new ResultUtil(0,0,"编辑成功",1,"");
+ }
+
+ /**
+ * 赠送课时下拉框
+ */
+ @RequestMapping(value = "/giftSelect")
+ @ResponseBody
+ public ResultUtil giftSelect(GiftSearchDto giftSearchDto) {
+
+ List<SelectDto> selectDtos = appUserClient.giftSelect(giftSearchDto);
+
+ Map<String,List<SelectDto>> map = new HashMap<>();
+ map.put("options",selectDtos);
+// Map<String,List<SelectDto>> map = new HashMap<>();
+// map.put("options",selectDtos);
+ return new ResultUtil(0,0,"编辑成功",map,"");
+ }
+
+
+ //获取可报名假期课程下拉框
+ @RequestMapping(value = "/getholi/{id}")
+ @ResponseBody
+ public ResultUtil giftSelect(@PathVariable("id") Integer id) {
+ List<SelectDto> selectDtos = courseStuddentClient.getGiftSelect(id);
+
+ Map<String,List<SelectDto>> map = new HashMap<>();
+ map.put("options",selectDtos);
+
+ return new ResultUtil(0,0,"编辑成功",map,"");
+ }
+
+ //获取可转换常规课程下拉框
+ @RequestMapping(value = "/gettrans/{id}")
+ @ResponseBody
+ public ResultUtil gettrans(@PathVariable("id") Integer id) {
+ List<SelectDto> selectDtos = courseStuddentClient.getTransSelect(id);
+
+ Map<String,List<SelectDto>> map = new HashMap<>();
+ map.put("options",selectDtos);
+
+ return new ResultUtil(0,0,"编辑成功",map,"");
+ }
+ //消耗时长可报名假期课程
+ @RequestMapping(value = "/Toholi")
+ @ResponseBody
+ public ResultUtil Toholi(Integer id,String ids,Integer holiId,Integer classNum) {
+
+ String[] stringArray = ids.split(",");
+
+ ToHoliDto toHoliDto = new ToHoliDto();
+ toHoliDto.setId(id);
+ toHoliDto.setIds(stringArray);
+ toHoliDto.setClassNum(classNum);
+ toHoliDto.setClassId(holiId);
+
+
+ String resultUtil = courseStuddentClient.toHoli(toHoliDto);
+ System.out.println("========ToHoliDto========="+resultUtil);
+
+
+ if (resultUtil==""){
+ return new ResultUtil<>(0,0,"报名成功");
+ }else
+ return new ResultUtil<>(0,0,"报名成功,以下学员剩余课时不足"+resultUtil);
+ }
+
+
+ @RequestMapping(value = "/ToTrans")
+ @ResponseBody
+ public ResultUtil Totans(Integer id,String ids,Integer holiId,Integer classNum) {
+
+ String[] stringArray = ids.split(",");
+
+ ToHoliDto toHoliDto = new ToHoliDto();
+ toHoliDto.setId(id);
+ toHoliDto.setIds(stringArray);
+ toHoliDto.setClassNum(classNum);
+ toHoliDto.setClassId(holiId);
+
+
+ String resultUtil = courseStuddentClient.toTrans(toHoliDto);
+ System.out.println("========ToHoliDto========="+resultUtil);
+
+
+ if (resultUtil==""){
+ return new ResultUtil<>(0,0,"报名成功");
+ }else
+ return new ResultUtil<>(0,0,"报名成功,以下学员剩余课时不足"+resultUtil);
+ }
+
+ //赠课
+
+ @RequestMapping(value = "/giftTo")
+ @ResponseBody
+ public ResultUtil toClagiftToss( Integer id,Integer toStudentId) {
+ ToClassDto toClassDto = new ToClassDto();
+ toClassDto.setToStudentId(toStudentId);
+ toClassDto.setId(id);
+
+ courseStuddentClient.toClass(toClassDto);
+
+// Map<String,List<SelectDto>> map = new HashMap<>();
+// map.put("options",selectDtos);
+ return new ResultUtil(0,0,"编辑成功",1,"");
+ }
+
}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CourseCounsum.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CourseCounsum.java
new file mode 100644
index 0000000..d90ee06
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/CourseCounsum.java
@@ -0,0 +1,19 @@
+package com.dsh.guns.modular.system.model;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.models.auth.In;
+import lombok.Data;
+
+import java.util.Date;
+
+
+@Data
+public class CourseCounsum {
+
+ Integer id;
+ Integer changeType;
+ Integer num;
+ String reason;
+ Long paymentId;
+ Date insertTime;
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TOperatorCity.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TOperatorCity.java
new file mode 100644
index 0000000..0260382
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TOperatorCity.java
@@ -0,0 +1,58 @@
+package com.dsh.guns.modular.system.model;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 运营商
+ * </p>
+ *
+ * @author administrator
+ * @since 2023-09-22
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_operator_city")
+public class TOperatorCity extends Model<TOperatorCity> {
+
+ private static final long serialVersionUID=1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ * 名称
+ */
+ private String name;
+
+ /**
+ * code
+ */
+ private Integer code;
+
+ /**
+ * 1 省 2市
+ */
+ private Integer type;
+
+ private Integer pid;
+
+ @TableField("operatorId")
+ private Integer operatorId;
+
+
+ @Override
+ protected Serializable pkVal() {
+ return this.id;
+ }
+
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TSite.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TSite.java
index 8e9fd3f..6c398b4 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TSite.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TSite.java
@@ -108,4 +108,25 @@
@TableField("insertTime")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date insertTime;
+
+ @TableField("operatorId")
+ private Integer operatorId;
+ @TableField("typeName")
+ private String typeName;
+ @TableField("nextName")
+ private String nextName;
+ @TableField("ishalf")
+ private Integer ishalf;
+ @TableField("cashPriceOne")
+ private Double cashPriceOne;
+ @TableField("playPaiCoinOne")
+ private Double playPaiCoinOne;
+ @TableField("halfName")
+ private String halfName;
+ @TableField("introduce")
+ private String introduce;
+ @TableField("imgs")
+ private String imgs;
+ @TableField("ids")
+ private String ids;
}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TStudent.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TStudent.java
index 80a7df3..b9e0a44 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TStudent.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TStudent.java
@@ -107,4 +107,8 @@
private Integer isDefault;
+ private String image1;
+
+ private String image2;
+ private String image3;
}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/ConsumeQuery.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/ConsumeQuery.java
new file mode 100644
index 0000000..cb17e8b
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/ConsumeQuery.java
@@ -0,0 +1,19 @@
+package com.dsh.guns.modular.system.model.dto;
+
+import io.swagger.models.auth.In;
+import lombok.Data;
+import org.apache.catalina.util.Introspection;
+
+import java.util.Date;
+@Data
+public class ConsumeQuery {
+
+
+ Date start;
+ Date end;
+ Integer changeType;
+
+ String reason;
+
+ Integer payId;
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/GiftSearchDto.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/GiftSearchDto.java
new file mode 100644
index 0000000..61424c4
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/GiftSearchDto.java
@@ -0,0 +1,11 @@
+package com.dsh.guns.modular.system.model.dto;
+
+import io.swagger.models.auth.In;
+import lombok.Data;
+
+@Data
+public class GiftSearchDto {
+ String name;
+ String phone;
+ Integer id;
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/HoliSelect.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/HoliSelect.java
new file mode 100644
index 0000000..b6ffeec
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/HoliSelect.java
@@ -0,0 +1,5 @@
+package com.dsh.guns.modular.system.model.dto;
+
+public class HoliSelect {
+
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/ToClassDto.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/ToClassDto.java
new file mode 100644
index 0000000..5ac720f
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/ToClassDto.java
@@ -0,0 +1,10 @@
+package com.dsh.guns.modular.system.model.dto;
+
+import io.swagger.models.auth.In;
+import lombok.Data;
+
+@Data
+public class ToClassDto {
+ Integer id;
+ Integer toStudentId;
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/ToHoliDto.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/ToHoliDto.java
new file mode 100644
index 0000000..04b57d0
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/dto/ToHoliDto.java
@@ -0,0 +1,13 @@
+package com.dsh.guns.modular.system.model.dto;
+
+import io.swagger.models.auth.In;
+import lombok.Data;
+
+import java.util.List;
+@Data
+public class ToHoliDto {
+ Integer id;
+ Integer classId;
+ Integer classNum;
+ String[] ids;
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/TOperatorCityService.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/TOperatorCityService.java
new file mode 100644
index 0000000..7a7d2c0
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/TOperatorCityService.java
@@ -0,0 +1,17 @@
+package com.dsh.guns.modular.system.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.dsh.guns.modular.system.model.TOperatorCity;
+
+/**
+ * <p>
+ * 运营商 服务类
+ * </p>
+ *
+ * @author administrator
+ * @since 2023-09-22
+ */
+public interface TOperatorCityService extends IService<TOperatorCity> {
+
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java
index 994cab8..5fa98fd 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java
@@ -108,11 +108,13 @@
Integer classHours = jsonObject.getInteger("classHours");
Double cashPayment = jsonObject.getDouble("cashPayment");
Integer playPaiCoin = jsonObject.getInteger("playPaiCoin");
+ String couponIds = jsonObject.getString("couponIds");
CoursePackagePaymentConfig coursePackagePaymentConfig1 = new CoursePackagePaymentConfig();
coursePackagePaymentConfig1.setCoursePackageId(integer);
coursePackagePaymentConfig1.setClassHours(classHours);
coursePackagePaymentConfig1.setCashPayment(cashPayment);
coursePackagePaymentConfig1.setPlayPaiCoin(playPaiCoin);
+ coursePackagePaymentConfig1.setCouponIds(couponIds);
coursePackagePaymentConfigClient.addCoursePackagePaymentConfig(coursePackagePaymentConfig1);
}
}
@@ -144,11 +146,13 @@
Integer classHours = jsonObject.getInteger("classHours");
Double cashPayment = jsonObject.getDouble("cashPayment");
Integer playPaiCoin = jsonObject.getInteger("playPaiCoin");
+ String couponIds = jsonObject.getString("couponIds");
CoursePackagePaymentConfig coursePackagePaymentConfig1 = new CoursePackagePaymentConfig();
coursePackagePaymentConfig1.setCoursePackageId(coursePackage.getId());
coursePackagePaymentConfig1.setClassHours(classHours);
coursePackagePaymentConfig1.setCashPayment(cashPayment);
coursePackagePaymentConfig1.setPlayPaiCoin(playPaiCoin);
+ coursePackagePaymentConfig1.setCouponIds(couponIds);
coursePackagePaymentConfigClient.addCoursePackagePaymentConfig(coursePackagePaymentConfig1);
}
}
@@ -458,9 +462,9 @@
}
TCoursePackagePayment tCoursePackagePayment = coursePackagePaymentClient.queryCoursePackagePaymentById(coursePackageStudent.getCoursePackagePaymentId());
tCoursePackagePayment.setLaveClassHours(tCoursePackagePayment.getLaveClassHours() - deductClassHour);
- if(coursePackageStudent.getSignInOrNot() == 0){
+// if(coursePackageStudent.getSignInOrNot() == 0){
tCoursePackagePayment.setAbsencesNumber(tCoursePackagePayment.getAbsencesNumber() + 1);
- }
+// }
coursePackagePaymentClient.editCoursePackagePayment(tCoursePackagePayment);
CancelledClasses cancelledClasses = new CancelledClasses();
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TOperatorCityServiceImpl.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TOperatorCityServiceImpl.java
new file mode 100644
index 0000000..53b05f8
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TOperatorCityServiceImpl.java
@@ -0,0 +1,21 @@
+package com.dsh.guns.modular.system.service.impl;
+
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dsh.course.mapper.TOperatorCityMapper;
+import com.dsh.guns.modular.system.model.TOperatorCity;
+import com.dsh.guns.modular.system.service.TOperatorCityService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 运营商 服务实现类
+ * </p>
+ *
+ * @author administrator0
+ * @since 2023-09-22
+ */
+@Service
+public class TOperatorCityServiceImpl extends ServiceImpl<TOperatorCityMapper, TOperatorCity> implements TOperatorCityService {
+
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/BigDecimalToChineseAmountUtil.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/BigDecimalToChineseAmountUtil.java
new file mode 100644
index 0000000..1b267de
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/BigDecimalToChineseAmountUtil.java
@@ -0,0 +1,80 @@
+package com.dsh.guns.modular.system.util;
+
+import java.math.BigDecimal;
+
+public class BigDecimalToChineseAmountUtil {
+ private static final String[] CN_UPPER_NUMBER = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};
+ private static final String[] CN_UPPER_MONETRAY_UNIT = {"分", "角", "元", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾", "佰", "仟", "兆", "拾", "佰", "仟"};
+ private static final String CN_FULL = "整";
+ private static final String CN_NEGATIVE = "负";
+ private static final int MONEY_PRECISION = 2;
+
+ public static String convertToChineseAmount(BigDecimal number) {
+ StringBuilder builder = new StringBuilder();
+
+ if (number.compareTo(BigDecimal.ZERO) < 0) {
+ builder.append(CN_NEGATIVE);
+ number = number.abs();
+ }
+
+ long integralPart = number.longValue();
+ BigDecimal decimalPart = number.subtract(BigDecimal.valueOf(integralPart)).multiply(BigDecimal.TEN.pow(MONEY_PRECISION));
+
+ if (decimalPart.compareTo(BigDecimal.ZERO) == 0) {
+ builder.append(CN_FULL);
+ }
+
+ long integralPartTemp = integralPart;
+ int unit = 0;
+ boolean isZero = true;
+ boolean needZero = false;
+
+ while (integralPartTemp > 0) {
+ long tempNumber = integralPartTemp % 10;
+ if (tempNumber > 0) {
+ if (needZero) {
+ builder.insert(0, CN_UPPER_NUMBER[0]);
+ }
+ builder.insert(0, CN_UPPER_MONETRAY_UNIT[unit]);
+ builder.insert(0, CN_UPPER_NUMBER[(int) tempNumber]);
+ isZero = false;
+ needZero = false;
+ } else {
+ if (!isZero) {
+ needZero = true;
+ }
+ if (unit == 2 || unit == 6 || unit == 10 || unit == 14) {
+ builder.insert(0, CN_UPPER_MONETRAY_UNIT[unit]);
+ isZero = true;
+ }
+ }
+ integralPartTemp = integralPartTemp / 10;
+ unit++;
+ }
+
+ if (decimalPart.compareTo(BigDecimal.ZERO) > 0) {
+ builder.append(convertDecimalToChinese(decimalPart));
+ }
+
+ return builder.toString();
+ }
+
+ private static String convertDecimalToChinese(BigDecimal decimalPart) {
+ StringBuilder builder = new StringBuilder();
+
+ for (int i = 0; i < MONEY_PRECISION; i++) {
+ int num = decimalPart.intValue() % 10;
+ builder.insert(0, CN_UPPER_NUMBER[num]);
+ builder.append(CN_UPPER_MONETRAY_UNIT[i + 2]);
+ decimalPart = decimalPart.multiply(BigDecimal.TEN);
+ }
+
+ return builder.toString();
+ }
+
+ public static void main(String[] args) {
+ BigDecimal number = new BigDecimal("12345.67");
+ String chineseAmount = convertToChineseAmount(number);
+ System.out.println(chineseAmount); // Output: 壹万贰仟叁佰肆拾伍元陆角柒分
+ }
+}
\ No newline at end of file
diff --git a/cloud-server-management/src/main/resources/mapper/TOperatorCityMapper.xml b/cloud-server-management/src/main/resources/mapper/TOperatorCityMapper.xml
new file mode 100644
index 0000000..f32c9b8
--- /dev/null
+++ b/cloud-server-management/src/main/resources/mapper/TOperatorCityMapper.xml
@@ -0,0 +1,6 @@
+<?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.course.mapper.TOperatorCityMapper">
+
+
+</mapper>
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/TCoupon.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/TCoupon.html
new file mode 100644
index 0000000..670f376
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/TCoupon.html
@@ -0,0 +1,80 @@
+@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 class="col-sm-3">
+ <#NameCon id="name" name="优惠券名称" />
+ <input type="hidden" id="index" value="${index}">
+ </div>
+<!-- <div class="col-sm-3">-->
+<!-- <#SelectCon id="type" name="优惠券类型" >-->
+<!-- <option value="">全部</option>-->
+<!-- <option value="1">满减券</option>-->
+<!-- <option value="2">折扣券</option>-->
+<!-- <option value="3">体验券</option>-->
+<!-- </#SelectCon>-->
+<!-- </div>-->
+<!-- <div class="col-sm-3">-->
+<!-- <#SelectCon id="distributionMethod" name="发放方式" >-->
+<!-- <option value="">全部</option>-->
+<!-- <option value="1">积分购买</option>-->
+<!-- <option value="2">注册赠送</option>-->
+<!-- <option value="3">自动发券</option>-->
+<!-- </#SelectCon>-->
+<!-- </div>-->
+<!-- <div class="col-sm-3">-->
+<!-- <#SelectCon id="userPopulation" name="用户人群" >-->
+<!-- <option value="">全部</option>-->
+<!-- <option value="1">全部用户</option>-->
+<!-- <option value="2">年度会员</option>-->
+<!-- <option value="3">已有学员用户</option>-->
+<!-- </#SelectCon>-->
+<!-- </div>-->
+<!-- <div class="col-sm-3">-->
+<!-- <#SelectCon id="status" name="活动状态" >-->
+<!-- <option value="">全部</option>-->
+<!-- <option value="1">未开始</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>-->
+<!-- </#SelectCon>-->
+<!-- </div>-->
+<!-- <div class="col-sm-3">-->
+ <#button name="搜索" icon="fa-search" clickFun="TCoupon.search()"/>
+<!-- <#button name="重置" icon="fa-trash" clickFun="TCoupon.resetSearch()"/>-->
+ </div>
+ </div>
+<!-- <div class="hidden-xs" id="TCouponTableToolbar" role="group">-->
+<!-- <#button name="添加" icon="fa-plus" clickFun="TCoupon.backids(${index})" />-->
+<!-- <#button name="编辑" icon="fa-edit" clickFun="TCoupon.openChange()" space="true" hidden='hidden'/>-->
+<!-- <#button name="上架" icon="fa-remove" clickFun="TCoupon.onShelf(1)" space="true" hidden='hidden'/>-->
+<!-- <#button name="下架" icon="fa-remove" clickFun="TCoupon.onShelf(2)" space="true" hidden='hidden'/>-->
+<!-- <#button name="查看详情" icon="fa-remove" clickFun="TCoupon.openDetail()" space="true" hidden='hidden'/>-->
+<!-- <#button name="领取记录" icon="fa-remove" clickFun="TCoupon.openCollectionRecord()" space="true" hidden='hidden'/>-->
+<!-- </div>-->
+ <#table id="TCouponTable"/>
+ <div style="display: flex"> <#button name="添加" icon="fa-plus" clickFun="TCoupon.backids(${index})"/>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ </div>
+ </div>
+</div>
+<script src="${ctxPath}/modular/system/coursePackage/TCoupon.js"></script>
+@}
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/TCouponEdit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/TCouponEdit.html
new file mode 100644
index 0000000..fb57482
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/TCouponEdit.html
@@ -0,0 +1,80 @@
+@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 class="col-sm-3">
+ <#NameCon id="name" name="优惠券名称" />
+ <input type="text" id="conpund" value="${conpund}">
+ <input type="text" id="index" value="${index}">
+
+ </div>
+ <div class="col-sm-3">
+ <#SelectCon id="type" name="优惠券类型" >
+ <option value="">全部</option>
+ <option value="1">满减券</option>
+ <option value="2">折扣券</option>
+ <option value="3">体验券</option>
+ </#SelectCon>
+ </div>
+ <div class="col-sm-3">
+ <#SelectCon id="distributionMethod" name="发放方式" >
+ <option value="">全部</option>
+ <option value="1">积分购买</option>
+ <option value="2">注册赠送</option>
+ <option value="3">自动发券</option>
+ </#SelectCon>
+ </div>
+ <div class="col-sm-3">
+ <#SelectCon id="userPopulation" name="用户人群" >
+ <option value="">全部</option>
+ <option value="1">全部用户</option>
+ <option value="2">年度会员</option>
+ <option value="3">已有学员用户</option>
+ </#SelectCon>
+ </div>
+ <div class="col-sm-3">
+ <#SelectCon id="status" name="活动状态" >
+ <option value="">全部</option>
+ <option value="1">未开始</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>
+ </#SelectCon>
+ </div>
+ <div class="col-sm-3">
+ <#button name="搜索" icon="fa-search" clickFun="TCoupon.search()"/>
+ <#button name="重置" icon="fa-trash" clickFun="TCoupon.resetSearch()"/>
+ </div>
+ </div>
+ <div class="hidden-xs" id="TCouponTableToolbar" role="group">
+ <#button name="添加" icon="fa-plus" clickFun="TCoupon.backids(${index})"/>
+ <#button name="编辑" icon="fa-edit" clickFun="TCoupon.openChange()" space="true"/>
+ <#button name="上架" icon="fa-remove" clickFun="TCoupon.onShelf(1)" space="true"/>
+ <#button name="下架" icon="fa-remove" clickFun="TCoupon.onShelf(2)" space="true"/>
+ <#button name="查看详情" icon="fa-remove" clickFun="TCoupon.openDetail()" space="true"/>
+ <#button name="领取记录" icon="fa-remove" clickFun="TCoupon.openCollectionRecord()" space="true"/>
+ </div>
+ <#table id="TCouponTable"/>
+ </div>
+ </div>
+ </div>
+
+ </div>
+ </div>
+</div>
+<script src="${ctxPath}/modular/system/coursePackage/TCouponEdit.js"></script>
+@}
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/classRecord.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/classRecord.html
index 36e6cfb..38673a9 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/classRecord.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/classRecord.html
@@ -9,6 +9,8 @@
<div class="row">
<h3>课包信息</h3>
<input type="hidden" id="id" value="${item.id}">
+ <input type="hidden" id="codeTime" value="${item.codeTime}">
+
<div class="form-group" style="height: 10px;">
<label class="col-sm-1 control-label" style="text-align: right;">所属门店:</label>
<span class="col-sm-2" style="text-align: left;">${store.name}</span>
@@ -19,22 +21,30 @@
</div>
<div class="form-group" style="height: 10px;">
<label class="col-sm-1 control-label" style="text-align: right;">授课教师:</label>
- <span class="col-sm-2" style="text-align: left;">${coach.name}</span>
+ <span class="col-sm-2" style="text-align: left;">${coach.name!}</span>
+ </div>
+ <div class="form-group" style="height: 10px;">
+ <label class="col-sm-1 control-label" style="text-align: right;">已报名学员:</label>
+ <span class="col-sm-2" style="text-align: left;">${counts}</span>
</div>
<div class="form-group" style="height: 10px;">
<label class="col-sm-1 control-label" style="text-align: right;">上课时间:</label>
<span class="col-sm-2" style="text-align: left;">${item.classWeeks}</span>
</div>
+
+ @for(time in times){
<div class="form-group" style="height: 10px;">
<label class="col-sm-1 control-label" style="text-align: right;"></label>
- <span class="col-sm-2" style="text-align: left;">${item.classStartTime + ' - ' + item.classEndTime}</span>
+ <span class="col-sm-2" style="text-align: left;">${time}</span>
</div>
+ @}
+
</div>
<div class="hidden-xs" id="managerTableToolbar" role="group">
<#button name="查看学员" icon="fa-plus" clickFun="ClassRecord.classRecord()"/>
<#button name="取消本次" icon="fa-edit" clickFun="ClassRecord.cancelClassSchedule()" space="true"/>
<#button name="发布课后练习" icon="fa-refresh" clickFun="ClassRecord.afterClassExercises()" space="true"/>
- <#button name="上传消课记录" icon="fa-refresh" clickFun="ClassRecord.cancellationRecord()" space="true"/>
+ <#button name="上传消课记录" icon="fa-refresh" clickFun="ClassRecord.cancellationRecord(${item.codeTime})" space="true"/>
<#button name="查看消课记录" icon="fa-refresh" clickFun="ClassRecord.lookCancellationRecord()" space="true"/>
<#button name="手动预约" icon="fa-refresh" clickFun="ClassRecord.manualReservation()" space="true"/>
</div>
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage.html
index 7d082e6..0500b54 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage.html
@@ -63,27 +63,16 @@
</div>
</div>
<div class="hidden-xs" id="managerTableToolbar" role="group">
- @if(shiro.hasPermission("/coursePackage/addCoursePackage")){
+ <#button name="测试添加" icon="fa-plus" clickFun="CoursePackage.addCoursePackage1()"/>
+
<#button name="添加" icon="fa-plus" clickFun="CoursePackage.addCoursePackage()"/>
- @}
- @if(shiro.hasPermission("/coursePackage/editCoursePackage")){
<#button name="编辑" icon="fa-edit" clickFun="CoursePackage.editCoursePackage()" space="true"/>
- @}
- @if(shiro.hasPermission("/coursePackage/upCoursePackage")){
<#button name="上架" icon="fa-refresh" clickFun="CoursePackage.editCoursePackageState(1)" space="true"/>
- @}
- @if(shiro.hasPermission("/coursePackage/downCoursePackage")){
<#button name="下架" icon="fa-warning" clickFun="CoursePackage.editCoursePackageState(2)" space="true"/>
- @}
- @if(shiro.hasPermission("/coursePackage/coursePackageDiscount")){
<#button name="折扣管理" icon="fa-check-circle" clickFun="CoursePackage.coursePackageDiscount()" space="true"/>
- @}
- @if(shiro.hasPermission("/coursePackage/detailsCoursePackage")){
<#button name="详情" icon="fa-check-circle" clickFun="CoursePackage.detailsCoursePackage()" space="true"/>
- @}
- @if(shiro.hasPermission("/coursePackage/registrationRecord")){
<#button name="报名信息" icon="fa-check-circle" clickFun="CoursePackage.registrationRecord()" space="true"/>
- @}
+
</div>
<#table id="managerTable"/>
</div>
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackageStudent.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackageStudent.html
index 5dbed35..ea7809e 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackageStudent.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackageStudent.html
@@ -7,6 +7,7 @@
<div class="row row-lg">
<div class="col-sm-12">
<input type="hidden" id="id" value="${id}">
+
<div class="row">
<div class="col-lg-10 col-sm-9">
<div class="row">
@@ -28,8 +29,8 @@
</div>
</div>
<div class="hidden-xs" id="managerTableToolbar" role="group">
- <#button name="取消预约" icon="fa-plus" clickFun="CoursePackageStudent.cancelReservation()"/>
- <#button name="未到" icon="fa-edit" clickFun="CoursePackageStudent.absence()" space="true"/>
+ <#button name="请假" icon="fa-plus" clickFun="CoursePackageStudent.cancelReservation()"/>
+ <#button name="旷课" icon="fa-edit" clickFun="CoursePackageStudent.absence()" space="true"/>
</div>
<#table id="managerTable"/>
</div>
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_add.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_add.html
index c0f1ae6..dd050df 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_add.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_add.html
@@ -76,15 +76,10 @@
<input class="form-control" id="maxSubscribeNumber" name="maxSubscribeNumber" type="number" min="0" placeholder="请输入最多预约人数">
</div>
</div>
+
<div class="form-group">
<label class="col-sm-3 control-label">*上课时间:</label>
<div class="col-sm-4">
- <input class="form-control" id="classStartTime" name="classStartTime" placeholder="请选择">
- </div>
- </div>
- <div class="form-group">
- <label class="col-sm-3 control-label"></label>
- <div class="col-sm-8">
<input type="checkbox" name="classWeeks" value="周一"> 周一
<input type="checkbox" name="classWeeks" value="周二"> 周二
<input type="checkbox" name="classWeeks" value="周三"> 周三
@@ -92,6 +87,27 @@
<input type="checkbox" name="classWeeks" value="周五"> 周五
<input type="checkbox" name="classWeeks" value="周六"> 周六
<input type="checkbox" name="classWeeks" value="周日"> 周日
+ </div>
+ </div>
+ <div class="form-group" >
+ <label class="col-sm-3 control-label"></label>
+
+ <div class="form-group" style="display: flex; align-items: center;" id = "dayTime" >
+ <div style="display:flex">
+ <input class="form-control" id="classStartTime" name="classStartTime" placeholder="请选择" style="width: 200px;">
+
+
+ <i class="fa fa-plus-circle" style="font-size: 24px; margin-left: 10px;" onclick="addTime()"></i>
+ </div>
+
+ </div>
+
+
+ </div>
+ <div class="form-group">
+ <label class="col-sm-3 control-label">*扣除课时数:</label>
+ <div class="col-sm-4">
+ <input class="form-control" id="codeTime" name="codeTime" type="number" min="0" placeholder="请输入每节课扣除课时数">
</div>
</div>
<div class="form-group">
@@ -181,10 +197,13 @@
<span class="classNumber_span"><input class="classNumber" type="number" min="0" placeholder="请输入" style="width: 110px;background-color: #FFFFFF;background-image: none;border: 1px solid #e5e6e7;border-radius: 1px;color: inherit;padding: 6px 12px;"> </span>
<span class="cash_span"></span>
<span class="paiCoin_span"></span>
+ <#button btnCss="info" name="优惠卷" id="ensure" icon="fa-check" clickFun="CoursePackageInfo.openDia(1)"/>
<i class="fa fa-plus-circle" style="font-size:24px" onclick="addPrice()"></i>
+ <input type="text" id = "counpons1" class="counpons" >
</div>
</div>
</div>
+<!-- <input type="text" id = "counpons">-->
</div>
<div class="row btn-group-m-t">
<div class="col-sm-10">
@@ -213,5 +232,20 @@
var avatarUp1 = new $WebUpload("introduceDrawing");
avatarUp1.setUploadBarId("progressBar");
avatarUp1.init();
+ function addTime(){
+ var i = $('#dayTime > div').length
+
+ let htmlStr =' <div style="display:flex">\n' +
+ ' <input class="form-control" id="classStartTime'+i+'" name="classStartTime" placeholder="请选择" style="width: 200px;">\n' +
+ ' <i class="fa fa-plus-circle" style="font-size: 24px; margin-left: 10px;" onclick="addTime()"></i>\n' +
+ ' </div>'
+ $('#dayTime').append(htmlStr);
+ console.log("========="+i)
+ laydate.render({
+ elem: '#classStartTime'+i,
+ type: 'time',
+ range: true
+ });
+ }
</script>
@}
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_edit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_edit.html
index aab2577..2fe98b4 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_edit.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/coursePackage_edit.html
@@ -91,6 +91,13 @@
@}
</div>
</div>
+
+ <div class="form-group">
+ <label class="col-sm-3 control-label">*扣除课时数:</label>
+ <div class="col-sm-4">
+ <input class="form-control" id="codeTime" name="codeTime" value="${item.codeTime}" type="number" min="0" placeholder="请输入每节课扣除课时数">
+ </div>
+ </div>
<div class="form-group">
<label class="col-sm-3 control-label">*课包封面:</label>
<div class="col-sm-4">
@@ -186,6 +193,8 @@
玩湃币支付:<input class="paiCoin" type="number" value="${coursePackagePaymentConfig.playPaiCoin}" min="0" placeholder="请输入金额" style="width: 110px;background-color: #FFFFFF;background-image: none;border: 1px solid #e5e6e7;border-radius: 1px;color: inherit;padding: 6px 12px;"> 币
@}
</span>
+ <input type="text" id="counpons1" value="${couponIds}" class="counpons">
+ <#button btnCss="info" name="优惠卷" id="ensure" icon="fa-check" clickFun="CoursePackageInfo.openDia1(1)"/>
<i class="fa fa-plus-circle" style="font-size:24px" onclick="addPrice()"></i>
</div>
</div>
@@ -221,6 +230,8 @@
</div>
<script src="${ctxPath}/modular/system/coursePackage/coursePackage_info.js"></script>
<script type="text/javascript">
+
+ console.log("============>"+`${couponIds}`)
laydate.render({
elem: '#classStartTime'
,type: 'time'
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/registrationRecord.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/registrationRecord.html
index c193dc6..eb94bdd 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/registrationRecord.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/coursePackage/registrationRecord.html
@@ -32,6 +32,9 @@
<#button name="上课记录" icon="fa-plus" clickFun="RegistrationRecord.classRecord()"/>
<#button name="退课" icon="fa-edit" clickFun="RegistrationRecord.dropClass()" space="true"/>
<#button name="补课" icon="fa-refresh" clickFun="RegistrationRecord.makeUpMissedLessons()" space="true"/>
+ <#button name="更换假期班" icon="fa-refresh" clickFun="RegistrationRecord.holiClass()" space="true"/>
+ <#button name="换课" icon="fa-refresh" clickFun="RegistrationRecord.transClass()" space="true"/>
+
</div>
<#table id="managerTable"/>
</div>
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/tCoupon_add.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/tCoupon_add.html
new file mode 100644
index 0000000..1ff93e8
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/tCoupon_add.html
@@ -0,0 +1,56 @@
+@layout("/common/_container.html"){
+<div class="ibox float-e-margins">
+ <div class="ibox-content">
+ <div class="form-horizontal">
+
+ <div class="row">
+ <div class="col-sm-6 b-r">
+ <#input id="id" name="主键" underline="true"/>
+ <#input id="name" name="优惠券名称" underline="true"/>
+ <#input id="type" name="优惠券类型(1=满减券,2=代金券,3=体验券)" underline="true"/>
+ <#input id="content" name="优惠券规则JSON
+格式:
+{
+ "conditionalAmount": 5,
+ "deductionAmount": 6.8,
+ "experienceName": ""
+}" underline="true"/>
+ <#input id="illustrate" name="优惠券说明" underline="true"/>
+ <#input id="distributionMethod" name="发放方式(1=积分购买,2=注册赠送,3=自动发券)" underline="true"/>
+ <#input id="redemptionMethod" name="兑换方式(1=积分,2=积分+现金)" underline="true"/>
+ <#input id="cash" name="所需现金" underline="true"/>
+ <#input id="integral" name="所属积分" underline="true"/>
+ <#input id="userPopulation" name="用户人群(1=全部用户,2=年度会员,3=已有学员用户)" underline="true"/>
+ <#input id="quantityIssued" name="发放数量" underline="true"/>
+ <#input id="pickUpQuantity" name="限领数量" underline="true"/>
+ <#input id="startTime" name="开始时间"/>
+ </div>
+
+ <div class="col-sm-6">
+ <#input id="endTime" name="结束时间" underline="true"/>
+ <#input id="useScope" name="使用范围(1=全国,2=指定城市,3=指定门店)" underline="true"/>
+ <#input id="auditStatus" name="审核状态(1=待审核,2=已通过,3=已拒绝)" underline="true"/>
+ <#input id="auditUserId" name="审核人id" underline="true"/>
+ <#input id="auditRemark" name="审核备注" underline="true"/>
+ <#input id="status" name="状态(1=未开始,2=已开始,3=已结束,4=已取消)" underline="true"/>
+ <#input id="state" name="状态(1=正常,2=冻结,3=删除)" underline="true"/>
+ <#input id="insertTime" name="添加时间" underline="true"/>
+ <#input id="cover" name="封面图" underline="true"/>
+ <#input id="productImages" name="图片" underline="true"/>
+ <#input id="publisherType" name="发布人类型 1=城市管理者 2=平台管理者3=门店" underline="true"/>
+ <#input id="cityManagerId" name="城市管理者id" underline="true"/>
+ </div>
+ </div>
+
+ <div class="row btn-group-m-t">
+ <div class="col-sm-10">
+ <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TCouponInfoDlg.addSubmit()"/>
+ <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TCouponInfoDlg.close()"/>
+ </div>
+ </div>
+ </div>
+
+ </div>
+</div>
+<script src="${ctxPath}/static/modular/system/tCoupon/tCoupon_info.js"></script>
+@}
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/tCoupon_edit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/tCoupon_edit.html
new file mode 100644
index 0000000..e8e8c75
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/tCoupon_edit.html
@@ -0,0 +1,56 @@
+@layout("/common/_container.html"){
+<div class="ibox float-e-margins">
+ <div class="ibox-content">
+ <div class="form-horizontal">
+
+ <div class="row">
+ <div class="col-sm-6 b-r">
+ <#input id="id" name="主键" value="${item.id}" underline="true"/>
+ <#input id="name" name="优惠券名称" value="${item.name}" underline="true"/>
+ <#input id="type" name="优惠券类型(1=满减券,2=代金券,3=体验券)" value="${item.type}" underline="true"/>
+ <#input id="content" name="优惠券规则JSON
+格式:
+{
+ "conditionalAmount": 5,
+ "deductionAmount": 6.8,
+ "experienceName": ""
+}" value="${item.content}" underline="true"/>
+ <#input id="illustrate" name="优惠券说明" value="${item.illustrate}" underline="true"/>
+ <#input id="distributionMethod" name="发放方式(1=积分购买,2=注册赠送,3=自动发券)" value="${item.distributionMethod}" underline="true"/>
+ <#input id="redemptionMethod" name="兑换方式(1=积分,2=积分+现金)" value="${item.redemptionMethod}" underline="true"/>
+ <#input id="cash" name="所需现金" value="${item.cash}" underline="true"/>
+ <#input id="integral" name="所属积分" value="${item.integral}" underline="true"/>
+ <#input id="userPopulation" name="用户人群(1=全部用户,2=年度会员,3=已有学员用户)" value="${item.userPopulation}" underline="true"/>
+ <#input id="quantityIssued" name="发放数量" value="${item.quantityIssued}" underline="true"/>
+ <#input id="pickUpQuantity" name="限领数量" value="${item.pickUpQuantity}" underline="true"/>
+ <#input id="startTime" name="开始时间" value="${item.startTime}" />
+ </div>
+
+ <div class="col-sm-6">
+ <#input id="endTime" name="结束时间" value="${item.endTime}" underline="true"/>
+ <#input id="useScope" name="使用范围(1=全国,2=指定城市,3=指定门店)" value="${item.useScope}" underline="true"/>
+ <#input id="auditStatus" name="审核状态(1=待审核,2=已通过,3=已拒绝)" value="${item.auditStatus}" underline="true"/>
+ <#input id="auditUserId" name="审核人id" value="${item.auditUserId}" underline="true"/>
+ <#input id="auditRemark" name="审核备注" value="${item.auditRemark}" underline="true"/>
+ <#input id="status" name="状态(1=未开始,2=已开始,3=已结束,4=已取消)" value="${item.status}" underline="true"/>
+ <#input id="state" name="状态(1=正常,2=冻结,3=删除)" value="${item.state}" underline="true"/>
+ <#input id="insertTime" name="添加时间" value="${item.insertTime}" underline="true"/>
+ <#input id="cover" name="封面图" value="${item.cover}" underline="true"/>
+ <#input id="productImages" name="图片" value="${item.productImages}" underline="true"/>
+ <#input id="publisherType" name="发布人类型 1=城市管理者 2=平台管理者3=门店" value="${item.publisherType}" underline="true"/>
+ <#input id="cityManagerId" name="城市管理者id" value="${item.cityManagerId}" />
+ </div>
+ </div>
+
+ <div class="row btn-group-m-t">
+ <div class="col-sm-10">
+ <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TCouponInfoDlg.editSubmit()"/>
+ <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TCouponInfoDlg.close()"/>
+ </div>
+ </div>
+ </div>
+
+ </div>
+</div>
+<script src="${ctxPath}/static/modular/system/tCoupon/tCoupon_info.js"></script>
+@}
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add.html
index c538791..8d065f1 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add.html
@@ -57,17 +57,16 @@
<div class="col-sm-9">
<select class="form-control" id="account" name="account" onchange="TCarInfoDlg.oneChange1(this)">
<option value="">选择运营商</option>
+ @for(i in yysList){
+ <option value="${i.id}">${i.name}</option>
+ @}
</select>
</div>
</div>
<div class="form-group" id="provinceCode">
<label class="col-sm-3 control-label">所在省:</label>
<div class="col-sm-9">
- <select class="form-control" id="pCode" name="pCode" onchange="TCarInfoDlg.oneChange(this)">
- <option value="">选择省</option>
- @for(obj in list){
- <option value="${obj.code}">${obj.name}</option>
- @}
+ <select class="form-control" id="pCode" name="pCode" onchange="TCarInfoDlg.oneChange2(this)">
</select>
</div>
</div>
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add_one.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add_one.html
index 301ef2a..87fa3b5 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add_one.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add_one.html
@@ -12,7 +12,7 @@
</div>
<div class="form-group" style="margin-left:-410px">
<label class="col-sm-3 control-label">内容设置:</label>
- <#button name="添加" icon="fa-plus" clickFun="TCompetition.openAdd()"/>
+ <#button name="添加" icon="fa-plus" clickFun="TCompetition.openAdd(1)"/>
</div>
<#table id="TCompetitionOtherTable"/>
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add_three.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add_three.html
new file mode 100644
index 0000000..7379f20
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add_three.html
@@ -0,0 +1,134 @@
+@layout("/common/_container.html"){
+<div class="ibox float-e-margins">
+ <div class="ibox-content">
+ <div class="form-horizontal" id="carInfoForm">
+ <input id="id" value="${item.id}" hidden>
+ <input id="name1" value="${item.name}" hidden>
+
+
+ <#avatar id="url" name="图片(推荐像素宽度316px)" avatarImg="${item.url}"/>
+
+ <div class="input-group" style="margin-left: 342px;">
+ <div class="input-group-btn">
+ <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button">
+ 跳转模块
+ </button>
+ </div>
+ <select class="form-control" id="name" style="width: 400px;" onclick="updateType(this)">
+ <option value="不跳转">不跳转</option>
+ <option value="加入玩湃">加入玩湃</option>
+ <option value="开始课程">开始课程</option>
+ <option value="使用福利">使用福利</option>
+ <option value="探索玩湃">探索玩湃</option>
+ </select>
+ </div>
+
+ <div class="input-group" style="margin-left: 342px;" id="t1" hidden >
+ <div class="input-group-btn">
+ <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button">
+ 跳转页面
+ </button>
+ </div>
+ <select class="form-control" id="page" style="width: 400px;" onchange="updateOne(this)">
+ @for(obj in list){
+ <option value="${obj.id}" ${obj.id == item.pageId ? 'selected=selected' : ''}>${obj.name}</option>
+ @}
+ </select>
+ </div>
+
+ <div class="input-group" style="margin-left: 342px;" id="t2" >
+ <div class="input-group-btn">
+ <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button">
+ 跳转类型
+ </button>
+ </div>
+ <select class="form-control" id="type" style="width: 400px;" >
+ @for(obj in list1){
+ <option value="${obj.id}" ${obj.id == item.typeId ? 'selected=selected' : ''}>${obj.name}</option>
+ @}
+ </select>
+ </div>
+
+ <div class="form-group" id="t3" >
+ <label class="col-sm-3 control-label">跳转ID:</label>
+ <div class="col-sm-9">
+ <input class="form-control" id="turnId" name="turnId" type="text" style="width: 400px;" value="${item.turnId}">
+ </div>
+ </div>
+
+ <div class="form-group" id="t4" >
+ <label class="col-sm-3 control-label">排序:</label>
+ <div class="col-sm-9">
+ <input class="form-control" id="sort" name="sort" type="text" style="width: 400px;" value="${item.sort}">
+
+ </div>
+ </div>
+
+ </div>
+
+ <div class="row btn-group-m-t">
+ <div class="col-sm-10 col-sm-offset-5">
+ <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TCompetition.close()"/>
+ <#button btnCss="info" name="确认" id="ensure" icon="fa-check" clickFun="TCompetition.addSubmit3()"/>
+ </div>
+ </div>
+
+
+ </div>
+</div>
+<script src="${ctxPath}/modular/system/tShop/tShopOtherTwo.js"></script>
+<script>
+ laydate.render({
+ elem: '#time',
+ range:true
+ });
+
+ function updateType(e) {
+ let name = $("#name").val()
+ console.log(name
+ )
+ if(name =='不跳转'){
+ $("#t1").hide()
+ $("#t2").hide()
+ $("#t3").hide()
+ }else {
+ $("#t1").show()
+ $("#t2").show()
+ $("#t3").show()
+
+ var oneId=$(e).val();
+ var ajax = new $ax(Feng.ctxPath + "/tShop/typeChange", function(data){
+ if(data!=null){
+ var content;
+ $.each(data, function(k,v) {
+ content += "<option value='"+v.id+"'>"+v.name+"</option>";
+ });
+ $("#page").empty().append(content);
+ }
+ });
+ ajax.set("name",oneId);
+ ajax.start();
+ }
+ }
+
+
+ function updateOne(e) {
+ var oneId=$(e).val();
+ var ajax = new $ax(Feng.ctxPath + "/tShop/typeChangeOne", function(data){
+ if(data!=null){
+ var content1;
+ $.each(data, function(k,v) {
+ content1 += "<option value='"+v.id+"'>"+v.name+"</option>";
+ });
+ $("#type").empty().append(content1);
+ }
+ });
+ ajax.set("id",oneId);
+ ajax.start();
+ }
+
+ window.onload = function() {
+ $("#name").val($("#name1").val());
+ }
+</script>
+@}
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit.html
index 17ba78f..c793baf 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit.html
@@ -57,17 +57,18 @@
<label class="col-sm-3 control-label">所属运营商:</label>
<div class="col-sm-9">
<select class="form-control" id="account" name="account" onchange="TCarInfoDlg.oneChange1(this)">
- <option value="">选择运营商</option>
+ @for(obj in yysList){
+ <option value="${obj.id}" ${obj.id == item.operatorId ? 'selected=selected' : ''}>${obj.name}</option>
+ @}
</select>
</div>
</div>
<div class="form-group" id="provinceCode">
<label class="col-sm-3 control-label">所在省:</label>
<div class="col-sm-9">
- <select class="form-control" id="pCode" name="pCode" onchange="TCarInfoDlg.oneChange(this)">
- <option value="">选择省</option>
+ <select class="form-control" id="pCode" name="pCode" onchange="TCarInfoDlg.oneChange2(this)">
@for(obj in list){
- <option value="${obj.code}" ${obj.code == item.provinceCode ? 'selected=selected' : ''}>${obj.name}</option>
+ <option value="${obj.id}" ${obj.code == item.provinceCode ? 'selected=selected' : ''}>${obj.name}</option>
@}
</select>
</div>
@@ -75,10 +76,10 @@
<div class="form-group" id="cityCode">
<label class="col-sm-3 control-label">所在市:</label>
<div class="col-sm-9">
- <select class="form-control" id="cCode" name="cCode" onchange="TCarInfoDlg.oneChangeNext(this)">
+ <select class="form-control" id="cCode" name="cCode" >
<option value="">选择市</option>
@for(obj in list1){
- <option value="${obj.code}" ${obj.code == item.cityCode ? 'selected=selected' : ''}>${obj.name}</option>
+ <option value="${obj.id}" ${obj.code == item.cityCode ? 'selected=selected' : ''}>${obj.name}</option>
@}
</select>
</div>
@@ -86,6 +87,8 @@
@}
<#input id="name" name="门店名称" type="text" value="${item.name}"/>
<#input id="phone" name="联系电话" type="text" value="${item.phone}"/>
+ <div hidden id="longitude" value="${item.lon}"></div>
+ <div hidden id="latitude" value="${item.lat}"></div>
<div class="form-group">
<label class="col-sm-3 control-label">门店地址:</label>
<div class="col-sm-9">
@@ -155,15 +158,7 @@
range:true
});
- window.onload = function(){
- var OBJradio=document.getElementsByName("type")
- for(i=0;i<OBJradio.length;i++){//循环查找这个radio
- if($("#type").val()==OBJradio[i].value){//判断是否与radio的值相同
- OBJradio[i].checked=true//修改选中状态
- }
- }
- }
- let id = "https://evmoto.obs.ap-southeast-4.myhuaweicloud.com:443/b1d6f9e362414d1b895d916657776573.png,https://evmoto.obs.ap-southeast-4.myhuaweicloud.com:443/b1d6f9e362414d1b895d916657776573.png"
+ let id = "${item.realPicture}"
let obj = []
@@ -184,7 +179,9 @@
},
methods: {
handleAvatarSuccess(res, file) {
+ file.url =file.response
TCarInfoDlg.goodsPicArray.push(file);
+ console.log(TCarInfoDlg.goodsPicArray)
},
changeImg(){
var i = id.split(",")
@@ -192,7 +189,8 @@
let obj={
fileName:i[j],
uuid:i[j],
- url:i[j]
+ url:i[j],
+ response:i[j],
}
this.imageUrl2.push(obj)
@@ -210,10 +208,12 @@
TCarInfoDlg.goodsPicArray = TCarInfoDlg.goodsPicArray.filter(item => {
return item.uid != file.uid;
});
+
},
},
created() {
this.changeImg()
+ TCarInfoDlg.goodsPicArray = this.imageUrl2
},
});
@@ -227,6 +227,32 @@
}
}
+
+
+
+ window.onload = function(){
+ console.log("${item.operatorId}")
+ var OBJradio=document.getElementsByName("type")
+ if("${item.operatorId}"==0){
+ OBJradio[0].checked=true
+ }else {
+ OBJradio[1].checked=true
+ $("#yys").show()
+ }
+
+
+ var OBJradio=document.getElementsByName("ishalf")
+ if($("#type_").val()==1){
+ $("#halfCode").show()
+ }
+ for(i=0;i<OBJradio.length;i++){//循环查找这个radio
+ if($("#type_").val()==OBJradio[i].value){//判断是否与radio的值相同
+ OBJradio[i].checked=true//修改选中状态
+ }
+ }
+
+
+ }
</script>
<script type="application/javascript">
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit_one.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit_one.html
new file mode 100644
index 0000000..e8ea2a9
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit_one.html
@@ -0,0 +1,42 @@
+@layout("/common/_container.html"){
+<div class="ibox float-e-margins">
+ <div class="ibox-content">
+ <div class="form-horizontal" id="carInfoForm">
+ <input id="id" value="${id}" hidden>
+ <div class="form-group" style="margin-left:-410px">
+ <label class="col-sm-3 control-label">板块名称:</label>
+ <div class="col-sm-9">
+ <input class="form-control" id="name" name="name" type="text" style="width: 400px;" value="${item.name}">
+
+ </div>
+ </div>
+ <div class="form-group" style="margin-left:-410px">
+ <label class="col-sm-3 control-label">内容设置:</label>
+ <#button name="添加" icon="fa-plus" clickFun="TCompetition.openAdd(2)"/>
+ </div>
+ <#table id="TCompetitionOtherTable"/>
+
+ </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="TCompetition.addSubmit4()"/>
+ <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TCompetition.close()"/>
+ </div>
+</div>
+
+ </div>
+
+ </div>
+</div>
+<script src="${ctxPath}/modular/system/tShop/tShopOtherTwo.js"></script>
+<script>
+ laydate.render({
+ elem: '#time',
+ range:true
+ });
+
+
+</script>
+@}
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit_three.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit_three.html
new file mode 100644
index 0000000..0674a16
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit_three.html
@@ -0,0 +1,124 @@
+@layout("/common/_container.html"){
+<div class="ibox float-e-margins">
+ <div class="ibox-content">
+ <div class="form-horizontal" id="carInfoForm">
+
+ <input id="id" value="${id}" hidden>
+ <#avatar id="url" name="图片(推荐像素宽度316px)"/>
+
+ <div class="input-group" style="margin-left: 342px;">
+ <div class="input-group-btn">
+ <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button">
+ 跳转模块
+ </button>
+ </div>
+ <select class="form-control" id="name" style="width: 400px;" onclick="updateType(this)">
+ <option value="" selected disabled>选择跳转模块</option>
+ <option value="不跳转">不跳转</option>
+ <option value="加入玩湃">加入玩湃</option>
+ <option value="开始课程">开始课程</option>
+ <option value="使用福利">使用福利</option>
+ <option value="探索玩湃">探索玩湃</option>
+ </select>
+ </div>
+
+ <div class="input-group" style="margin-left: 342px;" id="t1" hidden >
+ <div class="input-group-btn">
+ <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button">
+ 跳转页面
+ </button>
+ </div>
+ <select class="form-control" id="page" style="width: 400px;" onchange="updateOne(this)">
+
+ </select>
+ </div>
+
+ <div class="input-group" style="margin-left: 342px;" id="t2" >
+ <div class="input-group-btn">
+ <button data-toggle="dropdown" class="btn btn-white dropdown-toggle" type="button">
+ 跳转类型
+ </button>
+ </div>
+ <select class="form-control" id="type" style="width: 400px;" >
+
+ </select>
+ </div>
+
+ <div class="form-group" id="t3" >
+ <label class="col-sm-3 control-label">跳转ID:</label>
+ <div class="col-sm-9">
+ <input class="form-control" id="turnId" name="turnId" type="text" style="width: 400px;">
+ </div>
+ </div>
+
+ <div class="form-group" id="t4" >
+ <label class="col-sm-3 control-label">排序:</label>
+ <div class="col-sm-9">
+ <input class="form-control" id="sort" name="sort" type="text" style="width: 400px;">
+
+ </div>
+ </div>
+
+ </div>
+
+ <div class="row btn-group-m-t">
+ <div class="col-sm-10 col-sm-offset-5">
+ <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TCompetition.close()"/>
+ <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="TCompetition.addSubmit3()"/>
+ </div>
+ </div>
+
+
+ </div>
+ <script src="${ctxPath}/modular/system/tShop/tShopOtherTwo.js"></script>
+ <script>
+ laydate.render({
+ elem: '#time',
+ range:true
+ });
+
+ function updateType(e) {
+ let name = $("#name").val()
+ console.log(name
+ )
+ if(name =='不跳转'){
+ $("#t1").hide()
+ $("#t2").hide()
+ $("#t3").hide()
+ }else {
+ $("#t1").show()
+ $("#t2").show()
+ $("#t3").show()
+
+ var oneId=$(e).val();
+ var ajax = new $ax(Feng.ctxPath + "/tShop/typeChange", function(data){
+ if(data!=null){
+ var content;
+ $.each(data, function(k,v) {
+ content += "<option value='"+v.id+"'>"+v.name+"</option>";
+ });
+ $("#page").empty().append(content);
+ }
+ });
+ ajax.set("name",oneId);
+ ajax.start();
+ }
+ }
+
+
+ function updateOne(e) {
+ var oneId=$(e).val();
+ var ajax = new $ax(Feng.ctxPath + "/tShop/typeChangeOne", function(data){
+ if(data!=null){
+ var content1;
+ $.each(data, function(k,v) {
+ content1 += "<option value='"+v.id+"'>"+v.name+"</option>";
+ });
+ $("#type").empty().append(content1);
+ }
+ });
+ ajax.set("id",oneId);
+ ajax.start();
+ }
+ </script>
+ @}
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_imgAll.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_imgAll.html
index bd5cfc4..2df1d24 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_imgAll.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_imgAll.html
@@ -182,12 +182,12 @@
</div>
- <div>首页其他板块设置</div>
+ <div style="font-size: x-large;">首页其他板块设置</div>
<#button name="添加" icon="fa-plus" clickFun="TCompetition.openAddTCompetition(id)"/>
- <#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-edit" clickFun="TCompetition.openTCompetitionDetail1()" space="true"/>
+ <#button name="删除" icon="fa-remove" clickFun="TCompetition.del()" space="true"/>
+ <#button name="开启" icon="fa-remove" clickFun="TCompetition.unfreeze1(1)" space="true"/>
+ <#button name="关闭" icon="fa-remove" clickFun="TCompetition.unfreeze1(2)" space="true"/>
<#table id="TCompetitionOtherTable"/>
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tSite/TSite_add.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tSite/TSite_add.html
index 834906e..4423bc2 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tSite/TSite_add.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tSite/TSite_add.html
@@ -52,13 +52,13 @@
<div class="form-group" >
<label class="col-sm-3 control-label">*所属运营商:</label>
<div class="col-sm-8">
- <select style="width: 300px" class="form-control" id="yys" name="yys" onchange="TSite.oneChangeYys(2)">
+ <select style="width: 300px" class="form-control" id="yys" name="yys" onchange="TSite.oneChangeYys(this)">
<option style="width: 300px" value="">选择运营商</option>
@for(obj in yysList){
<option style="width: 300px" value="${obj.id}">${obj.name}</option>
@}
</select>
- <input type="checkbox" value="0" name="pt">平台</input>
+ <input type="checkbox" value="0" name="pt" onchange="TSite.oneChangeYys(this)">平台</input>
</div>
</div>
@}
@@ -72,7 +72,7 @@
<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="siteTypeOne" name = "typeId">
+ <select style="width: 300px" class="form-control" id="siteTypeOne" name = "typeId" onchange="updateTime1()">
<option value="普通场地">普通场地</option>
<option value="智慧场地">智慧场地</option>
</select>
@@ -95,9 +95,9 @@
<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">
+ <input style="width: 136px;" value="开始时间" id="start-time" class="form-control" type="time" onchange="updateTime(1)">
<span style="margin-top: 7px"> 至 </span>
- <input style="width: 136px;" value="结束时间" id="end-time" class="form-control" type="time">
+ <input style="width: 136px;" value="结束时间" id="end-time" class="form-control" type="time" onchange="updateTime(2)">
</div>
</div>
@@ -192,7 +192,7 @@
</div>
@}
@if(objectType==1){
- <#input style="width: 300px" id="name" name="*添加闸机:" placeholder="请输入闸机ID" type="text"/>
+ <#input style="width: 300px" id="ids" name="*添加闸机:" placeholder="请输入闸机ID" type="text"/>
@}
<div class="form-group" style=" margin-left: 17%;" >
<label class="col-sm-1 control-label">场地说明:</label>
@@ -220,6 +220,47 @@
<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() {
+ },
+ });
+ laydate.render({
+ elem: '#start-time', type: "time", format: "HH:mm", ready: formatminutes
+ });
+ laydate.render({
+ elem: '#end-time'
+ , type: "time", format: "HH:mm", ready: formatminutes
+ });
function addBox() {
var a=" <div class=\"col-sm-8 control-label\" id=\"far\">\n" +
@@ -310,5 +351,65 @@
endTime.disabled = true;
}
});
+ function updateTime1() {
+ $("#end-time").val('');
+ $("#start-time").val('');
+ }
+
+ function updateTime(e) {
+ let one = $("#siteTypeOne").val()
+ var timeInputs = document.querySelectorAll('input[type="time"]');
+ console.log(timeInputs)
+ var selectedTime='';
+ if(e==1){
+ var selectedTime = $("#start-time").val();
+ }else {
+ var selectedTime = $("#end-time").val();
+ }
+
+
+ var hour = selectedTime.split(':')[0];
+ var minute = selectedTime.split(':')[1];
+ if(one=="普通场地"){
+ console.log(
+ one
+ )
+ if (minute < 30 &&minute>0) {
+ minute = '30';
+ } else if (minute >30) {
+ hour++;
+ minute = '00';
+ if (hour<10){
+ hour = '0'+hour;
+ }
+ }
+ }else {
+ console.log(
+ one,minute
+ )
+ if (minute <= 15 && minute>0) {
+ console.log(1)
+ minute = '15';
+ }else if(minute<=30){
+ console.log(2)
+ minute = '30';
+ }else if(minute<=45){
+ console.log(3)
+ minute = '45';
+ }else if (minute >45) {
+ console.log(4)
+ hour++;
+ minute = '00';
+ if (hour<10){
+ hour = '0'+hour;
+ }
+ }
+ }
+ if(e==1){
+ $("#start-time").val(hour + ':' + minute)
+ }else {
+ $("#end-time").val(hour + ':' + minute)
+ }
+ }
</script>
@}
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tSite/TSite_edit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tSite/TSite_edit.html
index a608a3d..735ca1a 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tSite/TSite_edit.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tSite/TSite_edit.html
@@ -1,41 +1,64 @@
@layout("/common/_container.html"){
<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script>
+<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>
<div class="ibox float-e-margins">
<div class="ibox-content">
<div class="form-horizontal" id="carInfoForm">
+ <input id="type_" value="${list.ishalf}" hidden>
+
@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>
+ <label class="col-sm-3 control-label">*所属运营商:</label>
+ <div class="col-sm-8">
+ <select style="width: 300px" class="form-control" id="yys" name="yys" onchange="TSiteInfo.oneChangeYys(this)">
+ <option style="width: 300px" value="">选择运营商</option>
+ @for(obj in yysList){
+ <option value="${obj.id}" ${obj.id == list.operatorId ? 'selected=selected' : ''}>${obj.name}</option>
@}
</select>
+ <input type="checkbox" value="0" name="pt" id="pt" onchange="TSiteInfo.oneChangeYys(this)">平台</input>
</div>
</div>
@}
@@ -92,6 +115,64 @@
</div>
</div>
+ <div class="form-group" id="siteMore" style=" margin-left: 255px;">
+ <div class="form-group">多场地配置:<i class="fa fa-plus" onclick="addBox()"></i></div>
+ @for(n in nextNames){
+ <div class="col-sm-8 control-label" id="far">
+ <label class="col-sm-2 control-label">*单个场地名</label>
+ <div class="col-sm-3">
+ <input type="text" name="name1" class="form-control newWidth" value="${n}"/>
+ </div>
+ <div class="col-sm-1">
+ <i class="col-sm-1 fa fa-remove" onclick="delBox(this)" style="margin-top:10px"></i>
+ </div>
+ </div>
+ @}
+ </div>
+
+
+ <div class="form-group">
+ <label class="col-sm-3 control-label">是否可预定半场:</label>
+ <div class="col-sm-9">
+ <input type="radio" name="ishalf" value="2" checked onclick="updateHalf(1)"> 否
+ <input type="radio" name="ishalf" value="1" onclick="updateHalf(2)"> 是
+ </div>
+ </div>
+ <div id="halfCode" hidden>
+ <div class="form-group" style="margin-left: 100px;" >
+ <label class="col-sm-3 control-label">*现金价格:</label>
+ <div class="col-sm-9" style="display: flex;">
+ <input style="width: 300px" class="form-control" id="cashPriceOne" name="playPaiCoin" placeholder="请输入价格" type="text" value="${list.cashPriceOne}">
+ <span style="margin-left: 5px;margin-top: 5px">元/半小时</span>
+ </div>
+ </div>
+
+ <div class="form-group" style="margin-left: 100px;">
+ <label class="col-sm-3 control-label">*玩湃币价格:</label>
+ <div class="col-sm-9" style="display: flex;">
+ <input style="width: 300px" class="form-control" id="playPaiCoinOne" name="playPaiCoin" placeholder="请输入价格" type="text" value="${list.playPaiCoinOne}">
+ <span style="margin-left: 5px;margin-top: 5px">币/半小时</span>
+ </div>
+ </div>
+
+
+ <div class="form-group" id="halfName" >
+ <label class="col-sm-3 control-label">*半场名称:</label>
+ <div class="col-sm-8" style="display: flex;">
+ <input style="width: 240px" class="form-control" name="name2" type="text" value="${halfName}"><i class="fa fa-plus" onclick="addBox1()" style="margin-left: 32px;margin-top: 10px;"></i>
+ </div>
+ </div>
+ @for(h in halfNames){
+ <div class="form-group" >
+ <label class="col-sm-3 control-label">*半场名称:</label>
+ <div class="col-sm-8" style="display: flex;">
+ <input style="width: 240px" class="form-control" name="name2" type="text" value="${h}"> <i class="col-sm-1 fa fa-remove" onclick="delBox(this)" style="margin-top:10px"></i>
+ </div>
+ </div>
+ @}
+ </div>
+
+
<div class="form-group">
<label class="col-sm-3 control-label">*场地责任险有效期:</label>
<div class="col-sm-9">
@@ -121,12 +202,13 @@
action="/tCouponManage/uploadPic"
list-type="picture-card"
accept="."
+ :file-list="imageUrl2"
: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="">
+ <img width="100%" :src="imageUrl2" alt="">
</el-dialog>
</div>
</div>
@@ -134,8 +216,19 @@
@}
</div>
@if(objectType==1){
- <#input style="width: 300px" id="name" name="*添加闸机:" placeholder="请输入闸机ID" type="text"/>
+ <div class="form-group" style="margin-left: 205px;">
+ <label class="col-sm-1 control-label">*添加闸机:</label>
+ <div class="col-sm-9">
+ <input class="form-control" id="ids" name="ids" value="${list.ids}" type="text" style="width: 300px" placeholder="请输入闸机ID">
+ </div>
+ </div>
@}
+ <div class="form-group" style="margin-left: 13%;display: inline-flex;margin-top: 16px;" >
+ <label class="col-sm-2 control-label">场地说明:</label>
+ <div class="col-sm-5" style="margin-left: -35px;">
+ <textarea type="text/plain" id="editor" style="height: 300px;width: 800px;">${list.introduce}</textarea>
+ </div>
+ </div>
<div class="row btn-group-m-t">
<div class="col-sm-10 col-sm-offset-5" >
@if(type==1){
@@ -156,6 +249,9 @@
<script src="${ctxPath}/js/elementui/index.js"></script>
<link rel="stylesheet" href="${ctxPath}/js/elementui/index.css">
<script>
+ let id = "${list.imgs}"
+ let obj = []
+
var vue2 = new Vue({
el: '#app1',
props: {
@@ -168,11 +264,26 @@
data: {
autoUpload: true,//自动上传
imageUrl1: '',//模型数据,用于上传图片完成后图片预览
+ imageUrl2: [],
dialogVisible: false
},
methods: {
handleAvatarSuccess(res, file) {
- TCarInfoDlg.goodsPicArray.push(file);
+ file.url =file.response
+ TSiteInfo.goodsPicArray.push(file);
+ },
+ changeImg(){
+ var i = id.split(",")
+ for (let j = 0; j <i.length; j++) {
+ let obj={
+ fileName:i[j],
+ uuid:i[j],
+ url:i[j],
+ response:i[j],
+ }
+ this.imageUrl2.push(obj)
+
+ }
},
beforeAvatarUpload(file) {
const isLt2M = file.size / 1024 / 1024 < 10;
@@ -182,14 +293,17 @@
return isLt2M;
},
handleRemove(file, fileList) {
- TCarInfoDlg.goodsPicArray = TCarInfoDlg.goodsPicArray.filter(item => {
+ TSiteInfo.goodsPicArray = TSiteInfo.goodsPicArray.filter(item => {
return item.uid != file.uid;
});
},
},
created() {
+ this.changeImg()
+ TSiteInfo.goodsPicArray = this.imageUrl2
},
});
+
var selectElement = document.getElementById('store');
var startTime = document.getElementById('start-time');
var endTime = document.getElementById('end-time');
@@ -203,5 +317,60 @@
endTime.disabled = true;
}
});
+
+
+ window.onload = function(){
+ console.log("${list.operatorId}")
+ if("${list.operatorId}"==0){
+ console.log(233232)
+ $("#pt").attr('checked', true)
+ }
+
+
+ var OBJradio=document.getElementsByName("ishalf")
+ if($("#type_").val()==1){
+ $("#halfCode").show()
+ }
+ for(i=0;i<OBJradio.length;i++){//循环查找这个radio
+ if($("#type_").val()==OBJradio[i].value){//判断是否与radio的值相同
+ OBJradio[i].checked=true//修改选中状态
+ }
+ }
+
+
+ }
+
+ function addBox1() {
+ var a=" <div class=\"col-sm-8 control-label\" id=\"far\" style=\"margin-left: 210px;\">\n" +
+ " <label class=\"col-sm-2 control-label\">*半场名称:</label>\n" +
+ " <div class=\"col-sm-3\">\n" +
+ " <input type=\"text\" name=\"name2\" class=\"form-control newWidth\" style=\"margin-left: 8px;width: 240px;\"/> \n" +
+ " </div> \n" +
+ " <div class=\"col-sm-1\">\n" +
+ " <i class=\"col-sm-1 fa fa-remove\" onclick=\"delBox(this)\" style=\"margin-top:10px\"></i>\n" +
+ " </div> \n" +
+ " </div> "
+
+
+ $("#halfName").append($(a))
+ }
+ function addBox() {
+ var a=" <div class=\"col-sm-8 control-label\" id=\"far\">\n" +
+ " <label class=\"col-sm-2 control-label\">*单个场地名</label>\n" +
+ " <div class=\"col-sm-3\">\n" +
+ " <input type=\"text\" name=\"name1\" class=\"form-control newWidth\" /> \n" +
+ " </div> \n" +
+ " <div class=\"col-sm-1\">\n" +
+ " <i class=\"col-sm-1 fa fa-remove\" onclick=\"delBox(this)\" style=\"margin-top:10px\"></i>\n" +
+ " </div> \n" +
+ " </div> "
+
+
+ $("#siteMore").append($(a))
+ }
+
+ function delBox(o) {
+ $(o).parent("div").parent("div").remove()
+ }
</script>
@}
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/banckmoney.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/banckmoney.html
new file mode 100644
index 0000000..a148919
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/banckmoney.html
@@ -0,0 +1,347 @@
+<!DOCTYPE html>
+<html lang="zh">
+<head>
+ <meta charset="UTF-8" />
+ <title>amis demo</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta
+ name="viewport"
+ content="width=device-width, initial-scale=1, maximum-scale=1"
+ />
+ <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
+ <link rel="stylesheet" href="${ctxPath}/sdk/sdk.css" />
+ <link rel="stylesheet" href="${ctxPath}/sdk/helper.css" />
+ <link rel="stylesheet" href="${ctxPath}/sdk/iconfont.css" />
+ <!-- 这是默认主题所需的,如果是其他主题则不需要 -->
+ <!-- 从 1.1.0 开始 sdk.css 将不支持 IE 11,如果要支持 IE11 请引用这个 css,并把前面那个删了 -->
+ <!-- <link rel="stylesheet" href="sdk-ie11.css" /> -->
+ <!-- 不过 amis 开发团队几乎没测试过 IE 11 下的效果,所以可能有细节功能用不了,如果发现请报 issue -->
+ <style>
+ html,
+ body,
+ .app-wrapper {
+ position: relative;
+ width: 100%;
+ height: 100%;
+ margin: 0;
+ padding: 0;
+ }
+ th {
+ background-color: white;
+ }
+ </style>
+</head>
+<body>
+<div id="root" class="app-wrapper"></div>
+<script src="${ctxPath}/sdk/sdk.js"></script>
+<script type="text/javascript">
+ (function () {
+ let amis = amisRequire('amis/embed');
+ // 通过替换下面这个配置来生成不同页面
+ let amisJSON = {
+ "type": "page",
+ "title": "",
+ "body": [
+ {
+ "type": "form",
+ "title": "表单",
+ "body": [
+ {
+ "label": "文本",
+ "type": "input-text",
+ "name": "id",
+ "id": "u:99d3d8869d55"
+ },
+ {
+ "label": "文本",
+ "type": "input-text",
+ "name": "ids",
+ "id": "u:5b12dc7c90"
+ }
+ ],
+ "api": {
+ "url": "ttt",
+ "method": "post",
+ "requestAdaptor": "",
+ "adaptor": "",
+ "messages": {},
+ "dataType": "form"
+ },
+ "id": "u:285d560cf7ab"
+ },
+ {
+ "type": "property",
+ "id": "u:844144d9d3d8",
+ "title": "学员课包退费申请表",
+ "items": [
+ {
+ "label": "用户姓名",
+ "content": `${userName}`,
+ "span": 1
+ },
+ {
+ "label": "学员姓名",
+ "content": `${tStudentDto.name}`,
+ "span": 1
+ },
+ {
+ "label": "性别",
+ "content": `${tStudentDto.sex == 1 ? '男':'女'}`,
+ "span": 1
+ },
+ {
+ "label": "申请时间",
+ "content": `${reDate}`,
+ "span": 3
+ },
+ {
+ "label": "联系电话",
+ "content": `${tStudentDto.phone}`,
+ "span": 1
+ },
+ {
+ "label": "收款户名",
+ "content": "",
+ "span": 2
+ },
+ {
+ "label": "收款账号",
+ "content": "",
+ "span": 3
+ },
+ {
+ "label": "银行开户行",
+ "content": "",
+ "span": 8
+ },
+ {
+ "label": "申请推费原因",
+ "content": "",
+ "span": 8
+ },
+ {
+ "label": "课包项目明细",
+ "content": "",
+ "span": 8
+ }
+ @for(pay in coursePackagePayments){
+ ,
+ {
+ "label": "",
+ "span": 1,
+ "content": '课包明细'+`${index++}`
+ },
+ {
+ "label": "课包编号",
+ "content": `${pay.id}`,
+ "span": 2
+ },
+ {
+ "label": "课包名称",
+ "content": `${pay.name}`,
+ "span": 1
+ },
+ {
+ "label": "物品赠送",
+ "content": "",
+ "span": 2
+ },
+ {
+ "label": "",
+ "content": "",
+ "span": 1
+ },
+ {
+ "label": "课包总课时",
+ "content": `${pay.totalClassHours}`,
+ "span": 1
+ },
+ {
+ "label": "课包单价",
+ "content": `${pay.onePrice}`,
+ "span": 1
+ },
+ {
+ "label": "课包总金额",
+ "content": `${pay.cashPayment}`,
+ "span": 3
+ },
+ {
+ "label": "",
+ "content": "",
+ "span": 1
+ },
+ {
+ "label": "已学课时",
+ "content": `${pay.hasHours}`,
+ "span": 1
+ },
+ {
+ "label": "剩余课时",
+ "content": `${pay.laveClassHours}`,
+ "span": 1
+ },
+ {
+ "label": "剩余课时金额",
+ "content": `${pay.restPrice}`,
+ "span": 3
+ },
+ {
+ "label": "",
+ "content": "",
+ "span": 1
+ },
+ {
+ "label": "合计",
+ "content": `${countAll}`,
+ "span": 1
+ },
+ {
+ "label": "大写",
+ "content": `${allprice}`,
+ "span": 4
+ }
+
+ @}
+ ,
+ {
+ "label": "",
+ "content": "申请退费",
+ "span": 1
+ },
+ {
+ "label": "申请退费金额",
+ "content": "${countAll}",
+ "span": 1
+ },
+ {
+ "label": "物品赠送",
+ "content": "",
+ "span": 1
+ },
+ {
+ "label": "手续费",
+ "content": "",
+ "span": 3
+ },
+ {
+ "label": "",
+ "content": "",
+ "span": 1
+ },
+ {
+ "label": "实际退费",
+ "content": "",
+ "span": 1
+ },
+ {
+ "label": "大写",
+ "content": "",
+ "span": 4
+ },
+ {
+ "label": "申请人签字",
+ "content": "",
+ "span": 2
+ },
+ {
+ "label": "店长意见及签字",
+ "content": {
+ "type": "tpl",
+ "tpl": "<br/><br/></pre>",
+ "id": "u:c14b6d167a7c"
+ },
+ "span": 4
+ },
+ {
+ "label": "退费记录",
+ "content": {
+ "type": "tpl",
+ "tpl": "<br/><br/></pre>",
+ "id": "u:c14b6d167a7c"
+ },
+ "span": 6
+ },
+ {
+ "label": "备注",
+ "content": {
+ "type": "tpl",
+ "tpl": "<br/><br/></pre>",
+ "id": "u:c14b6d167a7c"
+ },
+ "span": 1
+ }
+ ],
+ "column": 6,
+ "mode": "table",
+
+ "className": "font-bold"
+ },
+ {
+ "type": "flex",
+ "className": "p-1",
+ "items": [
+ {
+ "type": "button",
+ "id": "u:6c0b8f917bf7",
+ "label": "关闭",
+ "onEvent": {
+ "click": {
+ "actions": [{
+ "actionType": "custom",
+ "args": {},
+ "script": "window.close()"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "type": "button",
+ "id": "u:6c0b8f917bf7",
+ "label": "导出",
+ "level":"info",
+ "onEvent": {
+ "click": {
+ "actions": [
+ {
+ "script": "\r\nwindow.print()",
+ "actionType": "custom"
+ },
+ {
+ "componentId": "u:285d560cf7ab",
+ "actionType": "submit"
+ },
+ {
+ "actionType": "custom",
+ "args": {},
+ "script": "window.close()"
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "style": {
+ "position": "relative"
+ },
+ "id": "u:8254704349a2"
+ }
+ ],
+ "id": "u:fea3d370178c"
+ };
+ let amisScoped = amis.embed('#root', amisJSON);
+
+
+ })();
+
+ function test(){
+ console.log("测试成功")
+ }
+
+ var myButton = document.getElementById("ttt");
+ myButton.addEventListener("click",test);
+</script>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/classelct.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/classelct.html
new file mode 100644
index 0000000..5fbc47d
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/classelct.html
@@ -0,0 +1,283 @@
+<!DOCTYPE html>
+<html lang="zh">
+<head>
+ <meta charset="UTF-8" />
+ <title>amis demo</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta
+ name="viewport"
+ content="width=device-width, initial-scale=1, maximum-scale=1"
+ />
+ <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
+ <link rel="stylesheet" href="${ctxPath}/sdk/sdk.css" />
+ <link rel="stylesheet" href="${ctxPath}/sdk/helper.css" />
+ <link rel="stylesheet" href="${ctxPath}/sdk/iconfont.css" />
+ <!-- 这是默认主题所需的,如果是其他主题则不需要 -->
+ <!-- 从 1.1.0 开始 sdk.css 将不支持 IE 11,如果要支持 IE11 请引用这个 css,并把前面那个删了 -->
+ <!-- <link rel="stylesheet" href="sdk-ie11.css" /> -->
+ <!-- 不过 amis 开发团队几乎没测试过 IE 11 下的效果,所以可能有细节功能用不了,如果发现请报 issue -->
+ <style>
+ html,
+ body,
+ .app-wrapper {
+ position: relative;
+ width: 100%;
+ height: 100%;
+ margin: 0;
+ padding: 0;
+ }
+ </style>
+</head>
+<body>
+<div id="root" class="app-wrapper"></div>
+<script src="${ctxPath}/sdk/sdk.js"></script>
+<script type="text/javascript">
+ (function () {
+ let amis = amisRequire('amis/embed');
+ // 通过替换下面这个配置来生成不同页面
+ let amisJSON ={
+ "type": "page",
+ "title": "",
+ "body": [
+ {
+ "type": "form",
+ "title": "",
+ "body": [
+ {
+ "type": "tpl",
+ "tpl": "                                            ",
+ "inline": true,
+ "wrapperComponent": "",
+ "id": "u:5b414d7db416"
+ },
+ {
+ "type": "tpl",
+ "id": "u:5b414d7db416",
+ "inline": true,
+ "tpl": "                                            ",
+ "wrapperComponent": ""
+ },
+ {
+ "type": "tpl",
+ "id": "u:5b414d7db416",
+ "tpl": "                                                                          ",
+ "inline": true,
+ "wrapperComponent": ""
+ },
+ {
+ "type": "flex",
+ "items": [
+ {
+ "type": "tpl",
+ "tpl": "课包种类",
+ "id": "u:55654c208e7a",
+ "inline": true,
+ "wrapperComponent": "h2"
+ }
+ ],
+ "id": "u:0623e832135d",
+ "style": {
+ "position": "static",
+ "flexWrap": "nowrap",
+ "flexDirection": "row",
+ "justifyContent": "center",
+ "overflowY": "auto"
+ },
+ "isFixedHeight": false,
+ "isFixedWidth": false
+ },
+ {
+ "type": "flex",
+ "items": [
+ {
+ "type": "radios",
+ "id": "u:afa09262555b",
+ "inline": true,
+ "label": " 请选择:",
+ "name": "radios",
+ "options": [
+ {
+ "label": "常规课程",
+ "value": "1"
+ },
+ {
+ "label": "假期课程",
+ "value": "2"
+ },
+ {
+ "label": "体验课程",
+ "value": "3"
+ }
+ ],
+ "mode": "inline",
+ "value": "A",
+ "horizontal": {
+ "left": 1,
+ "right": 11
+ }
+ }
+ ],
+ "id": "u:f7852087ea18",
+ "style": {
+ "position": "static",
+ "flexWrap": "nowrap",
+ "flexDirection": "row",
+ "justifyContent": "center",
+ "overflowY": "auto"
+ },
+ "isFixedHeight": false,
+ "isFixedWidth": false
+ },
+ {
+ "type": "flex",
+ "items": [
+ {
+ "type": "tpl",
+ "id": "u:5035e51732f1",
+ "inline": true,
+ "tpl": "1.常规课程:设置课时扣课的常规课程包。",
+ "wrapperComponent": "h3"
+ }
+ ],
+ "id": "u:ba0c4f9a5fc3",
+ "style": {
+ "position": "static",
+ "flexWrap": "nowrap",
+ "flexDirection": "row",
+ "justifyContent": "space-around",
+ "overflowY": "auto"
+ },
+ "isFixedHeight": false,
+ "isFixedWidth": false
+ },
+ {
+ "type": "flex",
+ "items": [
+ {
+ "type": "tpl",
+ "id": "u:fc5edd1fd19a",
+ "inline": true,
+ "tpl": "                  2.假期课程:预设时间段上课,时间到期课程既结束。",
+ "wrapperComponent": "h3"
+ }
+ ],
+ "id": "u:d23c02e12b83",
+ "style": {
+ "position": "static",
+ "flexWrap": "nowrap",
+ "flexDirection": "row",
+ "justifyContent": "space-around",
+ "overflowY": "auto"
+ },
+ "isFixedHeight": false,
+ "isFixedWidth": false
+ },
+ {
+ "type": "flex",
+ "items": [
+ {
+ "type": "tpl",
+ "id": "u:c519152df166",
+ "inline": true,
+ "tpl": "3.体验课程:单次购买的课程。                  ",
+ "wrapperComponent": "h3"
+ }
+ ],
+ "id": "u:c720cb31edf8",
+ "style": {
+ "position": "static",
+ "flexWrap": "nowrap",
+ "flexDirection": "row",
+ "justifyContent": "space-around",
+ "overflowY": "auto"
+ },
+ "isFixedHeight": false,
+ "isFixedWidth": false
+ },
+ {
+ "type": "flex",
+ "items": [
+ {
+ "type": "button",
+ "id": "u:5b4f1fa2ae10",
+ "label": "确认",
+ "onEvent": {
+ "click": {
+ "actions": [
+ {
+ "actionType": "url",
+ "args": {
+ "url": "/coursePackage/openAddCoursePackage?type=$radios",
+ "blank": false
+ }
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "id": "u:43e7d3d6e5f7",
+ "style": {
+ "position": "static",
+ "flexWrap": "nowrap",
+ "flexDirection": "row",
+ "justifyContent": "space-around",
+ "overflowY": "auto"
+ },
+ "isFixedHeight": false,
+ "isFixedWidth": false
+ },
+ {
+ "type": "tpl",
+ "id": "u:5b414d7db416",
+ "tpl": "                                                                                                  ",
+ "inline": true,
+ "wrapperComponent": ""
+ },
+ {
+ "type": "button",
+ "label": "确认",
+ "onEvent": {
+ "click": {
+ "actions": [
+ {
+ "actionType": "url",
+ "args": {
+ "url": "/coursePackage/openAddCoursePackage?type=$radios",
+ "blank": false
+ }
+ }
+ ]
+ }
+ },
+ "id": "u:5b4f1fa2ae10"
+ }
+ ],
+ "id": "u:339c517e4f3c",
+ "api": {
+ "url": "/coursePackage/openAddCoursePackage?$radios",
+ "method": "get",
+ "requestAdaptor": "",
+ "adaptor": "",
+ "messages": {
+ }
+ }
+ }
+ ],
+ "id": "u:039339c3720d"
+ };
+ let amisScoped = amis.embed('#root', amisJSON);
+
+
+ })();
+
+ function test(){
+ console.log("测试成功")
+ }
+
+ var myButton = document.getElementById("ttt");
+ myButton.addEventListener("click",test);
+</script>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudentEdit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudentEdit.html
index 68e832b..ced5d12 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudentEdit.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudentEdit.html
@@ -52,7 +52,8 @@
"size": "md",
"mode": "horizontal",
"hidden": true,
- "value":`${item.id!}`
+ "value":`${item.id!}`,
+
},
{
"type": "input-text",
@@ -61,7 +62,7 @@
"name": "id",
"size": "md",
"mode": "horizontal",
- "hidden": false
+ "hidden": true
},
{
"type": "tpl",
@@ -78,16 +79,19 @@
"size": "md",
"mode": "horizontal",
"required": true,
- "disabled": true
+ "disabled": true,
+ "value":`${item.userName!}`
},
{
"type": "input-text",
"label": "       姓名",
"id": "u:0b2463bbffe8",
- "name": "name",
+ "name": "name1",
"size": "md",
"mode": "horizontal",
- "required": true
+ "required": true,
+ "value":`${item.name!}`,
+ "disabled": true,
},
{
"type": "input-date",
@@ -99,7 +103,9 @@
"embed": false,
"format": "YYYY-MM-DD hh:mm:ss",
"inputFormat": "YYYY-MM-DD",
- "required": true
+ "required": true,
+ "value":`${item.birthday!}`,
+ "disabled": true,
},
{
"type": "select",
@@ -119,12 +125,14 @@
}
],
"multiple": false,
- "required": true
+ "required": true,
+ "value":`${item.sex!}`,
+ "disabled": true,
},
{
"type": "input-text",
"label": "联系电话",
- "name": "phone",
+ "name": "phone1",
"id": "u:e7cf50e4f755",
"size": "md",
"mode": "horizontal",
@@ -135,7 +143,9 @@
"validateOnChange": true,
"validations": {
"isPhoneNumber": true
- }
+ },
+ "value":`${item.phone!}`,
+ "disabled": true,
},
{
"type": "input-text",
@@ -157,7 +167,9 @@
"addOn": {
"label": "cm",
"type": "text"
- }
+ },
+ "value":`${item.height!}`,
+ "disabled": true,
},
{
"type": "input-text",
@@ -179,7 +191,9 @@
"validations": {
"maximum": 250,
"isNumeric": true
- }
+ },
+ "value":`${item.weight!}`,
+ "disabled": true,
},
{
"type": "input-text",
@@ -195,7 +209,9 @@
"validateOnChange": true,
"validations": {
"isId": true
- }
+ },
+ "value":`${item.idCard!}`,
+ "disabled": true,
},
{
"type": "tpl",
@@ -221,7 +237,9 @@
"multiple": false,
"hideUploadButton": false,
"fixedSize": false,
- "mode": "inline"
+ "mode": "inline",
+ "value":`${pic1!}`,
+ "disabled": true,
},
{
"type": "input-image",
@@ -240,7 +258,9 @@
"multiple": false,
"hideUploadButton": false,
"fixedSize": false,
- "mode": "inline"
+ "mode": "inline",
+ "value":`${pic2!}`,
+ "disabled": true,
},
{
"type": "input-image",
@@ -259,74 +279,9 @@
"multiple": false,
"hideUploadButton": false,
"fixedSize": false,
- "mode": "inline"
- },
- {
- "type": "container",
- "body": [
- {
- "type": "tpl",
- "id": "u:8224ab367da8",
- "tpl": "                                                                          ",
- "inline": true,
- "wrapperComponent": ""
- },
- {
- "type": "button",
- "id": "u:783ce71739db",
- "label": "保存",
- "onEvent": {
- "click": {
- "actions": [
- {
- "componentId": "u:7c5f75a3b7b5",
- "args": {
- },
- "outputVar": "responseResult",
- "actionType": "submit"
- },
- {
- "args": {
- },
- "script": "parent.layer.close(window.parent.TStudent.layerIndex);\n\n window.parent.TStudent.table.refresh();",
- "actionType": "custom"
- }
- ]
- }
- },
- "level": "info"
- },
- {
- "type": "tpl",
- "id": "u:8224ab367da8",
- "tpl": "   ",
- "inline": true,
- "wrapperComponent": ""
- },
- {
- "type": "button",
- "id": "u:008bc32396cc",
- "label": "取消",
- "onEvent": {
- "click": {
- "actions": [
- {
- "args": {
- },
- "script": "parent.layer.close(window.parent.TStudent.layerIndex);\nconsole.log(\"===关闭\")",
- "actionType": "custom"
- }
- ]
- }
- },
- "block": false
- }
- ],
- "style": {
- "position": "static",
- "display": "block"
- },
- "id": "u:59d68a32f7fd"
+ "mode": "inline",
+ "value":`${pic3!}`,
+ "disabled": true,
},
{
"type": "divider",
@@ -347,7 +302,8 @@
"embed": false,
"mode": "inline",
"size": "md",
- "value":`${studentClassInfo.inDate}`
+ "value":`${studentClassInfo.inDate}`,
+ "disabled": true,
},
{
"type": "tpl",
@@ -450,10 +406,9 @@
"multiple": false,
"hideUploadButton": false,
"receiver": {
- "url": "/mgr/uploadImg",
+ "url": "/mgr/uploadImgAmis",
"method": "post"
- },
- "value": "https://we-park-life.oss-cn-beijing.aliyuncs.com/img/99325878956443d68bb835145a8dca49.png"
+ }
},
{
"type": "input-image",
@@ -468,10 +423,9 @@
"multiple": false,
"hideUploadButton": false,
"receiver": {
- "url": "/mgr/uploadImg",
+ "url": "/mgr/uploadImgAmis",
"method": "post"
- },
- "value": "https://we-park-life.oss-cn-beijing.aliyuncs.com/img/99325878956443d68bb835145a8dca49.png"
+ }
},
{
"type": "container",
@@ -540,10 +494,10 @@
"method": "post",
"requestAdaptor": "",
"adaptor": "",
- "messages": {
- },
+ "messages": {},
"dataType": "form-data"
- }
+ },
+ "actions": []
}
],
"showCloseButton": true,
@@ -551,8 +505,14 @@
"showLoading": true,
"className": "app-popover",
"id": "u:044fac037276",
- "closeOnEsc": false
+ "closeOnEsc": false,
+ "actions": []
}
+ },
+ {
+ "componentId": "u:59d68a32f7fd",
+ "actionType": "reload",
+ "data": null
}
]
}
@@ -579,13 +539,14 @@
"actionType": "dialog",
"dialog": {
"type": "form",
- "title": "弹框标题",
+ "title": "",
"body": [
{
"type": "input-text",
"label": "id",
"name": "id",
- "id": "u:0a5bc6f58ee8"
+ "id": "u:0a5bc6f58ee8",
+ "hidden": true
},
{
"type": "crud",
@@ -596,10 +557,13 @@
},
"columns": [
{
- "name": "insertTime",
+ "name": "date",
"label": "操作时间",
"type": "date",
- "id": "u:b652786dc9df"
+ "id": "u:b652786dc9df",
+ "valueFormat": "YYYY-MM-DD HH:mm:ss",
+ "format": "YYYY-MM-DD HH:mm",
+ "placeholder": "-"
},
{
"type": "text",
@@ -610,13 +574,13 @@
{
"type": "image",
"label": "申请凭证",
- "name": "picPlease",
+ "name": "pleasePic",
"id": "u:b22cfb737009"
},
{
"type": "image",
"label": "同意凭证",
- "name": "picPass",
+ "name": "passPic",
"id": "u:2a9071d0bda1"
}
],
@@ -636,7 +600,63 @@
"showErrorMsg": true,
"showLoading": true,
"className": "app-popover",
- "id": "u:c4e97065bccb"
+ "id": "u:c4e97065bccb",
+ "actions": [
+ {
+ "type": "flex",
+ "className": "p-1",
+ "items": [
+ {
+ "type": "container",
+ "body": [
+ {
+ "type": "flex",
+ "className": "p-1",
+ "items": [
+ {
+ "type": "button",
+ "id": "u:98fc618e3ec6",
+ "label": "关闭",
+ "onEvent": {
+ "click": {
+ "actions": [
+ {
+ "actionType": "closeDialog"
+ }
+ ]
+ }
+ },
+ "block": false
+ }
+ ],
+ "style": {
+ "position": "relative"
+ },
+ "id": "u:4a1662323b46"
+ }
+ ],
+ "size": "xs",
+ "style": {
+ "position": "relative",
+ "display": "inline-block",
+ "flex": "1 1 auto",
+ "flexGrow": 1,
+ "flexBasis": "auto",
+ "inset": "auto"
+ },
+ "wrapperBody": false,
+ "isFixedHeight": false,
+ "isFixedWidth": false,
+ "id": "u:ffdcf3def663"
+ }
+ ],
+ "style": {
+ "position": "relative"
+ },
+ "id": "u:ad4c2c8f0190"
+ }
+ ],
+ "size": "md"
}
}
]
@@ -686,7 +706,8 @@
}
},
"labelClassName": "labelClassName-49dd1bda82f4",
- "value":`${studentClassInfo.totalHours}`
+ "value":`${studentClassInfo.totalHours}`,
+ "disabled": true,
},
{
"type": "input-text",
@@ -695,7 +716,8 @@
"name": "idCard1",
"mode": "horizontal",
"size": "md",
- "value":`${studentClassInfo.hasHours}`
+ "value":`${studentClassInfo.hasHours}`,
+ "disabled": true,
},
{
"type": "input-text",
@@ -704,7 +726,8 @@
"name": "idCard2",
"mode": "horizontal",
"size": "md",
- "value":`${studentClassInfo.restHours}`
+ "value":`${studentClassInfo.restHours}`,
+ "disabled": true,
},
{
"type": "input-text",
@@ -713,10 +736,158 @@
"name": "idCard3",
"mode": "horizontal",
"size": "md",
- "value":`${studentClassInfo.giftHours}`
+ "value":`${studentClassInfo.giftHours}`,
+ "disabled": true,
+ }, {
+ "type": "tpl",
+ "id": "u:8224ab367da8",
+ "tpl": "          ",
+ "inline": true,
+ "wrapperComponent": "",
+ "style": {
+ "paddingBottom": "100",
+ "marginBottom": "100"
+ }
+ },
+ {
+ "type": "tpl",
+ "id": "u:e6a3e106fac0",
+ "tpl": "退费申请:",
+ "inline": true,
+ "wrapperComponent": "",
+ "style": {
+ "paddingBottom": "100",
+ "marginBottom": "100"
+ }
+ },
+ {
+ "type": "button",
+ "id": "u:4b1f37ea569c",
+ "label": "退费列表",
+ "level": "info",
+ "onEvent": {
+ "click": {
+ "weight": 0,
+ "actions": [
+ {
+ "actionType": "dialog",
+ "dialog": {
+ "type": "dialog",
+ "title": "弹框标题",
+ "body": [
+
+ {
+ "type": "input-text",
+ "id": "u:895313026d71",
+ "label": "id",
+ "name": "id",
+ "hidden": true
+ },
+ {
+ "type": "crud",
+ "syncLocation": false,
+ "name":"crud",
+ "api": {
+ "method": "get",
+ "url": "/tStudent/getBackList/$id"
+ },
+ "columns": [
+ {
+ "type": "date",
+ "name": "insertTime",
+ "label": "申请时间",
+ "id": "u:6948dfe01afd",
+ "valueFormat": "YYYY-MM-DD HH:mm:ss",
+ "format": "YYYY-MM-DD HH:mm"
+ },
+ {
+ "name": "status",
+ "label": "审核状态",
+ "type": "mapping",
+ "id": "u:1f2a09737a98",
+ "map": {
+ "0": "待审核",
+ "1": "同意",
+ "2": "拒绝"
+ }
+ },
+ {
+ "type": "operation",
+ "id": "u:b0e34eccd864",
+ "buttons": [
+ {
+ "type": "button",
+ "label": "查看详情",
+ "onEvent": {
+ "click": {
+ "actions": [
+ {
+ "actionType": "url",
+ "args": {
+ "url": "/tStudent/backmoney",
+ "params": {
+ "ids": "$ids",
+ "id": "$id"
+ }
+ }
+ }
+ ],
+ "weight": 0
+ }
+ },
+ "id": "u:38a6f5402e72",
+ "level": "link",
+ "actionType": "ajax"
+ },
+ {
+ "type": "button",
+ "label": "同意",
+ "onEvent": {
+ "click": {
+ "actions": [
+ ],
+ "weight": 0
+ }
+ },
+ "id": "u:4450de076e9f",
+ "level": "link",
+ "actionType": "ajax",
+ "hiddenOn": "this.status === 1 || this.status === 2",
+ "api": {
+ "method": "post",
+ "url": "/tStudent/changeStatus/$id"
+ },
+ "reload": "pay"
+ }
+ ],
+ "placeholder": "-",
+ "label": "操作"
+ }
+ ],
+ "bulkActions": [],
+ "itemActions": [],
+ "features": [
+ "view",
+ "delete"
+ ],
+ "id": "u:a4ce7e3ae181"
+ }
+ ],
+ "showCloseButton": true,
+ "showErrorMsg": true,
+ "showLoading": true,
+ "className": "app-popover",
+ "id": "u:b91085026056"
+ }
+ }
+ ]
+ }
+ },
+ "size": "xs"
},
{
"type": "crud",
+ "name":"pay",
"syncLocation": false,
"api": {
"method": "get",
@@ -735,32 +906,37 @@
"name": "classType",
"id": "u:2f1091a380a8",
"map": {
- "*": "通配值"
+ "1": "常规课",
+ "2": "假期课",
+ "3": "体验课"
}
},
{
"type": "date",
"label": "报名时间",
- "name": "reportDate",
- "id": "u:36ab5e408a48"
+ "name": "insertTime",
+ "id": "u:36ab5e408a48",
+ "valueFormat": "x"
},
{
"type": "text",
"label": "总课时数",
- "name": "totalTime",
+ "name": "totalClassHours",
"id": "u:fba93556fb2e"
},
{
"type": "text",
"label": "已上课时数",
- "name": "haveTime",
- "id": "u:b55a5ac7f49d"
+ "name": "hasClassHours",
+ "id": "u:b55a5ac7f49d",
+ "value": "$totalClassHours-$totalClassHours"
},
{
"type": "text",
"label": "剩余课时数",
- "name": "restTime",
- "id": "u:abb78021df40"
+ "name": "laveClassHours",
+ "id": "u:abb78021df40",
+ "placeholder": "-"
},
{
"type": "operation",
@@ -779,42 +955,115 @@
"title": "弹框标题",
"body": [
{
- "type": "select",
- "label": "请选择被转移学员",
- "name": "select",
- "id": "u:80a2266885a3",
- "multiple": false,
- "mode": "horizontal",
- "size": "lg",
- "horizontal": {
- "leftFixed": "lg"
- },
- "source": {
- "url": "/tStudent/getUserSlect/$id",
- "method": "get"
- },
- "labelField": "value",
- "valueField": "id"
- },
- {
- "type": "input-text",
- "label": "id",
- "name": "id",
- "id": "u:1e2c394fa299"
- },
- {
- "type": "tpl",
- "tpl": "对,你刚刚点击了",
- "wrapperComponent": "",
- "inline": false,
- "id": "u:7c4a5a6b60d0"
+ "type": "form",
+ "id": "u:db6a651c2979",
+ "title": "",
+ "body": [
+ {
+ "label": "请选择被转移学员",
+ "type": "select",
+ "name": "toStudentId",
+ "id": "u:80a2266885a3",
+ "multiple": false,
+ "mode": "horizontal",
+ "size": "lg",
+ "horizontal": {
+ "leftFixed": "lg"
+ },
+ "source": {
+ "url": "/tStudent/getUserSlect/$id",
+ "method": "get"
+ },
+ "labelField": "value",
+ "valueField": "id"
+ },
+ {
+ "label": "id",
+ "type": "input-text",
+ "name": "id",
+ "id": "u:1e2c394fa299",
+ "hidden": true
+ },
+ {
+ "type": "container",
+ "id": "u:59d68a32f7fd",
+ "body": [
+ {
+ "type": "tpl",
+ "id": "u:8224ab367da8",
+ "tpl": "                                                 ",
+ "inline": true,
+ "wrapperComponent": ""
+ },
+ {
+ "type": "button",
+ "id": "u:783ce71739db",
+ "label": "保存",
+ "onEvent": {
+ "click": {
+ "actions": [
+ {
+ "componentId": "u:db6a651c2979",
+ "actionType": "submit"
+ }
+ ]
+ }
+ },
+ "level": "info"
+ },
+ {
+ "type": "tpl",
+ "id": "u:8224ab367da8",
+ "tpl": "   ",
+ "inline": true,
+ "wrapperComponent": ""
+ },
+ {
+ "type": "button",
+ "id": "u:008bc32396cc",
+ "label": "取消",
+ "onEvent": {
+ "click": {
+ "actions": [
+ {
+ "actionType": "closeDialog"
+ }
+ ]
+ }
+ },
+ "block": false
+ }
+ ],
+ "style": {
+ "position": "static",
+ "display": "block"
+ }
+ }
+ ],
+ "api": {
+ "url": "/tStudent/toClass",
+ "method": "post",
+ "requestAdaptor": "",
+ "adaptor": "",
+ "messages": {
+ },
+ "dataType": "form-data"
+ }
}
],
"showCloseButton": true,
"showErrorMsg": true,
"showLoading": true,
"className": "app-popover",
- "id": "u:a612413d932d"
+ "id": "u:a612413d932d",
+ "api": {
+ "url": "/tStudent/toClass",
+ "method": "post",
+ "messages": {
+ }
+ },
+ "actions": [
+ ]
}
}
]
@@ -836,65 +1085,169 @@
"title": "弹框标题",
"body": [
{
- "type": "input-text",
- "label": "用户姓名:",
- "name": "text",
- "id": "u:c260d6dbc161",
- "mode": "horizontal"
- },
- {
- "type": "input-text",
- "label": "用户电话",
- "name": "phone",
- "id": "u:c00d1204430d",
- "mode": "horizontal"
- },
- {
- "type": "service",
- "id": "u:f6ab941852f1",
+ "type": "form",
+ "id": "u:57ea84073397",
+ "title": "",
"body": [
{
- "type": "select",
- "id": "u:a7766815916b",
- "label": "选择学员",
- "name": "select",
- "multiple": false,
- "mode": "horizontal",
- "size": "lg",
- "value": ""
+ "type": "service",
+ "id": "u:f6ab941852f1",
+ "body": [
+ {
+ "type": "input-text",
+ "id": "u:c00d1204430d",
+ "label": "用户电话",
+ "name": "phone",
+ "mode": "horizontal",
+ "size": "md"
+ },
+ {
+ "type": "input-text",
+ "id": "u:9a9f18e09fb9",
+ "label": "        用户姓名:",
+ "name": "name",
+ "mode": "inline",
+ "size": "md"
+ },
+ {
+ "type": "button",
+ "label": "搜索",
+ "onEvent": {
+ "click": {
+ "actions": [
+ {
+ "componentId": "u:f6ab941852f1",
+ "actionType": "reload",
+ "dataMergeMode": "merge"
+ }
+ ]
+ }
+ },
+ "id": "u:5fcf1222f6ea",
+ "level": "info"
+ },
+ {
+ "type": "select",
+ "id": "u:a7766815916b",
+ "label": "选择学员",
+ "name": "toStudentId",
+ "multiple": false,
+ "mode": "horizontal",
+ "size": "md",
+ "value": "",
+ "source": "$options",
+ "labelField": "value",
+ "valueField": "id"
+ }
+ ],
+ "messages": {},
+ "loadingConfig": {
+ "show": true
+ },
+ "api": {
+ "url": "/tStudent/giftSelect",
+ "method": "post",
+ "messages": {},
+ "requestAdaptor": "",
+ "adaptor": "",
+ "dataType": "form-data",
+ "data": {
+ "name": "$name",
+ "phone": "$phone",
+ "id": "$id"
+ }
+ }
+ },
+ {
+ "type": "input-text",
+ "id": "u:fe0979ee23df",
+ "label": "id",
+ "name": "id",
+ "hidden": true
+ },
+ {
+ "type": "container",
+ "id": "u:59d68a32f7fd",
+ "body": [
+ {
+ "type": "tpl",
+ "id": "u:8224ab367da8",
+ "tpl": "                                                 ",
+ "inline": true,
+ "wrapperComponent": ""
+ },
+ {
+ "type": "button",
+ "id": "u:783ce71739db",
+ "label": "保存",
+ "onEvent": {
+ "click": {
+ "actions": [
+ {
+ "componentId": "u:57ea84073397",
+ "actionType": "submit"
+ }
+ ]
+ }
+ },
+ "level": "info"
+ },
+ {
+ "type": "tpl",
+ "id": "u:8224ab367da8",
+ "tpl": "   ",
+ "inline": true,
+ "wrapperComponent": ""
+ },
+ {
+ "type": "button",
+ "id": "u:008bc32396cc",
+ "label": "取消",
+ "onEvent": {
+ "click": {
+ "actions": [
+ {
+ "actionType": "closeDialog"
+ }
+ ]
+ }
+ },
+ "block": false
+ }
+ ],
+ "style": {
+ "position": "static",
+ "display": "block"
+ }
}
- ]
- },
- {
- "type": "button",
- "label": "按钮",
- "onEvent": {
- "click": {
- "actions": [
- ]
- }
+ ],
+ "api": {
+ "url": "/tStudent/giftTo",
+ "method": "post",
+ "requestAdaptor": "",
+ "adaptor": "",
+ "messages": {},
+ "dataType": "form-data"
},
- "id": "u:5fcf1222f6ea"
+ "actions": []
},
{
- "type": "input-text",
- "label": "id",
- "name": "id",
- "id": "u:fe0979ee23df"
- },
- {
- "type": "tpl",
- "tpl": "对,你刚刚点击了",
- "wrapperComponent": "",
- "inline": false,
- "id": "u:5fe4b4c9e423"
+ "id": "u:59d68a32f7fd",
+ "type": "container",
+ "body": [],
+ "style": {
+ "position": "static",
+ "display": "block"
+ }
}
],
"showCloseButton": true,
"showErrorMsg": true,
"showLoading": true,
"className": "app-popover",
- "id": "u:552bd1b3464d"
+ "id": "u:552bd1b3464d",
+ "actions": [],
+ "canAccessSuperData": false
}
}
]
@@ -902,7 +1255,257 @@
},
"id": "u:ae1e6e73beb9",
"level": "link"
+ },
+ {
+ "type": "button",
+ "label": "变更记录",
+ "onEvent": {
+ "click": {
+ "actions": [
+ {
+ "actionType": "dialog",
+ "dialog": {
+ "type": "dialog",
+ "title": "弹框标题",
+ "body": [
+ {
+ "type": "form",
+ "id": "u:4468428b5d24",
+ "title": "",
+ "body": [
+ {
+ "type": "crud",
+ "id": "u:8072454d25d8",
+ "api": {
+ "url": "/tStudent/changelist/$id",
+ "method": "post",
+ "messages": {
+ },
+ "requestAdaptor": "",
+ "adaptor": "",
+ "dataType": "form"
+ },
+ "syncLocation": false,
+ "columns": [
+ {
+ "name": "insertTime",
+ "label": "时间",
+ "type": "date",
+ "id": "u:e13821cad6ba",
+ "valueFormat": "x"
+ },
+ {
+ "name": "changeType",
+ "label": "变更类型",
+ "type": "mapping",
+ "id": "u:e2b292dd63d0"
+ },
+ {
+ "type": "text",
+ "label": "课时数",
+ "name": "num",
+ "id": "u:24b1375ff173"
+ },
+ {
+ "type": "text",
+ "label": "变更原因",
+ "name": "reason",
+ "id": "u:8ba95bfd5e56"
+ }
+ ],
+ "bulkActions": [
+ ],
+ "itemActions": [
+ ],
+ "features": [
+ "filter"
+ ],
+ "filterColumnCount": 3,
+ "filter": {
+ "title": "",
+ "body": [
+ {
+ "type": "input-date-range",
+ "name": "start",
+ "label": "上传时间",
+ "id": "u:b2fb064aa9ac",
+ "inputFormat": "YYYY-MM-DD HH:mm",
+ "format": "YYYY-MM-DD HH:mm",
+ "embed": false,
+ "extraName": "end"
+ },
+ {
+ "type": "select",
+ "label": "是否启用",
+ "name": "changeType",
+ "options": [
+ {
+ "label": "全部"
+ },
+ {
+ "label": "增加",
+ "value": 1
+ },
+ {
+ "label": "减少",
+ "value": 0
+ }
+ ],
+ "id": "u:6dbebedca3b9",
+ "multiple": false,
+ "clearable": true,
+ "size": "md",
+ "value": ""
+ },
+ {
+ "type": "select",
+ "label": "变更原因",
+ "name": "reason",
+ "options": [
+ {
+ "label": "全部"
+ },
+ {
+ "label": "购课",
+ "value": "购课"
+ },
+ {
+ "label": "消课",
+ "value": 0
+ },
+ {
+ "label": "体验购课",
+ "value": "体验购课"
+ },
+ {
+ "label": "报名赛事",
+ "value": "报名赛事"
+ },
+ {
+ "label": "报名假期班",
+ "value": "报名假期班"
+ },
+ {
+ "label": "续课",
+ "value": 1
+ },
+ {
+ "label": "课时转移",
+ "value": "课时转移"
+ },
+ {
+ "label": "赠课",
+ "value": "赠课"
+ },
+ {
+ "label": "退费",
+ "value": "退费"
+ },
+ {
+ "label": "介绍有礼",
+ "value": "介绍有礼"
+ },
+ {
+ "label": "换课",
+ "value": "换课"
+ }
+ ],
+ "id": "u:a3db438ccfdd",
+ "multiple": false,
+ "clearable": true,
+ "size": "md",
+ "value": ""
+ }
+ ],
+ "id": "u:5c936e95b286"
+ },
+ "perPageAvailable": [
+ 10
+ ],
+ "messages": {
+ },
+ "perPageField": "size"
+ },
+ {
+ "type": "input-text",
+ "id": "u:5f73d0cbffee",
+ "label": "id",
+ "name": "id",
+ "hidden": true
+ },
+ {
+ "type": "container",
+ "id": "u:0576f915b9e3",
+ "body": [
+ {
+ "type": "tpl",
+ "id": "u:9c56f7ef3419",
+ "tpl": "                                                                                                             ",
+ "inline": true,
+ "wrapperComponent": ""
+ },
+ {
+ "type": "tpl",
+ "id": "u:a2cba9bb8751",
+ "tpl": "   ",
+ "inline": true,
+ "wrapperComponent": ""
+ },
+ {
+ "type": "button",
+ "id": "u:98fc618e3ec6",
+ "label": "关闭",
+ "onEvent": {
+ "click": {
+ "actions": [
+ {
+ "actionType": "closeDialog"
+ }
+ ]
+ }
+ },
+ "block": false
+ }
+ ],
+ "style": {
+ "position": "static",
+ "display": "block"
+ }
+ }
+ ],
+ "api": {
+ "url": "/tStudent/changelist/$id",
+ "method": "post",
+ "requestAdaptor": "",
+ "adaptor": "",
+ "messages": {
+ },
+ "dataType": "form-data"
+ },
+ "actions": [
+ ]
+ }
+ ],
+ "showCloseButton": true,
+ "showErrorMsg": true,
+ "showLoading": true,
+ "className": "",
+ "id": "u:f66fa4de8251",
+ "actions": [
+ ],
+ "canAccessSuperData": false,
+ "wrapWithPanel": false,
+ "size": "xl",
+ "closeOnEsc": false
+ }
+ }
+ ]
+ }
+ },
+ "id": "u:dd3110deaf9d",
+ "level": "link"
}
+
]
}
],
@@ -915,23 +1518,120 @@
"wrapperComponent": ""
},
{
- "label": "ajax请求",
"type": "button",
+ "label": "退费",
"actionType": "ajax",
- "api": {
- "method": "get",
- "url": "/ttt",
- "data": {
- "item": "$items"
- },
- "id": "u:f706584d4a0c"
- },
- "id": "u:38a6f5402e72"
+ "id": "u:38a6f5402e72",
+ "onEvent": {
+ "click": {
+ "weight": 0,
+ "actions": [
+ {
+ "actionType": "url",
+ "args": {
+ "url": "/tStudent/backmoney",
+ "params": {
+ "ids": "$ids",
+ "id": "$id"
+ }
+ }
+ }
+ ]
+ }
+ }
},
{
- "label": "退费",
"type": "button",
- "id": "u:4b1f37ea569c"
+ "label": "退费申请",
+ "id": "u:4b1f37ea569c",
+ "level": "info",
+ "onEvent": {
+ "click": {
+ "weight": 0,
+ "actions": [
+ {
+ "actionType": "dialog",
+ "dialog": {
+ "type": "dialog",
+ "title": "弹框标题",
+ "body": [
+ {
+ "type": "tpl",
+ "tpl": "对,你刚刚点击了",
+ "wrapperComponent": "",
+ "inline": false,
+ "id": "u:d72b44ae6de4"
+ },
+ {
+ "type": "crud",
+ "syncLocation": false,
+ "api": {
+ "method": "get",
+ "url": "/tStudent/getBackList/$id"
+ },
+ "columns": [
+ {
+ "name": "inserTtime",
+ "label": "申请时间",
+ "type": "date",
+ "id": "u:6948dfe01afd"
+ },
+ {
+ "name": "status",
+ "label": "审核状态",
+ "type": "mapping",
+ "id": "u:1f2a09737a98"
+ },
+ {
+ "type": "operation",
+ "id": "u:b0e34eccd864",
+ "buttons": [
+ {
+ "type": "button",
+ "label": "退费",
+ "onEvent": {
+ "click": {
+ "actions": [
+ {
+ "actionType": "url",
+ "args": {
+ "url": "/tStudent/backmoney",
+ "params": {
+ "ids": "$ids",
+ "id": "$id"
+ }
+ }
+ }
+ ],
+ "weight": 0
+ }
+ },
+ "id": "u:38a6f5402e72",
+ "actionType": "ajax",
+ "level": "info"
+ }
+ ]
+ }
+ ],
+ "bulkActions": [],
+ "itemActions": [],
+ "features": [
+ "view",
+ "delete"
+ ],
+ "id": "u:a4ce7e3ae181"
+ }
+ ],
+ "showCloseButton": true,
+ "showErrorMsg": true,
+ "showLoading": true,
+ "className": "app-popover",
+ "id": "u:b91085026056"
+ }
+ }
+ ]
+ }
+ }
},
{
"label": "退费",
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudentEditTTT.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudentEditTTT.html
new file mode 100644
index 0000000..b348230
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudentEditTTT.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html>
+<html lang="zh">
+<head>
+ <meta charset="UTF-8" />
+ <title>amis demo</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta
+ name="viewport"
+ content="width=device-width, initial-scale=1, maximum-scale=1"
+ />
+ <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
+ <link rel="stylesheet" href="${ctxPath}/sdk/sdk.css" />
+ <link rel="stylesheet" href="${ctxPath}/sdk/helper.css" />
+ <link rel="stylesheet" href="${ctxPath}/sdk/iconfont.css" />
+ <!-- 这是默认主题所需的,如果是其他主题则不需要 -->
+ <!-- 从 1.1.0 开始 sdk.css 将不支持 IE 11,如果要支持 IE11 请引用这个 css,并把前面那个删了 -->
+ <!-- <link rel="stylesheet" href="sdk-ie11.css" /> -->
+ <!-- 不过 amis 开发团队几乎没测试过 IE 11 下的效果,所以可能有细节功能用不了,如果发现请报 issue -->
+ <style>
+ html,
+ body,
+ .app-wrapper {
+ position: relative;
+ width: 100%;
+ height: 100%;
+ margin: 0;
+ padding: 0;
+ }
+ </style>
+</head>
+<body>
+<div id="root" class="app-wrapper"></div>
+<script src="${ctxPath}/sdk/sdk.js"></script>
+<script type="text/javascript">
+ (function () {
+ let amis = amisRequire('amis/embed');
+ // 通过替换下面这个配置来生成不同页面
+ let amisJSON = {
+ "type": "page",
+ "title": "",
+ "body": [
+ {
+ "type": "form",
+ "title": "",
+ "body": [
+ {
+ "type": "form",
+ "title": "",
+ "body": [
+ {
+ "type": "tpl",
+ "tpl": "                    报名假期班",
+ "inline": true,
+ "wrapperComponent": "h2",
+ "id": "u:194f160daab4"
+ },
+ {
+ "type": "input-text",
+ "label": "id",
+ "name": "id",
+ "id": "u:d038053014ca",
+ "mode": "horizontal",
+ "size": "md"
+ },
+ {
+ "type": "input-text",
+ "label": "ids",
+ "name": "ids",
+ "id": "u:223b7f2a1a5b",
+ "mode": "horizontal",
+ "size": "md"
+ },
+ {
+ "label": "换课课程:",
+ "type": "select",
+ "name": "holiId",
+ "id": "u:e205156867e3",
+ "multiple": false,
+ "mode": "horizontal",
+ "source": {
+ "url": "/tStudent/getholi/$id",
+ "method": "get",
+ "requestAdaptor": "",
+ "adaptor": "",
+ "messages": {
+ }
+ },
+ "value": "",
+ "labelField": "value",
+ "valueField": "id",
+ "size": "md",
+ "searchable": true
+ },
+ {
+ "type": "input-text",
+ "label": "扣除课时数:",
+ "name": "classNum",
+ "id": "u:0333b5c5d05c",
+ "mode": "horizontal",
+ "size": "md"
+ }
+ ],
+ "api": {
+ "url": "/tStudent/Toholi",
+ "method": "post",
+ "requestAdaptor": "",
+ "adaptor": "",
+ "messages": {
+ },
+ "dataType": "form-data"
+ },
+ "id": "u:8860df492a12"
+ }
+ ],
+ "id": "u:710cbc62ec24",
+ "actions": [
+ ]
+ }
+ ],
+ "id": "u:42603b55fcf2"
+ };
+ let amisScoped = amis.embed('#root', amisJSON);
+
+
+ })();
+
+ function test(){
+ console.log("测试成功")
+ }
+
+ var myButton = document.getElementById("ttt");
+ myButton.addEventListener("click",test);
+</script>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudentEdit_first.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudentEdit_first.html
index 41683c9..5fdb7da 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudentEdit_first.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudentEdit_first.html
@@ -214,7 +214,7 @@
"uploadType": "fileReceptor",
"imageClassName": "r w-full",
"receiver": {
- "url": "/mgr/uploadImg",
+ "url": "/mgr/uploadImgAmis",
"method": "post"
},
"accept": ".jpeg, .jpg, .png, .gif",
@@ -234,7 +234,7 @@
"uploadType": "fileReceptor",
"imageClassName": "r w-full",
"receiver": {
- "url": "/mgr/uploadImg",
+ "url": "/mgr/uploadImgAmis",
"method": "post"
},
"accept": ".jpeg, .jpg, .png, .gif",
@@ -254,7 +254,7 @@
"uploadType": "fileReceptor",
"imageClassName": "r w-full",
"receiver": {
- "url": "/mgr/uploadImg",
+ "url": "/mgr/uploadImgAmis",
"method": "post"
},
"accept": ".jpeg, .jpg, .png, .gif",
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/trans.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/trans.html
new file mode 100644
index 0000000..f7e742c
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/trans.html
@@ -0,0 +1,128 @@
+<!DOCTYPE html>
+<html lang="zh">
+<head>
+ <meta charset="UTF-8" />
+ <title>amis demo</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta
+ name="viewport"
+ content="width=device-width, initial-scale=1, maximum-scale=1"
+ />
+ <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
+ <link rel="stylesheet" href="${ctxPath}/sdk/sdk.css" />
+ <link rel="stylesheet" href="${ctxPath}/sdk/helper.css" />
+ <link rel="stylesheet" href="${ctxPath}/sdk/iconfont.css" />
+ <!-- 这是默认主题所需的,如果是其他主题则不需要 -->
+ <!-- 从 1.1.0 开始 sdk.css 将不支持 IE 11,如果要支持 IE11 请引用这个 css,并把前面那个删了 -->
+ <!-- <link rel="stylesheet" href="sdk-ie11.css" /> -->
+ <!-- 不过 amis 开发团队几乎没测试过 IE 11 下的效果,所以可能有细节功能用不了,如果发现请报 issue -->
+ <style>
+ html,
+ body,
+ .app-wrapper {
+ position: relative;
+ width: 100%;
+ height: 100%;
+ margin: 0;
+ padding: 0;
+ }
+ </style>
+</head>
+<body>
+<div id="root" class="app-wrapper"></div>
+<script src="${ctxPath}/sdk/sdk.js"></script>
+<script type="text/javascript">
+ (function () {
+ let amis = amisRequire('amis/embed');
+ // 通过替换下面这个配置来生成不同页面
+ let amisJSON = {
+ "type": "page",
+ "title": "",
+ "body": [
+ {
+ "type": "form",
+ "id": "u:710cbc62ec24",
+ "title": "",
+ "body": [
+ {
+ "type": "form",
+ "title": "",
+ "body": [
+ {
+ "type": "tpl",
+ "tpl": "                    换课",
+ "inline": true,
+ "wrapperComponent": "h2",
+ "id": "u:194f160daab4"
+ },
+ {
+ "type": "input-text",
+ "label": "id",
+ "name": "id",
+ "id": "u:d038053014ca",
+ "mode": "horizontal",
+ "size": "md"
+ },
+ {
+ "type": "input-text",
+ "label": "ids",
+ "name": "ids",
+ "id": "u:223b7f2a1a5b",
+ "mode": "horizontal",
+ "size": "md"
+ },
+ {
+ "label": "换课课程:",
+ "type": "select",
+ "name": "holiId",
+ "id": "u:e205156867e3",
+ "multiple": false,
+ "mode": "horizontal",
+ "source": {
+ "url": "/tStudent/gettrans/$id",
+ "method": "get",
+ "requestAdaptor": "",
+ "adaptor": "",
+ "messages": {
+ }
+ },
+ "value": "",
+ "labelField": "value",
+ "valueField": "id",
+ "size": "md",
+ "searchable": true
+ }
+ ],
+ "api": {
+ "url": "/tStudent/ToTrans",
+ "method": "post",
+ "requestAdaptor": "",
+ "adaptor": "",
+ "messages": {
+ },
+ "dataType": "form-data"
+ },
+ "id": "u:8860df492a12"
+ }
+ ],
+ "actions": [
+ ]
+ }
+ ],
+ "id": "u:42603b55fcf2"
+ };
+ let amisScoped = amis.embed('#root', amisJSON);
+
+
+ })();
+
+ function test(){
+ console.log("测试成功")
+ }
+
+ var myButton = document.getElementById("ttt");
+ myButton.addEventListener("click",test);
+</script>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/TCoupon.js b/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/TCoupon.js
new file mode 100644
index 0000000..962bc3d
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/TCoupon.js
@@ -0,0 +1,337 @@
+/**
+ * 管理初始化
+ */
+var TCoupon = {
+ id: "TCouponTable", //表格id
+ seItem: null, //选中的条目
+ table: null,
+ layerIndex: -1
+};
+
+// console.log("父级页面"+window.parent.getElementById("counpons"+$("#index").val()));
+console.log("父级页面" + window.parent.document.getElementById("counpons" + $("#index").val()).value);
+console.log( $("#index").val());
+
+var ids = window.parent.document.getElementById("counpons" + $("#index").val()).value;
+
+// console.log("==========radio=="+ids)
+/**
+ * 初始化表格的列
+ */
+TCoupon.initColumn = function () {
+ return [
+ {field: 'selectItem', checkbox: true, formatter: function (value,row) {
+ if(ids.indexOf(row.id)!= -1){
+ return {checked:true};
+ }}},
+ {title: 'id', field: 'id', visible: false, align: 'center', valign: 'middle'},
+ {title: '优惠券名称', field: 'name', visible: true, align: 'center', valign: 'middle'},
+ {title: '适用范围', field: 'useScope', visible: true, align: 'center', valign: 'middle',
+ formatter: function (value, row, index) {
+ return {1: "全国", 2: "指定城市", 3: "指定门店"}[value]
+ }
+ },
+ {title: '优惠券类型', field: 'type', visible: true, align: 'center', valign: 'middle',
+ formatter: function (value, row, index) {
+ return {1: "满减券", 2: "代金券", 3: "体验券"}[value]
+ }},
+ {title: '发放方式', field: 'distributionMethod', visible: true, align: 'center', valign: 'middle',
+ formatter: function (value, row, index) {
+ return {1: "积分购买", 2: "注册赠送", 3: "自动发券"}[value]
+ }},
+ {title: '有效期', field: 'timeValue', visible: true, align: 'center', valign: 'middle'},
+ {title: '用户人群', field: 'userPopulation', visible: true, align: 'center', valign: 'middle',
+ formatter: function (value, row, index) {
+ return {1: "全部用户", 2: "年度会员", 3: "已有学员用户"}[value]
+ }},
+ {title: '发放数量', field: 'quantityIssued', visible: true, align: 'center', valign: 'middle'},
+ {title: '限领数量', field: 'pickUpQuantity', visible: true, align: 'center', valign: 'middle'},
+ {title: '已领数量', field: 'hasPickQty', visible: true, align: 'center', valign: 'middle'},
+ {title: '活动状态', field: 'status', visible: true, align: 'center', valign: 'middle',
+ formatter: function (value, row, index) {
+ return {1: "未开始", 2: "已开始", 3: "已结束"}[value]
+ }},
+ {title: '可售状态', field: 'state', visible: true, align: 'center', valign: 'middle',
+ formatter: function (value, row, index) {
+ return {1: "上架", 2: "下架"}[value]
+ }},
+ ];
+};
+
+/**
+ * 检查是否选中
+ */
+TCoupon.check = function () {
+ var selected = $('#' + this.id).bootstrapTable('getSelections');
+ if(selected.length == 0){
+ Feng.info("请先选中表格中的某一记录!");
+ return false;
+ }else{
+ TCoupon.seItem = selected[0];
+ TCoupon.seItem1 = selected;
+
+ return true;
+ }
+};
+
+/**
+ * 点击添加
+ */
+TCoupon.openAdd = function () {
+ var index = layer.open({
+ type: 2,
+ title: '添加',
+ area: ['100%', '100%'], //宽高
+ fix: false, //不固定
+ maxmin: true,
+ content: Feng.ctxPath + '/tCouponManage/coupon_add'
+ });
+ this.layerIndex = index;
+};
+
+
+
+TCoupon.backids = function (i) {
+ console.log("aaaaaa"+i)
+ if (this.check()) {
+
+ var ids = TCoupon.seItem1.map(function(item) {
+ return item.id;
+ }).join(",");
+ // console.log("aaaaaa"+TCoupon.seItem1.map(function(item) {
+ // return item.id;
+ // }).join(","))
+
+
+ // if (window.parent.document.getElementById("counpons"+i).value==null||window.parent.document.getElementById("counpons"+i).value==""){
+ window.parent.document.getElementById("counpons"+i).value = ids;
+ // }else {
+ // window.parent.document.getElementById("counpons"+i).value = window.parent.document.getElementById("counpons"+i).value + ','+TCoupon.seItem.id;
+ //
+ // }
+ window.parent.layer.closeAll();
+ }
+
+};
+
+/**
+ * 点击编辑
+ */
+TCoupon.openChange = function () {
+ if (this.check()){
+ let id = TCoupon.seItem.id
+ let name = TCoupon.seItem.name
+ let quantityIssued = TCoupon.seItem.quantityIssued
+ let pickUpQuantity = TCoupon.seItem.pickUpQuantity
+ let illustrate = TCoupon.seItem.illustrate
+ let hasPickQty = TCoupon.seItem.hasPickQty
+ 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' +
+ ' <label class="form-control" id="name" >'+name+'</label> '+
+ ' </div>\n' +
+ ' </div>\n'+
+ ' <div class="form-group">\n' +
+ ' <label class="col-sm-3 control-label">发放数量:</label>\n' +
+ ' <div class="col-sm-9">\n' +
+ ' <input class="form-control" id="num" value="'+quantityIssued+'" > '+
+ ' </div>\n' +
+ ' </div>\n' +
+ ' <div class="form-group">\n' +
+ ' <label class="col-sm-3 control-label">限领数量:</label>\n' +
+ ' <div class="col-sm-9">\n' +
+ ' <input class="form-control" id="num1" value="'+pickUpQuantity+'" > '+
+ ' </div>\n' +
+ ' </div>\n' +
+ ' <div class="form-group">\n' +
+ ' <label class="col-sm-3 control-label">优惠券说明:</label>\n' +
+ ' <div class="col-sm-9">\n' +
+ ' <textarea class="form-control" id="text" >'+illustrate+'</textarea> '+
+ ' </div>\n' +
+ ' </div>\n' +
+ ' </div>' +
+ ' </div>' +
+ '</div>'
+ , btn: ['关闭', '保存']
+ , btnAlign: 'c' //按钮居中
+ , shade: 0.5 //不显示遮罩
+ ,load:1
+ , yes: function () {
+ layer.closeAll();
+ },
+ btn2:function () {
+ let num = $("#num").val()
+ if(num==''){
+ Feng.info("请输入发放数量")
+ return false;
+ }
+ let num1 = $("#num1").val()
+ if(num1==''){
+ Feng.info("请输入限领数量")
+ return false;
+ }
+ let text = $("#text").val()
+ if(text==''){
+ Feng.info("请输入优惠券说明")
+ return false;
+ }
+
+ if(num<hasPickQty){
+ Feng.info("发放数量不能小于已领取数量")
+ return false;
+ }
+ var ajax = new $ax(Feng.ctxPath + "/tCouponManage/update", function (data) {
+ if (data.code == 200) {
+ Feng.success("操作成功!");
+ window.location.reload();
+ window.parent.layer.closeAll();
+ } else if(data=="repeat"){
+ window.location.reload();
+ window.parent.layer.closeAll();
+ Feng.error("请勿重复操作");
+ }else {
+ return Feng.error(data.msg);
+ }
+ }, function (data) {
+ Feng.error("操作失败!")
+ window.location.reload();
+ window.parent.layer.closeAll();
+ return Feng.error("操作失败!");
+ });
+ ajax.set("id", id);
+ ajax.set("num", num);
+ ajax.set("num1", num1);
+ ajax.set("text", text);
+ ajax.start();
+ layer.closeAll();
+ }
+ });
+
+ this.layerIndex = index;
+ }
+};
+
+
+
+/**
+ * 上架
+ */
+
+
+/**
+ * 下架
+ */
+TCoupon.offShelf = function () {
+
+
+};
+
+
+/**
+ * 打开查看详情
+ */
+TCoupon.openDetail = function () {
+ if (this.check()) {
+ var index = layer.open({
+ type: 2,
+ title: '详情',
+ area: ['100%', '100%'], //宽高
+ fix: false, //不固定
+ maxmin: true,
+ content: Feng.ctxPath + '/tCouponManage/coupon_detail/' + TCoupon.seItem.id
+ });
+ this.layerIndex = index;
+ }
+};
+
+
+
+
+/**
+ * 打开领取记录
+ */
+TCoupon.openCollectionRecord = function () {
+ if (this.check()) {
+ var index = layer.open({
+ type: 2,
+ title: '详情',
+ area: ['800px', '420px'], //宽高
+ fix: false, //不固定
+ maxmin: true,
+ content: Feng.ctxPath + '/tCouponManage/coupon_record/' + TCoupon.seItem.id
+ });
+ this.layerIndex = index;
+ }
+};
+TCoupon.onShelf = function (e) {
+ if (this.check()) {
+ var ajax = new $ax(Feng.ctxPath + "/tCouponManage/onShelf", function(data){
+ if(data.code==200){
+ Feng.success("操作成功!")
+ TCoupon.table.refresh();
+ }
+ },function(data){
+ Feng.error("操作失败!" + data.responseJSON.message + "!");
+ });
+ ajax.set("id",TCoupon.seItem.id)
+ ajax.set("type",e)
+ ajax.start();
+ }
+};
+
+
+
+/**
+ * 查询列表
+ */
+TCoupon.search = function () {
+ var queryData = {};
+ queryData['name'] = $("#name").val();
+ queryData['type'] = $("#type").val();
+ queryData['distributionMethod'] = $("#distributionMethod").val();
+ queryData['userPopulation'] = $("#userPopulation").val();
+ queryData['status'] = $("#status").val();
+ queryData['state'] = $("#state").val();
+ TCoupon.table.refresh({query: queryData});
+};
+
+
+/**
+ * 重置搜索
+ */
+TCoupon.resetSearch = function () {
+ $("#name").val('');
+ $("#type").val('');
+ $("#distributionMethod").val('');
+ $("#userPopulation").val('');
+ $("#status").val('');
+ $("#state").val('');
+ TCoupon.search();
+};
+
+$(function () {
+ // console.log("父级"+window.parent.document.getElementById("cityCode").val())
+ console.log("父级" + window.parent.document.getElementById("cityCode").value);
+ var defaultColunms = TCoupon.initColumn();
+ var table = new BSTable(TCoupon.id, "/tCouponManage/list1", defaultColunms);
+ table.setPaginationType("client");
+ // table.queryParams = function (params) {
+ // // 在这里添加您的自定义参数
+ // params.cityCode = window.parent.document.getElementById("cityCode").value;
+ // params.customParam2 = window.parent.document.getElementById("cityCode").value;
+ // return params;
+ // };
+
+ table.queryParams = {'cityCode': window.parent.document.getElementById("cityCode").value,'storeId': window.parent.document.getElementById("storeId").value}
+ table.height=400
+ TCoupon.table = table.init();
+});
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/TCouponEdit.js b/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/TCouponEdit.js
new file mode 100644
index 0000000..f781b6a
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/TCouponEdit.js
@@ -0,0 +1,314 @@
+/**
+ * 管理初始化
+ */
+var TCoupon = {
+ id: "TCouponTable", //表格id
+ seItem: null, //选中的条目
+ table: null,
+ layerIndex: -1
+};
+
+var ids = $("#conpund").val();
+
+console.log("==========radio=="+ids)
+/**
+ * 初始化表格的列
+ */
+TCoupon.initColumn = function () {
+ return [
+ {field: 'selectItem', checkbox: true, formatter: function (value,row) {
+ if(ids.indexOf(row.id)!= -1){
+ return {checked:true};
+ }}},
+ {title: 'id', field: 'id', visible: false, align: 'center', valign: 'middle'},
+ {title: '优惠券名称', field: 'name', visible: true, align: 'center', valign: 'middle'},
+ {title: '适用范围', field: 'useScope', visible: true, align: 'center', valign: 'middle',
+ formatter: function (value, row, index) {
+ return {1: "全国", 2: "指定城市", 3: "指定门店"}[value]
+ }
+ },
+ {title: '优惠券类型', field: 'type', visible: true, align: 'center', valign: 'middle',
+ formatter: function (value, row, index) {
+ return {1: "满减券", 2: "代金券", 3: "体验券"}[value]
+ }},
+ {title: '发放方式', field: 'distributionMethod', visible: true, align: 'center', valign: 'middle',
+ formatter: function (value, row, index) {
+ return {1: "积分购买", 2: "注册赠送", 3: "自动发券"}[value]
+ }},
+ {title: '有效期', field: 'timeValue', visible: true, align: 'center', valign: 'middle'},
+ {title: '用户人群', field: 'userPopulation', visible: true, align: 'center', valign: 'middle',
+ formatter: function (value, row, index) {
+ return {1: "全部用户", 2: "年度会员", 3: "已有学员用户"}[value]
+ }},
+ {title: '发放数量', field: 'quantityIssued', visible: true, align: 'center', valign: 'middle'},
+ {title: '限领数量', field: 'pickUpQuantity', visible: true, align: 'center', valign: 'middle'},
+ {title: '已领数量', field: 'hasPickQty', visible: true, align: 'center', valign: 'middle'},
+ {title: '活动状态', field: 'status', visible: true, align: 'center', valign: 'middle',
+ formatter: function (value, row, index) {
+ return {1: "未开始", 2: "已开始", 3: "已结束"}[value]
+ }},
+ {title: '可售状态', field: 'state', visible: true, align: 'center', valign: 'middle',
+ formatter: function (value, row, index) {
+ return {1: "上架", 2: "下架"}[value]
+ }},
+ ];
+};
+
+/**
+ * 检查是否选中
+ */
+TCoupon.check = function () {
+ var selected = $('#' + this.id).bootstrapTable('getSelections');
+ if(selected.length == 0){
+ Feng.info("请先选中表格中的某一记录!");
+ return false;
+ }else{
+ TCoupon.seItem = selected[0];
+ TCoupon.seItem1 = selected;
+
+ return true;
+ }
+};
+
+/**
+ * 点击添加
+ */
+TCoupon.openAdd = function () {
+ var index = layer.open({
+ type: 2,
+ title: '添加',
+ area: ['100%', '100%'], //宽高
+ fix: false, //不固定
+ maxmin: true,
+ content: Feng.ctxPath + '/tCouponManage/coupon_add'
+ });
+ this.layerIndex = index;
+};
+
+
+
+TCoupon.backids = function (i) {
+ console.log("aaaaaa"+i)
+ if (this.check()) {
+
+ var ids = TCoupon.seItem1.map(function(item) {
+ return item.id;
+ }).join(",");
+
+ window.parent.document.getElementById("counpons"+i).value = ids;
+
+ window.parent.layer.closeAll();
+ }
+
+};
+
+/**
+ * 点击编辑
+ */
+TCoupon.openChange = function () {
+ if (this.check()){
+ let id = TCoupon.seItem.id
+ let name = TCoupon.seItem.name
+ let quantityIssued = TCoupon.seItem.quantityIssued
+ let pickUpQuantity = TCoupon.seItem.pickUpQuantity
+ let illustrate = TCoupon.seItem.illustrate
+ let hasPickQty = TCoupon.seItem.hasPickQty
+ 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' +
+ ' <label class="form-control" id="name" >'+name+'</label> '+
+ ' </div>\n' +
+ ' </div>\n'+
+ ' <div class="form-group">\n' +
+ ' <label class="col-sm-3 control-label">发放数量:</label>\n' +
+ ' <div class="col-sm-9">\n' +
+ ' <input class="form-control" id="num" value="'+quantityIssued+'" > '+
+ ' </div>\n' +
+ ' </div>\n' +
+ ' <div class="form-group">\n' +
+ ' <label class="col-sm-3 control-label">限领数量:</label>\n' +
+ ' <div class="col-sm-9">\n' +
+ ' <input class="form-control" id="num1" value="'+pickUpQuantity+'" > '+
+ ' </div>\n' +
+ ' </div>\n' +
+ ' <div class="form-group">\n' +
+ ' <label class="col-sm-3 control-label">优惠券说明:</label>\n' +
+ ' <div class="col-sm-9">\n' +
+ ' <textarea class="form-control" id="text" >'+illustrate+'</textarea> '+
+ ' </div>\n' +
+ ' </div>\n' +
+ ' </div>' +
+ ' </div>' +
+ '</div>'
+ , btn: ['关闭', '保存']
+ , btnAlign: 'c' //按钮居中
+ , shade: 0.5 //不显示遮罩
+ ,load:1
+ , yes: function () {
+ layer.closeAll();
+ },
+ btn2:function () {
+ let num = $("#num").val()
+ if(num==''){
+ Feng.info("请输入发放数量")
+ return false;
+ }
+ let num1 = $("#num1").val()
+ if(num1==''){
+ Feng.info("请输入限领数量")
+ return false;
+ }
+ let text = $("#text").val()
+ if(text==''){
+ Feng.info("请输入优惠券说明")
+ return false;
+ }
+
+ if(num<hasPickQty){
+ Feng.info("发放数量不能小于已领取数量")
+ return false;
+ }
+ var ajax = new $ax(Feng.ctxPath + "/tCouponManage/update", function (data) {
+ if (data.code == 200) {
+ Feng.success("操作成功!");
+ window.location.reload();
+ window.parent.layer.closeAll();
+ } else if(data=="repeat"){
+ window.location.reload();
+ window.parent.layer.closeAll();
+ Feng.error("请勿重复操作");
+ }else {
+ return Feng.error(data.msg);
+ }
+ }, function (data) {
+ Feng.error("操作失败!")
+ window.location.reload();
+ window.parent.layer.closeAll();
+ return Feng.error("操作失败!");
+ });
+ ajax.set("id", id);
+ ajax.set("num", num);
+ ajax.set("num1", num1);
+ ajax.set("text", text);
+ ajax.start();
+ layer.closeAll();
+ }
+ });
+
+ this.layerIndex = index;
+ }
+};
+
+
+
+/**
+ * 上架
+ */
+
+
+/**
+ * 下架
+ */
+TCoupon.offShelf = function () {
+
+
+};
+
+
+/**
+ * 打开查看详情
+ */
+TCoupon.openDetail = function () {
+ if (this.check()) {
+ var index = layer.open({
+ type: 2,
+ title: '详情',
+ area: ['100%', '100%'], //宽高
+ fix: false, //不固定
+ maxmin: true,
+ content: Feng.ctxPath + '/tCouponManage/coupon_detail/' + TCoupon.seItem.id
+ });
+ this.layerIndex = index;
+ }
+};
+
+
+
+
+/**
+ * 打开领取记录
+ */
+TCoupon.openCollectionRecord = function () {
+ if (this.check()) {
+ var index = layer.open({
+ type: 2,
+ title: '详情',
+ area: ['800px', '420px'], //宽高
+ fix: false, //不固定
+ maxmin: true,
+ content: Feng.ctxPath + '/tCouponManage/coupon_record/' + TCoupon.seItem.id
+ });
+ this.layerIndex = index;
+ }
+};
+TCoupon.onShelf = function (e) {
+ if (this.check()) {
+ var ajax = new $ax(Feng.ctxPath + "/tCouponManage/onShelf", function(data){
+ if(data.code==200){
+ Feng.success("操作成功!")
+ TCoupon.table.refresh();
+ }
+ },function(data){
+ Feng.error("操作失败!" + data.responseJSON.message + "!");
+ });
+ ajax.set("id",TCoupon.seItem.id)
+ ajax.set("type",e)
+ ajax.start();
+ }
+};
+
+
+
+/**
+ * 查询列表
+ */
+TCoupon.search = function () {
+ var queryData = {};
+ queryData['name'] = $("#name").val();
+ queryData['type'] = $("#type").val();
+ queryData['distributionMethod'] = $("#distributionMethod").val();
+ queryData['userPopulation'] = $("#userPopulation").val();
+ queryData['status'] = $("#status").val();
+ queryData['state'] = $("#state").val();
+ TCoupon.table.refresh({query: queryData});
+};
+
+
+/**
+ * 重置搜索
+ */
+TCoupon.resetSearch = function () {
+ $("#name").val('');
+ $("#type").val('');
+ $("#distributionMethod").val('');
+ $("#userPopulation").val('');
+ $("#status").val('');
+ $("#state").val('');
+ TCoupon.search();
+};
+
+$(function () {
+ var defaultColunms = TCoupon.initColumn();
+ var table = new BSTable(TCoupon.id, "/tCouponManage/list", defaultColunms);
+ table.setPaginationType("client");
+ TCoupon.table = table.init();
+});
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/classRecord.js b/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/classRecord.js
index f3dfaa7..06f15c7 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/classRecord.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/classRecord.js
@@ -17,13 +17,29 @@
{title: 'id', field: 'id', visible: false, align: 'center', valign: 'middle'},
{title: '日期', field: 'classDate', align: 'center', valign: 'middle'},
{title: '报名学员', field: 'registered', align: 'center', valign: 'middle'},
- {title: '实到学员', field: 'actualArrival', align: 'center', valign: 'middle'},
- {title: '未到学员', field: 'nonArrival', align: 'center', valign: 'middle'},
+ {title: '实到学员', field: 'actualArrival', align: 'center', valign: 'middle',
+ formatter: function (v, row) {
+ if (row.absencesNumber === undefined) {
+ return 0;
+ } else {
+ return v;
+ }
+ }
+ },
+ {title: '未到学员', field: 'nonArrival', align: 'center', valign: 'middle',
+ formatter: function (v, row) {
+ if (row.absencesNumber === undefined) {
+ return 0;
+ } else {
+ return v;
+ }
+ }
+ },
{title: '课后练习', field: 'courseId', align: 'center', valign: 'middle',
formatter: function (v) {
- if(typeof v == "undefined"){
+ if (typeof v === "undefined") {
return '未布置';
- }else{
+ } else {
return '已布置';
}
}
@@ -45,9 +61,9 @@
{title: '扣除课时', field: 'deductClassHour', align: 'center', valign: 'middle'},
{title: '取消记录', field: 'absencesNumber', align: 'center', valign: 'middle',
formatter: function (v) {
- if(typeof v == "undefined"){
+ if (typeof v === "undefined") {
return '未上传';
- }else{
+ } else {
return '已上传';
}
}
@@ -223,10 +239,11 @@
};
-ClassRecord.cancellationRecord = function(){
+ClassRecord.cancellationRecord = function(i){
if(this.check()){
let htmlStr =
- '<div class="form-horizontal">' +
+
+ '<div class="form-horizontal">' +
' <div class="col-sm-11" style="padding: 20px;">' +
' <div class="form-group">\n' +
' <label class="col-sm-2"></label>'+
@@ -247,7 +264,7 @@
' <div class="form-group">\n' +
' <label class="col-sm-2"></label>'+
' <label class="control-label" style="text-align: left;">扣除课时数:</label>\n' +
- ' <input id="deductClassHour" type="number" min="0" style="background-color: #FFFFFF;background-image: none;border: 1px solid #e5e6e7;border-radius: 1px;color: inherit;padding: 6px 12px;">' +
+ ' <input id="deductClassHour" value="'+i+'" type="number" min="0" style="background-color: #FFFFFF;background-image: none;border: 1px solid #e5e6e7;border-radius: 1px;color: inherit;padding: 6px 12px;">' +
' </div>' +
' </div>' +
'</div>';
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackage.js b/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackage.js
index 1e461a3..d65fccd 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackage.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackage.js
@@ -82,6 +82,20 @@
this.layerIndex = index;
};
+
+
+CoursePackage.addCoursePackage1 = function () {
+ let index = layer.open({
+ type: 2,
+ title: '添加',
+ area: ['100%', '100%'], //宽高
+ fix: false, //不固定
+ maxmin: true,
+ content: Feng.ctxPath + '/tStudent/openAddCoursePackage'
+ });
+ this.layerIndex = index;
+};
+
/**
* 点击修改按钮时
* @param userId 管理员id
@@ -201,6 +215,8 @@
+
+
CoursePackage.resetSearch = function () {
$("#provinceCode").val("");
$("#cityCode").val("");
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackageStudent.js b/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackageStudent.js
index 6cb31aa..c1d1b38 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackageStudent.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackageStudent.js
@@ -22,28 +22,32 @@
{title: '年龄', field: 'age', align: 'center', valign: 'middle'},
{title: '性别', field: 'sex', align: 'center', valign: 'middle',
formatter: function (v) {
- if(v == 1){
+ if (v == 1) {
return '男';
- }else{
+ } else {
return '女';
}
}
},
{title: '到课状态', field: 'signInOrNot', align: 'center', valign: 'middle',
- formatter: function (v) {
- switch (v) {
- case 0:
- return '未到';
- case 1:
- return '已到';
+ formatter: function (v, row) {
+ if (row.reservationStatus === 0) {
+ return '请假';
+ } else {
+ switch (v) {
+ case 0:
+ return '旷课';
+ case 1:
+ return '已到';
+ }
}
}
},
- {title: '预定状态', field: 'reservationStatus', align: 'center', valign: 'middle',
+ {title: '预定状态', field: 'reservationStatus', align: 'center', valign: 'middle',hidden:true,
formatter: function (v) {
- if(v == 0){
+ if (v == 0) {
return '已取消';
- }else{
+ } else {
return '正常';
}
}
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackage_info.js b/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackage_info.js
index 23da9f0..9c0e374 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackage_info.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackage_info.js
@@ -15,6 +15,33 @@
};
+CoursePackageInfo.openDia = function (i) {
+
+ let index = layer.open({
+ type: 2,
+ title: '编辑',
+ area: ['80%', '80%'], //宽高
+ fix: false, //不固定
+ maxmin: true,
+ content: Feng.ctxPath + '/coursePackage/conpun/'+i
+ });
+ this.layerIndex = index;
+};
+
+CoursePackageInfo.openDia1 = function (i) {
+ var ids = $("#counpons"+i).val()
+
+ console.log($("#counpons"+i).val())
+ let index = layer.open({
+ type: 2,
+ title: '编辑',
+ area: ['80%', '80%'], //宽高
+ fix: false, //不固定
+ maxmin: true,
+ content: Feng.ctxPath + '/coursePackage/conpun1'+'/'+i+'?conpunids='+ids
+ });
+ this.layerIndex = index;
+};
/**
* 提交添加用户
*/
@@ -29,7 +56,16 @@
let siteId = $('#siteId').val();
let coachId = $('#coachId').val();
let maxSubscribeNumber = $('#maxSubscribeNumber').val();
- let classStartTime = $('#classStartTime').val();
+ let codeTime = $('#codeTime').val();
+
+ // let classStartTime = JSON.stringify($('#classStartTime').val());
+
+
+ var inputElements = document.querySelectorAll('input[name="classStartTime"]');
+ let classStartTime = JSON.stringify(Array.from(inputElements).map(function(element) {
+ return element.value;
+ }))
+
let classWeeks = '';
$('input[name="classWeeks"]:checked').each(function (index, e) {
classWeeks += $(e).val() + ";";
@@ -40,15 +76,17 @@
let sort = $('#sort').val();
let validDays = $('#validDays').val();
let price = [];
- $('#price>.form-group').each(function (i, e) {
+ $('#price > .form-group').each(function (i, e) {
let classHours = $($(e).find(".classNumber_span input[class='classNumber']")[0]).val();
let cash = $($(e).find(".cash_span input[class='cash']")[0]).val();
let paiCoin = $($(e).find(".paiCoin_span input[class='paiCoin']")[0]).val();
+ let counpons = $($(e).find(".counpons")).val();
price.push({
classHours: classHours,
cashPayment: typeof cash == "undefined" ? 0 : cash,
- playPaiCoin: typeof paiCoin == "undefined" ? 0 : paiCoin
- })
+ playPaiCoin: typeof paiCoin == "undefined" ? 0 : paiCoin,
+ couponIds: typeof counpons == "undefined" ? 0 : counpons
+ });
});
if(null == provinceCode || '' == provinceCode){
Feng.error("所在省不能为空");
@@ -79,6 +117,10 @@
return
}
if(null == maxSubscribeNumber || '' == maxSubscribeNumber){
+ Feng.error("最多预约人数不能为空");
+ return
+ }
+ if(null == codeTime || '' == codeTime){
Feng.error("最多预约人数不能为空");
return
}
@@ -120,8 +162,10 @@
siteId: siteId,
coachId: coachId,
maxSubscribeNumber: maxSubscribeNumber,
- classStartTime: classStartTime.split(" - ")[0],
- classEndTime: classStartTime.split(" - ")[1],
+ classStartTime: classStartTime,
+ codeTime:codeTime,
+ // classStartTime: classStartTime.split(" - ")[0],
+ // classEndTime: classStartTime.split(" - ")[1],
classWeeks: classWeeks,
coverDrawing: coverDrawing,
detailDrawing: detailDrawing,
@@ -162,6 +206,8 @@
let siteId = $('#siteId').val();
let coachId = $('#coachId').val();
let maxSubscribeNumber = $('#maxSubscribeNumber').val();
+ let codeTime = $('#codeTime').val();
+
let classStartTime = $('#classStartTime').val();
let classWeeks = '';
$('input[name="classWeeks"]:checked').each(function (index, e) {
@@ -172,15 +218,21 @@
let introduceDrawing = $('#introduceDrawing').val();
let sort = $('#sort').val();
let validDays = $('#validDays').val();
+ // let counpons = $($(e).find(".counpons")).val();
+
let price = [];
$('#price>.form-group').each(function (i, e) {
let classHours = $($(e).find(".classNumber_span input[class='classNumber']")[0]).val();
let cash = $($(e).find(".cash_span input[class='cash']")[0]).val();
let paiCoin = $($(e).find(".paiCoin_span input[class='paiCoin']")[0]).val();
+ let counpons = $($(e).find(".counpons")).val();
+
price.push({
classHours: classHours,
cashPayment: typeof cash == "undefined" ? 0 : cash,
- playPaiCoin: typeof paiCoin == "undefined" ? 0 : paiCoin
+ playPaiCoin: typeof paiCoin == "undefined" ? 0 : paiCoin,
+ couponIds: typeof counpons == "undefined" ? 0 : counpons
+
})
});
if(null == provinceCode || '' == provinceCode){
@@ -213,6 +265,9 @@
}
if(null == maxSubscribeNumber || '' == maxSubscribeNumber){
Feng.error("最多预约人数不能为空");
+ return
+ } if(null == codeTime || '' == codeTime){
+ Feng.error("扣除课时不能为空");
return
}
if(null == classStartTime || '' == classStartTime){
@@ -254,6 +309,8 @@
siteId: siteId,
coachId: coachId,
maxSubscribeNumber: maxSubscribeNumber,
+ codeTime: codeTime,
+
classStartTime: classStartTime.split(" - ")[0],
classEndTime: classStartTime.split(" - ")[1],
classWeeks: classWeeks,
@@ -344,7 +401,7 @@
paiCoin = true;
}
})
-
+ var i = $('#price > div').length+1
let htmlStr = '' +
'<div class="form-group">\n' +
' <label class="col-sm-3 control-label">*课时数:</label>\n' +
@@ -357,13 +414,19 @@
if(paiCoin){
htmlStr += '玩湃币支付:<input class="paiCoin" type="number" min="0" placeholder="请输入金额" style="width: 110px;background-color: #FFFFFF;background-image: none;border: 1px solid #e5e6e7;border-radius: 1px;color: inherit;padding: 6px 12px;"> 币 \n';
}
- htmlStr += '</span> <i class="fa fa-trash-o" style="font-size:24px" onclick="removePrice(this)"></i>\n' +
- '</div>\n' +
+ htmlStr += '<button type="button" class="btn btn-info " onclick="CoursePackageInfo.openDia('+i+')" id="ensure">\n' +
+ ' <i class="fa fa-check"></i> 优惠卷\n' +
+ '</button>';
+
+ htmlStr += '</span> <i class="fa fa-trash-o" style="font-size:24px" onclick="removePrice(this)"></i>\n' +
+ '</div>\n' +'<input type="text" class = "counpons" id = "counpons'+i+'" >'+i+
'</div>';
$('#price').append(htmlStr);
}
+
+
function removePrice(e){
$(e).parent('div').parent('div').remove();
}
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/registrationRecord.js b/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/registrationRecord.js
index 9d07773..1e07b58 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/registrationRecord.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/registrationRecord.js
@@ -13,7 +13,7 @@
*/
RegistrationRecord.initColumn = function () {
let columns = [
- {field: 'selectItem', radio: true},
+ {field: 'selectItem', checkbox: true},
{title: 'id', field: 'id', visible: false, align: 'center', valign: 'middle'},
{title: '购买用户', field: 'userName', align: 'center', valign: 'middle'},
{title: '联系方式', field: 'phone', align: 'center', valign: 'middle'},
@@ -45,6 +45,8 @@
return false;
} else {
RegistrationRecord.seItem = selected[0];
+ RegistrationRecord.seItem1 = selected;
+
return true;
}
};
@@ -64,6 +66,42 @@
this.layerIndex = index;
};
+
+RegistrationRecord.holiClass = function () {
+ if (this.check()) {
+ var ids = RegistrationRecord.seItem1.map(function(item) {
+ return item.id;
+ }).join(",");
+ let index = layer.open({
+ type: 2,
+ title: '报名信息',
+ area: ['50%', '50%'], //宽高
+ fix: false, //不固定
+ maxmin: true,
+ content: Feng.ctxPath + '/tStudent/TTT?ids='+ids+'&id='+$('#id').val()
+ });
+ this.layerIndex = index;
+ }
+};
+
+RegistrationRecord.transClass = function () {
+ if (this.check()) {
+ var ids = RegistrationRecord.seItem1.map(function(item) {
+ return item.id;
+ }).join(",");
+ let index = layer.open({
+ type: 2,
+ title: '报名信息',
+ area: ['50%', '50%'], //宽高
+ fix: false, //不固定
+ maxmin: true,
+ content: Feng.ctxPath + '/tStudent/trans?ids='+ids+'&id='+$('#id').val()
+ });
+ this.layerIndex = index;
+ }
+};
+
+
/**
* 点击修改按钮时
* @param userId 管理员id
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOther.js b/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOther.js
index 0302161..58e35c3 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOther.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOther.js
@@ -105,6 +105,19 @@
this.layerIndex = index;
}
};
+TCompetition.openTCompetitionDetail1 = function () {
+ if (this.check()) {
+ var index = layer.open({
+ type: 2,
+ title:'编辑',
+ area: ['100%', '100%'], //宽高
+ fix: false, //不固定
+ maxmin: true,
+ content: Feng.ctxPath + '/tShop/tShop_update1/' + TCompetition.seItem.id
+ });
+ this.layerIndex = index;
+ }
+};
TCompetition.info = function () {
if (this.check()) {
var index = layer.open({
@@ -243,6 +256,18 @@
ajax.start();
}
};
+TCompetition.del = function () {
+ if (this.check()) {
+ var ajax = new $ax(Feng.ctxPath + "/tShop/del", function (data) {
+ Feng.success("删除成功!");
+ TCompetition.table.refresh();
+ }, function (data) {
+ Feng.error("删除失败!" + data.responseJSON.message + "!");
+ });
+ ajax.set("id",this.seItem.id);
+ ajax.start();
+ }
+};
TCompetition.unfreeze = function () {
if (this.check()) {
var ajax = new $ax(Feng.ctxPath + "/tShop/unfreeze", function (data) {
@@ -255,6 +280,19 @@
ajax.start();
}
};
+TCompetition.unfreeze1 = function (e) {
+ if (this.check()) {
+ var ajax = new $ax(Feng.ctxPath + "/tShop/unfreeze1", function (data) {
+ Feng.success("操作成功!");
+ TCompetition.table.refresh();
+ }, function (data) {
+ Feng.error("操作失败!" + data.responseJSON.message + "!");
+ });
+ ajax.set("id",this.seItem.id);
+ ajax.set("type",e);
+ ajax.start();
+ }
+};
TCompetition.reload = function () {
if (this.check()) {
let id = this.seItem.id
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOtherOne.js b/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOtherOne.js
index 1897c1c..6d13e5c 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOtherOne.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOtherOne.js
@@ -68,7 +68,7 @@
TCompetition.delete1= function (e) {
console.log(e)
- var ajax = new $ax(Feng.ctxPath + "/tShop/deleteOne", function (data) {
+ var ajax = new $ax(Feng.ctxPath + "/tShop/deleteTwo", function (data) {
Feng.success("删除成功!");
TCompetition.table.refresh();
}, function (data) {
@@ -719,6 +719,9 @@
ajax.set("id",$("#id").val());
ajax.start();
}
+
+
+
TCompetition.close = function() {
parent.layer.close(window.parent.TCompetition.layerIndex);
}
\ No newline at end of file
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOtherTwo.js b/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOtherTwo.js
new file mode 100644
index 0000000..4c2cf6c
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOtherTwo.js
@@ -0,0 +1,812 @@
+/**
+ * 车辆管理管理初始化
+ */
+var TCompetition = {
+ id: "TCompetitionOtherTable", //表格id
+ seItem: null, //选中的条目
+ table: null,
+ layerIndex: -1
+};
+var language =1
+var role =1
+/**
+ * 初始化表格的列
+ */
+TCompetition.initColumn = function () {
+ return [
+ {field: 'selectItem', radio: true},
+ {title: 'id', field: 'id', visible: false, align: 'center', valign: 'middle',
+ },
+ {title: '图片', field: 'url', visible: role==1?true:false, align: 'center', valign: 'middle',
+ },
+ {title: '跳转模块', field: 'name', visible: role==1?true:false, align: 'center', valign: 'middle',
+ },
+ {title: '跳转页面', field: 'page', visible: role==1?true:false, align: 'center', valign: 'middle',
+ },
+ {title: '排序', field: 'sort', visible: role==1?true:false, align: 'center', valign: 'middle',
+ },
+ {title: '操作', visible: role==1?true:false, align: 'center', valign: 'middle',
+ formatter:function (value,row) {
+ return '<a href="javascript:void(0);" style="color: blue" onclick="TCompetition.delete1(' + row.id +')">删除 </a> <a href="javascript:void(0);" style="color: blue" onclick="TCompetition.openTCompetitionDetail(' + row.id +')">编辑</a>'
+ }
+ },
+ ];
+};
+function currentTime(timestamp){
+ var time = timestamp + '';
+ if(time.length != 13){
+ timestamp = timestamp * 1000;
+ }
+ var date = new Date(timestamp);;
+ var Y = date.getFullYear() + '-';
+ var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
+ var D = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate()) + ' ';
+
+ var h = (date.getHours() < 10 ? '0' + (date.getHours()) : date.getHours()) + ':';
+ var m = (date.getMinutes() < 10 ? '0' + (date.getMinutes()) : date.getMinutes()) + ':';
+ var s = (date.getSeconds() < 10 ? '0' + (date.getSeconds()) : date.getSeconds());
+ var strDate = Y + M + D + h + m + s;
+ return strDate
+}
+
+function currentTime1(timestamp){
+ var time = timestamp + '';
+ if(time.length != 13){
+ timestamp = timestamp * 1000;
+ }
+ var date = new Date(timestamp);;
+ var Y = date.getFullYear() + '-';
+ var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
+ var D = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate()) + ' ';
+
+ var h = (date.getHours() < 10 ? '0' + (date.getHours()) : date.getHours()) + ':';
+ var m = (date.getMinutes() < 10 ? '0' + (date.getMinutes()) : date.getMinutes()) + ':';
+ var s = (date.getSeconds() < 10 ? '0' + (date.getSeconds()) : date.getSeconds());
+ var strDate = Y + M + D ;
+ return strDate
+}
+
+TCompetition.delete1= function (e) {
+ console.log(e)
+ var ajax = new $ax(Feng.ctxPath + "/tShop/deleteTwo", function (data) {
+ Feng.success("删除成功!");
+ TCompetition.table.refresh();
+ }, function (data) {
+ Feng.error("删除失败!" + data.responseJSON.message + "!");
+ });
+ ajax.set("id",e);
+ ajax.start();
+}
+/**
+ * 检查是否选中
+ */
+TCompetition.check = function () {
+ var selected = $('#' + this.id).bootstrapTable('getSelections');
+ if(selected.length == 0){
+ Feng.info("请先选中表格中的某一记录!");
+ return false;
+ }else{
+ TCompetition.seItem = selected[0];
+ return true;
+ }
+};
+
+/**
+ * 点击添加车辆管理
+ */
+TCompetition.openAdd = function () {
+ var index = layer.open({
+ type: 2,
+ title: '添加内容',
+ area: ['100%', '100%'], //宽高
+ fix: false, //不固定
+ maxmin: true,
+ content: Feng.ctxPath + '/tShop/tShop_add_two?id='+$("#id").val()
+ });
+ this.layerIndex = index;
+};
+
+/**
+ * 打开查看车辆管理详情
+ */
+TCompetition.openTCompetitionDetail = function (e) {
+ var index = layer.open({
+ type: 2,
+ title:'编辑',
+ area: ['100%', '100%'], //宽高
+ fix: false, //不固定
+ maxmin: true,
+ content: Feng.ctxPath + '/tShop/tShop_update_one1/' + e
+ });
+ this.layerIndex = index;
+};
+TCompetition.info = function () {
+ if (this.check()) {
+ var index = layer.open({
+ type: 2,
+ title:'详情',
+ area: ['100%', '100%'], //宽高
+ fix: false, //不固定
+ maxmin: true,
+ content: Feng.ctxPath + '/tShop/tShop_info/' + TCompetition.seItem.id
+ });
+ this.layerIndex = index;
+ }
+};
+TCompetition.gift = function () {
+ if (this.check()) {
+ var index = layer.open({
+ type: 2,
+ title:'免费福利',
+ area: ['100%', '100%'], //宽高
+ fix: false, //不固定
+ maxmin: true,
+ content: Feng.ctxPath + '/tShop/tShop_gift/' + TCompetition.seItem.id
+ });
+ this.layerIndex = index;
+ }
+};
+TCompetition.indexSet = function () {
+ if (this.check()) {
+ var index = layer.open({
+ type: 2,
+ title:'首页设置',
+ area: ['100%', '100%'], //宽高
+ fix: false, //不固定
+ maxmin: true,
+ content: Feng.ctxPath + '/tShop/tShop_indexSet/' + TCompetition.seItem.id
+ });
+ this.layerIndex = index;
+ }
+};
+
+/**
+ * 删除车辆管理
+ */
+TCompetition.delete = function () {
+ if (this.check()) {
+ var nickname = TCompetition.seItem.carLicensePlate;
+ if (nickname == "" || nickname == null || nickname == undefined){
+ nickname = "该车辆";
+ }else{
+ nickname = "【"+nickname+"】";
+ }
+ swal({
+ title: language==1?"您是否确认删除" + nickname + "?":(language==2?"Are you sure to delete the" + nickname + "?":"Apakah Anda pasti akan menghapus" + nickname + "?"),
+ text: language==1?"请谨慎操作!":(language==2?' Please operate with caution!':'Harap beroperasi dengan hati -hati!'),
+ type: "warning",
+ showCancelButton: true,
+ confirmButtonColor: "#DD6B55",
+ confirmButtonText: language==1?"删除":(language==2?'Delete':'Hapus'),
+ closeOnConfirm: true
+ }, function () {
+ var ajax = new $ax(Feng.ctxPath + "/TCompetition/delete", function (data) {
+ if(language==1){
+ swal("删除成功", "您已经成功删除了" + nickname + "。", "success");
+ }else if(language==2){
+ swal("Delete succeeded!", "You have successfully deleted it" + nickname + "。", "success");
+ }else {
+ swal("Hapus berhasil!", "Anda berhasil menghapus" + nickname + "。", "success");
+ }
+ TCompetition.table.refresh();
+ }, function (data) {
+ if(language==1){
+ swal("删除失败", data.responseJSON.message + "!", "warning");
+ }else if(language==2){
+ swal("Failed to delete", data.responseJSON.message + "!", "warning");
+ }else {
+ swal("Hapus Gagal", data.responseJSON.message + "!", "warning");
+ }
+
+ });
+ ajax.set("TCompetitionId",TCompetition.seItem.id);
+ ajax.start();
+ });
+ }
+};
+TCompetition.oneChange = function (e) {
+ console.log(111)
+ var oneId=$(e).val();
+ var ajax = new $ax(Feng.ctxPath + "/tCompetition/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();
+}
+TCompetition.oneChangeNext = function (e) {
+ var oneId=$(e).val();
+ var ajax = new $ax(Feng.ctxPath + "/tCompetition/oneChangeNext", 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.id+"'>"+v.name+"</option>";
+ });
+ $("#account").empty().append(content);
+ }
+ });
+ ajax.set("oneId",oneId);
+ ajax.start();
+}
+
+TCompetition.freeze = function () {
+ if (this.check()) {
+ var ajax = new $ax(Feng.ctxPath + "/tShop/freeze", function (data) {
+ Feng.success("冻结成功!");
+ TCompetition.table.refresh();
+ }, function (data) {
+ Feng.error("冻结失败!" + data.responseJSON.message + "!");
+ });
+ ajax.set("id",this.seItem.id);
+ ajax.start();
+ }
+};
+TCompetition.unfreeze = function () {
+ if (this.check()) {
+ var ajax = new $ax(Feng.ctxPath + "/tShop/unfreeze", function (data) {
+ Feng.success("解冻成功!");
+ TCompetition.table.refresh();
+ }, function (data) {
+ Feng.error("解冻失败!" + data.responseJSON.message + "!");
+ });
+ ajax.set("id",this.seItem.id);
+ ajax.start();
+ }
+};
+TCompetition.reload = function () {
+ if (this.check()) {
+ let id = this.seItem.id
+ var operation = function(){
+ var ajax = new $ax(Feng.ctxPath + "/tCity/pwd", function (data) {
+ Feng.success("重置成功!");
+ TCompetition.table.refresh();
+ }, function (data) {
+ Feng.error("重置失败!" + data.responseJSON.message + "!");
+ });
+ ajax.set("id",id);
+ ajax.start();
+ }
+ Feng.confirm("确认重置密码?重置后密码为:a123456", operation);
+ }
+
+};
+
+TCompetition.saveAllImg = function (e) {
+ var id = $("#id").val()
+ var px1 = $("#px1").val()
+ var px2 = $("#px2").val()
+ var px3 = $("#px3").val()
+ var px4 = $("#px4").val()
+ var px5 = $("#px5").val()
+ var px6 = $("#px6").val()
+ var px7 = $("#px7").val()
+ var px8 = $("#px8").val()
+ var c1 = $("#c1").val()
+ var c2 = $("#c2").val()
+ var c3 = $("#c3").val()
+ var c4 = $("#c4").val()
+ var c5 = $("#c5").val()
+ var c6 = $("#c6").val()
+ var c7 = $("#7").val()
+ var c8 = $("#c8").val()
+ var r1 = document.querySelector('input[name="r1"]').checked;
+ var r2 = document.querySelector('input[name="r2"]').checked;
+ var r3 = document.querySelector('input[name="r3"]').checked;
+ var r4 = document.querySelector('input[name="r4"]').checked;
+ var r5 = document.querySelector('input[name="r5"]').checked;
+ var r6 = document.querySelector('input[name="r6"]').checked;
+ var r7 = document.querySelector('input[name="r7"]').checked;
+ var r8 = document.querySelector('input[name="r8"]').checked;
+ if(r1){
+ r1 =1
+ }else{
+ r1=0
+ }
+ if(r2){
+ r2 =1
+ }else{
+ r2=0
+ }
+ if(r3){
+ r3 =1
+ }else{
+ r3=0
+ }
+ if(r4){
+ r4 =1
+ }else{
+ r4=0
+ }
+ if(r5){
+ r5 =1
+ }else{
+ r5=0
+ }
+ if(r6){
+ r6 =1
+ }else{
+ r6=0
+ }
+ if(r7){
+ r7 =1
+ }else{
+ r7=0
+ }
+ if(r8){
+ r8 =1
+ }else{
+ r8=0
+ }
+
+ var ajax = new $ax(Feng.ctxPath + "/tShop/saveImgAll", function(data){
+ if(data.code == 200){
+ Feng.success("保存成功!");
+ }else{
+ Feng.error(data.msg);
+ }
+ },function(data){
+ Feng.error("保存失败!" + data.responseJSON.message + "!");
+
+ });
+ ajax.set("id",id);
+ ajax.set("px1",px1);
+ ajax.set("px2",px2);
+ ajax.set("px3",px3);
+ ajax.set("px4",px4);
+ ajax.set("px5",px5);
+ ajax.set("px6",px6);
+ ajax.set("px7",px7);
+ ajax.set("px8",px8);
+ ajax.set("c1",c1);
+ ajax.set("c2",c2);
+ ajax.set("c3",c3);
+ ajax.set("c4",c4);
+ ajax.set("c5",c5);
+ ajax.set("c6",c6);
+ ajax.set("c7",c7);
+ ajax.set("c8",c8);
+ ajax.set("r1",r1);
+ ajax.set("r2",r2);
+ ajax.set("r3",r3);
+ ajax.set("r4",r4);
+ ajax.set("r5",r5);
+ ajax.set("r6",r6);
+ ajax.set("r7",r7);
+ ajax.set("r8",r8);
+ ajax.start();
+}
+
+TCompetition.carInsurance = function () {
+ if (this.check()) {
+ var index = layer.open({
+ type: 2,
+ title: language==1?'车辆保险':(language==2?'Vehicle insurance':'Asuransi kendaraan'),
+ area: ['100%', '100%'], //宽高
+ fix: false, //不固定
+ maxmin: true,
+ content: Feng.ctxPath + '/TCompetition/carInsurance?carId=' + TCompetition.seItem.id
+ });
+ this.layerIndex = index;
+ }
+};
+
+
+
+/**
+ * 查询车辆管理列表
+ */
+TCompetition.search = function () {
+ var queryData = {};
+ queryData['provinceCode'] = $("#pCode").val();
+ queryData['cityCode'] = $("#cCode").val();
+ queryData['name'] = $("#name").val();
+ queryData['phone'] = $("#phone").val();
+ queryData['shopName'] = $("#shopName").val();
+ TCompetition.table.refresh({query: queryData});
+};
+
+TCompetition.resetSearch = function () {
+ $("#pCode").val("");
+ $("#cCode").val("");
+ $("#name").val("");
+ $("#phone").val("");
+ $("#shopName").val("");
+ TCompetition.search();
+};
+
+$(function () {
+ var defaultColunms = TCompetition.initColumn();
+
+ // 初始化图片上传
+ var carPhoto = new $WebUpload("url");
+ carPhoto.setUploadBarId("progressBar");
+ carPhoto.init();
+ var carPhoto = new $WebUpload("c2");
+ carPhoto.setUploadBarId("progressBar");
+ carPhoto.init();
+ var carPhoto = new $WebUpload("c3");
+ carPhoto.setUploadBarId("progressBar");
+ carPhoto.init();
+ var carPhoto = new $WebUpload("c4");
+ carPhoto.setUploadBarId("progressBar");
+ carPhoto.init();
+ var carPhoto = new $WebUpload("c5");
+ carPhoto.setUploadBarId("progressBar");
+ carPhoto.init();
+ var carPhoto = new $WebUpload("c6");
+ carPhoto.setUploadBarId("progressBar");
+ carPhoto.init();
+ var carPhoto = new $WebUpload("c7");
+ carPhoto.setUploadBarId("progressBar");
+ carPhoto.init();
+ var carPhoto = new $WebUpload("c8");
+ carPhoto.setUploadBarId("progressBar");
+ carPhoto.init();
+ var carPhoto = new $WebUpload("img");
+ carPhoto.setUploadBarId("progressBar");
+ carPhoto.init();
+ var drivingLicensePhoto = new $WebUpload("drivingLicensePhoto");
+ drivingLicensePhoto.setUploadBarId("progressBar");
+ drivingLicensePhoto.init();
+
+ var table = new BSTable(TCompetition.id, "/tShop/listTwo1?id="+$("#id").val(), defaultColunms);
+ table.setPaginationType("server");
+ TCompetition.table = table.init();
+});
+
+/**
+ * 下载模板
+ */
+TCompetition.uploadCarModel = function () {
+ window.location.href = Feng.ctxPath + "/TCompetition/uploadCarModel";
+}
+
+var agreement = function(){
+ this.init = function(){
+ //模拟上传excel
+ $("#uploadEventBtn").unbind("click").bind("click",function(){
+ $("#uploadEventFile").click();
+ });
+ };
+}
+/**
+ * 导入合同
+ */
+TCompetition.exporTCompetition = function () {
+ var uploadEventFile = $("#uploadEventFile").val();
+ if(uploadEventFile == ''){
+ if(language==1){
+ Feng.info("请选择Excel,再上传");
+ }else if(language==2){
+ Feng.info("Please select Excel and upload");
+ }else {
+ Feng.info("Silakan pilih Excel dan upload");
+ }
+ }else if(uploadEventFile.lastIndexOf(".xls")<0){//可判断以.xls和.xlsx结尾的excel
+ if(language==1){
+ Feng.info("只能上传Excel文件");
+ }else if(language==2){
+ Feng.info("Only Excel files can be uploaded");
+ }else {
+ Feng.info("Hanya berkas Excel yang dapat diunggah");
+ }
+ }else{
+ var url = Feng.ctxPath + '/TCompetition/exporTCompetition';
+ var file = document.querySelector('input[name=file]').files[0];
+ var reader = new FileReader();
+ if (file) {
+ var formData = new FormData();
+ formData.append("myfile", file);
+ this.sendAjaxRequest(url, 'POST', formData);
+ }
+ }
+}
+TCompetition.sendAjaxRequest = function(url,type,data){
+ $.ajax({
+ url : url,
+ type : type,
+ data : data,
+ success : function(result) {
+ if(result.code==500) {
+ Feng.info(result.message);
+ }else {
+ if(language==1){
+ Feng.success("导入成功!");
+ }else if(language==2){
+ Feng.success("SUCCESSFUL IMPORT!");
+ }else {
+ Feng.success("Import berhasil!");
+ }
+ }
+ TCompetition.table.refresh();
+ },
+ error : function() {
+ if(language==1){
+ Feng.error("excel上传失败!");
+ }else if(language==2){
+ Feng.error("Uploading excel Fails. Procedure!");
+ }else {
+ Feng.error("Gagal mengunggah excel!");
+ }
+ },
+ cache : false,
+ contentType : false,
+ processData : false
+ });
+};
+
+var agreement;
+$(function(){
+ agreement = new agreement();
+ agreement.init();
+});
+
+/**
+ * 导出车辆操作
+ */
+TCompetition.ouTCompetition = function () {
+ var operation = function() {
+ window.location.href = Feng.ctxPath + "/TCompetition/ouTCompetition";
+ };
+ if(language==1){
+ Feng.confirm("是否确认导出车辆信息?", operation);
+ }else if(language==2){
+ Feng.confirm("Are you sure to export vehicle information?", operation);
+ }else {
+ Feng.confirm("Apakah Anda pasti akan mengekspor informasi kendaraan?", operation);
+ }
+}
+
+TCompetition.addSubmit = function() {
+
+ let url = $("#url").val()
+ if(url==''){
+ Feng.info("请上传图片")
+ return;
+ }
+
+ let name = $("#name").val()
+ console.log(name)
+
+ if(name=='' || name ==null){
+ Feng.info("请选择跳转模块")
+ return;
+ }
+ let page = $("#page").val()
+ if(page=='' && name !='不跳转'){
+ Feng.info("请选择跳转页面")
+ return;
+ }
+ let type = $("#type").val()
+
+ if(type=='' && name !='不跳转'){
+ }
+ let turnId = $("#turnId").val()
+
+ if( type =='11' || type=='13'|| type=='16'|| type=='19'|| type=='21'|| type=='40'|| type=='43'){
+ Feng.info("请输入跳转ID")
+ return;
+ }
+ let sort = $("#sort").val()
+
+ if(sort==''){
+ Feng.info("请输入排序")
+ return;
+ }
+
+ //提交信息
+ var ajax = new $ax(Feng.ctxPath + "/tShop/addConfigOne", function(data){
+ if(data.code == 200){
+ Feng.success("添加成功!");
+ window.parent.TCompetition.table.refresh();
+ parent.layer.close(window.parent.TCompetition.layerIndex);
+ }else{
+ Feng.error(data.msg);
+ }
+
+ },function(data){
+ Feng.error("添加失败!" + data.responseJSON.message + "!");
+ });
+ ajax.set("url",url);
+ ajax.set("name",name);
+ ajax.set("page",page);
+ ajax.set("type",type);
+ ajax.set("turnId",turnId);
+ ajax.set("sort",sort);
+ ajax.start();
+}
+
+TCompetition.addSubmit1 = function() {
+
+ let url = $("#url").val()
+ if(url==''){
+ }
+
+ let name = $("#name").val()
+ console.log(name)
+
+ if(name=='' || name ==null){
+ Feng.info("请选择跳转模块")
+ return;
+ }
+ let page = $("#page").val()
+ if(page=='' && name !='不跳转'){
+ Feng.info("请选择跳转页面")
+ return;
+ }
+ let type = $("#type").val()
+
+ if(type=='' && name !='不跳转'){
+ }
+ let turnId = $("#turnId").val()
+
+ if( type =='11' || type=='13'|| type=='16'|| type=='19'|| type=='21'|| type=='40'|| type=='43'){
+ if(turnId==""){
+ Feng.info("请输入跳转ID")
+ return;
+ }
+ }
+ let sort = $("#sort").val()
+
+ if(sort==''){
+ Feng.info("请输入排序")
+ return;
+ }
+
+ //提交信息
+ var ajax = new $ax(Feng.ctxPath + "/tShop/updateConfigOne", function(data){
+ if(data.code == 200){
+ Feng.success("添加成功!");
+ window.parent.TCompetition.table.refresh();
+ parent.layer.close(window.parent.TCompetition.layerIndex);
+ }else{
+ Feng.error(data.msg);
+ }
+
+ },function(data){
+ Feng.error("添加失败!" + data.responseJSON.message + "!");
+ });
+ ajax.set("url",url);
+ ajax.set("name",name);
+ ajax.set("page",page);
+ ajax.set("type",type);
+ ajax.set("turnId",turnId);
+ ajax.set("sort",sort);
+ ajax.set("id",$("#id").val());
+ ajax.start();
+}
+TCompetition.addSubmit2 = function() {
+
+
+ let name = $("#name").val()
+
+ if(name=='' || name ==null){
+ Feng.info("请填写板块名称")
+ return;
+ }
+
+ //提交信息
+ var ajax = new $ax(Feng.ctxPath + "/tShop/addConfig", function(data){
+ if(data.code == 200){
+ Feng.success("添加成功!");
+ window.parent.TCompetition.table.refresh();
+ parent.layer.close(window.parent.TCompetition.layerIndex);
+ }else{
+ Feng.error(data.msg);
+ }
+
+ },function(data){
+ Feng.error("添加失败!" + data.responseJSON.message + "!");
+ });
+ ajax.set("name",name);
+ ajax.set("id",$("#id").val());
+ ajax.start();
+}
+TCompetition.addSubmit3 = function() {
+
+ let url = $("#url").val()
+ if(url==''){
+ }
+
+ let name = $("#name").val()
+ console.log(name)
+
+ if(name=='' || name ==null){
+ Feng.info("请选择跳转模块")
+ return;
+ }
+ let page = $("#page").val()
+ if(page=='' && name !='不跳转'){
+ Feng.info("请选择跳转页面")
+ return;
+ }
+ let type = $("#type").val()
+
+ if(type=='' && name !='不跳转'){
+ }
+ let turnId = $("#turnId").val()
+
+ if( type =='11' || type=='13'|| type=='16'|| type=='19'|| type=='21'|| type=='40'|| type=='43'){
+ if(turnId==""){
+ Feng.info("请输入跳转ID")
+ return;
+ }
+ }
+ let sort = $("#sort").val()
+
+ if(sort==''){
+ Feng.info("请输入排序")
+ return;
+ }
+
+ //提交信息
+ var ajax = new $ax(Feng.ctxPath + "/tShop/updateConfigOne3", function(data){
+ if(data.code == 200){
+ Feng.success("添加成功!");
+ window.parent.TCompetition.table.refresh();
+ parent.layer.close(window.parent.TCompetition.layerIndex);
+ }else{
+ Feng.error(data.msg);
+ }
+
+ },function(data){
+ Feng.error("添加失败!" + data.responseJSON.message + "!");
+ });
+ ajax.set("url",url);
+ ajax.set("name",name);
+ ajax.set("page",page);
+ ajax.set("type",type);
+ ajax.set("turnId",turnId);
+ ajax.set("sort",sort);
+ ajax.set("id",$("#id").val());
+ ajax.start();
+}
+
+
+TCompetition.addSubmit4 = function() {
+
+
+ let name = $("#name").val()
+
+ if(name=='' || name ==null){
+ Feng.info("请填写板块名称")
+ return;
+ }
+
+ //提交信息
+ var ajax = new $ax(Feng.ctxPath + "/tShop/addConfig1", function(data){
+ if(data.code == 200){
+ Feng.success("添加成功!");
+ window.parent.TCompetition.table.refresh();
+ parent.layer.close(window.parent.TCompetition.layerIndex);
+ }else{
+ Feng.error(data.msg);
+ }
+
+ },function(data){
+ Feng.error("添加失败!" + data.responseJSON.message + "!");
+ });
+ ajax.set("name",name);
+ ajax.set("id",$("#id").val());
+ ajax.start();
+}
+TCompetition.close = function() {
+ parent.layer.close(window.parent.TCompetition.layerIndex);
+}
\ No newline at end of file
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShop_info.js b/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShop_info.js
index 2d4e403..8dd039a 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShop_info.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShop_info.js
@@ -463,11 +463,19 @@
let img = $("#img").val()
- let imgOne = $("#imgOne").val()
-
- if(imgOne==''){
+ var goodImgs = this.goodsPicArray;
+ if(goodImgs.length==0){
Feng.info("请上传实景图")
return;
+ }
+ var imgOne ="";
+ for (let i = 0; i <goodImgs.length; i++) {
+ if(i==goodImgs.length-1){
+ imgOne += (goodImgs[i].response)
+ }else {
+ imgOne+=(goodImgs[i].response+",")
+ }
+
}
//提交信息
var ajax = new $ax(Feng.ctxPath + "/tShop/update", function(data){
@@ -502,7 +510,12 @@
ajax.set("userPhone",userPhone);
ajax.set("coverDrawing",img);
ajax.set("realPicture",imgOne);
+ ajax.set("lat",$("#latitude").val());
+ ajax.set("lon",$("#longitude").val());
ajax.set("id",$("#id").val());
+ ajax.set("ids",$("#ids").val());
+ ajax.set("type",OBJradio);
+ ajax.set("yyId",$("#account").val());
ajax.start();
}
@@ -711,3 +724,47 @@
$("#kcModelDiv").hide();
}
}
+
+
+TCarInfoDlg.oneChange1 = function (e) {
+ console.log(111)
+ var oneId=$(e).val();
+ var ajax = new $ax(Feng.ctxPath + "/tShop/onChange1", 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.id+"'>"+v.name+"</option>";
+ });
+ $("#pCode").empty().append(content);
+ }
+ });
+ ajax.set("oneId",oneId);
+ ajax.start();
+}
+TCarInfoDlg.oneChange2 = function (e) {
+ console.log(111)
+ var oneId=$(e).val();
+ var ajax = new $ax(Feng.ctxPath + "/tShop/onChange2", 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.id+"'>"+v.name+"</option>";
+ });
+ $("#cCode").empty().append(content);
+ }
+ });
+ ajax.set("oneId",oneId);
+ ajax.start();
+}
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tShopEvaluation/tShop_info.js b/cloud-server-management/src/main/webapp/static/modular/system/tShopEvaluation/tShop_info.js
index e218aa8..83702a1 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tShopEvaluation/tShop_info.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tShopEvaluation/tShop_info.js
@@ -122,6 +122,7 @@
ajax.set("oneId",oneId);
ajax.start();
}
+
TCarInfoDlg.oneChangeNext = function (e) {
var oneId=$(e).val();
var ajax = new $ax(Feng.ctxPath + "/tShop/oneChangeNext", function(data){
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js b/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js
index 8dfc8cf..e08209b 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js
@@ -159,6 +159,29 @@
ajax.set("province",oneId);
ajax.start();
};
+TSite.oneChangeYys = function(e){
+ var oneId=$(e).val();
+ var SelectValue="";
+ var getSelectValueMenbers = $("input[name='pt']:checked").each(function(j) {
+ if (j >= 0) {
+ SelectValue += $(this).val()
+ }
+ });
+ if(SelectValue=='0' ){
+ oneId=0
+ }
+ var ajax = new $ax(Feng.ctxPath + "/tSite/getChangeOne", function(data){
+ if(data!=null){
+ var content='<option value="">选择门店</option>';
+ $.each(data, function(k,v) {
+ content += "<option value='"+v.id+"'>"+v.name+"</option>";
+ });
+ $("#store").empty().append(content);
+ }
+ });
+ ajax.set("oneId",oneId);
+ ajax.start();
+};
// 场地管理首页 选择对应的省市
// 传1是场地管理首页 传2是场地管理添加页面
TSite.oneChange = function (e) {
@@ -357,7 +380,14 @@
managementPlan:"",
operatorId:"",
typeName:"",
- nextName:""
+ nextName:"",
+ ishalf:"",
+ cashPriceOne:"",
+ playPaiCoinOne:"",
+ halfName:"",
+ introduce:"",
+ imgs:"",
+ ids:""
};
data.province = $("#pCode").val()
data.city = $("#cCode").val()
@@ -399,7 +429,7 @@
let num24 = $('input[name="name1"]');
var nextName="";
for (let i = 0; i < num24.length; i++) {
- if(console.log($(num24[i]).val()=='')){
+ if($(num24[i]).val()==''){
Feng.info("请填写场地名称")
return;
}
@@ -409,15 +439,74 @@
nextName += $(num24[i]).val()+","
}
}
- console.log(nextName)
data.nextName= nextName;
+ var ishalf= $("input[name='ishalf']:checked").val();
+ data.ishalf= ishalf;
+ var halfName="";
+ if(ishalf==1){
+ let cashPriceOne = $("#cashPriceOne").val()
+ if(cashPriceOne=='' ){
+ Feng.info("请填写现金价格")
+ return;
+ }
+ data.cashPriceOne= cashPriceOne;
- if($("#account").val()=='' ){
- Feng.info("请选择账号")
+ let playPaiCoinOne = $("#playPaiCoinOne").val()
+ if(playPaiCoinOne=='' ){
+ Feng.info("请填写玩湃币价格")
+ return;
+ }
+
+ data.playPaiCoinOne= playPaiCoinOne;
+ let num2 = $('input[name="name2"]');
+ for (let i = 0; i < num2.length; i++) {
+ if($(num2[i]).val()==''){
+ Feng.info("请填写半场名称")
+ return;
+ }
+ if(i==num2.length-1){
+ halfName += $(num2[i]).val()
+ }else {
+ halfName += $(num2[i]).val()+","
+ }
+ }
+ }
+
+
+ data.halfName= halfName;
+ data.ids= $("#ids").val();
+ let introduce = TSite.editor.getContent();
+
+
+
+ console.log(introduce)
+ if(introduce==""){
+ Feng.info("请输入公告内容")
return;
}
+ data.introduce= introduce;
+
+
+ var goodImgs = this.goodsPicArray;
+ if(goodImgs.length==0){
+ Feng.info("请上传实景图")
+ return;
+ }
+ var imgOne ="";
+ for (let i = 0; i <goodImgs.length; i++) {
+ if(i==goodImgs.length-1){
+ imgOne += (goodImgs[i].response)
+ }else {
+ imgOne+=(goodImgs[i].response+",")
+ }
+
+ }
+ data.imgs = imgOne
+
+
+
if($("#store").val()=='' ){
Feng.info("请选择门店")
return;
@@ -463,83 +552,83 @@
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) {
- // window.parent.TSite.table.refresh();
- // TSite.close();
- // 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;
- // }
- // });
+ $.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) {
+ window.parent.TSite.table.refresh();
+ TSite.close();
+ 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;
+ }
+ });
};
TSite.search = function () {
@@ -574,24 +663,24 @@
//初始化编辑器
TSite.editor = UE.getEditor('editor');
// 限制分钟选项为 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 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();
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite_info.js b/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite_info.js
index 152f2e9..68ddf22 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite_info.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite_info.js
@@ -5,7 +5,8 @@
var TSiteInfo = {
layerIndex: -1,
validateFields: {
- }
+ },
+ goodsPicArray:[],
};
/**
@@ -193,7 +194,17 @@
insuranceEndTime:"",
name:"",
insuranceImg:"",
- managementPlan:""
+ managementPlan:"",
+ operatorId:"",
+ typeName:"",
+ nextName:"",
+ ishalf:"",
+ cashPriceOne:"",
+ playPaiCoinOne:"",
+ halfName:"",
+ introduce:"",
+ imgs:"",
+ ids:""
};
data.province = $("#pCode").val()
data.id = $("#id").val()
@@ -214,18 +225,113 @@
var eh =data.appointmentEndTime.split(':')[0];
var em =data.appointmentEndTime.split(':')[1];
- if($("#pCode").val()==''){
- Feng.info("请选择省")
+
+
+
+ var SelectValue="";
+ var getSelectValueMenbers = $("input[name='pt']:checked").each(function(j) {
+ if (j >= 0) {
+ SelectValue += $(this).val()
+ }
+ });
+ if(SelectValue==''){
+ let yys = $("#yys").val()
+ if(yys==""){
+ Feng.info("请选择运营商")
+ return;
+ }
+ SelectValue= yys
+ }
+ data.operatorId= SelectValue;
+
+
+
+ let num24 = $('input[name="name1"]');
+ var nextName="";
+ for (let i = 0; i < num24.length; i++) {
+ if($(num24[i]).val()==''){
+ Feng.info("请填写场地名称")
+ return;
+ }
+ if(i==num24.length-1){
+ nextName += $(num24[i]).val()
+ }else {
+ nextName += $(num24[i]).val()+","
+ }
+ }
+ data.nextName= nextName;
+
+
+ var ishalf= $("input[name='ishalf']:checked").val();
+ data.ishalf= ishalf;
+ var halfName="";
+ if(ishalf==1){
+ let cashPriceOne = $("#cashPriceOne").val()
+ if(cashPriceOne=='' ){
+ Feng.info("请填写现金价格")
+ return;
+ }
+ data.cashPriceOne= cashPriceOne;
+
+ let playPaiCoinOne = $("#playPaiCoinOne").val()
+ if(playPaiCoinOne=='' ){
+ Feng.info("请填写玩湃币价格")
+ return;
+ }
+
+ data.playPaiCoinOne= playPaiCoinOne;
+ let num2 = $('input[name="name2"]');
+ for (let i = 0; i < num2.length; i++) {
+ if($(num2[i]).val()==''){
+ Feng.info("请填写半场名称")
+ return;
+ }
+ if(i==num2.length-1){
+ halfName += $(num2[i]).val()
+ }else {
+ halfName += $(num2[i]).val()+","
+ }
+ }
+ }
+
+
+ data.halfName= halfName;
+ data.ids= $("#ids").val();
+ let introduce = TSiteInfo.editor.getContent();
+
+
+ console.log(introduce)
+ if(introduce==""){
+ Feng.info("请输入公告内容")
return;
}
- if($("#cCode").val()==''){
- Feng.info("请选择市")
+ data.introduce= introduce;
+
+
+ var goodImgs = TSiteInfo.goodsPicArray;
+
+ if(goodImgs.length==0){
+ Feng.info("请上传实景图")
return;
}
- if($("#account").val()=='' ){
- Feng.info("请选择账号")
- return;
+ var imgOne ="";
+ console.log(goodImgs)
+ console.log(goodImgs.length)
+ for (let i = 0; i <goodImgs.length; i++) {
+ console.log(goodImgs[i].response,11)
+ if(i==goodImgs.length-1){
+ imgOne += (goodImgs[i].response)
+ }else {
+ imgOne+=(goodImgs[i].response+",")
+ }
+
}
+ console.log(imgOne)
+ data.imgs = imgOne
+
+
+
+
if($("#store").val()=='' ){
Feng.info("请选择门店")
return;
@@ -351,6 +457,30 @@
});
};
+
+TSiteInfo.oneChangeYys = function(e){
+ var oneId=$(e).val();
+ var SelectValue="";
+ var getSelectValueMenbers = $("input[name='pt']:checked").each(function(j) {
+ if (j >= 0) {
+ SelectValue += $(this).val()
+ }
+ });
+ if(SelectValue=='0' ){
+ oneId=0
+ }
+ var ajax = new $ax(Feng.ctxPath + "/tSite/getChangeOne", function(data){
+ if(data!=null){
+ var content='<option value="">选择门店</option>';
+ $.each(data, function(k,v) {
+ content += "<option value='"+v.id+"'>"+v.name+"</option>";
+ });
+ $("#store").empty().append(content);
+ }
+ });
+ ajax.set("oneId",oneId);
+ ajax.start();
+};
/**
* 关闭此对话框
*/
@@ -361,6 +491,7 @@
$('#upFile').click();
}
$(function () {
+ TSiteInfo.editor = UE.getEditor('editor');
// 限制分钟选项为 0 和 30
var timeInputs = document.querySelectorAll('input[type="time"]');
timeInputs.forEach(function(input) {
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tStudent/htmlToPdf.js b/cloud-server-management/src/main/webapp/static/modular/system/tStudent/htmlToPdf.js
new file mode 100644
index 0000000..983a829
--- /dev/null
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tStudent/htmlToPdf.js
@@ -0,0 +1,66 @@
+// 页面导出为pdf格式
+import html2Canvas from 'html2canvas';
+import jsPDF from 'jspdf';
+
+const htmlToPdf = {
+ getPdf(title, loading) {
+ return html2Canvas(document.querySelector('#pdfDom'), {
+ allowTaint: false,
+ taintTest: false,
+ logging: false,
+ useCORS: true,
+ dpi: window.devicePixelRatio * 4, //将分辨率提高到特定的DPI 提高四倍
+ scale: 4, //按比例增加分辨率
+ }).then((canvas) => {
+ var pdf = new jsPDF('p', 'mm', 'a4'); //A4纸,纵向
+ var ctx = canvas.getContext('2d'),
+ a4w = 190,
+ a4h = 272, //A4大小,210mm x 297mm,四边各保留10mm的边距,显示区域190x277
+ // imgHeight = Math.floor((a4h * canvas.width) / a4w), //按A4显示比例换算一页图像的像素高度
+ imgHeight = canvas.height, //按A4显示比例换算一页图像的像素高度
+
+ renderedHeight = 0;
+
+ while (renderedHeight < canvas.height) {
+ var page = document.createElement('canvas');
+ page.width = canvas.width;
+ page.height = Math.min(imgHeight, canvas.height - renderedHeight); //可能内容不足一页
+
+ //用getImageData剪裁指定区域,并画到前面创建的canvas对象中
+ page
+ .getContext('2d')
+ .putImageData(
+ ctx.getImageData(
+ 0,
+ renderedHeight,
+ canvas.width,
+ Math.min(imgHeight, canvas.height - renderedHeight),
+ ),
+ 0,
+ 0,
+ );
+ pdf.addImage(
+ page.toDataURL('image/jpeg', 1.0),
+ 'JPEG',
+ 10,
+ 10,
+ a4w,
+ Math.min(a4h, (a4w * page.height) / page.width),
+ ); //添加图像到页面,保留10mm边距
+
+ renderedHeight += imgHeight;
+ if (renderedHeight < canvas.height) {
+ pdf.addPage(); //如果后面还有内容,添加一个空页
+ }
+ // delete page;
+ }
+ //保存文件
+ // pdf.save(title + '.pdf');
+ // loading = false;
+ // 删除本地存储的base64字段
+ return pdf.output('datauristring')//获取base64Pdf
+ });
+ },
+};
+
+export default htmlToPdf;
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/AskedQuestionsController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/AskedQuestionsController.java
index 6004b4a..8fe6133 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/AskedQuestionsController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/AskedQuestionsController.java
@@ -85,6 +85,7 @@
return list;
}
+ @ResponseBody
@PostMapping("/base/notice/queryQuestionDetails")
public List<QuestionIns> getSysQuestionDetails(){
List<QuestionIns> sysS = new ArrayList<>();
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/BannerController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/BannerController.java
index bf05b03..7dde961 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/BannerController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/BannerController.java
@@ -8,6 +8,7 @@
import com.dsh.other.entity.CreateHistoryDto;
import com.dsh.other.entity.GetHistoryDto;
import com.dsh.other.model.BannerVo;
+import com.dsh.other.model.dto.siteDto.SelectDto;
import com.dsh.other.model.vo.questionVo.QuestionSearchVO;
import com.dsh.other.service.IBannerService;
import com.dsh.other.util.ResultUtil;
@@ -112,9 +113,12 @@
@ResponseBody
@PostMapping("/class/gethisotory")
public List<GetHistoryDto> getHistory(@RequestBody Integer studentId){
+ List<GetHistoryDto> list = bannerService.gethistory(studentId);
- return bannerService.gethistory(studentId);
-
+ System.out.println("=-======GetHistoryDto========"+list);
+ return list;
}
+
+
}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java
index 9dc6cfa..5f79d70 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java
@@ -4,9 +4,13 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dsh.other.entity.Store;
+import com.dsh.other.entity.TStoreOther;
+import com.dsh.other.entity.TStoreOtherConfigTrue;
import com.dsh.other.feignclient.model.*;
import com.dsh.other.model.*;
import com.dsh.other.service.StoreService;
+import com.dsh.other.service.TStoreOtherConfigTrueService;
+import com.dsh.other.service.TStoreOtherService;
import com.dsh.other.util.GDMapGeocodingUtil;
import com.dsh.other.util.ResultUtil;
import com.dsh.other.util.ToolUtil;
@@ -29,6 +33,8 @@
@Autowired
private GDMapGeocodingUtil gdMapGeocodingUtil;
+ @Autowired
+ private TStoreOtherService tStoreOtherService;
/**
* 根据城市管理员id获取门店
@@ -295,6 +301,30 @@
}
}
+ @Autowired
+ private TStoreOtherConfigTrueService tStoreOtherConfigTrueService;
+ @ResponseBody
+ @PostMapping("/base/store/queryIndexSet")
+ @ApiOperation(value = "获取门店首页设置 2.0", tags = {"APP-免费福利"})
+ @ApiImplicitParams({
+ @ApiImplicitParam(value = "门店id", name = "id", dataType = "int", required = true),
+ })
+ public ResultUtil<List<TStoreOtherConfigTrue>> queryIndexSet(Integer id){
+ try {
+ List<TStoreOtherConfigTrue> tStoreOtherConfigTrues = new ArrayList<>();
+
+ List<TStoreOther> list = tStoreOtherService.list(new LambdaQueryWrapper<TStoreOther>().eq(TStoreOther::getStoreId, id));
+ if(list.size()>0){
+ tStoreOtherConfigTrues= tStoreOtherConfigTrueService.list(new LambdaQueryWrapper<TStoreOtherConfigTrue>().eq(TStoreOtherConfigTrue::getPid, list.get(0).getId()));
+ }
+ return ResultUtil.success(tStoreOtherConfigTrues);
+ }catch (Exception e){
+ e.printStackTrace();
+ return ResultUtil.runErr();
+ }
+ }
+
+
diff --git a/cloud-server-other/src/main/java/com/dsh/other/entity/GetHistoryDto.java b/cloud-server-other/src/main/java/com/dsh/other/entity/GetHistoryDto.java
index 8124433..22e6e1b 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/entity/GetHistoryDto.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/entity/GetHistoryDto.java
@@ -15,6 +15,5 @@
private String pleasePic;
private String passPic;
private String createBy;
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date date;
}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/entity/Site.java b/cloud-server-other/src/main/java/com/dsh/other/entity/Site.java
index ca87875..e7d6edc 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/entity/Site.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/entity/Site.java
@@ -118,5 +118,11 @@
private String nextName;
@TableField("halfName")
private String halfName;
+ @TableField("cashPriceOne")
+ private Double cashPriceOne;
+ @TableField("playPaiCoinOne")
+ private Double playPaiCoinOne;
+ @TableField("ids")
+ private String ids;
}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/entity/TStoreOther.java b/cloud-server-other/src/main/java/com/dsh/other/entity/TStoreOther.java
new file mode 100644
index 0000000..c2562e6
--- /dev/null
+++ b/cloud-server-other/src/main/java/com/dsh/other/entity/TStoreOther.java
@@ -0,0 +1,51 @@
+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.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author administrator
+ * @since 2023-09-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_store_other")
+public class TStoreOther extends Model<TStoreOther> {
+
+ private static final long serialVersionUID=1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ private String name;
+
+ @TableField("storeId")
+ private Integer storeId;
+
+ private Integer sort;
+
+ /**
+ * 1开启 2关闭
+ */
+ private Integer state;
+
+
+ @Override
+ protected Serializable pkVal() {
+ return this.id;
+ }
+
+}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/entity/TStoreOtherConfigTrue.java b/cloud-server-other/src/main/java/com/dsh/other/entity/TStoreOtherConfigTrue.java
new file mode 100644
index 0000000..7492083
--- /dev/null
+++ b/cloud-server-other/src/main/java/com/dsh/other/entity/TStoreOtherConfigTrue.java
@@ -0,0 +1,84 @@
+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.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author administrator
+ * @since 2023-09-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_store_other_config_true")
+public class TStoreOtherConfigTrue extends Model<TStoreOtherConfigTrue> {
+
+ private static final long serialVersionUID=1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ * 图片
+ */
+ private String url;
+
+ /**
+ * 跳转模块
+ */
+ private String name;
+
+ /**
+ * 跳转页面
+ */
+ private String page;
+
+ /**
+ * 跳转类型
+ */
+ private String type;
+
+ /**
+ * 跳转id
+ */
+ @TableField("turnId")
+ private String turnId;
+
+ /**
+ * 排序
+ */
+ private Integer sort;
+
+ /**
+ * 1开启 2关闭
+ */
+ private Integer state;
+
+ private Integer pid;
+
+ @TableField("pageId")
+ private Integer pageId;
+
+ @TableField("typeId")
+ private Integer typeId;
+
+
+
+ @Override
+ protected Serializable pkVal() {
+ return this.id;
+ }
+
+}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/mapper/TStoreOtherConfigTrueMapper.java b/cloud-server-other/src/main/java/com/dsh/other/mapper/TStoreOtherConfigTrueMapper.java
new file mode 100644
index 0000000..e3959a7
--- /dev/null
+++ b/cloud-server-other/src/main/java/com/dsh/other/mapper/TStoreOtherConfigTrueMapper.java
@@ -0,0 +1,17 @@
+package com.dsh.other.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.dsh.other.entity.TStoreOtherConfigTrue;
+
+/**
+ * <p>
+ * Mapper 接口
+ * </p>
+ *
+ * @author administrator
+ * @since 2023-09-19
+ */
+public interface TStoreOtherConfigTrueMapper extends BaseMapper<TStoreOtherConfigTrue> {
+
+}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/mapper/TStoreOtherMapper.java b/cloud-server-other/src/main/java/com/dsh/other/mapper/TStoreOtherMapper.java
new file mode 100644
index 0000000..a7daf6c
--- /dev/null
+++ b/cloud-server-other/src/main/java/com/dsh/other/mapper/TStoreOtherMapper.java
@@ -0,0 +1,17 @@
+package com.dsh.other.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.dsh.other.entity.TStoreOther;
+
+/**
+ * <p>
+ * Mapper 接口
+ * </p>
+ *
+ * @author administrator
+ * @since 2023-09-19
+ */
+public interface TStoreOtherMapper extends BaseMapper<TStoreOther> {
+
+}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/model/QuerySiteInfoVo.java b/cloud-server-other/src/main/java/com/dsh/other/model/QuerySiteInfoVo.java
index 0826ae5..eff35c2 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/model/QuerySiteInfoVo.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/model/QuerySiteInfoVo.java
@@ -47,5 +47,10 @@
private Integer ishalf;
@ApiModelProperty("场地说明")
private String introduce;
+ @ApiModelProperty("现金价格(x/半小时)半场")
+
+ private Double cashPriceOne;
+ @ApiModelProperty("玩湃币价格(x/半小时)半场")
+ private Double playPaiCoinOne;
}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/model/dto/siteDto/GiftSearchDto.java b/cloud-server-other/src/main/java/com/dsh/other/model/dto/siteDto/GiftSearchDto.java
new file mode 100644
index 0000000..abcc814
--- /dev/null
+++ b/cloud-server-other/src/main/java/com/dsh/other/model/dto/siteDto/GiftSearchDto.java
@@ -0,0 +1,9 @@
+package com.dsh.other.model.dto.siteDto;
+
+import lombok.Data;
+
+@Data
+public class GiftSearchDto {
+ String name;
+ String phone;
+}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/model/dto/siteDto/SelectDto.java b/cloud-server-other/src/main/java/com/dsh/other/model/dto/siteDto/SelectDto.java
new file mode 100644
index 0000000..132eea7
--- /dev/null
+++ b/cloud-server-other/src/main/java/com/dsh/other/model/dto/siteDto/SelectDto.java
@@ -0,0 +1,9 @@
+package com.dsh.other.model.dto.siteDto;
+
+import lombok.Data;
+
+@Data
+public class SelectDto {
+ Integer id;
+ String value;
+}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/service/IBannerService.java b/cloud-server-other/src/main/java/com/dsh/other/service/IBannerService.java
index e9b3718..de49917 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/service/IBannerService.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/service/IBannerService.java
@@ -22,4 +22,5 @@
void createHistory(CreateHistoryDto createHistoryDto);
List<GetHistoryDto> gethistory(Integer studentId);
+
}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/service/TStoreOtherConfigTrueService.java b/cloud-server-other/src/main/java/com/dsh/other/service/TStoreOtherConfigTrueService.java
new file mode 100644
index 0000000..4002d0e
--- /dev/null
+++ b/cloud-server-other/src/main/java/com/dsh/other/service/TStoreOtherConfigTrueService.java
@@ -0,0 +1,17 @@
+package com.dsh.other.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.dsh.other.entity.TStoreOtherConfigTrue;
+
+/**
+ * <p>
+ * 服务类
+ * </p>
+ *
+ * @author administrator
+ * @since 2023-09-19
+ */
+public interface TStoreOtherConfigTrueService extends IService<TStoreOtherConfigTrue> {
+
+}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/service/TStoreOtherService.java b/cloud-server-other/src/main/java/com/dsh/other/service/TStoreOtherService.java
new file mode 100644
index 0000000..db1f636
--- /dev/null
+++ b/cloud-server-other/src/main/java/com/dsh/other/service/TStoreOtherService.java
@@ -0,0 +1,17 @@
+package com.dsh.other.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.dsh.other.entity.TStoreOther;
+
+/**
+ * <p>
+ * 服务类
+ * </p>
+ *
+ * @author administrator
+ * @since 2023-09-19
+ */
+public interface TStoreOtherService extends IService<TStoreOther> {
+
+}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/service/impl/BannerServiceImpl.java b/cloud-server-other/src/main/java/com/dsh/other/service/impl/BannerServiceImpl.java
index 7141a16..376f464 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/service/impl/BannerServiceImpl.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/service/impl/BannerServiceImpl.java
@@ -41,4 +41,6 @@
public List<Banner> listAll(AdvertisementQuery query) {
return bannerMapper.listAll(query);
}
+
+
}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java b/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java
index 1c5a8eb..e2eb379 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java
@@ -112,6 +112,8 @@
querySiteInfoVo.setStorePhone(store.getPhone());
querySiteInfoVo.setImgs(site.getImgs());
querySiteInfoVo.setDistance(0D);
+ querySiteInfoVo.setCashPriceOne(site.getCashPriceOne());
+ querySiteInfoVo.setPlayPaiCoinOne(site.getPlayPaiCoinOne());
querySiteInfoVo.setIntroduce(site.getIntroduce());
ArrayList<String> nextName = new ArrayList<>();
ArrayList<String> halfName = new ArrayList<>();
diff --git a/cloud-server-other/src/main/java/com/dsh/other/service/impl/TStoreOtherConfigTrueServiceImpl.java b/cloud-server-other/src/main/java/com/dsh/other/service/impl/TStoreOtherConfigTrueServiceImpl.java
new file mode 100644
index 0000000..32b37fd
--- /dev/null
+++ b/cloud-server-other/src/main/java/com/dsh/other/service/impl/TStoreOtherConfigTrueServiceImpl.java
@@ -0,0 +1,21 @@
+package com.dsh.other.service.impl;
+
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dsh.other.entity.TStoreOtherConfigTrue;
+import com.dsh.other.mapper.TStoreOtherConfigTrueMapper;
+import com.dsh.other.service.TStoreOtherConfigTrueService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 服务实现类
+ * </p>
+ *
+ * @author administrator
+ * @since 2023-09-19
+ */
+@Service
+public class TStoreOtherConfigTrueServiceImpl extends ServiceImpl<TStoreOtherConfigTrueMapper, TStoreOtherConfigTrue> implements TStoreOtherConfigTrueService {
+
+}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/service/impl/TStoreOtherServiceImpl.java b/cloud-server-other/src/main/java/com/dsh/other/service/impl/TStoreOtherServiceImpl.java
new file mode 100644
index 0000000..80ae476
--- /dev/null
+++ b/cloud-server-other/src/main/java/com/dsh/other/service/impl/TStoreOtherServiceImpl.java
@@ -0,0 +1,21 @@
+package com.dsh.other.service.impl;
+
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dsh.other.entity.TStoreOther;
+import com.dsh.other.mapper.TStoreOtherMapper;
+import com.dsh.other.service.TStoreOtherService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 服务实现类
+ * </p>
+ *
+ * @author administrator
+ * @since 2023-09-19
+ */
+@Service
+public class TStoreOtherServiceImpl extends ServiceImpl<TStoreOtherMapper, TStoreOther> implements TStoreOtherService {
+
+}
diff --git a/cloud-server-other/src/main/resources/mapper/BannerMapper.xml b/cloud-server-other/src/main/resources/mapper/BannerMapper.xml
index 70ff0c9..dc7ae6b 100644
--- a/cloud-server-other/src/main/resources/mapper/BannerMapper.xml
+++ b/cloud-server-other/src/main/resources/mapper/BannerMapper.xml
@@ -38,10 +38,11 @@
</insert>
<select id="getHistory" resultType="com.dsh.other.entity.GetHistoryDto">
- SELECT hs.insertTime,hs.passPic,hs.pleasePic,us.`name`
+ SELECT hs.insertTime as date,hs.passPic,hs.pleasePic,us.`name` as createBy
from t_usetime_history hs
LEFT JOIN sys_user us on hs.createBy = us.id
where hs.studentId = #{studentId}
</select>
+
</mapper>
diff --git a/cloud-server-other/src/main/resources/mapper/TStoreOtherConfigTrueMapper.xml b/cloud-server-other/src/main/resources/mapper/TStoreOtherConfigTrueMapper.xml
new file mode 100644
index 0000000..8752b1b
--- /dev/null
+++ b/cloud-server-other/src/main/resources/mapper/TStoreOtherConfigTrueMapper.xml
@@ -0,0 +1,6 @@
+<?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.TStoreOtherConfigTrueMapper">
+
+
+</mapper>
diff --git a/cloud-server-other/src/main/resources/mapper/TStoreOtherMapper.xml b/cloud-server-other/src/main/resources/mapper/TStoreOtherMapper.xml
new file mode 100644
index 0000000..dcb2212
--- /dev/null
+++ b/cloud-server-other/src/main/resources/mapper/TStoreOtherMapper.xml
@@ -0,0 +1,6 @@
+<?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.TStoreOtherMapper">
+
+
+</mapper>
--
Gitblit v1.7.1