| | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.dsh.account.entity.CoachType; |
| | | import com.dsh.account.entity.RechargeRecords; |
| | | import com.dsh.account.entity.TAppUser; |
| | | import com.dsh.account.entity.VipPayment; |
| | | import com.dsh.account.model.IncomeQuery; |
| | | import com.dsh.account.model.query.RechargeRecordsQuery; |
| | | import com.dsh.account.model.query.coachQuery.CoachQuery; |
| | | import com.dsh.account.model.vo.CoachSerchVO; |
| | | import com.dsh.account.model.vo.RechargeRecordsVO; |
| | | import com.dsh.account.service.CoachService; |
| | | import com.dsh.account.service.CoachTypeService; |
| | | import com.dsh.account.service.IVipPaymentService; |
| | | import com.dsh.account.service.RechargeRecordsService; |
| | | import com.dsh.account.service.*; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | |
| | | private RechargeRecordsService rechargeRecordsService; |
| | | @Autowired |
| | | private IVipPaymentService vipPaymentService; |
| | | |
| | | @Autowired |
| | | private TAppUserService appUserService; |
| | | |
| | | /** |
| | | * 充值记录列表数据 |
| | |
| | | return rechargeRecordsService.rechargeList(query); |
| | | } |
| | | /** |
| | | * 数据统计-充值记录列表数据 |
| | | */ |
| | | @ResponseBody |
| | | @RequestMapping("/finance/rechargeList1") |
| | | public List<RechargeRecords> rechargeList1(@RequestBody RechargeRecordsQuery query){ |
| | | List<RechargeRecords> payStatus = rechargeRecordsService.list(new QueryWrapper<RechargeRecords>().eq("payStatus", 2)); |
| | | for (RechargeRecords list : payStatus) { |
| | | TAppUser byId = appUserService.getById(list.getAppUserId()); |
| | | } |
| | | return payStatus; |
| | | } |
| | | /** |
| | | * 加入会员列表数据 |
| | | */ |
| | | @ResponseBody |
| | |
| | | public interface RechargeRecordsMapper extends BaseMapper<RechargeRecords> { |
| | | |
| | | List<RechargeRecordsVO> rechargeList(@Param("query") RechargeRecordsQuery query,@Param("sTime")String sTime,@Param("eTime")String eTime); |
| | | List<VipPayment> listAll(@Param("query") IncomeQuery query, @Param("sTime")String sTime, @Param("eTime")String eTime, @Param("amount") BigDecimal amount); |
| | | List<VipPayment> listAll(@Param("query") IncomeQuery query, @Param("sTime")String sTime, @Param("eTime")String eTime, @Param("amount") BigDecimal amount,@Param("insertType")Integer insertType); |
| | | |
| | | } |
| | |
| | | private BigDecimal amount; |
| | | // 用户ids |
| | | private List<Integer> userIds; |
| | | |
| | | private Integer insertType; |
| | | } |
| | |
| | | private Integer type; |
| | | private List<Integer> userIds; |
| | | private BigDecimal amount; |
| | | private Integer insertType; |
| | | } |
| | |
| | | STime = query.getTime().split(" - ")[0] + " 00:00:00"; |
| | | ETime = query.getTime().split(" - ")[1] + " 23:59:59"; |
| | | } |
| | | return rechargeRecordsMapper.listAll(query,STime,ETime,query.getAmount()); |
| | | return rechargeRecordsMapper.listAll(query,STime,ETime,query.getAmount(),query.getInsertType()); |
| | | } |
| | | public static <T> List<T> pageList(List<T> list, int pageNum, int pageSize) { |
| | | //计算总页数 |
| | |
| | | |
| | | <select id="rechargeList" resultType="com.dsh.account.model.vo.RechargeRecordsVO"> |
| | | select t1.* from t_recharge_records t1 |
| | | left join t_app_user t2 on t1.appUserId = t2.id |
| | | <where> |
| | | <if test="query.amount!=null and query.amount!= ''"> |
| | | and t1.amount <= #{query.amount} |
| | | </if> |
| | | <if test="query.insertType!=null and query.insertType!= ''"> |
| | | and t2.insertType = #{query.insertType} |
| | | </if> |
| | | <if test="query.name!=null and query.name!= ''"> |
| | | AND t1.name LIKE concat('%',#{query.name},'%') |
| | |
| | | </select> |
| | | <select id="listAll" resultType="com.dsh.account.entity.VipPayment"> |
| | | select t1.* from t_vip_payment t1 |
| | | left join t_app_user t2 on t1.appUserId = t2.id |
| | | <where> |
| | | <if test="amount!=null and amount!= ''"> |
| | | and t1.amount <= #{amount} |
| | | </if> |
| | | <if test="query.insertType!=null and query.insertType!= ''"> |
| | | and t2.insertType = #{query.insertType} |
| | | </if> |
| | | <if test="query.userIds != null and query.userIds.size()>0"> |
| | | AND t1.appUserId IN |
| | | <foreach collection="query.userIds" separator="," item="id" open="(" close=")"> |
| | |
| | | <if test="sTime !=null and sTime!= '' and eTime !=null and eTime!= ''"> |
| | | and t1.insertTime between #{sTime} and #{eTime} |
| | | </if> |
| | | and t1.payStatus = 2 |
| | | </where> |
| | | </select> |
| | | </mapper> |
| | |
| | | private BigDecimal amount; |
| | | // 用户ids |
| | | private List<Integer> userIds; |
| | | |
| | | private Integer insertType; |
| | | } |
| | |
| | | TCoursePackage byId1 = coursePackageService.getById(byId.getCoursePackageId()); |
| | | return byId1; |
| | | } |
| | | @ResponseBody |
| | | @PostMapping("/course/queryByDiscountId1") |
| | | public TCoursePackage queryByDiscountId1(@RequestBody Integer id){ |
| | | TCoursePackageDiscount byId = discountService.getById(id); |
| | | TCoursePackage byId1 = coursePackageService.getById(byId.getCoursePackageId()); |
| | | return byId1; |
| | | } |
| | | |
| | | |
| | | @PostMapping("/course/queryDiscountById") |
| | |
| | | |
| | | List<RegisterOrderVO> res = packagePaymentService.listAllRegister(query); |
| | | List<RegisterOrderVO> result = new ArrayList<>(); |
| | | for (RegisterOrderVO re : res) { |
| | | if(re.getSalesName()==null){ |
| | | Iterator<RegisterOrderVO> iterator = res.iterator(); |
| | | while (iterator.hasNext()) { |
| | | RegisterOrderVO re = iterator.next(); |
| | | |
| | | if (re.getSalesName() == null) { |
| | | re.setSalesName("无"); |
| | | } |
| | | if(re.getPayType()!=null){ |
| | | if (re.getPayType() == 3){ |
| | | re.setPayMoneyAndType(re.getPlayPaiCoin()+"玩湃币"); |
| | | }else{ |
| | | re.setPayMoneyAndType("¥"+re.getMoney()); |
| | | if (re.getPayType() != null) { |
| | | if (re.getPayType() == 3) { |
| | | re.setPayMoneyAndType(re.getPlayPaiCoin() + "玩湃币"); |
| | | } else { |
| | | re.setPayMoneyAndType("¥" + re.getMoney()); |
| | | } |
| | | } |
| | | Store store = storeClient.queryStoreById(re.getStoreId()); |
| | |
| | | re.setPayUser(appUser.getName()); |
| | | re.setPhone(appUser.getPhone()); |
| | | re.setStoreName(store.getName()); |
| | | // 在这里添加条件来删除不满足要求的元素 |
| | | if (appUser.getInsertType() != query.getInsertType()) { |
| | | iterator.remove(); // 使用迭代器的 remove 方法删除元素 |
| | | } |
| | | } |
| | | return res; |
| | | } |
| | |
| | | @TableField("insertTime") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | private Date insertTime; |
| | | |
| | | /** |
| | | * 添加人类型 1 = 平台添加 2 = 运营商添加 3 = 门店添加 |
| | | */ |
| | | @TableField("insertType") |
| | | private Integer insertType; |
| | | /** |
| | | * 添加人ID |
| | | */ |
| | | @TableField("headImg") |
| | | private Integer addUserId; |
| | | |
| | | } |
| | |
| | | private Integer orderSource; |
| | | // 订单金额 |
| | | private BigDecimal amount; |
| | | private Integer insertType; |
| | | } |
| | |
| | | package com.dsh.course.feignClient.account; |
| | | |
| | | import com.dsh.course.feignClient.account.model.CoachType; |
| | | import com.dsh.course.feignClient.account.model.RechargeRecords; |
| | | import com.dsh.guns.modular.system.model.RechargeRecordsQuery; |
| | | import com.dsh.guns.modular.system.model.RechargeRecordsVO; |
| | | import org.springframework.cloud.openfeign.FeignClient; |
| | |
| | | */ |
| | | @RequestMapping("/finance/rechargeList") |
| | | List<RechargeRecordsVO> rechargeList(@RequestBody RechargeRecordsQuery query); |
| | | /** |
| | | * 数据统计-充值记录列表数据 |
| | | */ |
| | | @RequestMapping("/finance/rechargeList1") |
| | | List<RechargeRecords> rechargeList1(@RequestBody RechargeRecordsQuery query); |
| | | } |
New file |
| | |
| | | package com.dsh.course.feignClient.account.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.baomidou.mybatisplus.extension.activerecord.Model; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * <p> |
| | | * 充值记录 |
| | | * </p> |
| | | * |
| | | * @author jqs |
| | | * @since 2023-07-07 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_recharge_records") |
| | | public class RechargeRecords extends Model<RechargeRecords> { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.NONE) |
| | | private Long id; |
| | | /** |
| | | * 流水号 |
| | | */ |
| | | @TableField("code") |
| | | private String code; |
| | | /** |
| | | * 用户id |
| | | */ |
| | | @TableField("appUserId") |
| | | private Integer appUserId; |
| | | /** |
| | | * 充值金额 |
| | | */ |
| | | @TableField("amount") |
| | | private BigDecimal amount; |
| | | /** |
| | | * 玩湃币 |
| | | */ |
| | | @TableField("playPaiCoins") |
| | | private Integer playPaiCoins; |
| | | /** |
| | | * 支付状态(1=待支付,2=已支付) |
| | | */ |
| | | @TableField("payStatus") |
| | | private Integer payStatus; |
| | | /** |
| | | * 支付时间 |
| | | */ |
| | | @TableField("payTime") |
| | | private Date payTime; |
| | | /** |
| | | * 第三方支付流水号 |
| | | */ |
| | | @TableField("orderNumber") |
| | | private String orderNumber; |
| | | /** |
| | | * 状态(1=正常,2=冻结,3=删除) |
| | | */ |
| | | @TableField("state") |
| | | private Integer state; |
| | | /** |
| | | * 添加时间 |
| | | */ |
| | | @TableField("insertTime") |
| | | private Date insertTime; |
| | | |
| | | |
| | | @Override |
| | | protected Serializable pkVal() { |
| | | return this.id; |
| | | } |
| | | |
| | | } |
| | |
| | | package com.dsh.course.feignClient.competition.model; |
| | | |
| | | import io.swagger.models.auth.In; |
| | | import lombok.Data; |
| | | |
| | | import java.math.BigDecimal; |
| | |
| | | private BigDecimal amount; |
| | | // 用户ids |
| | | private List<Integer> userIds; |
| | | |
| | | // 筛选是平台 还是运营商 还是门店 |
| | | private Integer type; |
| | | private Integer insertType; |
| | | } |
| | |
| | | import com.dsh.course.feignClient.course.model.*; |
| | | import com.dsh.course.model.AuditDiscount; |
| | | import com.dsh.guns.modular.system.model.*; |
| | | import com.dsh.guns.modular.system.model.dto.CoursePackage; |
| | | import org.springframework.cloud.openfeign.FeignClient; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | |
| | | |
| | | @PostMapping("/course/queryByDiscountId") |
| | | TCoursePackage queryByDiscountId(Integer id); |
| | | @PostMapping("/course/queryByDiscountId1") |
| | | CoursePackage queryByDiscountId1(Integer id); |
| | | |
| | | |
| | | @PostMapping("/course/queryDiscountById") |
| | |
| | | import cn.hutool.core.date.DateUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.dsh.course.feignClient.account.*; |
| | | import com.dsh.course.feignClient.account.model.CityManager; |
| | | import com.dsh.course.feignClient.account.model.QueryDataFee; |
| | | import com.dsh.course.feignClient.account.model.TAppUser; |
| | | import com.dsh.course.feignClient.account.model.VipPayment; |
| | | import com.dsh.course.feignClient.account.model.*; |
| | | import com.dsh.course.feignClient.activity.PointMercharsClient; |
| | | import com.dsh.course.feignClient.competition.CompetitionClient; |
| | | import com.dsh.course.feignClient.competition.model.Competition; |
| | |
| | | */ |
| | | @RequestMapping(value = "/getIncomeData") |
| | | @ResponseBody |
| | | public Object getIncomeData(Integer type) { |
| | | public Object getIncomeData(Integer operatorId,Integer storeId) { |
| | | // 充值记录查询query |
| | | RechargeRecordsQuery rechargeRecordsQuery = new RechargeRecordsQuery(); |
| | | // 报名课程查询query |
| | |
| | | // 场地预约记录查询query |
| | | SiteBookingQuery siteBookingQuery = new SiteBookingQuery(); |
| | | Integer roleType = UserExt.getUser().getObjectType(); |
| | | rechargeRecordsQuery.setInsertType(roleType); |
| | | query.setInsertType(roleType); |
| | | competitionQuery.setInsertType(roleType); |
| | | incomeQuery.setInsertType(roleType); |
| | | incomeQuery.setInsertType(roleType); |
| | | |
| | | IncomeVO incomeVO = new IncomeVO(); |
| | | List<IncomeVO> incomeVOS = new ArrayList<>(); |
| | | // 会员支付记录 |
| | |
| | | } |
| | | // 充值记录 |
| | | List<RechargeRecordsVO> rechargeRecordsVOS = financeClient.rechargeList(rechargeRecordsQuery); |
| | | List<RechargeRecords> rechargeRecords = financeClient.rechargeList1(rechargeRecordsQuery); |
| | | for (RechargeRecordsVO rechargeRecordsVO : rechargeRecordsVOS) { |
| | | IncomeVO temp = new IncomeVO(); |
| | | temp.setInsertTime(rechargeRecordsVO.getInsertTime()); |
| | |
| | | // 累加到总金额 |
| | | totalAmount1 = totalAmount1.add(total); |
| | | |
| | | Date insertTime = incomeVO1.getInsertTime(); // 假设有一个方法用于获取 insertTime |
| | | BigDecimal amount1 = incomeVO1.getAmount(); // 假设有一个方法用于获取 amount |
| | | Date insertTime = incomeVO1.getInsertTime(); |
| | | BigDecimal amount1 = incomeVO1.getAmount(); |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.setTime(insertTime); |
| | | int year = calendar.get(Calendar.YEAR); // 获取年份 |
| | |
| | | Collections.sort(sortedYears); |
| | | // 创建一个新的 IncomeVO 列表,包含按年份累计的 amount |
| | | List<Object> resultIncomeVOS = new ArrayList<>(); |
| | | // 循环遍历2023年到2028年的年份 |
| | | for (int year = 2023; year <= 2028; year++) { |
| | | // 当前年往前推十年 |
| | | List<Integer> integers1 = new ArrayList<>(); |
| | | int years = DateUtil.year(new Date()); |
| | | for (int i = 0; i < 10; i++) { |
| | | integers1.add(years-i); |
| | | } |
| | | for (int year = integers1.get(0); year >= integers1.get(integers1.size()-1); year++) { |
| | | BigDecimal totalAmount = yearToTotalAmountMap.getOrDefault(year, BigDecimal.ZERO); |
| | | // 创建一个新的 IncomeVO 对象,并设置年份和累计金额 |
| | | IncomeVO resultIncomeVO = new IncomeVO(); |
| | |
| | | int currentMonth = currentDate.getMonthValue(); |
| | | // 初始化一个长度为当前月份的天数的列表,并将每一天的金额初始化为零 |
| | | int daysInCurrentMonth = currentDate.lengthOfMonth(); |
| | | List<BigDecimal> weekAmount = new ArrayList<>(daysInCurrentMonth); |
| | | for (int i = 0; i < daysInCurrentMonth; i++) { |
| | | weekAmount.add(BigDecimal.ZERO); |
| | | } |
| | | List<BigDecimal> weekAmount = new ArrayList<>(); |
| | | |
| | | // 获取最近四周 |
| | | LocalDateTime minNow = LocalDateTime.now().with(LocalTime.MIN); |
| | | LocalDateTime maxNow = LocalDateTime.now().with(LocalTime.MAX); |
| | | // 周度数据 |
| | | LocalDateTime week1Start = minNow.minusDays(6); |
| | | LocalDateTime week1End = maxNow; |
| | | |
| | | LocalDateTime week2Start = minNow.minusDays(13); |
| | | LocalDateTime week2End = minNow.minusDays(7); |
| | | |
| | | LocalDateTime week3Start = minNow.minusDays(20); |
| | | LocalDateTime week3End = minNow.minusDays(14); |
| | | |
| | | LocalDateTime week4Start = minNow.minusDays(27); |
| | | LocalDateTime week4End = minNow.minusDays(21); |
| | | // 用于存放四个周的数据 |
| | | List<Object> objects1 = new ArrayList<>(); |
| | | // 计算每个周的amount总和 |
| | | BigDecimal tAmount1 = BigDecimal.ZERO; |
| | | BigDecimal tAmount2 = BigDecimal.ZERO; |
| | | BigDecimal tAmount3 = BigDecimal.ZERO; |
| | | BigDecimal tAmount4 = BigDecimal.ZERO; |
| | | for (IncomeVO incomeVO1 : incomeVOS) { |
| | | SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | String string = dateFormat.format(incomeVO1.getInsertTime()); |
| | | LocalDate insertDate = LocalDate.parse(string, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); |
| | | if (insertDate.getMonthValue() == currentMonth) { |
| | | int dayOfMonth = insertDate.getDayOfMonth(); |
| | | BigDecimal currentAmount = weekAmount.get(dayOfMonth - 1); // 列表索引从0开始 |
| | | weekAmount.set(dayOfMonth - 1, currentAmount.add(incomeVO1.getAmount())); |
| | | Date insertTime = incomeVO1.getInsertTime(); |
| | | // 将Date转换为LocalDateTime |
| | | Instant instant = insertTime.toInstant(); |
| | | ZoneId zoneId = ZoneId.systemDefault(); |
| | | LocalDateTime dateTime = instant.atZone(zoneId).toLocalDateTime(); |
| | | // 判断该数据属于哪个周 |
| | | if (dateTime.isAfter(week1Start) && dateTime.isBefore(week1End)) { |
| | | BigDecimal amount1 = incomeVO1.getAmount(); |
| | | tAmount1=tAmount1.add(amount1); |
| | | } else if (dateTime.isAfter(week2Start) && dateTime.isBefore(week2End)) { |
| | | BigDecimal amount1 = incomeVO1.getAmount(); |
| | | tAmount2=tAmount2.add(amount1); |
| | | } else if (dateTime.isAfter(week3Start) && dateTime.isBefore(week3End)) { |
| | | BigDecimal amount1 = incomeVO1.getAmount(); |
| | | tAmount4=tAmount3.add(amount1); |
| | | } else if (dateTime.isAfter(week4Start) && dateTime.isBefore(week4End)) { |
| | | BigDecimal amount1 = incomeVO1.getAmount(); |
| | | tAmount4=tAmount4.add(amount1); |
| | | } |
| | | } |
| | | weekAmount.add(tAmount1); |
| | | weekAmount.add(tAmount2); |
| | | weekAmount.add(tAmount3); |
| | | weekAmount.add(tAmount4); |
| | | monthlyData.put("weekIncome", Collections.singletonList(weekAmount)); |
| | | |
| | | LocalDateTime currentDateTime = LocalDateTime.now(); |
| | |
| | | } |
| | | |
| | | monthlyData.put("dayIncome", Collections.singletonList(amountByDay)); |
| | | // 创建一个 Map 用于存储今年本周的累计 amount |
| | | Map<Integer, BigDecimal> dayToTotalAmountMap = new HashMap<>(); |
| | | BigDecimal yearAmount = BigDecimal.ZERO; // 初始化累加变量为0 |
| | | BigDecimal monthAmount = BigDecimal.ZERO; // 初始化累加变量为0 |
| | | BigDecimal todayAmount = BigDecimal.ZERO; // 初始化累加变量为0 |
| | | // 获取当前日期和时间 |
| | | LocalDateTime now = LocalDateTime.now(); |
| | | // 今年的起始日期和结束日期 |
| | |
| | | user.setName(userName); |
| | | user.setPhone(phone); |
| | | user.setObjectType(2); |
| | | userService.save(user); |
| | | TOperator data = new TOperator(); |
| | | data.setUserId(user.getId()); |
| | | data.setName(name); |
| | |
| | | data.setStatus(1); |
| | | data.setState(1); |
| | | operatorService.save(data); |
| | | user.setObjectId(data.getId()); |
| | | userService.save(user); |
| | | if (SinataUtil.isNotEmpty(comArr)){ |
| | | JSONArray jsonArray = JSON.parseArray(comArr); |
| | | int size = jsonArray.size(); |
| | |
| | | import com.dsh.guns.modular.system.model.DiscountUpdateState; |
| | | import com.dsh.guns.modular.system.model.TCity; |
| | | import com.dsh.guns.modular.system.model.TStore; |
| | | import com.dsh.guns.modular.system.model.dto.CoursePackage; |
| | | import com.dsh.guns.modular.system.service.ICityService; |
| | | import com.dsh.guns.modular.system.service.ICoursePackageService; |
| | | import com.dsh.guns.modular.system.service.IStoreService; |
| | |
| | | |
| | | @Autowired |
| | | private CourseClient courseClient; |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 跳转到车辆管理首页 |
| | |
| | | private BigDecimal amount; |
| | | // 用户ids |
| | | private List<Integer> userIds; |
| | | |
| | | private Integer insertType; |
| | | } |
| | |
| | | private Integer type; |
| | | private List<Integer> userIds; |
| | | private BigDecimal amount; |
| | | private Integer insertType; |
| | | } |
| | |
| | | private Integer orderSource; |
| | | // 订单金额 |
| | | private BigDecimal amount; |
| | | private Integer insertType; |
| | | } |
New file |
| | |
| | | package com.dsh.guns.modular.system.model.dto; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.baomidou.mybatisplus.extension.activerecord.Model; |
| | | import com.dsh.course.feignClient.course.model.TCoursePackage; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * <p> |
| | | * 课包 |
| | | * </p> |
| | | * |
| | | * @author administrator |
| | | * @since 2023-06-14 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_course_package") |
| | | public class CoursePackage{ |
| | | |
| | | |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | /** |
| | | * 省 |
| | | */ |
| | | @TableField("province") |
| | | private String province; |
| | | /** |
| | | * 省编号 |
| | | */ |
| | | @TableField("provinceCode") |
| | | private String provinceCode; |
| | | /** |
| | | * 市 |
| | | */ |
| | | @TableField("city") |
| | | private String city; |
| | | /** |
| | | * 市编号 |
| | | */ |
| | | @TableField("cityCode") |
| | | private String cityCode; |
| | | /** |
| | | * 门店id |
| | | */ |
| | | @TableField("storeId") |
| | | private Integer storeId; |
| | | /** |
| | | * 课包类型id |
| | | */ |
| | | @TableField("coursePackageTypeId") |
| | | private Integer coursePackageTypeId; |
| | | /** |
| | | * 课包名称 |
| | | */ |
| | | @TableField("name") |
| | | private String name; |
| | | /** |
| | | * 上课场地id |
| | | */ |
| | | @TableField("siteId") |
| | | private Integer siteId; |
| | | /** |
| | | * 教练id |
| | | */ |
| | | @TableField("coachId") |
| | | private Integer coachId; |
| | | /** |
| | | * 最多预约人数 |
| | | */ |
| | | @TableField("maxSubscribeNumber") |
| | | private Integer maxSubscribeNumber; |
| | | |
| | | @TableField("codeTime") |
| | | private Integer codeTime; |
| | | /** |
| | | * 上课开始时间 |
| | | */ |
| | | @TableField("classStartTime") |
| | | private String classStartTime; |
| | | /** |
| | | * 上课结束时段 |
| | | */ |
| | | @TableField("classEndTime") |
| | | private String classEndTime; |
| | | /** |
| | | * 上课周,多个分号分隔 |
| | | */ |
| | | @TableField("classWeeks") |
| | | private String classWeeks; |
| | | /** |
| | | * 封面图 |
| | | */ |
| | | @TableField("coverDrawing") |
| | | private String coverDrawing; |
| | | /** |
| | | * 详情图 |
| | | */ |
| | | @TableField("detailDrawing") |
| | | private String detailDrawing; |
| | | /** |
| | | * 介绍图 |
| | | */ |
| | | @TableField("introduceDrawing") |
| | | private String introduceDrawing; |
| | | /** |
| | | * 排序 |
| | | */ |
| | | @TableField("sort") |
| | | private Integer sort; |
| | | /** |
| | | * 支付方式(1=现金,2=玩湃币) |
| | | */ |
| | | @TableField("payType") |
| | | private Integer payType; |
| | | /** |
| | | * 有效天数 |
| | | */ |
| | | @TableField("validDays") |
| | | private Integer validDays; |
| | | /** |
| | | * 课程状态(1=未开始,2=进行中,3=已结束,4=已取消) |
| | | */ |
| | | @TableField("status") |
| | | private Integer status; |
| | | /** |
| | | * 审核状态(1=待审核,2=已同意,3=已拒绝) |
| | | */ |
| | | @TableField("auditStatus") |
| | | private Integer auditStatus; |
| | | /** |
| | | * 审核人id |
| | | */ |
| | | @TableField("auditUserId") |
| | | private Integer auditUserId; |
| | | /** |
| | | * 审核备注 |
| | | */ |
| | | @TableField("authRemark") |
| | | private String authRemark; |
| | | /** |
| | | * 状态(1=正常,2=冻结,3=删除) |
| | | */ |
| | | @TableField("state") |
| | | private Integer state; |
| | | /** |
| | | * 添加时间 |
| | | */ |
| | | @TableField("insertTime") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | private Date insertTime; |
| | | @TableField("type") |
| | | private Integer type; |
| | | @TableField("needNum") |
| | | private Integer needNum; |
| | | |
| | | @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @TableField("startTime") |
| | | private Date startTime; |
| | | |
| | | @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @TableField("endTime") |
| | | private Date endTime; |
| | | } |
| | |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-content"> |
| | | <div class="form-horizontal"> |
| | | |
| | | <input hidden id="day" value="${data.dayone}"> |
| | | <input hidden id="month" value="${data.monthone}"> |
| | | <input hidden id="quarter" value="${data.quarterone}"> |
| | | <input hidden id="year" value="${data.yearone}"> |
| | | <input hidden id="age1" value="${stuData.age1}"> |
| | | <input hidden id="age2" value="${stuData.age2}"> |
| | | <input hidden id="age3" value="${stuData.age3}"> |
| | | <input hidden id="age4" value="${stuData.age4}"> |
| | | <input hidden id="boy" value="${stuData.boy}"> |
| | | <input hidden id="girl" value="${stuData.girl}"> |
| | | |
| | | |
| | | <div class="row"> |
| | | <div class="col-sm-10"> |
| | | <div style="height: 50px;box-sizing: border-box;background:#f3f3f4;line-height: 50px;border:1px solid;margin-bottom: 20px;width: auto"> |
| | |
| | | <div id="div2" class='table1' onclick="getContent(2)" style="border-right: 1px solid #333;">运营统计</div> |
| | | <div id="div3" class='table1' onclick="getContent(3)" style="border-right: 1px solid #333;">教学统计</div> |
| | | </div> |
| | | |
| | | |
| | | <div class="row" id="content1" style="margin-left: 100px;"> |
| | | <div class="col-sm-11"> |
| | | <div class="form-group"> |
| | | <div class="col-sm-10"> |
| | | <h2>营收数据</h2> |
| | | </br> |
| | | <div id = "money1" style="width: 1500px" > |
| | | <span id="totalIncome">总营收:</span> |
| | | <span id="yearIncome">本年度营收:</span> |
| | | <span id="monthIncome">本月度营收:</span> |
| | | <span id="weekIncome">本周营收:</span> |
| | | <span id="todayIncome">本日营收:</span> |
| | | </br> |
| | | </br> |
| | | </div> |
| | | <div id = "money1" style="width: 1500px" > |
| | | <span id="totalIncome">总营收:</span> |
| | | <span id="yearIncome">本年度营收:</span> |
| | | <span id="monthIncome">本月度营收:</span> |
| | | <span id="weekIncome">本周营收:</span> |
| | | <span id="todayIncome">本日营收:</span> |
| | | </br> |
| | | </br> |
| | | </div> |
| | | <div id="main" style="width: 1280px;height:500px;"></div> |
| | | </div> |
| | | <div class="col-sm-10"> |
| | |
| | | </br> |
| | | <div class="col-sm-3" style="width: 400px;display: flex"> |
| | | <#TimeCon id="beginTime" name="时间段:" isTime="false"/> |
| | | <#button name="搜索" icon="fa-search" clickFun="TCompetition.search()"/> |
| | | <#button name="搜索" icon="fa-search" clickFun="search1()"/> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="col-sm-10" style="width: 1500px" > |
| | | </br> |
| | | </br> |
| | | <span>会员费收入:</span> |
| | | <span>玩湃币充值收入:</span> |
| | | <span>课程收入:</span> |
| | | <span>活动收入:</span> |
| | | <span>订场收入:</span> |
| | | <span>赛事收入:</span> |
| | | <span>商品收入:</span> |
| | | <span>其他收入:</span> |
| | | <span>会员费收入:<label id="fee1">${data.fee1}</label></span> |
| | | <span>玩湃币充值收入:<label id="fee2">${data.fee2}</label></span> |
| | | <span>课程收入:<label id="fee3">${data.fee3}</label></span> |
| | | <span>活动/赛事收入:<label id="fee4">${data.fee4}</label></span> |
| | | <span>订场收入:<label id="fee5">${data.fee5}</label></span> |
| | | <span>商品收入:<label id="fee7">${data.fee7}</label></span> |
| | | </br> |
| | | </br> |
| | | </br> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | </div> |
| | | <script src="${ctxPath}/modular/system/dataStatistics/echarts.min.js"></script> |
| | | <script src="${ctxPath}/static/js/plugins/switchery/switchery.js"></script> |
| | | <script> |
| | | function search1(){ |
| | | var time = $("#beginTime").val() |
| | | var ajax = new $ax(Feng.ctxPath + "/data/type1", function (data) { |
| | | |
| | | $("#fee1").text(data.fee1) |
| | | $("#fee2").text(data.fee2) |
| | | $("#fee3").text(data.fee3) |
| | | $("#fee4").text(data.fee4) |
| | | $("#fee5").text(data.fee5) |
| | | $("#fee7").text(data.fee7) |
| | | $("#day").val(data.dayone) |
| | | $("#month").val(data.monthone) |
| | | $("#quarter").val(data.quarterone) |
| | | $("#year").val(data.yearone) |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | var chartDom = document.getElementById('cookieTicket'); |
| | | var myChart = echarts.init(chartDom); |
| | | var option; |
| | | option = { |
| | | title: { |
| | | text: '门票收入', |
| | | subtext: '', |
| | | left: 'center' |
| | | }, |
| | | tooltip: { |
| | | trigger: 'item' |
| | | }, |
| | | |
| | | series: [ |
| | | { |
| | | name: 'Access From', |
| | | type: 'pie', |
| | | radius: '50%', |
| | | data: [ |
| | | { value: data.dayone, name: '日卡' }, |
| | | { value: data.monthone, name: '月卡' }, |
| | | { value: data.quarterone, name: '季卡' }, |
| | | { value: data.yearone, name: '年卡' }, |
| | | |
| | | ], |
| | | emphasis: { |
| | | itemStyle: { |
| | | shadowBlur: 10, |
| | | shadowOffsetX: 0, |
| | | shadowColor: 'rgba(0, 0, 0, 0.5)' |
| | | } |
| | | } |
| | | } |
| | | ] |
| | | }; |
| | | myChart.setOption(option); |
| | | |
| | | var chartDom = document.getElementById('cookieCourse'); |
| | | var myChart = echarts.init(chartDom); |
| | | var option; |
| | | option = { |
| | | title: { |
| | | text: '课程收入', |
| | | subtext: '', |
| | | left: 'center' |
| | | }, |
| | | tooltip: { |
| | | trigger: 'item' |
| | | }, |
| | | |
| | | series: [ |
| | | { |
| | | name: 'Access From', |
| | | type: 'pie', |
| | | radius: '50%', |
| | | data: data.courseData, |
| | | emphasis: { |
| | | itemStyle: { |
| | | shadowBlur: 10, |
| | | shadowOffsetX: 0, |
| | | shadowColor: 'rgba(0, 0, 0, 0.5)' |
| | | } |
| | | } |
| | | } |
| | | ] |
| | | }; |
| | | myChart.setOption(option); |
| | | |
| | | |
| | | var chartDom = document.getElementById('cookieBooking'); |
| | | var myChart = echarts.init(chartDom); |
| | | var option; |
| | | option = { |
| | | title: { |
| | | text: '订场收入', |
| | | subtext: '', |
| | | left: 'center' |
| | | }, |
| | | tooltip: { |
| | | trigger: 'item' |
| | | }, |
| | | |
| | | series: [ |
| | | { |
| | | name: 'Access From', |
| | | type: 'pie', |
| | | radius: '50%', |
| | | data: data.siteData, |
| | | emphasis: { |
| | | itemStyle: { |
| | | shadowBlur: 10, |
| | | shadowOffsetX: 0, |
| | | shadowColor: 'rgba(0, 0, 0, 0.5)' |
| | | } |
| | | } |
| | | } |
| | | ] |
| | | }; |
| | | myChart.setOption(option); |
| | | |
| | | |
| | | }, function (data) { |
| | | |
| | | }); |
| | | ajax.set("time",time); |
| | | ajax.start(); |
| | | } |
| | | var ans = []; |
| | | var weekX = ["1","2","上周","本周"]; |
| | | var weekX = ["1周","2周","3周","4周"]; |
| | | var monthX = ["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"]; |
| | | var yearX = []; |
| | | var timeX = []; |
| | |
| | | getContent(1); |
| | | getContent1(1); |
| | | getContent2(1); |
| | | |
| | | var ajax = new $ax(Feng.ctxPath + "/data/getIncomeData", function(resp){ |
| | | yearX=resp.year |
| | | |
| | |
| | | var year = resp.yearIncome; |
| | | var month = resp.monthIncome; |
| | | var week = resp.weekIncome; |
| | | console.log("周度营收") |
| | | console.log(year) |
| | | console.log(week) |
| | | var days = week[0].length; |
| | | for (let i = 1; i <= days; i++) { |
| | | weekX.push(i); |
| | | } |
| | | var day = resp.dayIncome; |
| | | option = { |
| | | tooltip: { |
| | |
| | | stack: 'Total', |
| | | data: [ |
| | | week[0][0], week[0][1], week[0][2], week[0][3], week[0][4] |
| | | , week[0][5], week[0][6], week[0][7], week[0][8], week[0][9] |
| | | , week[0][10], week[0][11], week[0][12], week[0][13], week[0][14] |
| | | , week[0][15], week[0][16], week[0][17], week[0][18], week[0][19], week[0][20] |
| | | , week[0][21], week[0][22], week[0][23], week[0][24], week[0][25], week[0][26] |
| | | , week[0][27], week[0][28], week[0][29], week[0][30], week[0][31] |
| | | ] |
| | | }, |
| | | { |
| | |
| | | } |
| | | ] |
| | | }; |
| | | option5 = { |
| | | tooltip: { |
| | | trigger: 'axis' |
| | | }, |
| | | legend: { |
| | | data: ['年度次数', '月度次数'] |
| | | }, |
| | | grid: { |
| | | left: '3%', |
| | | right: '4%', |
| | | bottom: '3%', |
| | | containLabel: true |
| | | }, |
| | | toolbox: { |
| | | feature: { |
| | | saveAsImage: {} |
| | | } |
| | | }, |
| | | xAxis: { |
| | | type: 'category', |
| | | boundaryGap: false, |
| | | data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'] |
| | | }, |
| | | yAxis: { |
| | | type: 'value' |
| | | }, |
| | | series: [ |
| | | { |
| | | name: '年度次数', |
| | | type: 'line', |
| | | stack: 'Total', |
| | | data: [120, 132, 101, 394, 980, 2380, 1680, 1190, 1410, 1330, 2110, 1330] |
| | | }, |
| | | { |
| | | name: '月度次数', |
| | | type: 'line', |
| | | stack: 'Total', |
| | | data: [120, 182, 211, 324, 120, 130, 310, 290, 220, 130, 240, 150] |
| | | } |
| | | ] |
| | | }; |
| | | option6 = { |
| | | tooltip: { |
| | | trigger: 'axis' |
| | | }, |
| | | legend: { |
| | | data: ['年度学员数', '月度学员数', '周度学员数', '日度学员数'] |
| | | }, |
| | | grid: { |
| | | left: '3%', |
| | | right: '4%', |
| | | bottom: '3%', |
| | | containLabel: true |
| | | }, |
| | | toolbox: { |
| | | feature: { |
| | | saveAsImage: {} |
| | | } |
| | | }, |
| | | xAxis: { |
| | | type: 'category', |
| | | boundaryGap: false, |
| | | data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'] |
| | | }, |
| | | yAxis: { |
| | | type: 'value' |
| | | }, |
| | | series: [ |
| | | { |
| | | name: '年度学员数', |
| | | type: 'line', |
| | | stack: 'Total', |
| | | data: [120, 132, 101, 134, 90, 230, 160, 190, 410, 330, 210, 330] |
| | | }, |
| | | { |
| | | name: '月度学员数', |
| | | type: 'line', |
| | | stack: 'Total', |
| | | data: [220, 182, 191, 234, 290, 330, 310, 190, 210, 330, 410, 160] |
| | | }, |
| | | { |
| | | name: '周度学员数', |
| | | type: 'line', |
| | | stack: 'Total', |
| | | data: [150, 232, 201, 154, 190, 330, 410, 160, 210, 195, 210, 188] |
| | | }, |
| | | { |
| | | name: '日度学员数', |
| | | type: 'line', |
| | | stack: 'Total', |
| | | data: [320, 332, 301, 334, 390, 330, 320, 10, 195, 145, 188, 160] |
| | | } |
| | | ] |
| | | }; |
| | | option7 = { |
| | | tooltip: { |
| | | trigger: 'axis' |
| | | }, |
| | | legend: { |
| | | data: ['年度耗课数量', '月度耗课数量', '周度耗课数量', '日度耗课数量'] |
| | | }, |
| | | grid: { |
| | | left: '3%', |
| | | right: '4%', |
| | | bottom: '3%', |
| | | containLabel: true |
| | | }, |
| | | toolbox: { |
| | | feature: { |
| | | saveAsImage: {} |
| | | } |
| | | }, |
| | | xAxis: { |
| | | type: 'category', |
| | | boundaryGap: false, |
| | | data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'] |
| | | }, |
| | | yAxis: { |
| | | type: 'value' |
| | | }, |
| | | series: [ |
| | | { |
| | | name: '年度耗课数量', |
| | | type: 'line', |
| | | stack: 'Total', |
| | | data: [120, 132, 101, 134, 90, 230, 160, 190, 410, 330, 210, 330] |
| | | }, |
| | | { |
| | | name: '月度耗课数量', |
| | | type: 'line', |
| | | stack: 'Total', |
| | | data: [220, 182, 191, 234, 290, 330, 310, 190, 210, 330, 410, 160] |
| | | myChart.on('legendselectchanged', obj => { |
| | | var options = myChart.getOption() |
| | | //这里是选择切换什么样的x轴,那么他会进行对Y值的切换 |
| | |
| | | function ptActivity() { |
| | | var myChart4 = echarts.init(document.getElementById('activity')); |
| | | var myChart5 = echarts.init(document.getElementById('prepare')); |
| | | myChart4.on('legendselectchanged', obj => { |
| | | var options = myChart4.getOption() |
| | | //这里是选择切换什么样的x轴,那么他会进行对Y值的切换 |
| | | if (obj.name == '年度次数') { |
| | | options.xAxis[0].data = yearX |
| | | } else if (obj.name == '月度次数') { |
| | | options.xAxis[0].data = monthX |
| | | } |
| | | myChart4.setOption(options, true) |
| | | }); |
| | | |
| | | myChart5.on('legendselectchanged', obj => { |
| | | var options = myChart5.getOption() |
| | | //这里是选择切换什么样的x轴,那么他会进行对Y值的切换 |
| | | if (obj.name == '年度次数') { |
| | | options.xAxis[0].data = yearX |
| | | } else if (obj.name == '月度次数') { |
| | | options.xAxis[0].data = monthX |
| | | } |
| | | myChart5.setOption(options, true) |
| | | }); |
| | | |
| | | var ajax2 = new $ax(Feng.ctxPath + "/data/actPt", function(data){ |
| | | console.log(data) |
| | |
| | | |
| | | ptUser() |
| | | |
| | | ptActivity() |
| | | |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | </script> |
| | | <script> |
| | | $(function(){ |
| | | |
| | | var chartDom = document.getElementById('cookieTicket'); |
| | | var myChart = echarts.init(chartDom); |
| | | var option; |
| | | |
| | | option = { |
| | | title: { |
| | | text: '门票收入', |
| | |
| | | type: 'pie', |
| | | radius: '50%', |
| | | data: [ |
| | | { value: 1048, name: '年票' }, |
| | | { value: 735, name: '亲子票' }, |
| | | { value: $("#day").val(), name: '日卡' }, |
| | | { value: $("#month").val(), name: '月卡' }, |
| | | { value: $("#quarter").val(), name: '季卡' }, |
| | | { value: $("#year").val(), name: '年卡' }, |
| | | |
| | | ], |
| | | emphasis: { |
| | |
| | | } |
| | | ] |
| | | }; |
| | | myChart.setOption(option); |
| | | myChart.setOption(option); |
| | | }); |
| | | $(function(){ |
| | | var courseData = "${data.courseData}" |
| | | courseData =courseData.replace("[","").replace("]","") |
| | | courseData = courseData.split('},') |
| | | |
| | | var a=[]; |
| | | for (let j = 0; j <courseData.length; j++) { |
| | | if(j<courseData.length-1){ |
| | | var d = courseData[j].replace("{","").replace("}","").split(",") |
| | | let obj ={ |
| | | name:d[0].split("=")[1], |
| | | value:d[1].split("=")[1] |
| | | } |
| | | a.push(obj) |
| | | } |
| | | } |
| | | var chartDom = document.getElementById('cookieCourse'); |
| | | var myChart = echarts.init(chartDom); |
| | | var myChart = echarts.init(chartDom) |
| | | |
| | | var option; |
| | | option = { |
| | | title: { |
| | |
| | | name: 'Access From', |
| | | type: 'pie', |
| | | radius: '50%', |
| | | data: [ |
| | | { value: 1048, name: '篮球课' }, |
| | | { value: 735, name: '羽毛课' }, |
| | | { value: 735, name: '足球课' }, |
| | | |
| | | ], |
| | | data: a, |
| | | emphasis: { |
| | | itemStyle: { |
| | | shadowBlur: 10, |
| | |
| | | myChart.setOption(option); |
| | | }); |
| | | $(function(){ |
| | | var courseData = "${data.siteData}" |
| | | |
| | | courseData =courseData.replace("[","").replace("]","") |
| | | courseData = courseData.split('},') |
| | | |
| | | var a=[]; |
| | | for (let j = 0; j <courseData.length; j++) { |
| | | if(j<courseData.length-1){ |
| | | var d = courseData[j].replace("{","").replace("}","").split(",") |
| | | let obj ={ |
| | | name:d[0].split("=")[1], |
| | | value:d[1].split("=")[1] |
| | | } |
| | | a.push(obj) |
| | | } |
| | | } |
| | | var chartDom = document.getElementById('cookieBooking'); |
| | | var myChart = echarts.init(chartDom); |
| | | var option; |
| | |
| | | name: 'Access From', |
| | | type: 'pie', |
| | | radius: '50%', |
| | | data: [ |
| | | { value: 1048, name: '激战' }, |
| | | { value: 735, name: '篮球场' }, |
| | | { value: 735, name: '足球场' }, |
| | | |
| | | ], |
| | | emphasis: { |
| | | itemStyle: { |
| | | shadowBlur: 10, |
| | | shadowOffsetX: 0, |
| | | shadowColor: 'rgba(0, 0, 0, 0.5)' |
| | | } |
| | | } |
| | | } |
| | | ] |
| | | }; |
| | | myChart.setOption(option); |
| | | }); |
| | | $(function(){ |
| | | var chartDom = document.getElementById('cookieAge'); |
| | | var myChart = echarts.init(chartDom); |
| | | var option; |
| | | option = { |
| | | title: { |
| | | text: '年龄分布', |
| | | subtext: '', |
| | | left: 'center' |
| | | }, |
| | | tooltip: { |
| | | trigger: 'item' |
| | | }, |
| | | |
| | | series: [ |
| | | { |
| | | name: 'Access From', |
| | | type: 'pie', |
| | | radius: '50%', |
| | | data: [ |
| | | { value: 1048, name: '30-35' }, |
| | | { value: 735, name: '12-18' }, |
| | | |
| | | ], |
| | | data: a, |
| | | emphasis: { |
| | | itemStyle: { |
| | | shadowBlur: 10, |
| | |
| | | type: 'pie', |
| | | radius: '50%', |
| | | data: [ |
| | | { value: 1048, name: '30-35' }, |
| | | { value: 735, name: '12-18' }, |
| | | { value: $("#age1").val(), name: '0-7岁' }, |
| | | { value: $("#age2").val(), name: '8-10岁' }, |
| | | { value:$("#age3").val(), name: '11-12岁' }, |
| | | { value: $("#age4").val(), name: '13岁以上' }, |
| | | |
| | | ], |
| | | emphasis: { |
| | |
| | | type: 'pie', |
| | | radius: '50%', |
| | | data: [ |
| | | { value: 1048, name: '男' }, |
| | | { value: 735, name: '女' }, |
| | | { value: $("#boy").val(), name: '男' }, |
| | | { value: $("#girl").val(), name: '女' }, |
| | | |
| | | ], |
| | | emphasis: { |
| | |
| | | shadowColor: 'rgba(0, 0, 0, 0.5)' |
| | | } |
| | | } |
| | | } |
| | | ] |
| | | }; |
| | | myChart.setOption(option); |
| | | }); |
| | | $(function(){ |
| | | var chartDom = document.getElementById('city'); |
| | | var myChart = echarts.init(chartDom); |
| | | var option; |
| | | |
| | | option = { |
| | | xAxis: { |
| | | type: 'category', |
| | | data: ['北京', '上海', '广东', '深圳', '成都', '曹县', '奥里给'] |
| | | }, |
| | | yAxis: { |
| | | type: 'value' |
| | | }, |
| | | series: [ |
| | | { |
| | | data: [120, 200, 150, 80, 70, 110, 130], |
| | | type: 'bar' |
| | | } |
| | | ] |
| | | }; |
| | | myChart.setOption(option); |
| | | }); |
| | | $(function(){ |
| | | var chartDom = document.getElementById('cookieTeachCourse'); |
| | | var myChart = echarts.init(chartDom); |
| | | var option; |
| | | |
| | | option = { |
| | | xAxis: { |
| | | type: 'category', |
| | | data: ['足球课', '篮球课', '羽毛球课', '网球课', '排球课'] |
| | | }, |
| | | yAxis: { |
| | | type: 'value' |
| | | }, |
| | | series: [ |
| | | { |
| | | data: [120, 200, 150, 80, 70, 110, 130], |
| | | type: 'bar' |
| | | } |
| | | ] |
| | | }; |
| | |
| | | </div> |
| | | </div> |
| | | <#input id="startTime" name="有效期" type="text"/> |
| | | @if(roletype==3){ |
| | | @if(userType==3){ |
| | | <div class="row" id="belongsCon" > |
| | | <div class="form-group"> |
| | | <div class="form-group"> |