Merge remote-tracking branch 'origin/feature/mall_product' into feature/mall_product_new
commit
296af91986
|
@ -132,14 +132,16 @@ public class RechargeOrderServiceImpl implements RechargeOrderService {
|
||||||
rechargeOrderMapper.findListPage(page, pageReqVO);
|
rechargeOrderMapper.findListPage(page, pageReqVO);
|
||||||
return new PageResult<>(page.getRecords(), page.getTotal());
|
return new PageResult<>(page.getRecords(), page.getTotal());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<PromoterDrawExcelVO> findPromoterDrawExcel(PromoterDrawReqExcelVO excelVO) {
|
public List<PromoterDrawExcelVO> findPromoterDrawExcel(PromoterDrawReqExcelVO excelVO) {
|
||||||
return rechargeOrderMapper.findPromoterDrawExcel(excelVO);
|
return rechargeOrderMapper.findPromoterDrawExcel(excelVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResult<PromoterDrawVO> findPromoterDrawPage(PromoterDrawReqVO pageReqVO) {
|
public PageResult<PromoterDrawVO> findPromoterDrawPage(PromoterDrawReqVO pageReqVO) {
|
||||||
Page<PromoterDrawVO> page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize());
|
Page<PromoterDrawVO> page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize());
|
||||||
if (Objects.nonNull(pageReqVO.getSort())&& StringUtils.equals("2",pageReqVO.getSort())) {
|
if (Objects.nonNull(pageReqVO.getSort()) && StringUtils.equals("2", pageReqVO.getSort())) {
|
||||||
pageReqVO.setSort(null);
|
pageReqVO.setSort(null);
|
||||||
}
|
}
|
||||||
rechargeOrderMapper.findPromoterDrawPage(page, pageReqVO);
|
rechargeOrderMapper.findPromoterDrawPage(page, pageReqVO);
|
||||||
|
@ -241,11 +243,11 @@ public class RechargeOrderServiceImpl implements RechargeOrderService {
|
||||||
List<RechargeOrderInfoDO> infoDOS1 = collect.get(orderDO.getOrderId());
|
List<RechargeOrderInfoDO> infoDOS1 = collect.get(orderDO.getOrderId());
|
||||||
for (RechargeOrderInfoDO infoDO : infoDOS1) {
|
for (RechargeOrderInfoDO infoDO : infoDOS1) {
|
||||||
if (infoDO.getPrice().compareTo(new BigDecimal("240")) == 0) {
|
if (infoDO.getPrice().compareTo(new BigDecimal("240")) == 0) {
|
||||||
grade.append("套餐1,");
|
grade.append("套餐" + infoDO.getPrice() + ",");
|
||||||
} else if (infoDO.getPrice().compareTo(new BigDecimal("400")) == 0) {
|
} else if (infoDO.getPrice().compareTo(new BigDecimal("400")) == 0) {
|
||||||
grade.append("套餐2,");
|
grade.append("套餐" + infoDO.getPrice() + ",");
|
||||||
} else if (infoDO.getPrice().compareTo(new BigDecimal("640")) == 0) {
|
} else if (infoDO.getPrice().compareTo(new BigDecimal("640")) == 0) {
|
||||||
grade.append("套餐3");
|
grade.append("套餐" + infoDO.getPrice() + ",");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
orderDO.setGrade(grade.toString());
|
orderDO.setGrade(grade.toString());
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package cn.iocoder.yudao.module.member.controller.admin.promoter;
|
package cn.iocoder.yudao.module.member.controller.admin.promoter;
|
||||||
|
|
||||||
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
||||||
|
import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
|
||||||
import cn.iocoder.yudao.module.system.enums.common.SexEnum;
|
import cn.iocoder.yudao.module.system.enums.common.SexEnum;
|
||||||
import com.github.pagehelper.PageInfo;
|
import com.github.pagehelper.PageInfo;
|
||||||
import io.swagger.v3.oas.annotations.Parameters;
|
import io.swagger.v3.oas.annotations.Parameters;
|
||||||
|
@ -120,6 +121,7 @@ public class PromoterController {
|
||||||
@Parameter(name = "updateSupport", description = "是否支持更新,默认为 false", example = "true")
|
@Parameter(name = "updateSupport", description = "是否支持更新,默认为 false", example = "true")
|
||||||
})
|
})
|
||||||
// @PreAuthorize("@ss.hasPermission('system:user:import')")
|
// @PreAuthorize("@ss.hasPermission('system:user:import')")
|
||||||
|
@TenantIgnore
|
||||||
public CommonResult<PromoterImportRespVO> importExcel(@RequestParam("file") MultipartFile file,
|
public CommonResult<PromoterImportRespVO> importExcel(@RequestParam("file") MultipartFile file,
|
||||||
@RequestParam(value = "updateSupport", required = false, defaultValue = "false") Boolean updateSupport) throws Exception {
|
@RequestParam(value = "updateSupport", required = false, defaultValue = "false") Boolean updateSupport) throws Exception {
|
||||||
List<PromoterImportExcelVO> list = ExcelUtils.read(file, PromoterImportExcelVO.class);
|
List<PromoterImportExcelVO> list = ExcelUtils.read(file, PromoterImportExcelVO.class);
|
||||||
|
|
|
@ -22,10 +22,12 @@ import javax.annotation.Resource;
|
||||||
import javax.validation.Validator;
|
import javax.validation.Validator;
|
||||||
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.promoter.vo.*;
|
import cn.iocoder.yudao.module.member.controller.admin.promoter.vo.*;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.promoter.PromoterDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.promoter.PromoterDO;
|
||||||
|
@ -179,6 +181,12 @@ public class PromoterServiceImpl implements PromoterService {
|
||||||
if (CollUtil.isEmpty(importUsers)) {
|
if (CollUtil.isEmpty(importUsers)) {
|
||||||
throw exception(PROMOTER_IMPORT_LIST_IS_EMPTY);
|
throw exception(PROMOTER_IMPORT_LIST_IS_EMPTY);
|
||||||
}
|
}
|
||||||
|
Set<String> collect = importUsers.stream().map(PromoterImportExcelVO::getMobile).collect(Collectors.toSet());
|
||||||
|
List<MemberUserDO> list = memberUserService.getByMobileList(collect);
|
||||||
|
if (!CollectionUtils.isEmpty(list)) {
|
||||||
|
List<String> collect1 = list.stream().map(MemberUserDO::getMobile).collect(Collectors.toList());
|
||||||
|
throw new ServiceException(200, "电话号码:" + collect1 + "重复");
|
||||||
|
}
|
||||||
PromoterImportRespVO respVO = PromoterImportRespVO.builder().createUsernames(new ArrayList<>())
|
PromoterImportRespVO respVO = PromoterImportRespVO.builder().createUsernames(new ArrayList<>())
|
||||||
.updateUsernames(new ArrayList<>()).failureUsernames(new LinkedHashMap<>()).build();
|
.updateUsernames(new ArrayList<>()).failureUsernames(new LinkedHashMap<>()).build();
|
||||||
List<DeptRespDTO> deptRespDTOList = deptApi.getDeptList();
|
List<DeptRespDTO> deptRespDTOList = deptApi.getDeptList();
|
||||||
|
@ -191,20 +199,20 @@ public class PromoterServiceImpl implements PromoterService {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//判断手机号是否注册
|
//判断手机号是否注册
|
||||||
MemberUserDO memberUserDO = memberUserService.getUserByMobile(importUser.getMobile());
|
// MemberUserDO memberUserDO = memberUserService.getUserByMobile(importUser.getMobile());
|
||||||
if (memberUserDO == null) {
|
// if (memberUserDO == null) {
|
||||||
//创建用户
|
//创建用户
|
||||||
memberUserDO = new MemberUserDO();
|
MemberUserDO memberUserDO = new MemberUserDO();
|
||||||
memberUserDO.setNickname(importUser.getNickName());
|
memberUserDO.setNickname(importUser.getNickName());
|
||||||
memberUserDO.setMobile(importUser.getMobile());
|
memberUserDO.setMobile(importUser.getMobile());
|
||||||
memberUserDO.setPassword(importUser.getMobile().substring(importUser.getMobile().length() - 6));
|
memberUserDO.setPassword(importUser.getMobile().substring(importUser.getMobile().length() - 6));
|
||||||
memberUserDO.setStatus(0);
|
memberUserDO.setStatus(0);
|
||||||
memberUserService.createUserIfAbsent(importUser.getMobile(), importUser.getNickName(), getClientIP());
|
MemberUserDO userIfAbsent = memberUserService.createUserIfAbsent(importUser.getMobile(), importUser.getNickName(), getClientIP());
|
||||||
}
|
// }
|
||||||
// 插入
|
// 插入
|
||||||
PromoterDO promoter = new PromoterDO();
|
PromoterDO promoter = new PromoterDO();
|
||||||
promoter.setTenantId(SecurityFrameworkUtils.getLoginUser().getTenantId());
|
promoter.setTenantId(SecurityFrameworkUtils.getLoginUser().getTenantId());
|
||||||
promoter.setUserId(memberUserDO.getId());
|
promoter.setUserId(userIfAbsent.getId());
|
||||||
promoter.setCreateTime(LocalDateTime.now());
|
promoter.setCreateTime(LocalDateTime.now());
|
||||||
Long count = promoterMapper.selectCount(Wrappers.lambdaQuery(PromoterDO.class).eq(PromoterDO::getUserId, memberUserDO.getId()));
|
Long count = promoterMapper.selectCount(Wrappers.lambdaQuery(PromoterDO.class).eq(PromoterDO::getUserId, memberUserDO.getId()));
|
||||||
if (count > 0) {
|
if (count > 0) {
|
||||||
|
@ -225,8 +233,6 @@ public class PromoterServiceImpl implements PromoterService {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PromoterDO getPromoterDOByUserId(Long userId) {
|
public PromoterDO getPromoterDOByUserId(Long userId) {
|
||||||
return promoterMapper.selectOne(Wrappers.<PromoterDO>lambdaQuery().eq(PromoterDO::getUserId, userId).last("LIMIT 1"));
|
return promoterMapper.selectOne(Wrappers.<PromoterDO>lambdaQuery().eq(PromoterDO::getUserId, userId).last("LIMIT 1"));
|
||||||
|
|
|
@ -10,6 +10,7 @@ import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员用户 Service 接口
|
* 会员用户 Service 接口
|
||||||
|
@ -139,4 +140,6 @@ public interface MemberUserService {
|
||||||
|
|
||||||
|
|
||||||
Long promoterOrderCount(AppUserInfoReqDTO reqVO);
|
Long promoterOrderCount(AppUserInfoReqDTO reqVO);
|
||||||
|
|
||||||
|
List<MemberUserDO> getByMobileList(Set<String> collect);
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,6 +15,7 @@ import cn.iocoder.yudao.module.member.dal.mysql.user.MemberUserMapper;
|
||||||
import cn.iocoder.yudao.module.system.api.sms.SmsCodeApi;
|
import cn.iocoder.yudao.module.system.api.sms.SmsCodeApi;
|
||||||
import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeUseReqDTO;
|
import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeUseReqDTO;
|
||||||
import cn.iocoder.yudao.module.system.enums.sms.SmsSceneEnum;
|
import cn.iocoder.yudao.module.system.enums.sms.SmsSceneEnum;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||||
|
@ -27,6 +28,7 @@ import java.io.InputStream;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||||
import static cn.iocoder.yudao.framework.common.util.servlet.ServletUtils.getClientIP;
|
import static cn.iocoder.yudao.framework.common.util.servlet.ServletUtils.getClientIP;
|
||||||
|
@ -103,7 +105,7 @@ public class MemberUserServiceImpl implements MemberUserService {
|
||||||
user.setMobile(mobile);
|
user.setMobile(mobile);
|
||||||
user.setNickname(realName);
|
user.setNickname(realName);
|
||||||
user.setStatus(CommonStatusEnum.ENABLE.getStatus()); // 默认开启
|
user.setStatus(CommonStatusEnum.ENABLE.getStatus()); // 默认开启
|
||||||
user.setPassword(encodePassword(mobile.substring(5,11))); // 加密密码
|
user.setPassword(encodePassword(mobile.substring(mobile.length() - 6))); // 加密密码
|
||||||
user.setRegisterIp(registerIp);
|
user.setRegisterIp(registerIp);
|
||||||
user.setPromoterId(promoterId);
|
user.setPromoterId(promoterId);
|
||||||
user.setTenantId(TenantContextHolder.getRequiredTenantId());
|
user.setTenantId(TenantContextHolder.getRequiredTenantId());
|
||||||
|
@ -261,4 +263,11 @@ public class MemberUserServiceImpl implements MemberUserService {
|
||||||
|
|
||||||
return memberUserMapper.promoterOrderCount(reqVO);
|
return memberUserMapper.promoterOrderCount(reqVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<MemberUserDO> getByMobileList(Set<String> collect) {
|
||||||
|
LambdaQueryWrapper<MemberUserDO> qw = new LambdaQueryWrapper();
|
||||||
|
qw.in(MemberUserDO::getMobile,collect);
|
||||||
|
return memberUserMapper.selectList(qw);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,14 +28,14 @@
|
||||||
<view class="up" @tap="goEquity">
|
<view class="up" @tap="goEquity">
|
||||||
<image style="width: ;" src="@/static/images/shop/vip_oneStar.png" mode=""></image>
|
<image style="width: ;" src="@/static/images/shop/vip_oneStar.png" mode=""></image>
|
||||||
</view>
|
</view>
|
||||||
<text>会员等级1级</text>
|
<text>会员等级{{vipData.findIndex((item) => item == vip.grade) +1}}级</text>
|
||||||
<view class="button" @tap="goEquity">查看权益</view>
|
<view class="button" @tap="goEquity">查看权益</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="right" v-else>
|
<view class="right" v-else>
|
||||||
<view class="up" @tap="goEquity">
|
<view class="up" @tap="goEquity">
|
||||||
<image style="width: ;" src="@/static/images/shop/vip_oneStar.png" mode=""></image>
|
<image style="width: ;" src="@/static/images/shop/vip_oneStar.png" mode=""></image>
|
||||||
</view>
|
</view>
|
||||||
<text>会员等级0级</text>
|
<text>会员等级{{vipData.findIndex((item) => item == vip.grade) +1}}级</text>
|
||||||
<view class="button" @tap="goEquity">申请会员</view>
|
<view class="button" @tap="goEquity">申请会员</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
@ -223,7 +223,7 @@
|
||||||
bastInfo: '',
|
bastInfo: '',
|
||||||
fastInfo: '',
|
fastInfo: '',
|
||||||
fastList: [],
|
fastList: [],
|
||||||
text: '尊敬的业主:接环卫所通知,近期将对小区进行大扫除,请大家做好准备',
|
text: '暂无公告',
|
||||||
firstInfo: '',
|
firstInfo: '',
|
||||||
salesInfo: '',
|
salesInfo: '',
|
||||||
indicatorDots: false,
|
indicatorDots: false,
|
||||||
|
@ -286,7 +286,7 @@
|
||||||
lineColor: 'red',
|
lineColor: 'red',
|
||||||
lineStyle: {}, // 下划线位置--动态甲酸
|
lineStyle: {}, // 下划线位置--动态甲酸
|
||||||
listActive: 0, // 当前选中项
|
listActive: 0, // 当前选中项
|
||||||
|
vipData:['普通会员','中级会员','高级会员'],
|
||||||
duration: 0.2 // 下划线动画时长
|
duration: 0.2 // 下划线动画时长
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
</view>
|
</view>
|
||||||
<view class="item-text">
|
<view class="item-text">
|
||||||
<text>充值档次:{{item.grade}}</text>
|
<text>充值档次:{{item.grade}}</text>
|
||||||
<text>日期:{{item.stringCreateTime}}</text>
|
<text>日期:{{$util.timestampToTime(item.stringCreateTime)}}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<u-empty v-show="!memberData.length" text="暂无数据" mode="list"></u-empty>
|
<u-empty v-show="!memberData.length" text="暂无数据" mode="list"></u-empty>
|
||||||
|
|
|
@ -15,6 +15,9 @@ import {
|
||||||
setVisit,
|
setVisit,
|
||||||
getUserInfo
|
getUserInfo
|
||||||
} from '@/api/user.js'
|
} from '@/api/user.js'
|
||||||
|
import {
|
||||||
|
mapGetters
|
||||||
|
} from "vuex";
|
||||||
export default {
|
export default {
|
||||||
data(){
|
data(){
|
||||||
return {
|
return {
|
||||||
|
@ -23,11 +26,11 @@ export default {
|
||||||
userInfo: {}
|
userInfo: {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
computed: mapGetters(['tenantId']),
|
||||||
mounted(){
|
mounted(){
|
||||||
getUserInfo().then(res => {
|
getUserInfo().then(res => {
|
||||||
this.userInfo = res.data
|
this.userInfo = res.data
|
||||||
console.log(res.data)
|
getTenant(this.tenantId).then(res => {
|
||||||
getTenant(153).then(res => {
|
|
||||||
this.tenant = res.data
|
this.tenant = res.data
|
||||||
this.text = res.data.notice
|
this.text = res.data.notice
|
||||||
})
|
})
|
||||||
|
|
|
@ -67,7 +67,7 @@
|
||||||
<text>{{item.nickname}}</text>
|
<text>{{item.nickname}}</text>
|
||||||
</view>
|
</view>
|
||||||
<text class="extra">
|
<text class="extra">
|
||||||
{{ timestampToTime(item.payTime) }}
|
{{ $util.timestampToTime(item.payTime) }}
|
||||||
<view>{{ item.grade }}</view>
|
<view>{{ item.grade }}</view>
|
||||||
</text>
|
</text>
|
||||||
</view>
|
</view>
|
||||||
|
@ -152,20 +152,20 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
timestampToTime(timestamp) {
|
// timestampToTime(timestamp) {
|
||||||
// 时间戳为10位需*1000,时间戳为13位不需乘1000
|
// // 时间戳为10位需*1000,时间戳为13位不需乘1000
|
||||||
var date = new Date(timestamp);
|
// var date = new Date(timestamp);
|
||||||
var Y = date.getFullYear() + "-";
|
// var Y = date.getFullYear() + "-";
|
||||||
var M =
|
// var M =
|
||||||
(date.getMonth() + 1 < 10
|
// (date.getMonth() + 1 < 10
|
||||||
? "0" + (date.getMonth() + 1)
|
// ? "0" + (date.getMonth() + 1)
|
||||||
: date.getMonth() + 1) + "-";
|
// : date.getMonth() + 1) + "-";
|
||||||
var D = (date.getDate() < 10 ? "0" + date.getDate() : date.getDate()) + " ";
|
// var D = (date.getDate() < 10 ? "0" + date.getDate() : date.getDate()) + " ";
|
||||||
var h = (date.getHours() < 10 ? "0" + date.getHours() : date.getHours()) + ":";
|
// var h = (date.getHours() < 10 ? "0" + date.getHours() : date.getHours()) + ":";
|
||||||
var m = (date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes()) + ":";
|
// var m = (date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes()) + ":";
|
||||||
var s = (date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds());
|
// var s = (date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds());
|
||||||
return Y + M + D + h + m + s;
|
// return Y + M + D + h + m + s;
|
||||||
},
|
// },
|
||||||
selectClick(value) {
|
selectClick(value) {
|
||||||
console.log(value)
|
console.log(value)
|
||||||
this.active = value.id
|
this.active = value.id
|
||||||
|
|
|
@ -8,6 +8,20 @@ import {
|
||||||
pathToBase64
|
pathToBase64
|
||||||
} from '@/plugin/image-tools/index.js';
|
} from '@/plugin/image-tools/index.js';
|
||||||
export default {
|
export default {
|
||||||
|
timestampToTime(timestamp) {
|
||||||
|
// 时间戳为10位需*1000,时间戳为13位不需乘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());
|
||||||
|
return Y + M + D + h + m + s;
|
||||||
|
},
|
||||||
/**
|
/**
|
||||||
* opt object | string
|
* opt object | string
|
||||||
* to_url object | string
|
* to_url object | string
|
||||||
|
|
Loading…
Reference in New Issue