From fcc73d3dcbc53f8052985ecdb54bb31ef6f57612 Mon Sep 17 00:00:00 2001 From: liujie <liujie> Date: 星期三, 20 九月 2023 18:40:57 +0800 Subject: [PATCH] 后台bug修改 --- cloud-server-course/src/main/java/com/dsh/course/model/CourseDetailReq.java | 17 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TStoreOtherConfig.java | 80 + cloud-server-other/src/main/java/com/dsh/other/service/TGameConfigService.java | 17 cloud-server-course/src/main/java/com/dsh/course/model/vo/response/PayCourseInfoReq.java | 3 cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/model/Site.java | 2 cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add_two.html | 124 + cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IStoreService.java | 13 cloud-server-management/src/main/java/com/dsh/course/mapper/TTurnMapper.java | 17 cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/TStoreOtherConfigTrueService.java | 16 cloud-server-management/src/main/resources/mapper/TStoreOtherConfigTrueMapper.xml | 6 cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TTurnServiceImpl.java | 21 cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/TStoreOtherService.java | 17 cloud-server-other/src/main/java/com/dsh/other/service/impl/TGameServiceImpl.java | 20 cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/TOperatorService.java | 17 cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TOperatorServiceImpl.java | 21 cloud-server-management/src/main/webapp/WEB-INF/view/system/tSite/TSite_add.html | 133 + cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java | 15 cloud-server-activity/src/main/java/com/dsh/ActivityApplication.java | 1 cloud-server-management/src/main/java/com/dsh/course/mapper/TStoreOtherConfigMapper.java | 17 cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add.html | 46 cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_imgAll.html | 13 cloud-server-other/src/main/java/com/dsh/other/mapper/TGameConfigMapper.java | 17 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCityController.java | 2 cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java | 4 cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/TTurnService.java | 16 cloud-server-other/src/main/java/com/dsh/other/entity/SiteBooking.java | 11 cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java | 3 cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOther.js | 560 +++++++ cloud-server-activity/src/main/java/com/dsh/activity/entity/PointsMerchandise.java | 4 cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit_two.html | 134 + cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackage.java | 7 cloud-server-other/src/main/java/com/dsh/other/controller/TGameController.java | 68 cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java | 7 cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java | 211 + cloud-server-management/src/main/java/com/dsh/course/mapper/StoreMapper.java | 15 cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java | 7 cloud-server-course/src/main/java/com/dsh/course/model/DetailsListVo.java | 23 cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add_one.html | 42 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TSiteController.java | 5 cloud-server-other/src/main/resources/mapper/TGameConfigMapper.xml | 6 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TStore.java | 7 cloud-server-management/src/main/webapp/static/modular/system/tSite/tSite.js | 205 +- cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOtherOne.js | 724 +++++++++ cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TTurn.java | 39 cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 130 + cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TStoreOtherConfigTrueServiceImpl.java | 20 cloud-server-course/src/main/java/com/dsh/course/util/PayMoneyUtil.java | 6 cloud-server-management/src/main/java/com/dsh/course/mapper/TStoreOtherMapper.java | 17 cloud-server-management/src/main/resources/mapper/TTurnMapper.xml | 6 cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java | 21 cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/CourseDetailReq.java | 17 cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/StoreServiceImpl.java | 34 cloud-server-management/src/main/java/com/dsh/course/mapper/TStoreOtherConfigTrueMapper.java | 17 cloud-server-other/src/main/java/com/dsh/other/entity/TGameConfig.java | 71 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java | 206 ++ cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/TStoreOtherConfigService.java | 17 cloud-server-other/src/main/java/com/dsh/other/entity/Site.java | 6 cloud-server-other/src/main/java/com/dsh/other/entity/TGame.java | 88 + cloud-server-other/src/main/java/com/dsh/other/service/TGameService.java | 17 cloud-server-management/src/main/resources/mapper/TStoreOtherConfigMapper.xml | 6 cloud-server-management/src/main/webapp/static/modular/system/tShop/tShop_info_one.js | 713 ++++++++ cloud-server-management/src/main/resources/mapper/TStoreMapper.xml | 30 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TStoreOtherConfigTrue.java | 83 + cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit.html | 167 + cloud-server-management/src/main/webapp/static/modular/system/tShop/tShop.js | 10 cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java | 26 cloud-server-management/src/main/webapp/static/modular/system/tShop/tShop_info.js | 31 cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java | 2 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TOperator.java | 48 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TStoreOther.java | 50 cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TStoreOtherServiceImpl.java | 21 cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java | 5 cloud-server-management/src/main/webapp/static/modular/system/tbBanner/tbBanner.js | 2 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TStoreListVo.java | 4 cloud-server-course/src/main/java/com/dsh/course/model/CoursePackageInfo.java | 2 cloud-server-other/src/main/java/com/dsh/other/mapper/TGameMapper.java | 16 cloud-server-management/src/main/java/com/dsh/course/mapper/TOperatorMapper.java | 17 cloud-server-management/src/main/resources/mapper/TStoreOtherMapper.xml | 6 cloud-server-other/src/main/resources/mapper/TGameMapper.xml | 6 cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java | 10 cloud-server-other/src/main/java/com/dsh/other/service/impl/TGameConfigServiceImpl.java | 20 cloud-server-management/src/main/resources/mapper/TOperatorMapper.xml | 6 cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/GaoDeMapUtil.java | 2 cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java | 5 cloud-server-account/src/main/java/com/dsh/account/model/vo/DetailsListVo.java | 27 cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java | 2 cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TStoreOtherConfigServiceImpl.java | 20 87 files changed, 4,465 insertions(+), 278 deletions(-) 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 c7f2a49..0a928be 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 @@ -7,6 +7,7 @@ import com.dsh.account.entity.TStudent; import com.dsh.account.feignclient.competition.model.PurchaseRecordVo; import com.dsh.account.feignclient.course.model.RecordAppoint; +import com.dsh.account.model.vo.DetailsListVo; import com.dsh.account.model.vo.classDetails.*; import com.dsh.account.model.vo.classDetails.classInsVo.*; import com.dsh.account.model.vo.commentDetail.StuCommentsVo; @@ -33,6 +34,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; +import java.util.Map; /** @@ -107,6 +109,30 @@ } } + @ResponseBody + @PostMapping("/api/startCource/weeksOfCourseDetailsList") + @ApiOperation(value = "上课首页-课程列表2.0", tags = {"APP-开始上课"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), + @ApiImplicitParam(value = "查询时间yyyy-MM-dd", name = "time", required = true, dataType = "string"), + @ApiImplicitParam(value = "学员id", name = "stuId", required = true, dataType = "int"), + @ApiImplicitParam(value = "门店id", name = "storeId", required = true, dataType = "int"), + @ApiImplicitParam(value = "用户经度", name = "longitude", required = false, dataType = "string"), + @ApiImplicitParam(value = "用户纬度", name = "latitude", required = false, dataType = "string"), + }) + public ResultUtil<Map<String,Object>> weeksOfCourseDetailsList(String time, Integer stuId, Integer storeId, String longitude, String latitude){ + try { + Integer appUserId = tokenUtil.getUserIdFormRedis(); + if(null == appUserId){ + return ResultUtil.tokenErr(); + } + return ResultUtil.success(tappuService.weeksOfCourseDetailsList(appUserId,stuId,time,storeId,longitude,latitude)); + }catch (Exception e){ + e.printStackTrace(); + return ResultUtil.runErr(); + } + + } @ResponseBody @PostMapping("/api/startCource/weeksOfGetHours") 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 b8c26af..290de04 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 @@ -4,11 +4,13 @@ import com.dsh.account.feignclient.course.model.*; import com.dsh.account.model.BillingRequest; import com.dsh.account.model.BillingRequestVo; +import com.dsh.account.model.vo.DetailsListVo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; +import java.util.HashMap; import java.util.List; @FeignClient(value = "mb-cloud-course") @@ -68,5 +70,8 @@ @PostMapping("/base/coursePack/getClassHour") Integer getClassHour(Integer courseConfigId); + @PostMapping("/base/coursePack/weeksOfCourseDetailsList") + HashMap<String, Object> weeksOfCourseDetailsList(@RequestBody CourseDetailReq courseDetailReq); + } diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/CourseDetailReq.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/CourseDetailReq.java new file mode 100644 index 0000000..198e310 --- /dev/null +++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/CourseDetailReq.java @@ -0,0 +1,17 @@ +package com.dsh.account.feignclient.course.model; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class CourseDetailReq { + private Integer appUserId; + private Integer stuId; + private String time; + private Integer storeId; + private String lon; + private String lat; +} diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/DetailsListVo.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/DetailsListVo.java new file mode 100644 index 0000000..40f6a83 --- /dev/null +++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/DetailsListVo.java @@ -0,0 +1,27 @@ +package com.dsh.account.model.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class DetailsListVo { + + + @ApiModelProperty("课包id") + private Integer id; + + @ApiModelProperty("课包名称") + private String name; + @ApiModelProperty("") + private String intro; + @ApiModelProperty("1显示请假 2购课") + private Integer type; + @ApiModelProperty("时间段") + private List<String> time; + @ApiModelProperty("课时数") + private Integer num; + @ApiModelProperty("金额") + private Double money; +} diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java b/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java index ce1e1c8..d59f757 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java +++ b/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java @@ -7,6 +7,7 @@ import com.dsh.account.model.LoginSMSCodeVo; import com.dsh.account.model.LoginWeChatVo; import com.dsh.account.model.query.appUserQuery.QueryAppUser; +import com.dsh.account.model.vo.DetailsListVo; import com.dsh.account.model.vo.QueryAppUserVO; import com.dsh.account.model.vo.classDetails.CourseVenue; import com.dsh.account.model.vo.classDetails.classInsVo.ClassInfoVo; @@ -16,6 +17,7 @@ import javax.servlet.http.HttpServletRequest; import java.util.List; +import java.util.Map; /** * <p> @@ -139,4 +141,7 @@ List<CourseVenue> queryWeekOfCourseDetails(Integer appUserId ,Integer stuId, String time, String longitude, String latitude); List<QueryAppUserVO> listAll(QueryAppUser query); + + Map<String,Object> weeksOfCourseDetailsList(Integer appUserId, Integer stuId, String time, Integer storeId,String lon,String lat); + } 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 daedcdf..007a6a5 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 @@ -32,6 +32,7 @@ import com.dsh.account.model.*; import com.dsh.account.model.dto.Coupon; import com.dsh.account.model.query.appUserQuery.QueryAppUser; +import com.dsh.account.model.vo.DetailsListVo; import com.dsh.account.model.vo.QueryAppUserVO; import com.dsh.account.model.vo.classDetails.CourseVenue; import com.dsh.account.model.vo.classDetails.ExerciseVideo; @@ -151,6 +152,15 @@ public List<QueryAppUserVO> listAll(QueryAppUser query) { return appUserMapper.listAll(query); } + + @Override + public HashMap<String,Object> weeksOfCourseDetailsList(Integer appUserId, Integer stuId, String time, Integer storeId,String lon,String lat) { + // 门店id 查出所有课程 + HashMap<String, Object> map = paymentClient.weeksOfCourseDetailsList(new CourseDetailReq(appUserId, stuId, time, storeId,lon,lat)); + + return map; + } + @Override public ClassInfoVo queryUserOfStus(Integer id) { TAppUser tAppUser = this.baseMapper.selectById(id); diff --git a/cloud-server-activity/src/main/java/com/dsh/ActivityApplication.java b/cloud-server-activity/src/main/java/com/dsh/ActivityApplication.java index 6605c69..9e3e2b7 100644 --- a/cloud-server-activity/src/main/java/com/dsh/ActivityApplication.java +++ b/cloud-server-activity/src/main/java/com/dsh/ActivityApplication.java @@ -16,6 +16,7 @@ import javax.annotation.PostConstruct; import java.util.TimeZone; + /** * @author jason */ diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java index e410aee..b916ad3 100644 --- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java +++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java @@ -142,7 +142,7 @@ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); ProductDetailsVo detailsVo = new ProductDetailsVo(); PointsMerchandise merchandise = pmdsService.getById(detailRequest.getGoodId()); - detailsVo.setCardType(merchandise.getCardTye()); + detailsVo.setCardType(merchandise.getCardType()); switch (detailRequest.getGoodsType()){ case 2: // 课包 @@ -369,7 +369,7 @@ if (ToolUtil.isNotEmpty(byId)){ PointsMerchandise pmdsServiceById = pmdsService.getById(byId.getPointsMerchandiseId()); // 2.0 - detailsVo.setCardType(pmdsServiceById.getCardTye()); + detailsVo.setCardType(pmdsServiceById.getCardType()); detailsVo.setExchangeType(pmdsServiceById.getRedemptionMethod()); detailsVo.setGoodType(pmdsServiceById.getType()); if (pmdsServiceById.getRedemptionMethod() == 1){ diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/entity/PointsMerchandise.java b/cloud-server-activity/src/main/java/com/dsh/activity/entity/PointsMerchandise.java index 8b25014..9b7bd28 100644 --- a/cloud-server-activity/src/main/java/com/dsh/activity/entity/PointsMerchandise.java +++ b/cloud-server-activity/src/main/java/com/dsh/activity/entity/PointsMerchandise.java @@ -159,8 +159,8 @@ */ @TableField("shelves") private Integer shelves; - @TableField("cardTye") - private Integer cardTye; + @TableField("cardType") + private Integer cardType; @Override protected Serializable pkVal() { diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/model/Site.java b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/model/Site.java index be537f8..5b2c871 100644 --- a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/model/Site.java +++ b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/model/Site.java @@ -63,7 +63,7 @@ /** * 场地责任险有效期 */ - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date insuranceEndTime; /** * 场地责任险图片 diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java b/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java index f613014..6221f18 100644 --- a/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java +++ b/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java @@ -218,6 +218,8 @@ return ResultUtil.runErr(); } } + + @ResponseBody @PostMapping("/api/competition/paymentCompetitionCourseList") @ApiOperation(value = "赛事报名--支付可用课时列表", tags = {"APP-赛事活动列表"}) diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java b/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java index 77267b3..2aba9e5 100644 --- a/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java +++ b/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java @@ -78,7 +78,8 @@ */ @Override public List<CompetitionListVo> queryCompetitionList(String cityCode, String content, Integer registerCondition, String heat) throws Exception { - return this.baseMapper.queryCompetitionList(cityCode, content, registerCondition, heat); + List<CompetitionListVo> competitionListVos = this.baseMapper.queryCompetitionList(cityCode, content, registerCondition, heat); + return competitionListVos; } diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java index 439e7b5..b1478b6 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java +++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java @@ -167,6 +167,7 @@ + @ResponseBody @PostMapping("/api/course/queryCourseInfo") @ApiOperation(value = "获取课程详情", tags = {"APP-课程列表"}) @@ -193,7 +194,6 @@ - @ResponseBody @PostMapping("/api/course/paymentCourse") @ApiOperation(value = "支付课程", tags = {"APP-课程列表"}) @@ -205,6 +205,10 @@ Integer uid = tokenUtil.getUserIdFormRedis(); if(null == uid){ return ResultUtil.tokenErr(); + } + Long couponId = paymentCourseVo.getCouponId(); + if(couponId==null || couponId==0){ + paymentCourseVo.setCouponId(null); } return coursePackageService.paymentCourse(uid, paymentCourseVo); }catch (Exception e){ @@ -232,7 +236,6 @@ return ResultUtil.runErr(); } } - /** * 购买课程微信支付回调 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 c350bf2..3c4da2b 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 @@ -15,11 +15,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.model.BaseVo; -import com.dsh.course.model.QueryRegistrationRecord; -import com.dsh.course.model.QueryWalkInStudentList; -import com.dsh.course.model.BillingRequest; -import com.dsh.course.model.BillingRequestVo; +import com.dsh.course.model.*; import com.dsh.course.model.dto.DiscountJsonDto; import com.dsh.course.model.vo.CourseDetailRequest; import com.dsh.course.model.vo.RegisterCourseVo; @@ -49,10 +45,7 @@ import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; @Api @@ -540,7 +533,7 @@ @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), }) - public ResultUtil<?> payCourse(@RequestBody PayCourseReq req){ + public ResultUtil<?> payCourse(PayCourseReq req){ try { Integer appUserId = tokenUtil.getUserIdFormRedis(); if(null == appUserId){ @@ -1086,26 +1079,23 @@ if (ToolUtil.isEmpty(packagePayment)){ return ResultUtil.error("该用户未购买该课包"); } - CoursePackageStudent coursePackageStudent = cspsService.getOne(new LambdaQueryWrapper<CoursePackageStudent>() + List<CoursePackageStudent> coursePackageStudent = cspsService.list(new LambdaQueryWrapper<CoursePackageStudent>() .eq(CoursePackageStudent::getCoursePackageId,packagePayment.getCoursePackageId()) .eq(CoursePackageStudent::getCoursePackagePaymentId,courseID) .eq(CoursePackageStudent::getStudentId,stuId) .eq(CoursePackageStudent::getAppUserId,appUserId) ); - if (ToolUtil.isNotEmpty(coursePackageStudent) && coursePackageStudent.getReservationStatus() == 0){ - coursePackageStudent.setSignInOrNot(2); - coursePackageStudent.setInsertTime(simpleDateFormat.parse(time)); - cspsService.updateById(coursePackageStudent); + if (ToolUtil.isNotEmpty(coursePackageStudent)){ + for (CoursePackageStudent packageStudent : coursePackageStudent) { + if(packageStudent.getReservationStatus()==0){ + packageStudent.setSignInOrNot(2); + packageStudent.setInsertTime(simpleDateFormat.parse(time)); + cspsService.updateById(packageStudent); + } + } + }else { - coursePackageStudent = new CoursePackageStudent(); - coursePackageStudent.setAppUserId(appUserId); - coursePackageStudent.setStudentId(stuId); - coursePackageStudent.setCoursePackageId(packagePayment.getCoursePackageId()); - coursePackageStudent.setCoursePackagePaymentId(Long.parseLong(courseID)); - coursePackageStudent.setSignInOrNot(2); - coursePackageStudent.setInsertTime(simpleDateFormat.parse(time)); - cspsService.save(coursePackageStudent); } return ResultUtil.success(); }catch (Exception e){ @@ -1113,4 +1103,98 @@ } } + @ResponseBody + @PostMapping("/base/coursePack/weeksOfCourseDetailsList") + HashMap<String, Object> weeksOfCourseDetailsList(@RequestBody CourseDetailReq courseDetailReq){ + HashMap<String, Object> map = new HashMap<>(); + ArrayList<DetailsListVo> objects = new ArrayList<>(); + try { + String time = courseDetailReq.getTime(); + Date parse = new SimpleDateFormat("yyyy-MM-dd").parse(time); + int i = cn.hutool.core.date.DateUtil.dayOfWeek(parse)-1; + String week = week(i); + Store store = sreClient.queryStoreById(courseDetailReq.getStoreId()); + String lat = store.getLat(); + String lon = store.getLon(); + + Map<String, Double> distance = GeodesyUtil.getDistance(courseDetailReq.getLon() + "," + courseDetailReq.getLat(), lon + "," + lat); + double wgs84 = distance.get("WGS84") / 1000; + map.put("distance",wgs84); + map.put("name",store.getName()); + map.put("lon",lon); + map.put("lat",lat); + + // 找出门店的所有课程 排出体验 + 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()); + if(collect.size()==0){ + collect.add(-1); + } + // 找出购买的课包 + 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()); + for (TCoursePackage tCoursePackage : list) { + DetailsListVo detailsListVo = new DetailsListVo(); + detailsListVo.setId(tCoursePackage.getId()); + detailsListVo.setName(tCoursePackage.getName()); + String classStartTime = tCoursePackage.getClassStartTime(); + String[] split = classStartTime.split(","); + String classEndTime = tCoursePackage.getClassEndTime(); + String[] split1 = classEndTime.split(","); + ArrayList<String> strings = new ArrayList<>(); + for (int i1 = 0; i1 < split.length; i1++) { + String s = split[i1] + "-" + split1[i1]; + strings.add(s); + } + detailsListVo.setTime(strings); + List<CoursePackagePaymentConfig> list2 = icppcService.list(new LambdaQueryWrapper<CoursePackagePaymentConfig>().eq(CoursePackagePaymentConfig::getCoursePackageId, tCoursePackage.getId()).orderByAsc(CoursePackagePaymentConfig::getCashPayment)); + if (list2.size() > 0) { + Double cashPayment = list2.get(0).getCashPayment(); + detailsListVo.setMoney(cashPayment); + } + detailsListVo.setNum(tCoursePackage.getNeedNum()); + if (collect1.contains(tCoursePackage.getId())) { + detailsListVo.setType(1); + } else { + detailsListVo.setType(2); + } + objects.add(detailsListVo); + } + map.put("data",objects); + + return map; + } catch (ParseException e) { + e.printStackTrace(); + } + return map; + } + + private String week(int i){ + String a = ""; + switch (i){ + case 1: + a="周一"; + break; + case 2: + a="周二"; + break; + case 3: + a="周三"; + break; + case 4: + a="周四"; + break; + case 5: + a="周五"; + break; + case 6: + a="周六"; + break; + case 7: + a="周日"; + break; + } + return a; + } + } 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 96faab9..9adac73 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 @@ -163,5 +163,10 @@ private Integer type; @TableField("needNum") private Integer needNum; - + @TableField("startTime") + @JsonFormat(pattern = "yyyy.MM.dd", timezone = "GMT+8") + private Date startTime; + @TableField("endTime") + @JsonFormat(pattern = "yyyy.MM.dd", timezone = "GMT+8") + private Date endTime; } 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 466651b..e1a770a 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 @@ -101,7 +101,7 @@ /** * 退课课时 */ - @TableField("dropoutsNumber") + @TableField(exist = false) private Integer dropoutsNumber; /** * 支付用户类型(1=用户,2=管理员) diff --git a/cloud-server-course/src/main/java/com/dsh/course/model/CourseDetailReq.java b/cloud-server-course/src/main/java/com/dsh/course/model/CourseDetailReq.java new file mode 100644 index 0000000..1954dc1 --- /dev/null +++ b/cloud-server-course/src/main/java/com/dsh/course/model/CourseDetailReq.java @@ -0,0 +1,17 @@ +package com.dsh.course.model; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class CourseDetailReq { + private Integer appUserId; + private Integer stuId; + private String time; + private Integer storeId; + private String lon; + private String lat; +} diff --git a/cloud-server-course/src/main/java/com/dsh/course/model/CoursePackageInfo.java b/cloud-server-course/src/main/java/com/dsh/course/model/CoursePackageInfo.java index 18538e3..bf73e76 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/model/CoursePackageInfo.java +++ b/cloud-server-course/src/main/java/com/dsh/course/model/CoursePackageInfo.java @@ -45,4 +45,6 @@ private StudentVo student; @ApiModelProperty("1常规 2假期 3体验") private Integer type; + @ApiModelProperty("假期有效期") + private String time; } diff --git a/cloud-server-course/src/main/java/com/dsh/course/model/DetailsListVo.java b/cloud-server-course/src/main/java/com/dsh/course/model/DetailsListVo.java new file mode 100644 index 0000000..ba9c83a --- /dev/null +++ b/cloud-server-course/src/main/java/com/dsh/course/model/DetailsListVo.java @@ -0,0 +1,23 @@ +package com.dsh.course.model; + +import lombok.Data; + +import java.util.List; + +@Data +public class DetailsListVo { + private Integer id; + + + private String name; + + private String intro; + + private Integer type; + + private List<String> time; + + private Integer num; + + private Double money; +} diff --git a/cloud-server-course/src/main/java/com/dsh/course/model/vo/response/PayCourseInfoReq.java b/cloud-server-course/src/main/java/com/dsh/course/model/vo/response/PayCourseInfoReq.java index 09851f5..2544eda 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/model/vo/response/PayCourseInfoReq.java +++ b/cloud-server-course/src/main/java/com/dsh/course/model/vo/response/PayCourseInfoReq.java @@ -17,6 +17,7 @@ private String week; @ApiModelProperty(value = "课包时间段") private List<String> time; - + @ApiModelProperty(value = "上课日期") + private List<String> day; } 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 4e7fbbd..58c31cd 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 @@ -298,22 +298,29 @@ Integer payType = tCoursePackagePayment.getPayType(); BigDecimal cashPayment = tCoursePackagePayment.getCashPayment(); - double cashPaymentValue = cashPayment.doubleValue(); + double cashPaymentValue = 0.0; + if(cashPayment!=null){ + + cashPaymentValue = cashPayment.doubleValue(); + } Integer playPaiCoin = tCoursePackagePayment.getPlayPaiCoin(); TCoursePackageDiscount coursePackageDiscount = tcpdMapper.selectOne(new QueryWrapper<TCoursePackageDiscount>() .eq("coursePackageId",coursePackage.getId() ) .eq("type",1) .eq("auditStatus",2)); ObjectMapper objectMapper = new ObjectMapper(); - String content = coursePackageDiscount.getContent(); double discountMember = 0.0; - DiscountJsonDto discountJsonDto = null; - try { - discountJsonDto = objectMapper.readValue(content, DiscountJsonDto.class); - discountMember = discountJsonDto.getDiscountMember(); - } catch (JsonProcessingException e) { - throw new RuntimeException(e); + if(coursePackageDiscount!=null){ + String content = coursePackageDiscount.getContent(); + DiscountJsonDto discountJsonDto = null; + try { + discountJsonDto = objectMapper.readValue(content, DiscountJsonDto.class); + discountMember = discountJsonDto.getDiscountMember(); + } catch (JsonProcessingException e) { + throw new RuntimeException(e); + } } + switch (payType) { case 1: case 2: @@ -586,67 +593,70 @@ SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm"); if (tCoursePackagePayments.size() > 0 ){ for (TCoursePackagePayment tCoursePackagePayment : tCoursePackagePayments) { - RecordAppoint recordVo = new RecordAppoint(); - recordVo.setCoursePackageId(tCoursePackagePayment.getCoursePackageId()); - TCoursePackage coursePackage = tcpmapper.selectById(tCoursePackagePayment.getCoursePackageId()); - - recordVo.setCoursePackageName(coursePackage.getName()); - recordVo.setCourseHours(tCoursePackagePayment.getClassHours()); - Date date = DateUtil.getDate(); - - String classStartTime = coursePackage.getClassStartTime(); - String classEndTime = coursePackage.getClassEndTime(); - recordVo.setTimeFrame(simpleDateFormat.format(date)+" "+classStartTime+"-"+classEndTime); - Store store = stoClient.queryStoreById(coursePackage.getStoreId()); - recordVo.setStoreNameAddr(store.getName()+store.getAddress()); - CoursePackageStudent coursePackageStudent = cpsMapper.selectOne(new QueryWrapper<CoursePackageStudent>() + List<CoursePackageStudent> coursePackageStudent1 = cpsMapper.selectList(new QueryWrapper<CoursePackageStudent>() .eq("coursePackageId",tCoursePackagePayment.getCoursePackageId() ) .eq("studentId",stuId) .eq("appUserId",appUserId) .eq("reservationStatus",1)); - if (ToolUtil.isNotEmpty(coursePackageStudent) && coursePackageStudent.getReservationStatus() == 1){ + if (ToolUtil.isNotEmpty(coursePackageStudent1) && coursePackageStudent1.size() > 0){ + for (CoursePackageStudent coursePackageStudent : coursePackageStudent1) { + RecordAppoint recordVo = new RecordAppoint(); + recordVo.setCoursePackageId(tCoursePackagePayment.getCoursePackageId()); - recordVo.setCourseStuRecordId(coursePackageStudent.getId()); - String classWeeks = coursePackage.getClassWeeks(); - String[] split = classWeeks.split(";"); - List<String> integerList = Arrays.asList(split); - String weekOfDate = DateTimeHelper.getWeekOfDate(new Date()); - if (integerList.contains(weekOfDate)){ - String dat = simpleDateFormat.format(date) +" "+ classStartTime; + TCoursePackage coursePackage = tcpmapper.selectById(tCoursePackagePayment.getCoursePackageId()); - Date start = null; - try { - start = format.parse(dat); - } catch (ParseException e) { - throw new RuntimeException(e); - } - if (start.after(new Date())){ - recordVo.setStatus(1); - }else if(coursePackageStudent.getSignInOrNot()==2){ - recordVo.setStatus(5); - }else { - CancelledClasses cancelledClasses = cacMapper.selectOne(new QueryWrapper<CancelledClasses>() - .eq("coursePackageId",tCoursePackagePayment.getCoursePackageId() )); - if (ToolUtil.isNotEmpty(cancelledClasses)){ - recordVo.setStatus(3); - // 消课 到课状态0 旷课 - if(coursePackageStudent.getSignInOrNot()==0){ - recordVo.setStatus(6); - } + recordVo.setCoursePackageName(coursePackage.getName()); + recordVo.setCourseHours(tCoursePackagePayment.getClassHours()); + Date date = DateUtil.getDate(); - }else { - recordVo.setStatus(2); + String classStartTime = coursePackage.getClassStartTime(); + String classEndTime = coursePackage.getClassEndTime(); + recordVo.setTimeFrame(simpleDateFormat.format(date)+" "+classStartTime+"-"+classEndTime); + Store store = stoClient.queryStoreById(coursePackage.getStoreId()); + recordVo.setStoreNameAddr(store.getName()+store.getAddress()); + recordVo.setCourseStuRecordId(coursePackageStudent.getId()); + String classWeeks = coursePackage.getClassWeeks(); + String[] split = classWeeks.split(";"); + List<String> integerList = Arrays.asList(split); + String weekOfDate = DateTimeHelper.getWeekOfDate(new Date()); + if (integerList.contains(weekOfDate)){ + String dat = simpleDateFormat.format(date) +" "+ classStartTime; + + Date start = null; + try { + start = format.parse(dat); + } catch (ParseException e) { + throw new RuntimeException(e); } + if (start.after(new Date())){ + recordVo.setStatus(1); + }else if(coursePackageStudent.getSignInOrNot()==2){ + recordVo.setStatus(5); + }else { + CancelledClasses cancelledClasses = cacMapper.selectOne(new QueryWrapper<CancelledClasses>() + .eq("coursePackageId",tCoursePackagePayment.getCoursePackageId() )); + if (ToolUtil.isNotEmpty(cancelledClasses)){ + recordVo.setStatus(3); + // 消课 到课状态0 旷课 + if(coursePackageStudent.getSignInOrNot()==0){ + recordVo.setStatus(6); + } + + }else { + recordVo.setStatus(2); + } + } + }else { + recordVo.setStatus(1); } - }else { - recordVo.setStatus(1); + recordVoList.add(recordVo); } }else { - recordVo.setStatus(4); +// recordVo.setStatus(4); } - recordVoList.add(recordVo); + } } return recordVoList; @@ -799,9 +809,98 @@ strings.add(s); } payCourseInfoReq.setTime(strings); + List<Integer> week = week(tCoursePackage.getClassWeeks()); + + // 今天周几 + int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1; + + SimpleDateFormat format = new SimpleDateFormat("MM.dd"); + ArrayList<String> strings1 = new ArrayList<>(); + + for (Integer integer : week) { + if(integer<i){ + // 找下一周的时间 + Calendar instance = Calendar.getInstance(); + instance.add(Calendar.DATE,7-(i-integer)); + Date time = instance.getTime(); + strings1.add(format.format(time)); + + }else if(integer>i) { + Calendar instance = Calendar.getInstance(); + instance.add(Calendar.DATE,integer-i); + Date time = instance.getTime(); + strings1.add(format.format(time)); + }else { + Calendar instance = Calendar.getInstance(); + instance.add(Calendar.DATE,7); + Date time = instance.getTime(); + strings1.add(format.format(time)); + } + } + payCourseInfoReq.setDay(strings1); return payCourseInfoReq; } + private static List<Integer> week(String week){ + String[] split = week.split(";"); + ArrayList<Integer> integers = new ArrayList<>(); + for (String s : split) { + switch (s){ + case "周一": + integers.add(1); + break; + case "周二": + integers.add(2); + break; + case "周三": + integers.add(3); + break; + case "周四": + integers.add(4); + break; + case "周五": + integers.add(5); + break; + case "周六": + integers.add(6); + break; + case "周日": + integers.add(7); + break; + } + } + return integers; + } + public static void main(String[] args) { + List<Integer> week = week("周一,周二"); + // 今天周几 + int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1; + + SimpleDateFormat format = new SimpleDateFormat("MM.dd"); + + ArrayList<String> strings = new ArrayList<>(); + for (Integer integer : week) { + if(integer<i){ + // 找下一周的时间 + Calendar instance = Calendar.getInstance(); + instance.add(Calendar.DATE,7-(i-integer)); + Date time = instance.getTime(); + strings.add(format.format(time)); + + }else if(integer>i) { + Calendar instance = Calendar.getInstance(); + instance.add(Calendar.DATE,integer-i); + Date time = instance.getTime(); + strings.add(format.format(time)); + }else { + Calendar instance = Calendar.getInstance(); + instance.add(Calendar.DATE,7); + Date time = instance.getTime(); + strings.add(format.format(time)); + } + } + System.out.println(strings); + } @Override @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW) public ResultUtil payCourse(PayCourseReq req,Integer userId){ @@ -852,7 +951,7 @@ for (String s : time) { for (int i = 0; i < split.length; i++) { CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); - coursePackageScheduling.setCourseId(tCoursePackage.getId()); + coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); try { Date parse = format.parse(s + " " + split[i]); Date parse1 = format.parse(s + " " + split1[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 b8cfa77..d2a2545 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 @@ -1,9 +1,9 @@ package com.dsh.course.service.impl; +import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import com.alibaba.nacos.common.utils.UuidUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -26,8 +26,6 @@ import com.dsh.course.model.*; import com.dsh.course.service.*; import com.dsh.course.util.*; -import com.dsh.course.util.httpClinet.HttpResult; -import org.omg.CORBA.INTERNAL; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -487,6 +485,7 @@ TCoursePackage coursePackage = this.getById(id); CoursePackageInfo coursePackageInfo = new CoursePackageInfo(); coursePackageInfo.setId(id); + coursePackageInfo.setTime(coursePackage.getStartTime()+"-"+coursePackage.getEndTime()); coursePackageInfo.setCoverDrawing(coursePackage.getCoverDrawing()); coursePackageInfo.setName(coursePackage.getName()); Store store = storeClient.queryStoreById(coursePackage.getStoreId()); @@ -1035,7 +1034,7 @@ for (int i1 = 0; i1 < split.length; i1++) { CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); - coursePackageScheduling.setCourseId(tCoursePackage.getId()); + coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); try { Date parse = format1.parse(format.format(time) + " " + split[i1]); Date parse1 = format1.parse(format.format(time) + " " + split1[i1]); @@ -1067,7 +1066,7 @@ for (int i1 = 0; i1 < split.length; i1++) { CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); - coursePackageScheduling.setCourseId(tCoursePackage.getId()); + coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); try { Date parse = format1.parse(format.format(time) + " " + split[i1]); Date parse1 = format1.parse(format.format(time) + " " + split1[i1]); @@ -1097,13 +1096,17 @@ for (int i1 = 0; i1 < split.length; i1++) { CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); - coursePackageScheduling.setCourseId(tCoursePackage.getId()); + 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); + coursePackageScheduling.setCourseId(tCoursePackage.getId()); + coursePackageScheduling.setIntegral(0); + coursePackageScheduling.setCancelClasses(""); + coursePackageScheduling.setDeductClassHour(0); coursePackageSchedulingService.save(coursePackageScheduling); CoursePackageStudent student1 = new CoursePackageStudent(); diff --git a/cloud-server-course/src/main/java/com/dsh/course/util/PayMoneyUtil.java b/cloud-server-course/src/main/java/com/dsh/course/util/PayMoneyUtil.java index 2cc4f6a..3e33721 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/util/PayMoneyUtil.java +++ b/cloud-server-course/src/main/java/com/dsh/course/util/PayMoneyUtil.java @@ -51,13 +51,13 @@ private String alipay_public_key = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmu8n/4yTHWbn7VOrNc9OsLtDL1bEQ8gC1dHkj8Wy5z0mkaOsjJRIG/28ze12M0V8jdCKuuDr5Z1OPKiqf+XO3ypguEh+mYUVMBM/cZodDFQfTY1TKLWjvQCuaqlA+QUTCK6f7T7stsgyQ1o9Jj0rXZDz6PM4QHSTzjrLIBaeqM5WIBvH+fy/X+QG5Utd+/UT0kc0JyvuKhZ65yVUd/C9VcwJJAPliRsAQNrqYterwAJ9zvw9tF11wj9W0XgJ8Ccu4x3gR1vrlLRJJo/OA97RmxPQ+5hSacWQZCUd1dwiBq+YCrKVHGTj14izRHXrLc0yBlRXo7tBOIqcy3IsvKVthQIDAQAB";//支付宝支付公钥 - private String appid = "";//微信appid + private String appid = "wx82f853a410b0c7c0";//微信appid private String appletsAppid = "";//微信小程序appid - private String mchId = "";//微信商户号 + private String mchId = "1501481761";//微信商户号 - private String key = "";//微信商户号 + private String key = "6f5e0c2dcabfa9c27b5da5836a362fef";//微信商户号 private String callbackPath = "";//支付回调网关地址 diff --git a/cloud-server-management/src/main/java/com/dsh/course/mapper/StoreMapper.java b/cloud-server-management/src/main/java/com/dsh/course/mapper/StoreMapper.java index fa94e82..0032354 100644 --- a/cloud-server-management/src/main/java/com/dsh/course/mapper/StoreMapper.java +++ b/cloud-server-management/src/main/java/com/dsh/course/mapper/StoreMapper.java @@ -39,4 +39,19 @@ @Param("page") Page<Map<String, Object>> page); + List<Map<String, Object>> listOne(@Param("page") Page<Map<String, Object>> page, @Param("id") Integer id); + + List<Map<String, Object>> typeChange(@Param("name") String name); + + List<Map<String, Object>> typeChangeOne(@Param("id") Integer id); + + + String getConfig(@Param("page") Integer page); + + void addConfigOne(@Param("url") String url, @Param("name") String name, @Param("s") String s, @Param("s1") String s1, @Param("turnId") String turnId, @Param("sort") Integer sort,@Param("page") Integer page,@Param("type") Integer type); + + List<Map<String, Object>> listTwo(@Param("page") Page<Map<String, Object>> page); + + void delete1(@Param("id") Integer id); + } diff --git a/cloud-server-management/src/main/java/com/dsh/course/mapper/TOperatorMapper.java b/cloud-server-management/src/main/java/com/dsh/course/mapper/TOperatorMapper.java new file mode 100644 index 0000000..74c9bf9 --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/course/mapper/TOperatorMapper.java @@ -0,0 +1,17 @@ +package com.dsh.course.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsh.guns.modular.system.model.TOperator; + +/** + * <p> + * 运营商 Mapper 接口 + * </p> + * + * @author administrator + * @since 2023-09-20 + */ +public interface TOperatorMapper extends BaseMapper<TOperator> { + +} diff --git a/cloud-server-management/src/main/java/com/dsh/course/mapper/TStoreOtherConfigMapper.java b/cloud-server-management/src/main/java/com/dsh/course/mapper/TStoreOtherConfigMapper.java new file mode 100644 index 0000000..e2ac6f5 --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/course/mapper/TStoreOtherConfigMapper.java @@ -0,0 +1,17 @@ +package com.dsh.course.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsh.guns.modular.system.model.TStoreOtherConfig; + +/** + * <p> + * Mapper 接口 + * </p> + * + * @author administrator + * @since 2023-09-19 + */ +public interface TStoreOtherConfigMapper extends BaseMapper<TStoreOtherConfig> { + +} diff --git a/cloud-server-management/src/main/java/com/dsh/course/mapper/TStoreOtherConfigTrueMapper.java b/cloud-server-management/src/main/java/com/dsh/course/mapper/TStoreOtherConfigTrueMapper.java new file mode 100644 index 0000000..3c3e600 --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/course/mapper/TStoreOtherConfigTrueMapper.java @@ -0,0 +1,17 @@ +package com.dsh.course.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsh.guns.modular.system.model.TStoreOtherConfigTrue; + +/** + * <p> + * Mapper 接口 + * </p> + * + * @author administrator + * @since 2023-09-19 + */ +public interface TStoreOtherConfigTrueMapper extends BaseMapper<TStoreOtherConfigTrue> { + +} diff --git a/cloud-server-management/src/main/java/com/dsh/course/mapper/TStoreOtherMapper.java b/cloud-server-management/src/main/java/com/dsh/course/mapper/TStoreOtherMapper.java new file mode 100644 index 0000000..48e8a1c --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/course/mapper/TStoreOtherMapper.java @@ -0,0 +1,17 @@ +package com.dsh.course.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsh.guns.modular.system.model.TStoreOther; + +/** + * <p> + * Mapper 接口 + * </p> + * + * @author administrator + * @since 2023-09-19 + */ +public interface TStoreOtherMapper extends BaseMapper<TStoreOther> { + +} diff --git a/cloud-server-management/src/main/java/com/dsh/course/mapper/TTurnMapper.java b/cloud-server-management/src/main/java/com/dsh/course/mapper/TTurnMapper.java new file mode 100644 index 0000000..cd106df --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/course/mapper/TTurnMapper.java @@ -0,0 +1,17 @@ +package com.dsh.course.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsh.guns.modular.system.model.TTurn; + +/** + * <p> + * Mapper 接口 + * </p> + * + * @author administrator + * @since 2023-09-19 + */ +public interface TTurnMapper extends BaseMapper<TTurn> { + +} diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCityController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCityController.java index a7ea97d..963fbd3 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCityController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCityController.java @@ -174,7 +174,7 @@ public Object onChange(Integer oneId) { if (oneId == null) return null; try { - TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getId, oneId)); + TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, oneId)); QueryWrapper<TCity> query = new QueryWrapper<TCity>().eq("parent_id", one.getId()); return cityService.list(query); }catch (Exception e){ 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 8690c0b..16910ce 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 @@ -1,6 +1,7 @@ package com.dsh.guns.modular.system.controller.code; import cn.hutool.crypto.SecureUtil; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dsh.course.feignClient.account.CityClient; @@ -14,9 +15,11 @@ import com.dsh.guns.core.common.constant.factory.PageFactory; import com.dsh.guns.core.util.ToolUtil; import com.dsh.guns.modular.system.model.*; -import com.dsh.guns.modular.system.service.ICityService; -import com.dsh.guns.modular.system.service.IStoreService; -import com.dsh.guns.modular.system.service.StoreConfigService; +import com.dsh.guns.modular.system.service.*; +import com.dsh.guns.modular.system.util.GaoDeMapUtil; +import io.swagger.models.auth.In; +import org.apache.poi.ss.formula.functions.T; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; @@ -27,6 +30,7 @@ import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; +import java.util.Map; /** * 车辆管理控制器 @@ -57,6 +61,20 @@ @Resource private StoreConfigService storeConfigService; + @Autowired + private TStoreOtherConfigTrueService tStoreOtherConfigTrueService; + + @Autowired + private TStoreOtherConfigService storeOtherConfigService; + + @Autowired + private TTurnService tTurnService; + + @Autowired + private TStoreOtherService storeOtherService; + + + /** * 跳转到车辆管理首页 @@ -80,6 +98,22 @@ String roleid = UserExt.getUser().getRoleid(); model.addAttribute("role",roleid); return PREFIX + "tShop_add.html"; + } + @RequestMapping("/tShop_add_one") + public String tCompetitionAddOne(Integer id,Model model) { + List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0)); + model.addAttribute("list",list); + String roleid = UserExt.getUser().getRoleid(); + model.addAttribute("id",id); + + return PREFIX + "tShop_add_one.html"; + } + @RequestMapping("/tShop_add_two") + public String tCompetitionAddTwo(Model model) { + List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0)); + model.addAttribute("list",list); + String roleid = UserExt.getUser().getRoleid(); + return PREFIX + "tShop_add_two.html"; } @@ -109,6 +143,27 @@ model.addAttribute("type",1); return PREFIX + "tShop_edit.html"; } + + + + + @RequestMapping("/tShop_update_one/{id}") + public String tCityUpdateOne(@PathVariable Integer id, Model model) { + TStoreOtherConfig byId = storeOtherConfigService.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_edit_two.html"; + } + + + @RequestMapping("/tShop_info/{id}") public String tCityInfo(@PathVariable Integer id, Model model) { TStore byId = storeService.getById(id); @@ -167,19 +222,29 @@ public Object list(String provinceCode, String cityCode , String name, String phone,String shopName) { Page<TStoreListVo> page = new PageFactory<TStoreListVo>().defaultPage(); List<TStoreListVo> list = storeService.listAll(page,provinceCode,cityCode,name,phone,shopName); - for (TStoreListVo tStoreListVo : list) { - TCityManager byId = cityClient.getById(tStoreListVo.getCityManagerId()); - tStoreListVo.setAccount(byId.getName()+"-"+byId.getPhone()); - - } + page.setRecords(list); + return super.packForBT(page); + } + @RequestMapping(value = "/listOne") + @ResponseBody + public Object listOne(Integer id) { + Page<Map<String,Object>> page = new PageFactory<Map<String,Object>>().defaultPage(); + List<Map<String,Object>> list = storeService.listOne(page,id); + page.setRecords(list); + return super.packForBT(page); + } + @RequestMapping(value = "/listTwo") + @ResponseBody + public Object listTwo() { + Page<Map<String,Object>> page = new PageFactory<Map<String,Object>>().defaultPage(); + List<Map<String,Object>> list = storeService.listTwo(page); page.setRecords(list); return super.packForBT(page); } - @RequestMapping(value = "/add") @ResponseBody - public Object list(TStore tStore,String time,String userName,String userPhone) { + 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())); @@ -189,6 +254,9 @@ } tStore.setStartTime(time.split(" - ")[0]); tStore.setEndTime(time.split(" - ")[1]); + tStore.setIds(ids); + tStore.setType(type); + tStore.setOperatorId(yyId); tStore.setState(1); User user = new User(); List<User> users = userMapper.selectList(new LambdaQueryWrapper<User>().eq(User::getAccount, userPhone)); @@ -202,6 +270,9 @@ user.setPassword(SecureUtil.md5("a123456")); userMapper.insert(user); tStore.setStoreStaffId(user.getId()); + tStore.setLon(lon); + tStore.setLat(lat); + storeService.save(tStore); ArrayList<StoreConfig> storeConfigs = new ArrayList<>(); @@ -223,7 +294,7 @@ @RequestMapping(value = "/update") @ResponseBody - public Object update(TStore tStore,String time,String userName,String userPhone) { + public Object update(TStore tStore,String time,String userName,String userPhone,String ids,Integer type,Integer yyId) { try { TStore byId = storeService.getById(tStore.getId()); @@ -235,6 +306,9 @@ } tStore.setStartTime(time.split(" - ")[0]); tStore.setEndTime(time.split(" - ")[1]); + tStore.setIds(ids); + tStore.setType(type); + tStore.setOperatorId(yyId); if(ToolUtil.isEmpty(tStore.getCoverDrawing())){ tStore.setCoverDrawing(byId.getCoverDrawing()); } @@ -337,6 +411,17 @@ return ERROR; } } + @ResponseBody + @RequestMapping(value = "/deleteOne") + public Object delete1(Integer id) { + try { + storeService.delete1(id); + return SUCCESS_TIP; + }catch (Exception e){ + e.printStackTrace(); + return ERROR; + } + } @RequestMapping(value = "/saveImg") @ResponseBody @@ -393,6 +478,105 @@ return ERROR; } } + @RequestMapping(value = "/typeChange") + @ResponseBody + public Object typeChange(String name) { + try { + List<Map<String,Object>> list = storeService.typeChange(name); + return list; + }catch (Exception e){ + e.printStackTrace(); + return ERROR; + } + } + @RequestMapping(value = "/typeChangeOne") + @ResponseBody + public Object typeChangeOne(Integer id) { + try { + List<Map<String,Object>> list = storeService.typeChangeOne(id); + return list; + }catch (Exception e){ + e.printStackTrace(); + return ERROR; + } + } + + /** + * ajax.set("url",url); + * ajax.set("name",name); + * ajax.set("page",page); + * ajax.set("type",type); + * ajax.set("turnId",turnId); + * ajax.set("sort",sort); + * @param id + * @return + */ + @RequestMapping(value = "/addConfigOne") + @ResponseBody + public Object addConfigOne(String url,String name,Integer page,Integer type,String turnId,Integer sort) { + try { + storeService.addConfigOne(url,name,page,type,turnId,sort); + return SUCCESS_TIP; + }catch (Exception e){ + e.printStackTrace(); + return ERROR; + } + } + @RequestMapping(value = "/addConfig") + @ResponseBody + public Object addConfig(String name,Integer id) { + try { + List<TStoreOtherConfig> list = storeOtherConfigService.list(); + if(list.size()>0){ + TStoreOther tStoreOther = new TStoreOther(); + tStoreOther.setName(name); + tStoreOther.setStoreId(id); + storeOtherService.save(tStoreOther); + + // 找出temp表数据 + + ArrayList<TStoreOtherConfigTrue> tStoreOtherConfigTrues = new ArrayList<>(); + for (TStoreOtherConfig tStoreOtherConfig : list) { + TStoreOtherConfigTrue tStoreOtherConfigTrue = new TStoreOtherConfigTrue(); + BeanUtils.copyProperties(tStoreOtherConfig,tStoreOtherConfigTrue); + tStoreOtherConfigTrue.setPid(tStoreOther.getId()); + tStoreOtherConfigTrues.add(tStoreOtherConfigTrue); + } + tStoreOtherConfigTrueService.saveBatch(tStoreOtherConfigTrues); + storeOtherConfigService.remove(new LambdaQueryWrapper<TStoreOtherConfig>().gt(TStoreOtherConfig::getId,0)); + } + + + 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) { + try { + TStoreOtherConfig byId = storeOtherConfigService.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); + storeOtherConfigService.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 7f09add..2c52bdf 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 @@ -443,6 +443,9 @@ return siteClient.listExipre(vo); } + @Autowired + private TOperatorService tOperatorService; + /** * 跳转到添加场地管理 */ @@ -465,6 +468,8 @@ }else if(objectType == 3){ stores= storeClient.getStoreByStoreStaffId(objectId);; } + 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<>(); diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TOperator.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TOperator.java new file mode 100644 index 0000000..cb188da --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TOperator.java @@ -0,0 +1,48 @@ +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-20 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("t_operator") +public class TOperator extends Model<TOperator> { + + private static final long serialVersionUID=1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + private String name; + + @TableField("userId") + private Integer userId; + + /** + * 1 全国 2指定 + */ + private Integer type; + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TStore.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TStore.java index ba3e006..2881577 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TStore.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TStore.java @@ -42,5 +42,10 @@ private String welfarePicture; private BigDecimal score; private Integer state; - + @TableField("operatorId") + private Integer operatorId; + @TableField("type") + private Integer type; + @TableField("ids") + private String ids; } diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TStoreListVo.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TStoreListVo.java index d116d3e..d9fa2a4 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TStoreListVo.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TStoreListVo.java @@ -44,4 +44,8 @@ private String account; + private Integer type; + + private String yysName; + } diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TStoreOther.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TStoreOther.java new file mode 100644 index 0000000..fa07ed8 --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TStoreOther.java @@ -0,0 +1,50 @@ +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-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-management/src/main/java/com/dsh/guns/modular/system/model/TStoreOtherConfig.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TStoreOtherConfig.java new file mode 100644 index 0000000..acfd2f3 --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TStoreOtherConfig.java @@ -0,0 +1,80 @@ +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-19 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("t_store_other_config") +public class TStoreOtherConfig extends Model<TStoreOtherConfig> { + + 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; + + @TableField("pageId") + private Integer pageId; + + @TableField("typeId") + private Integer typeId; + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TStoreOtherConfigTrue.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TStoreOtherConfigTrue.java new file mode 100644 index 0000000..5487978 --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TStoreOtherConfigTrue.java @@ -0,0 +1,83 @@ +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-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-management/src/main/java/com/dsh/guns/modular/system/model/TTurn.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TTurn.java new file mode 100644 index 0000000..85eac91 --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/TTurn.java @@ -0,0 +1,39 @@ +package com.dsh.guns.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.baomidou.mybatisplus.annotation.TableId; +import java.io.Serializable; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * <p> + * + * </p> + * + * @author administrator + * @since 2023-09-19 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class TTurn extends Model<TTurn> { + + private static final long serialVersionUID=1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + private String name; + + private Integer pid; + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IStoreService.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IStoreService.java index 9e00850..025c637 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IStoreService.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IStoreService.java @@ -36,4 +36,17 @@ List<Map<String, Object>> queryListOfpage(String provinceCode, String cityCode, Integer cityManagerId, String storeName, Page<Map<String, Object>> page); + List<Map<String, Object>> listOne(Page<Map<String, Object>> page, Integer id); + + + List<Map<String, Object>> typeChange(String name); + + List<Map<String, Object>> typeChangeOne(Integer id); + + void addConfigOne(String url, String name, Integer page,Integer type, String turnId, Integer sort); + + List<Map<String, Object>> listTwo(Page<Map<String, Object>> page); + + + void delete1(Integer id); } diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/TOperatorService.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/TOperatorService.java new file mode 100644 index 0000000..70009f6 --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/TOperatorService.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.TOperator; + +/** + * <p> + * 运营商 服务类 + * </p> + * + * @author administrator + * @since 2023-09-20 + */ +public interface TOperatorService extends IService<TOperator> { + +} diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/TStoreOtherConfigService.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/TStoreOtherConfigService.java new file mode 100644 index 0000000..8d6c9ed --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/TStoreOtherConfigService.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.TStoreOtherConfig; + +/** + * <p> + * 服务类 + * </p> + * + * @author administrator + * @since 2023-09-19 + */ +public interface TStoreOtherConfigService extends IService<TStoreOtherConfig> { + +} diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/TStoreOtherConfigTrueService.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/TStoreOtherConfigTrueService.java new file mode 100644 index 0000000..f42d1fc --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/TStoreOtherConfigTrueService.java @@ -0,0 +1,16 @@ +package com.dsh.guns.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.dsh.guns.modular.system.model.TStoreOtherConfigTrue; + +/** + * <p> + * 服务类 + * </p> + * + * @author administrator + * @since 2023-09-19 + */ +public interface TStoreOtherConfigTrueService extends IService<TStoreOtherConfigTrue> { + +} diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/TStoreOtherService.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/TStoreOtherService.java new file mode 100644 index 0000000..720b97d --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/TStoreOtherService.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.TStoreOther; + +/** + * <p> + * 服务类 + * </p> + * + * @author administrator + * @since 2023-09-19 + */ +public interface TStoreOtherService extends IService<TStoreOther> { + +} diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/TTurnService.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/TTurnService.java new file mode 100644 index 0000000..d037f1f --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/TTurnService.java @@ -0,0 +1,16 @@ +package com.dsh.guns.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.dsh.guns.modular.system.model.TTurn; + +/** + * <p> + * 服务类 + * </p> + * + * @author administrator + * @since 2023-09-19 + */ +public interface TTurnService extends IService<TTurn> { + +} diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/StoreServiceImpl.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/StoreServiceImpl.java index ccd1d9d..135a607 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/StoreServiceImpl.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/StoreServiceImpl.java @@ -45,4 +45,38 @@ public List<Map<String, Object>> queryListOfpage(String provinceCode, String cityCode, Integer cityManagerId, String storeName, Page<Map<String, Object>> page) { return this.baseMapper.queryListOfpage(provinceCode,cityCode,cityManagerId,storeName,page); } + + @Override + public List<Map<String, Object>> listOne(Page<Map<String, Object>> page, Integer id) { + return this.baseMapper.listOne(page,id); + + } + + @Override + public List<Map<String, Object>> typeChange(String name) { + return this.baseMapper.typeChange(name); + } + @Override + public List<Map<String, Object>> typeChangeOne(Integer id) { + return this.baseMapper.typeChangeOne(id); + } + + @Override + public void addConfigOne(String url, String name, Integer page, Integer type,String turnId, Integer sort) { + String s = this.baseMapper.getConfig(page); + String s1 = this.baseMapper.getConfig(type); + this.baseMapper.addConfigOne(url,name,s,s1,turnId,sort,page,type); + } + + @Override + public List<Map<String, Object>> listTwo(Page<Map<String, Object>> page) { + return this.baseMapper.listTwo(page); + + + } + + @Override + public void delete1(Integer id) { + this.baseMapper.delete1(id); + } } diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TOperatorServiceImpl.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TOperatorServiceImpl.java new file mode 100644 index 0000000..6d6dfa1 --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TOperatorServiceImpl.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.TOperatorMapper; +import com.dsh.guns.modular.system.model.TOperator; +import com.dsh.guns.modular.system.service.TOperatorService; +import org.springframework.stereotype.Service; + +/** + * <p> + * 运营商 服务实现类 + * </p> + * + * @author administrator + * @since 2023-09-20 + */ +@Service +public class TOperatorServiceImpl extends ServiceImpl<TOperatorMapper, TOperator> implements TOperatorService { + +} diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TStoreOtherConfigServiceImpl.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TStoreOtherConfigServiceImpl.java new file mode 100644 index 0000000..944b6da --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TStoreOtherConfigServiceImpl.java @@ -0,0 +1,20 @@ +package com.dsh.guns.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsh.course.mapper.TStoreOtherConfigMapper; +import com.dsh.guns.modular.system.model.TStoreOtherConfig; +import com.dsh.guns.modular.system.service.TStoreOtherConfigService; +import org.springframework.stereotype.Service; + +/** + * <p> + * 服务实现类 + * </p> + * + * @author administrator + * @since 2023-09-19 + */ +@Service +public class TStoreOtherConfigServiceImpl extends ServiceImpl<TStoreOtherConfigMapper, TStoreOtherConfig> implements TStoreOtherConfigService { + +} diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TStoreOtherConfigTrueServiceImpl.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TStoreOtherConfigTrueServiceImpl.java new file mode 100644 index 0000000..6ae4add --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TStoreOtherConfigTrueServiceImpl.java @@ -0,0 +1,20 @@ +package com.dsh.guns.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsh.course.mapper.TStoreOtherConfigTrueMapper; +import com.dsh.guns.modular.system.model.TStoreOtherConfigTrue; +import com.dsh.guns.modular.system.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-management/src/main/java/com/dsh/guns/modular/system/service/impl/TStoreOtherServiceImpl.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TStoreOtherServiceImpl.java new file mode 100644 index 0000000..b369531 --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TStoreOtherServiceImpl.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.TStoreOtherMapper; +import com.dsh.guns.modular.system.model.TStoreOther; +import com.dsh.guns.modular.system.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-management/src/main/java/com/dsh/guns/modular/system/service/impl/TTurnServiceImpl.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TTurnServiceImpl.java new file mode 100644 index 0000000..444cd47 --- /dev/null +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TTurnServiceImpl.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.TTurnMapper; +import com.dsh.guns.modular.system.model.TTurn; +import com.dsh.guns.modular.system.service.TTurnService; +import org.springframework.stereotype.Service; + +/** + * <p> + * 服务实现类 + * </p> + * + * @author administrator + * @since 2023-09-19 + */ +@Service +public class TTurnServiceImpl extends ServiceImpl<TTurnMapper, TTurn> implements TTurnService { + +} diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/GaoDeMapUtil.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/GaoDeMapUtil.java index 0012713..91b2c7b 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/GaoDeMapUtil.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/GaoDeMapUtil.java @@ -36,7 +36,7 @@ CloseableHttpClient httpclient = HttpClients.createDefault(); try { // 拼接请求高德的url - HttpGet httpget = new HttpGet(address+"&sensor=false&key=AIzaSyCnvS7Xm3utDjc2fdd5Gvk5E1-bavcrzAA"); + HttpGet httpget = new HttpGet(address+"&sensor=false&key=77b37f0753049c4e712ea79a24e0719c"); // 执行get请求. CloseableHttpResponse response = httpclient.execute(httpget); diff --git a/cloud-server-management/src/main/resources/mapper/TOperatorMapper.xml b/cloud-server-management/src/main/resources/mapper/TOperatorMapper.xml new file mode 100644 index 0000000..9250045 --- /dev/null +++ b/cloud-server-management/src/main/resources/mapper/TOperatorMapper.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.TOperatorMapper"> + + +</mapper> diff --git a/cloud-server-management/src/main/resources/mapper/TStoreMapper.xml b/cloud-server-management/src/main/resources/mapper/TStoreMapper.xml index 2db3c8d..cbe1ba4 100644 --- a/cloud-server-management/src/main/resources/mapper/TStoreMapper.xml +++ b/cloud-server-management/src/main/resources/mapper/TStoreMapper.xml @@ -1,9 +1,24 @@ <?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.StoreMapper"> + <insert id="addConfigOne"> + insert into t_store_other_config(id, + url, + `name`, + page, + `type`, + turnId, + sort, + state,pageId,typeId + ) value (null ,#{url},#{name},#{s},#{s1},#{turnId},#{sort},1,#{page},#{type}) + </insert> + <delete id="delete1"> + delete from t_store_other_config where id =#{id} + </delete> <select id="listAll" resultType="com.dsh.guns.modular.system.model.TStoreListVo"> select t1.*,t2.name userName,t2.phone userPhone from t_store t1 left join sys_user t2 on t1.storeStaffId = t2.id + where 1=1 <if test="provinceCode !=null and provinceCode !=''"> and t1.provinceCode = #{provinceCode} @@ -58,4 +73,19 @@ and `name` like CONCAT('%',#{storeName},'%') </if> </select> + <select id="listOne" resultType="java.util.Map"> + select id,name,sort,state from t_store_other where storeId=#{id} + </select> + <select id="typeChange" resultType="java.util.Map"> + select t1.id,t1.name from t_turn t1 left join t_turn t2 on t1.pid = t2.id where t2.name =#{name} + </select> + <select id="typeChangeOne" resultType="java.util.Map"> + select id,name from t_turn where pid =#{id} + </select> + <select id="getConfig" resultType="java.lang.String"> + select name from t_turn where id =#{page} + </select> + <select id="listTwo" resultType="java.util.Map"> + select id,url,name , page,sort from t_store_other_config + </select> </mapper> \ No newline at end of file diff --git a/cloud-server-management/src/main/resources/mapper/TStoreOtherConfigMapper.xml b/cloud-server-management/src/main/resources/mapper/TStoreOtherConfigMapper.xml new file mode 100644 index 0000000..e740a9f --- /dev/null +++ b/cloud-server-management/src/main/resources/mapper/TStoreOtherConfigMapper.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.TStoreOtherConfigMapper"> + + +</mapper> diff --git a/cloud-server-management/src/main/resources/mapper/TStoreOtherConfigTrueMapper.xml b/cloud-server-management/src/main/resources/mapper/TStoreOtherConfigTrueMapper.xml new file mode 100644 index 0000000..890222a --- /dev/null +++ b/cloud-server-management/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.course.mapper.TStoreOtherConfigTrueMapper"> + + +</mapper> diff --git a/cloud-server-management/src/main/resources/mapper/TStoreOtherMapper.xml b/cloud-server-management/src/main/resources/mapper/TStoreOtherMapper.xml new file mode 100644 index 0000000..73c2eea --- /dev/null +++ b/cloud-server-management/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.course.mapper.TStoreOtherMapper"> + + +</mapper> diff --git a/cloud-server-management/src/main/resources/mapper/TTurnMapper.xml b/cloud-server-management/src/main/resources/mapper/TTurnMapper.xml new file mode 100644 index 0000000..1fdc23e --- /dev/null +++ b/cloud-server-management/src/main/resources/mapper/TTurnMapper.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.TTurnMapper"> + + +</mapper> 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 7f5620f..c538791 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 @@ -43,7 +43,23 @@ <div class="form-horizontal" id="carInfoForm"> <input hidden id="role" value="${role}"> + + <div class="form-group"> + <label class="col-sm-3 control-label">门店类型:</label> + <div class="col-sm-9"> + <input type="radio" name="type" value="1" checked onclick="updateType(1)"> 平台门店 + <input type="radio" name="type" value="2" onclick="updateType(2)"> 运营商门店 + </div> + </div> @if(role=='1'){ + <div class="form-group" id="yys" hidden > + <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> + </select> + </div> + </div> <div class="form-group" id="provinceCode"> <label class="col-sm-3 control-label">所在省:</label> <div class="col-sm-9"> @@ -58,19 +74,12 @@ <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> </select> </div> </div> - <div class="form-group" > - <label class="col-sm-3 control-label">所属账号:</label> - <div class="col-sm-9"> - <select class="form-control" id="account" name="account"> - <option value="">选择账号</option> - </select> - </div> - </div> + @} <#input id="name" name="门店名称" type="text"/> <#input id="phone" name="联系电话" type="text"/> @@ -85,8 +94,8 @@ <!-- 创建地图容器--> <div id="container" style="height: 500px;" ></div> </div> - <div hidden id="longitude"></div> - <div hidden id="latitude"></div> + <div hidden id="longitude" value="104.0559716796875"></div> + <div hidden id="latitude" value="30.585671929253472"></div> <#input id="time" name="营业时间" type="text"/> <div class="form-group"> @@ -99,7 +108,7 @@ <#input id="userPhone" name="店长手机号" type="text"/> <#avatar id="img" name="门店封面(推荐像素722*360px)" /> <div class="row" id="app1"> - <div class="col-sm-6" style="width: 100%"> + <div class="col-sm-6" style="width: 100%;margin-left: 103px;"> <div class="form-group"> <label class="col-sm-3 control-label" style="width: 15%;margin-left: 5%">*实景图片(请上传不超过五张图片): </label> <div class="col-sm-2" style="width: 100%;margin-left: 11%;margin-top: 1%"> @@ -120,7 +129,7 @@ </div> </div> - + <#input id="ids" name="添加入园闸机" type="text"/> </div> </div> @@ -180,5 +189,16 @@ created() { }, }); + + + function updateType(o) { + if(o==1){ + $("#yys").hide() + }else { + $("#yys").show() + + } + + } </script> @} 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 new file mode 100644 index 0000000..301ef2a --- /dev/null +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add_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;"> + + </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()"/> + </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.addSubmit2()"/> + <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TCompetition.close()"/> + </div> +</div> + + </div> + + </div> +</div> +<script src="${ctxPath}/modular/system/tShop/tShopOtherOne.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_add_two.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add_two.html new file mode 100644 index 0000000..41705b2 --- /dev/null +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add_two.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"> + + + <#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.addSubmit()"/> + </div> +</div> + + +</div> +<script src="${ctxPath}/modular/system/tShop/tShopOtherOne.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_edit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit.html index 103833c..17ba78f 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 @@ -1,4 +1,41 @@ @layout("/common/_container.html"){ +<style> + .avatar-uploader .el-upload { + border: 1px dashed #d9d9d9; + border-radius: 6px; + cursor: pointer; + position: relative; + height: 100px; + width: 100px; + overflow: hidden; + } + + .avatar-uploader .el-upload:hover { + border-color: #409EFF; + } + .avatar-uploader-icon { + font-size: 28px; + color: #8c939d; + width: 100px; + height: 100px; + line-height: 100px; + margin-top: 32px; + text-align: center; + } + .avatar { + width: 100px; + height: 100px; + display: block; + } + + .col-sm-12 { + margin-top: 20px; + } + + .col-sm-12 select { + height: 33px; + } +</style> <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script> <div class="ibox float-e-margins"> <div class="ibox-content"> @@ -6,7 +43,24 @@ <div class="form-horizontal" id="carInfoForm"> <input hidden id="id" value="${item.id}"> <input hidden id="role" value="${role}"> + <input hidden id="type" value="${item.type}"> + + <div class="form-group"> + <label class="col-sm-3 control-label">门店类型:</label> + <div class="col-sm-9"> + <input type="radio" name="type" value="1" onclick="updateType(1)"> 平台门店 + <input type="radio" name="type" value="2" onclick="updateType(2)"> 运营商门店 + </div> + </div> @if(role=='1'){ + <div class="form-group" id="yys" hidden > + <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> + </select> + </div> + </div> <div class="form-group" id="provinceCode"> <label class="col-sm-3 control-label">所在省:</label> <div class="col-sm-9"> @@ -25,17 +79,6 @@ <option value="">选择市</option> @for(obj in list1){ <option value="${obj.code}" ${obj.code == item.cityCode ? 'selected=selected' : ''}>${obj.name}</option> - @} - </select> - </div> - </div> - <div class="form-group" > - <label class="col-sm-3 control-label">所属账号:</label> - <div class="col-sm-9"> - <select class="form-control" id="account" name="account"> - <option value="">选择账号</option> - @for(obj in list2){ - <option value="${obj.id}" ${obj.id == item.cityManagerId ? 'selected=selected' : ''}>${obj.name}-${obj.phone}</option> @} </select> </div> @@ -65,6 +108,32 @@ <#input id="userPhone" name="管理员手机号" type="text" value="${city.account}"/> <#avatar id="img" name="门店封面(推荐像素722*360px)" avatarImg="${item.coverDrawing}"/> <#input id="imgOne" name="实景照片" type="text" value="${item.realPicture}"/> + <div class="row" id="app1"> + <div class="col-sm-6" style="width: 100%;margin-left: 103px;"> + <div class="form-group"> + <label class="col-sm-3 control-label" style="width: 15%;margin-left: 5%">*实景图片(请上传不超过五张图片): </label> + <div class="col-sm-2" style="width: 100%;margin-left: 11%;margin-top: 1%"> + <el-upload + + :limit="5" + class="avatar-uploader" + action="/tCouponManage/uploadPic" + list-type="picture-card" + accept="." + :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="imageUrl2" alt=""></el-dialog> + + </div> + </div> + + </div> + </div> + <#input id="ids" name="添加入园闸机" type="text" value="${item.ids}"/> </div> <div class="row btn-group-m-t"> @@ -77,11 +146,87 @@ </div> </div> <script src="${ctxPath}/modular/system/tShop/tShop_info.js"></script> +<script src="${ctxPath}/js/vue/vue.js"></script> +<script src="${ctxPath}/js/elementui/index.js"></script> +<link rel="stylesheet" href="${ctxPath}/js/elementui/index.css"> <script> laydate.render({ elem: '#time', 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 obj = [] + + + var vue2 = new Vue({ + el: '#app1', + props: { + // 数量限制 + limit: { + type: Number, + default: 2 + }, + }, + data: { + autoUpload: true,//自动上传 + imageUrl1: '',//模型数据,用于上传图片完成后图片预览 + imageUrl2: [], + dialogVisible: false + }, + methods: { + handleAvatarSuccess(res, file) { + TCarInfoDlg.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] + } + this.imageUrl2.push(obj) + + } + console.log( this.imageUrl2,111) + }, + beforeAvatarUpload(file) { + const isLt2M = file.size / 1024 / 1024 < 10; + if (!isLt2M) { + this.$message.error('上传图片大小不能超过 10MB!'); + } + return isLt2M; + }, + handleRemove(file, fileList) { + TCarInfoDlg.goodsPicArray = TCarInfoDlg.goodsPicArray.filter(item => { + return item.uid != file.uid; + }); + }, + }, + created() { + this.changeImg() + }, + }); + + + function updateType(o) { + if(o==1){ + $("#yys").hide() + }else { + $("#yys").show() + queryStudentData + } + + } </script> <script type="application/javascript"> diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit_two.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit_two.html new file mode 100644 index 0000000..d6141ed --- /dev/null +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit_two.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.addSubmit1()"/> + </div> +</div> + + +</div> +</div> +<script src="${ctxPath}/modular/system/tShop/tShopOtherOne.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_imgAll.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_imgAll.html index 9a40637..bd5cfc4 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,17 +182,26 @@ </div> + <div>首页其他板块设置</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"/> + <#table id="TCompetitionOtherTable"/> + + </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="TCarInfoDlg.saveAllImg()"/> + <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="TCompetition.saveAllImg()"/> </div> </div> </div> </div> -<script src="${ctxPath}/modular/system/tShop/tShop_info.js"></script> +<script src="${ctxPath}/modular/system/tShop/tShopOther.js"></script> <script> </script> 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 4499976..834906e 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 @@ -49,35 +49,16 @@ <div class="form-horizontal" id="carInfoForm"> <input hidden id="role" value="${role}"> @if(objectType==1){ - <div class="form-group" id="provinceCode"> - <label class="col-sm-3 control-label">*所在省:</label> - <div class="col-sm-9"> - <select style="width: 300px" class="form-control" id="pCode" name="pCode" onchange="TSite.oneChange(2)"> - <option style="width: 300px" value="">选择省</option> - @for(obj in province){ - <option style="width: 300px" value="${obj}">${obj}</option> + <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)"> + <option style="width: 300px" value="">选择运营商</option> + @for(obj in yysList){ + <option style="width: 300px" value="${obj.id}">${obj.name}</option> @} </select> - </div> - </div> - @} - @if(objectType==1){ - <div class="form-group" id="cityCode"> - <label class="col-sm-3 control-label">*所在市:</label> - <div class="col-sm-9"> - <select style="width: 300px" class="form-control" id="cCode" name="cCode" onchange="TSite.oneChangeNext(this)"> - <option value="">请先选择省</option> - </select> - </div> - </div> - @} - @if(objectType==1){ - <div class="form-group" > - <label class="col-sm-3 control-label">*所属账号:</label> - <div class="col-sm-9"> - <select style="width: 300px" class="form-control" id="account" name="account"> - <option value="">请先选择省/市</option> - </select> + <input type="checkbox" value="0" name="pt">平台</input> </div> </div> @} @@ -85,12 +66,15 @@ <label class="col-sm-3 control-label">*所属门店:</label> <div class="col-sm-9"> <select style="width: 300px" class="form-control" id="store" name="store" > - <option disabled selected value="">请选择门店</option> - @if(objectType!=1){ - @for(obj in stores){ - <option style="width: 300px" value="${obj.id}">${obj.name}</option> - @} - @} + </select> + </div> + </div> + <div class="form-group" > + <label class="col-sm-3 control-label">*场地类型:</label> + <div class="col-sm-9"> + <select style="width: 300px" class="form-control" id="siteTypeOne" name = "typeId"> + <option value="普通场地">普通场地</option> + <option value="智慧场地">智慧场地</option> </select> </div> </div> @@ -132,7 +116,41 @@ <span style="margin-left: 5px;margin-top: 5px">币/半小时</span> </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> + </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"> + <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"> + <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"><i class="fa fa-plus" onclick="addBox1()" style="margin-left: 32px;margin-top: 10px;"></i> + </div> + </div> + </div> <div class="form-group"> <label class="col-sm-3 control-label">*场地责任险有效期:</label> <div class="col-sm-9"> @@ -176,6 +194,13 @@ @if(objectType==1){ <#input style="width: 300px" id="name" name="*添加闸机:" placeholder="请输入闸机ID" type="text"/> @} + <div class="form-group" style=" margin-left: 17%;" > + <label class="col-sm-1 control-label">场地说明:</label> + <div class="col-sm-5"> + <textarea type="text/plain" id="editor" style="height: 300px;width: 800px;"></textarea> + </div> + </div> + <div class="row btn-group-m-t"> <div class="col-sm-10 col-sm-offset-5" > <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TSite.addSubmit()"/> @@ -195,6 +220,48 @@ <script src="${ctxPath}/js/elementui/index.js"></script> <link rel="stylesheet" href="${ctxPath}/js/elementui/index.css"> <script> + + 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 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 delBox(o) { + $(o).parent("div").parent("div").remove() + } + + function updateHalf(e) { + if(e==1){ + $("#halfCode").hide() + }else { + $("#halfCode").show() + } + + } + var vue2 = new Vue({ el: '#app1', props: { diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShop.js b/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShop.js index 87a8a3e..77cc6f7 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShop.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShop.js @@ -15,11 +15,17 @@ TCompetition.initColumn = function () { return [ {field: 'selectItem', radio: true}, + {title: '门店类型', field: 'type', visible: role==1?true:false, align: 'center', valign: 'middle', + formatter:function (data) { + return {1:"平台门店",2:"运营商门店"}[data] + + } + }, + {title: '所属运营商', field: 'province', visible: role==1?true:false, align: 'center', valign: 'middle' + }, {title: '省', field: 'province', visible: role==1?true:false, align: 'center', valign: 'middle' }, {title: '市', field: 'city', visible: role==1?true:false, align: 'center', valign: 'middle'}, - {title: '所属账号', field: 'account', visible: role==1?true:false, align: 'center', valign: 'middle' - }, {title: '门店名称', field: 'name', visible: true, align: 'center', valign: 'middle' }, {title: '门店地址', field: 'address', visible: true, align: 'center', valign: 'middle' 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 new file mode 100644 index 0000000..0302161 --- /dev/null +++ b/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOther.js @@ -0,0 +1,560 @@ +/** + * 车辆管理管理初始化 + */ +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: '板块名称', field: 'name', visible: role==1?true:false, align: 'center', valign: 'middle', + }, + {title: '排序', field: 'sort', visible: role==1?true:false, align: 'center', valign: 'middle', + }, + {title: '状态', field: 'state', visible: role==1?true:false, align: 'center', valign: 'middle', + formatter:function (data) { + return {1:"开启",2:"关闭"}[data] + + } + }, + ]; +}; +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.check = function () { + var selected = $('#' + this.id).bootstrapTable('getSelections'); + if(selected.length == 0){ + Feng.info("请先选中表格中的某一记录!"); + return false; + }else{ + TCompetition.seItem = selected[0]; + return true; + } +}; + +/** + * 点击添加车辆管理 + */ +TCompetition.openAddTCompetition = function (e) { + var index = layer.open({ + type: 2, + title: '添加', + area: ['100%', '100%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tShop/tShop_add_one?id='+e + }); + this.layerIndex = index; +}; + +/** + * 打开查看车辆管理详情 + */ +TCompetition.openTCompetitionDetail = function () { + if (this.check()) { + var index = layer.open({ + type: 2, + title:'编辑', + area: ['100%', '100%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tShop/tShop_update/' + TCompetition.seItem.id + }); + 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("c1"); + 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/listOne?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); + } +} \ No newline at end of file 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 new file mode 100644 index 0000000..1897c1c --- /dev/null +++ b/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOtherOne.js @@ -0,0 +1,724 @@ +/** + * 车辆管理管理初始化 + */ +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/deleteOne", 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_one/' + 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/listTwo", 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.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 e218aa8..2d4e403 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 @@ -166,13 +166,17 @@ return ; } + var OBJradio= $("input[name='type']:checked").val(); + if(OBJradio==2){ + let account = $("#account").val() + if(account==''){ + Feng.info("请选择所属运营商") + return; + } + } let pCode = $("#pCode").val() let cCode = $("#cCode").val() - let account = $("#account").val() - if(account==''){ - Feng.info("请选择所属账号") - return; - } + let name = $("#name").val() let phone = $("#phone").val() @@ -271,7 +275,7 @@ ajax.set("cityCode",cCode); ajax.set("name",name); ajax.set("phone",phone); - ajax.set("cityManagerId",account); + ajax.set("cityManagerId",null); ajax.set("address",address); ajax.set("time",time); ajax.set("introduce",intro); @@ -279,6 +283,11 @@ ajax.set("userPhone",userPhone); ajax.set("coverDrawing",img); ajax.set("realPicture",imgOne); + ajax.set("lat",$("#latitude").val()); + ajax.set("lon",$("#longitude").val()); + ajax.set("ids",$("#ids").val()); + ajax.set("type",OBJradio); + ajax.set("yyId",$("#account").val()); ajax.start(); } var map = new AMap.Map('container', { @@ -392,9 +401,13 @@ let pCode = $("#pCode").val() let cCode = $("#cCode").val() let account = $("#account").val() - if(account==''){ - Feng.info("请选择所属账号") - return; + var OBJradio= $("input[name='type']:checked").val(); + if(OBJradio==2){ + let account = $("#account").val() + if(account==''){ + Feng.info("请选择所属运营商") + return; + } } let name = $("#name").val() diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShop_info_one.js b/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShop_info_one.js new file mode 100644 index 0000000..2d4e403 --- /dev/null +++ b/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShop_info_one.js @@ -0,0 +1,713 @@ +/** + * 初始化车辆管理详情对话框 + */ +var language=1; +var TCarInfoDlg = { + goodsPicArray: [], + tCarInfoData : {}, + validateFields: { + } +}; + +/** + * 验证数据是否为空 + */ +TCarInfoDlg.validate = function () { + $('#carInfoForm').data("bootstrapValidator").resetForm(); + $('#carInfoForm').bootstrapValidator('validate'); + return $("#carInfoForm").data('bootstrapValidator').isValid(); +}; + +/** + * 清除数据 + */ +TCarInfoDlg.clearData = function() { + this.tCarInfoData = {}; +} + +/** + * 设置对话框中的数据 + * + * @param key 数据的名称 + * @param val 数据的具体值 + */ +TCarInfoDlg.set = function(key, val) { + this.tCarInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val; + return this; +} + +/** + * 设置对话框中的数据 + * + * @param key 数据的名称 + * @param val 数据的具体值 + */ +TCarInfoDlg.get = function(key) { + return $("#" + key).val(); +} + +/** + * 关闭此对话框 + */ +TCarInfoDlg.close = function() { + parent.layer.close(window.parent.TCompetition.layerIndex); +} + +/** + * 收集数据 + */ +TCarInfoDlg.collectData = function() { + this + .set('id') + .set('isPlatCar') + .set('companyId') + .set('franchiseeId') + .set('carColor') + .set('carModelId') + .set('carBrandId') + .set('carLicensePlate') + .set('carPhoto') + .set('drivingLicenseNumber') + .set('drivingLicensePhoto') + .set('annualInspectionTime') + .set('commercialInsuranceTime') + .set('createTime') + .set('state') + .set('addType') + .set('addObjectId') + .set('plateColor') + .set('vehicleType') + .set('ownerName') + .set('engineId') + .set('VIN') + .set('certifyDateA') + .set('fuelType') + .set('engineDisplace') + .set('certificate') + .set('transAgency') + .set('transArea') + .set('transDateStart') + .set('transDateStop') + .set('certifyDateB') + .set('fixState') + .set('nextFixDate') + .set('checkState') + .set('feePrintId') + .set('GPSBrand') + .set('GPSModel') + .set('GPSIMEI') + .set('GPSInstallDate') + .set('registerDate') + .set('commercialType'); +} + +TCarInfoDlg.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(); +} +TCarInfoDlg.oneChangeNext = function (e) { + var oneId=$(e).val(); + var ajax = new $ax(Feng.ctxPath + "/tShop/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(); +} +TCarInfoDlg.saveImg = function () { + var id=$("#id").val(); + var img=$("#welfarePicture").val(); + var ajax = new $ax(Feng.ctxPath + "/tShop/saveImg", function(data){ + if(data.code == 200){ + Feng.success("保存成功") + } + }); + ajax.set("id",id); + ajax.set("img",img); + ajax.start(); +} + +/** + * 提交添加 + */ +TCarInfoDlg.addSubmit = function() { + + this.clearData(); + this.collectData(); + if(!this.validate()){ + return ; + } + + var OBJradio= $("input[name='type']:checked").val(); + if(OBJradio==2){ + let account = $("#account").val() + if(account==''){ + Feng.info("请选择所属运营商") + return; + } + } + let pCode = $("#pCode").val() + let cCode = $("#cCode").val() + + + let name = $("#name").val() + let phone = $("#phone").val() + + if(pCode=='' && $("#role")=="1"){ + Feng.info("请选择省") + return; + } + if(cCode=='' && $("#role")=="1"){ + Feng.info("请选择市") + return; + } + if(name==''){ + Feng.info("门店名称不能为空") + return; + } + if(phone==''){ + Feng.info("联系电话不能为空") + return; + } + + let address = $("#address").val() + + if(address==''){ + Feng.info("请输入地址") + return; + } + let time = $("#time").val() + + if(time==''){ + Feng.info("请填写营业时间") + return; + } + let intro = $("#intro").val() + + if(intro==''){ + Feng.info("请填写门店介绍") + return; + } + let userName = $("#userName").val() + + if(userName==''){ + Feng.info("请输入店长姓名") + return; + } + let userPhone = $("#userPhone").val() + + if(userPhone==''){ + Feng.info("请输入店长手机号") + return; + } + let img = $("#img").val() + + if(img==''){ + Feng.info("请上传门店封面") + return; + } + 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/add", function(data){ + if(data=="5001"){ + Feng.error("该店长手机号已经存在!") + }else + if(data.code == 200){ + if(language==1){ + Feng.success("添加成功!"); + }else if(language==2){ + Feng.success("Successfully added!"); + }else { + Feng.success("Sangat berhasil ditambah!"); + } + window.parent.TCompetition.table.refresh(); + TCarInfoDlg.close(); + }else{ + Feng.error(data.msg); + } + + },function(data){ + Feng.error("添加失败!" + data.responseJSON.message + "!"); + }); + ajax.set(this.tCarInfoData); + ajax.set("provinceCode",pCode); + ajax.set("cityCode",cCode); + ajax.set("name",name); + ajax.set("phone",phone); + ajax.set("cityManagerId",null); + ajax.set("address",address); + ajax.set("time",time); + ajax.set("introduce",intro); + ajax.set("userName",userName); + ajax.set("userPhone",userPhone); + ajax.set("coverDrawing",img); + ajax.set("realPicture",imgOne); + ajax.set("lat",$("#latitude").val()); + ajax.set("lon",$("#longitude").val()); + ajax.set("ids",$("#ids").val()); + ajax.set("type",OBJradio); + ajax.set("yyId",$("#account").val()); + ajax.start(); +} +var map = new AMap.Map('container', { + resizeEnable: true, // 允许缩放 + zoom: 15 // 设置地图的缩放级别,0 - 20 +}); +var marker; +//搜索地图 +TCarInfoDlg.searchByStationName = function(e,type){ + var keyword="成都"; + if(type==2){ + keyword = $(e).parent().prev().find("input").val(); + }else { + if($("#address").val()!=null && $("#address").val()!=''){ + keyword = $("#address").val(); + } + } + type=1; + AMap.plugin('AMap.Geocoder', function() { + var geocoder = new AMap.Geocoder(); + console.log(geocoder) + console.log(keyword) + geocoder.getLocation(keyword, function(status, result) { + console.log(status,result) + if (status === 'complete' && result.info === 'OK') { + // 经纬度 + var lng = result.geocodes[0].location.lng; + var lat = result.geocodes[0].location.lat; + $("#longitude").val(lng) + $("#latitude").val(lat) + // 地图实例 + map = new AMap.Map('container', { + resizeEnable: true, // 允许缩放 + center: [lng, lat], // 设置地图的中心点 + zoom: 15 // 设置地图的缩放级别,0 - 20 + }); + //地图画点 + //addMarker(lng,lat); + if(type==1 || type==2){ + showInfoClick(); + if(lng == null){ + }else{ + addMarker(lng,lat); + } + }else{ + addMarker(lng,lat); + } + } else { + console.log('定位失败!'); + } + }); + }); + +} +//地图点击事件 +function showInfoClick(){ + map.on('click', function (e) { + addMarker(e.lnglat.getLng(),e.lnglat.getLat()); + }); +} +//删除点 +function removeMarkers(){ + if(marker!=null){ + map.remove(marker); + } + +} +// 实例化点标记 +function addMarker(lon,lat) { + removeMarkers(); + marker = new AMap.Marker({ + map: map, + position: new AMap.LngLat(lon, lat), // 经纬度 + }); + //加经纬度 + $("#lon").val(lon); + $("#lat").val(lat); + var lnglatXY = [lon, lat];//地图上所标点的坐标 + AMap.service('AMap.Geocoder',function() {//回调函数 + geocoder = new AMap.Geocoder({ + }); + geocoder.getAddress(lnglatXY, function (status, result) { + if (status === 'complete' && result.info === 'OK') { + //获得了有效的地址信息: + //即,result.regeocode.formattedAddress + // alert(result.regeocode.formattedAddress) + //document.getElementById("address").value=result.regeocode.formattedAddress;//将获取到的地址信息赋值给文本框,保存进数据库 + + var address = result.regeocode.formattedAddress; + var city = result.regeocode.addressComponent.city; + var province = result.regeocode.addressComponent.province; + var district = result.regeocode.addressComponent.district; + $("#address").val(address); + } else { + //获取地址失败 + } + }); + }) +} +/** + * 提交修改 + */ +TCarInfoDlg.editSubmit = function() { + + this.clearData(); + this.collectData(); + if(!this.validate()){ + return ; + } + + let pCode = $("#pCode").val() + let cCode = $("#cCode").val() + let account = $("#account").val() + var OBJradio= $("input[name='type']:checked").val(); + if(OBJradio==2){ + let account = $("#account").val() + if(account==''){ + Feng.info("请选择所属运营商") + return; + } + } + + let name = $("#name").val() + let phone = $("#phone").val() + + if(pCode=='' && $("#role")=="1"){ + Feng.info("请选择省") + return; + } + if(cCode=='' && $("#role")=="1"){ + Feng.info("请选择市") + return; + } + if(name==''){ + Feng.info("门店名称不能为空") + return; + } + if(phone==''){ + Feng.info("联系电话不能为空") + return; + } + + let address = $("#address").val() + + if(address==''){ + Feng.info("请输入地址") + return; + } + let time = $("#time").val() + + if(time==''){ + Feng.info("请填写营业时间") + return; + } + let intro = $("#intro").val() + + if(intro==''){ + Feng.info("请填写门店介绍") + return; + } + let userName = $("#userName").val() + + if(userName==''){ + Feng.info("请输入店长姓名") + return; + } + let userPhone = $("#userPhone").val() + + if(userPhone==''){ + Feng.info("请输入店长手机号") + return; + } + let img = $("#img").val() + + + let imgOne = $("#imgOne").val() + + if(imgOne==''){ + Feng.info("请上传实景图") + return; + } + //提交信息 + var ajax = new $ax(Feng.ctxPath + "/tShop/update", function(data){ + if(data=="5001"){ + Feng.error("该店长手机号已经存在!") + }else + if(data.code == 200){ + if(language==1){ + Feng.success("修改成功!"); + }else if(language==2){ + Feng.success("Modify successfully!"); + }else { + Feng.success("Mengubah dengan sukses!"); + } + window.parent.TCompetition.table.refresh(); + TCarInfoDlg.close(); + }else{ + Feng.error(data.msg); + } + },function(data){ + Feng.error("修改失败!" + data.responseJSON.message + "!"); + }); + ajax.set("provinceCode",pCode); + ajax.set("cityCode",cCode); + ajax.set("name",name); + ajax.set("phone",phone); + ajax.set("cityManagerId",account); + ajax.set("address",address); + ajax.set("time",time); + ajax.set("introduce",intro); + ajax.set("userName",userName); + ajax.set("userPhone",userPhone); + ajax.set("coverDrawing",img); + ajax.set("realPicture",imgOne); + ajax.set("id",$("#id").val()); + ajax.start(); +} + +$(function() { + Feng.initValidator("carInfoForm", TCarInfoDlg.validateFields); + // 初始化图片上传 + var carPhoto = new $WebUpload("c1"); + 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(); + + //地图搜索 + TCarInfoDlg.searchByStationName(); +}); + +/** + * 选择分公司后执行 + */ +TCarInfoDlg.oneChange = function (e) { + var oneId=$(e).val(); + var ajax = new $ax(Feng.ctxPath + "/tCity/onChange", function(data){ + if(data!=null){ + if(language==1){ + var content='<option value="">选择市</option>'; + }else if(language==2){ + var content='<option value="">Choose your franchisee</option>'; + }else { + var content='<option value="">Pilih franchisee Anda</option>'; + } + $.each(data, function(k,v) { + content += "<option value='"+v.code+"'>"+v.name+"</option>"; + }); + $("#cCode").empty().append(content); + } + }); + ajax.set("oneId",oneId); + ajax.start(); +} + +/** + * 类型改变执行 + * @param e + */ +TCarInfoDlg.companyTypeClick = function (e) { + if (1 == e){ + $(".companyDiv").hide(); + } else if (2 == e){ + $(".companyDiv").show(); + } +} + +/** + * 车辆品牌改变时执行 + */ +TCarInfoDlg.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(); +} + +/** + * 专车服务被点击 + */ +TCarInfoDlg.zcServerClick = function () { + var serverBox1 = $('#serverBox1').prop('checked'); + if (serverBox1){ + $("#zcModelDiv").show(); + } else { + $("#zcModelDiv").hide(); + } +} + +/** + * 跨城服务被点击 + */ +TCarInfoDlg.kcServerClick = function () { + var serverBox3 = $('#serverBox3').prop('checked'); + if (serverBox3){ + $("#kcModelDiv").show(); + } else { + $("#kcModelDiv").hide(); + } +} 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 0b2e109..74aef4f 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 @@ -354,7 +354,10 @@ insuranceEndTime:"", name:"", insuranceImg:"", - managementPlan:"" + managementPlan:"", + operatorId:"", + typeName:"", + nextName:"" }; data.province = $("#pCode").val() data.city = $("#cCode").val() @@ -369,18 +372,48 @@ data.name = $("#name").val() data.insuranceImg = $("#img").val() data.managementPlan = $('#courseVideo').val() + data.typeName = $('#siteTypeOne').val() var sh =data.appointmentStartTime.split(':')[0]; var sm =data.appointmentStartTime.split(':')[1]; var eh =data.appointmentEndTime.split(':')[0]; var em =data.appointmentEndTime.split(':')[1]; - if($("#pCode").val()==''){ - Feng.info("请选择省") - return; + + 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 } - if($("#cCode").val()==''){ - Feng.info("请选择市") - return; + data.operatorId= SelectValue; + + + + let num24 = $('input[name="name1"]'); + var nextName=""; + for (let i = 0; i < num24.length; i++) { + if(console.log($(num24[i]).val()=='')){ + Feng.info("请填写场地名称") + return; + } + if(i==num24.length-1){ + nextName += $(num24[i]).val() + }else { + nextName += $(num24[i]).val()+"," + } } + console.log(nextName) + data.nextName= nextName; + + + if($("#account").val()=='' ){ Feng.info("请选择账号") return; @@ -390,7 +423,7 @@ return; } if($("#siteTypeId").val()=='' ){ - Feng.info("请选择场地类型") + Feng.info("请选择场地分类") return; } if($("#name").val()==''){ @@ -431,83 +464,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 () { @@ -539,6 +572,8 @@ } $(function () { + //初始化编辑器 + TSite.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/tbBanner/tbBanner.js b/cloud-server-management/src/main/webapp/static/modular/system/tbBanner/tbBanner.js index 3776702..c9d576d 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/tbBanner/tbBanner.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/tbBanner/tbBanner.js @@ -60,7 +60,7 @@ return '<a href="javascript:void(0);" style="color: blue" onclick="TbBanner.updateState1(' + row.id +')">正常</a>' } if(value==2){ - return '<a href="javascript:void(0);" style="color: red" onclick="TbBanner.updateState2(' + row.id +')">隐藏</a>' + return '<a href="javascript:void(0);" style="color: red" onclick="TbBanner.updateState2(' + row.id +')">隐藏</a>' } }else if(language==2){ if(value==1){ diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java index 9d8a468..32bb027 100644 --- a/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java +++ b/cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java @@ -32,10 +32,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.PrintWriter; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; /** * @author zhibing.pu @@ -304,6 +301,22 @@ return ResultUtil.runErr(); } } + @ResponseBody + @PostMapping("/api/site/queryMySiteById") + @ApiOperation(value = "获取我的预约场地列表详情2.0", tags = {"用户—预约场地"}) + @ApiImplicitParams({ + @ApiImplicitParam(value = "id", name = "id", dataType = "int", required = true), + @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), + }) + public ResultUtil<SiteBooking> queryMySiteById(Integer id){ + try { + SiteBooking byId = siteBookingService.getById(id); + return ResultUtil.success(byId); + }catch (Exception e){ + e.printStackTrace(); + return ResultUtil.runErr(); + } + } @ResponseBody diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/TGameController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/TGameController.java new file mode 100644 index 0000000..1fba71a --- /dev/null +++ b/cloud-server-other/src/main/java/com/dsh/other/controller/TGameController.java @@ -0,0 +1,68 @@ +package com.dsh.other.controller; + + +import cn.hutool.http.HttpRequest; +import cn.hutool.http.HttpResponse; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.dsh.other.entity.Phone; +import com.dsh.other.entity.Store; +import com.dsh.other.entity.StoreEvaluation; +import com.dsh.other.service.PhoneService; +import com.dsh.other.service.StoreService; +import com.dsh.other.service.TGameConfigService; +import com.dsh.other.service.TGameService; +import com.dsh.other.util.ResultUtil; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + + +/** + * 客服电话 控制器 + */ + +@Controller +@RequestMapping("") +public class TGameController { + + @Resource + private TGameService gameService; + @Resource + private TGameConfigService gameConfigService; + + @Resource + private StoreService storeService; + + @ResponseBody + @PostMapping("/api/game/getSpaceId") + @ApiOperation(value = "智慧球场-获取场地id", tags = {"APP-智慧球场"}) + @ApiImplicitParams({ + @ApiImplicitParam(value = "场地名称", name = "name", required = true, dataType = "String"), + }) + public ResultUtil getSpaceId(String name){ + try { + HttpRequest httpRequest = HttpRequest.get("https://try.daowepark.com/v7/user_api/general/space_list?page=1&page_num=100"); + HttpResponse execute = httpRequest.execute(); + String body = execute.body(); + return ResultUtil.success(); + }catch (Exception e){ + return ResultUtil.runErr(); + } + } + + public static void main(String[] args) { + HttpRequest httpRequest = HttpRequest.get("https://try.daowepark.com/v7/user_api/general/space_list?page=1&page_num=100"); + HttpResponse execute = httpRequest.execute(); + String body = execute.body(); + System.out.println(body); + } +} 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 c85c10f..ca87875 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 @@ -112,11 +112,11 @@ private String imgs; @TableField("introduce") private String introduce; - @TableField("是否半场 1是 2否") + @TableField("ishalf") private Integer ishalf; - @TableField("场地名称 多个逗号分割") + @TableField("nextName") private String nextName; - @TableField("半场名称 多个逗号分割") + @TableField("halfName") private String halfName; } diff --git a/cloud-server-other/src/main/java/com/dsh/other/entity/SiteBooking.java b/cloud-server-other/src/main/java/com/dsh/other/entity/SiteBooking.java index 91a06f9..158c9f1 100644 --- a/cloud-server-other/src/main/java/com/dsh/other/entity/SiteBooking.java +++ b/cloud-server-other/src/main/java/com/dsh/other/entity/SiteBooking.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @@ -69,21 +70,25 @@ * 预约开始时间 */ @TableField("startTime") + @ApiModelProperty("预约开始时间") private Date startTime; /** * 预约结束 */ @TableField("endTime") + @ApiModelProperty("预约结束时间") private Date endTime; /** * 预约人 */ @TableField("booker") + @ApiModelProperty("预约人") private String booker; /** * 联系方式 */ @TableField("phone") + @ApiModelProperty("联系方式") private String phone; /** * 支付方式(1=微信,2=支付宝,3=玩湃比,4=手动支付) @@ -94,11 +99,13 @@ * 支付时间 */ @TableField("payTime") + @ApiModelProperty("支付时间") private Date payTime; /** * 支付金额 */ @TableField("payMoney") + @ApiModelProperty("支付金额") private Double payMoney; /** * 优惠券id @@ -109,6 +116,7 @@ * 状态(0=待支付,1=待核销,2=已到店,3=已完成,4=已过期,5=已取消) */ @TableField("status") + @ApiModelProperty("0=待支付,1=待核销,2=已到店,3=已完成,4=已过期,5=已取消") private Integer status; /** * 第三方支付流水号 @@ -156,10 +164,13 @@ @TableField("insertTime") private Date insertTime; @TableField("nextName") + @ApiModelProperty("场地名称") private String nextName; @TableField("isHalf") + @ApiModelProperty("半场 是否半场 1是 2否") private Integer isHalf; @TableField("halfName") + @ApiModelProperty("半场名称 ") private String halfName; @TableField("goType") private Integer goType; diff --git a/cloud-server-other/src/main/java/com/dsh/other/entity/TGame.java b/cloud-server-other/src/main/java/com/dsh/other/entity/TGame.java new file mode 100644 index 0000000..4e9e77d --- /dev/null +++ b/cloud-server-other/src/main/java/com/dsh/other/entity/TGame.java @@ -0,0 +1,88 @@ +package com.dsh.other.entity; + +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-18 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("t_game") +public class TGame extends Model<TGame> { + + private static final long serialVersionUID=1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + /** + * 运营商id 0为平台 + */ + @TableField("operationId") + private Integer operationId; + + /** + * 省 + */ + private String province; + + /** + * 省code + */ + @TableField("provinceCode") + private String provinceCode; + + /** + * 市 + */ + private String city; + + /** + * 市code + */ + @TableField("cityCode") + private String cityCode; + + /** + * 门店id + */ + @TableField("storeId") + private Integer storeId; + + /** + * 场地id + */ + @TableField("siteId") + private Integer siteId; + + /** + * 蓝色方id + */ + private String blue; + + /** + * 红方id + */ + private String red; + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/cloud-server-other/src/main/java/com/dsh/other/entity/TGameConfig.java b/cloud-server-other/src/main/java/com/dsh/other/entity/TGameConfig.java new file mode 100644 index 0000000..a25f44a --- /dev/null +++ b/cloud-server-other/src/main/java/com/dsh/other/entity/TGameConfig.java @@ -0,0 +1,71 @@ +package com.dsh.other.entity; + +import java.math.BigDecimal; +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-18 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("t_game_config") +public class TGameConfig extends Model<TGameConfig> { + + private static final long serialVersionUID=1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + /** + * 名称 + */ + private String name; + + /** + * 图 + */ + private String img; + + /** + * 玩湃币 + */ + @TableField("playCoin") + private BigDecimal playCoin; + + /** + * 现金 + */ + private BigDecimal cash; + + /** + * 积分 + */ + private BigDecimal integral; + + /** + * 游戏id + */ + @TableField("gameId") + private Integer gameId; + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/cloud-server-other/src/main/java/com/dsh/other/mapper/TGameConfigMapper.java b/cloud-server-other/src/main/java/com/dsh/other/mapper/TGameConfigMapper.java new file mode 100644 index 0000000..fec77ec --- /dev/null +++ b/cloud-server-other/src/main/java/com/dsh/other/mapper/TGameConfigMapper.java @@ -0,0 +1,17 @@ +package com.dsh.other.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsh.other.entity.TGameConfig; + +/** + * <p> + * 游戏配置 Mapper 接口 + * </p> + * + * @author administrator + * @since 2023-09-18 + */ +public interface TGameConfigMapper extends BaseMapper<TGameConfig> { + +} diff --git a/cloud-server-other/src/main/java/com/dsh/other/mapper/TGameMapper.java b/cloud-server-other/src/main/java/com/dsh/other/mapper/TGameMapper.java new file mode 100644 index 0000000..a5a826e --- /dev/null +++ b/cloud-server-other/src/main/java/com/dsh/other/mapper/TGameMapper.java @@ -0,0 +1,16 @@ +package com.dsh.other.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dsh.other.entity.TGame; + +/** + * <p> + * 智慧球场 Mapper 接口 + * </p> + * + * @author administrator + * @since 2023-09-18 + */ +public interface TGameMapper extends BaseMapper<TGame> { + +} diff --git a/cloud-server-other/src/main/java/com/dsh/other/service/TGameConfigService.java b/cloud-server-other/src/main/java/com/dsh/other/service/TGameConfigService.java new file mode 100644 index 0000000..a46cc23 --- /dev/null +++ b/cloud-server-other/src/main/java/com/dsh/other/service/TGameConfigService.java @@ -0,0 +1,17 @@ +package com.dsh.other.service; + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.dsh.other.entity.TGameConfig; + +/** + * <p> + * 游戏配置 服务类 + * </p> + * + * @author administrator + * @since 2023-09-18 + */ +public interface TGameConfigService extends IService<TGameConfig> { + +} diff --git a/cloud-server-other/src/main/java/com/dsh/other/service/TGameService.java b/cloud-server-other/src/main/java/com/dsh/other/service/TGameService.java new file mode 100644 index 0000000..5918b0e --- /dev/null +++ b/cloud-server-other/src/main/java/com/dsh/other/service/TGameService.java @@ -0,0 +1,17 @@ +package com.dsh.other.service; + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.dsh.other.entity.TGame; + +/** + * <p> + * 智慧球场 服务类 + * </p> + * + * @author administrator + * @since 2023-09-18 + */ +public interface TGameService extends IService<TGame> { + +} 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 e1de1aa..1c5a8eb 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 @@ -117,7 +117,7 @@ ArrayList<String> halfName = new ArrayList<>(); String nextName1 = site.getNextName(); String halfName1 = site.getHalfName(); - + querySiteInfoVo.setIshalf(site.getIshalf()); String[] split = nextName1.split(","); for (String s : split) { nextName.add(s); @@ -467,7 +467,10 @@ SiteBooking siteBooking = siteBookingService.getById(queryMySiteVo.getId()); Site site = this.getById(siteBooking.getSiteId()); String[] split = siteBooking.getTimes().split(";"); - queryMySiteVo.setPlayPaiCoin(site.getPlayPaiCoin() * split.length); + if(site!=null){ + + queryMySiteVo.setPlayPaiCoin(site.getPlayPaiCoin() * split.length); + } } return queryMySiteVos; } diff --git a/cloud-server-other/src/main/java/com/dsh/other/service/impl/TGameConfigServiceImpl.java b/cloud-server-other/src/main/java/com/dsh/other/service/impl/TGameConfigServiceImpl.java new file mode 100644 index 0000000..38cd9ca --- /dev/null +++ b/cloud-server-other/src/main/java/com/dsh/other/service/impl/TGameConfigServiceImpl.java @@ -0,0 +1,20 @@ +package com.dsh.other.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsh.other.entity.TGameConfig; +import com.dsh.other.mapper.TGameConfigMapper; +import com.dsh.other.service.TGameConfigService; +import org.springframework.stereotype.Service; + +/** + * <p> + * 游戏配置 服务实现类 + * </p> + * + * @author administrator + * @since 2023-09-18 + */ +@Service +public class TGameConfigServiceImpl extends ServiceImpl<TGameConfigMapper, TGameConfig> implements TGameConfigService { + +} diff --git a/cloud-server-other/src/main/java/com/dsh/other/service/impl/TGameServiceImpl.java b/cloud-server-other/src/main/java/com/dsh/other/service/impl/TGameServiceImpl.java new file mode 100644 index 0000000..b6d0958 --- /dev/null +++ b/cloud-server-other/src/main/java/com/dsh/other/service/impl/TGameServiceImpl.java @@ -0,0 +1,20 @@ +package com.dsh.other.service.impl; + +import com.dsh.other.entity.TGame; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsh.other.mapper.TGameMapper; +import com.dsh.other.service.TGameService; +import org.springframework.stereotype.Service; + +/** + * <p> + * 智慧球场 服务实现类 + * </p> + * + * @author administrator + * @since 2023-09-18 + */ +@Service +public class TGameServiceImpl extends ServiceImpl<TGameMapper, TGame> implements TGameService { + +} diff --git a/cloud-server-other/src/main/resources/mapper/TGameConfigMapper.xml b/cloud-server-other/src/main/resources/mapper/TGameConfigMapper.xml new file mode 100644 index 0000000..2cdb2f3 --- /dev/null +++ b/cloud-server-other/src/main/resources/mapper/TGameConfigMapper.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.TGameConfigMapper"> + + +</mapper> diff --git a/cloud-server-other/src/main/resources/mapper/TGameMapper.xml b/cloud-server-other/src/main/resources/mapper/TGameMapper.xml new file mode 100644 index 0000000..47e73cb --- /dev/null +++ b/cloud-server-other/src/main/resources/mapper/TGameMapper.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.TGameMapper"> + + +</mapper> -- Gitblit v1.7.1