From 00e122b6b32c07839b944ea47d1775f5793020ba Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期五, 17 二月 2023 18:28:05 +0800 Subject: [PATCH] 用户信息模块,登录功能,优惠券 --- management/guns-admin/src/main/webapp/static/modular/system/tAppUser/tAppUserException.js | 1 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TOrderMapper.java | 2 management/guns-admin/src/main/webapp/static/modular/system/tAppUser/tAppUserDetailOrder.js | 6 management/guns-admin/src/main/webapp/static/modular/system/tCoupon/tCoupon_info.js | 7 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml | 21 + management/guns-admin/src/main/webapp/WEB-INF/view/system/tAppUser/tAppUserDetail.html | 14 management/guns-admin/pom.xml | 16 + management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TCouponServiceImpl.java | 22 + management/guns-admin/src/main/webapp/WEB-INF/view/login.html | 1 management/guns-admin/src/main/webapp/WEB-INF/view/system/tAppUser/tAppUserDetailException.html | 12 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java | 29 + management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TCouponMapper.xml | 3 management/guns-admin/src/main/webapp/WEB-INF/view/system/tCoupon/tCoupon.html | 24 + management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCouponController.java | 25 + management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/enums/OrderStateEnum.java | 60 +++++ management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCoupon.java | 12 + management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrder.java | 179 ++++++++++++++ management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAppUserController.java | 1 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TAppUserDetailOrderResp.java | 16 management/guns-admin/src/main/webapp/WEB-INF/view/system/tCoupon/tCoupon_add.html | 89 ++++++ management/guns-admin/src/main/webapp/static/modular/system/tCoupon/tCoupon.js | 49 +++ management/guns-core/src/main/java/com/stylefeng/guns/core/util/DateUtil.java | 30 ++ management/guns-admin/src/main/webapp/static/modular/system/tAppUser/tAppUser.js | 23 + management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITCouponService.java | 6 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAppUserServiceImpl.java | 58 ++++ 25 files changed, 643 insertions(+), 63 deletions(-) diff --git a/management/guns-admin/pom.xml b/management/guns-admin/pom.xml index e1db7c5..ebeb9ff 100644 --- a/management/guns-admin/pom.xml +++ b/management/guns-admin/pom.xml @@ -15,7 +15,23 @@ </parent> <packaging>war</packaging> + <properties> + <hutool.version>5.3.8</hutool.version> + </properties> + <dependencies> + + <!-- hutool工具类--> + <dependency> + <groupId>cn.hutool</groupId> + <artifactId>hutool-core</artifactId> + <version>${hutool.version}</version> + </dependency> + <dependency> + <groupId>cn.hutool</groupId> + <artifactId>hutool-crypto</artifactId> + <version>${hutool.version}</version> + </dependency> <!--<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAppUserController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAppUserController.java index 216eed1..8d51fb1 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAppUserController.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAppUserController.java @@ -271,7 +271,6 @@ "微信unionid","紧急联系人","紧急联系电话","账户余额","用户标签id","状态","添加时间"}; EntityWrapper<TAppUser> wrapper = tAppUserService.getUserListWrapper(createTime,nickname,phone,id,status); // 是否异常 - wrapper.eq("is_exception",2); List<TAppUser> list = tAppUserService.selectList(wrapper); String[][] values = new String[list.size()][]; diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCouponController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCouponController.java index b7814cb..43f9696 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCouponController.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCouponController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.stylefeng.guns.core.base.controller.BaseController; +import com.stylefeng.guns.core.util.DateUtil; import com.stylefeng.guns.modular.system.controller.req.CouponSendReq; import com.stylefeng.guns.modular.system.enums.CouponStatusEnum; import io.swagger.annotations.ApiOperation; @@ -19,9 +20,7 @@ import com.stylefeng.guns.modular.system.model.TCoupon; import com.stylefeng.guns.modular.system.service.ITCouponService; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; +import java.util.*; /** * 控制器 @@ -70,12 +69,24 @@ */ @RequestMapping(value = "/list") @ResponseBody - public Object list(String condition) { + public Object list(Integer couponType,Integer couponServiceType,String createtime) { EntityWrapper<TCoupon> wrapper = new EntityWrapper<>(); - if(StringUtils.hasLength(condition)){ - wrapper.like("coupon_name",condition); + if(Objects.nonNull(couponType)){ + wrapper.eq("coupon_type",couponType); } + if(Objects.nonNull(couponServiceType)){ + wrapper.eq("coupon_service_type",couponServiceType); + } + // 开始,结束时间 + if(StringUtils.hasLength(createtime)){ + String[] split = createtime.split(" - "); + Date startTime = DateUtil.getDate_str4(split[0]); + Date endTime = DateUtil.getDate_str4(split[1]); + wrapper.between("createtime",startTime,endTime); + } + wrapper.orderBy(true,"createtime",false); wrapper.groupBy(true,"coupon_name"); + wrapper.groupBy(true,"coupon_type"); return tCouponService.selectList(wrapper); } @@ -94,6 +105,8 @@ @RequestMapping(value = "/add") @ResponseBody public Object add(TCoupon tCoupon) { + // 校验是否添加的是同类型同名称的优惠券 + Boolean isExit = tCouponService.isExit(tCoupon); tCouponService.insert(tCoupon); return SUCCESS_TIP; } diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java index e29171a..a1c64e1 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java @@ -1,20 +1,22 @@ package com.stylefeng.guns.modular.system.controller.general; +import cn.hutool.core.date.DateUnit; +import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.stylefeng.guns.core.base.controller.BaseController; -import com.stylefeng.guns.modular.system.controller.resp.TAppUserDetailOrderResp; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.BeanUtils; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.beans.factory.annotation.Autowired; import com.stylefeng.guns.core.log.LogObjectHolder; -import org.springframework.web.bind.annotation.RequestParam; +import com.stylefeng.guns.modular.system.controller.resp.TAppUserDetailOrderResp; import com.stylefeng.guns.modular.system.model.TOrder; import com.stylefeng.guns.modular.system.service.ITOrderService; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; import java.util.ArrayList; import java.util.List; @@ -95,7 +97,12 @@ TAppUserDetailOrderResp tAppUserDetailOrderResp = new TAppUserDetailOrderResp(); BeanUtils.copyProperties(tOrder,tAppUserDetailOrderResp); - // TODO 查询里程数等参数 + // 计算总里程 + + + // 计算总时长 + long travelTimeSum = DateUtil.between(tAppUserDetailOrderResp.getBoardingTime(), tAppUserDetailOrderResp.getGetoffTime(), DateUnit.MINUTE); + tAppUserDetailOrderResp.setTravelTimeSum(Integer.valueOf(Long.toString(travelTimeSum))); list.add(tAppUserDetailOrderResp); } diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TAppUserDetailOrderResp.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TAppUserDetailOrderResp.java index e0170d7..fea2916 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TAppUserDetailOrderResp.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TAppUserDetailOrderResp.java @@ -13,17 +13,17 @@ @ApiModelProperty(value = "总行驶时间(分)") private Integer travelTimeSum; - @ApiModelProperty(value = "基础费用(元)") - private BigDecimal basicExpenses; + /*@ApiModelProperty(value = "基础费用(元)") + private BigDecimal basicExpenses;*/ // @ApiModelProperty(value = "等待时间(5)分钟") // private BigDecimal waitTimePrice; - @ApiModelProperty(value = "里程费(8.0)公里") + /*@ApiModelProperty(value = "里程费(8.0)公里") private BigDecimal mileagePrice; @ApiModelProperty(value = "恶劣天气") - private Integer badWeather; + private Integer badWeather;*/ public Integer getMileageSum() { return mileageSum; @@ -41,15 +41,15 @@ this.travelTimeSum = travelTimeSum; } - public BigDecimal getBasicExpenses() { + /*public BigDecimal getBasicExpenses() { return basicExpenses; } public void setBasicExpenses(BigDecimal basicExpenses) { this.basicExpenses = basicExpenses; - } + }*/ - public BigDecimal getMileagePrice() { + /*public BigDecimal getMileagePrice() { return mileagePrice; } @@ -63,5 +63,5 @@ public void setBadWeather(Integer badWeather) { this.badWeather = badWeather; - } + }*/ } diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TOrderMapper.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TOrderMapper.java index 0b99902..58b6a54 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TOrderMapper.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TOrderMapper.java @@ -2,6 +2,7 @@ import com.stylefeng.guns.modular.system.model.TOrder; import com.baomidou.mybatisplus.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; /** * <p> @@ -11,6 +12,7 @@ * @author stylefeng * @since 2023-02-15 */ +@Mapper public interface TOrderMapper extends BaseMapper<TOrder> { } diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TCouponMapper.xml b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TCouponMapper.xml index 0cc461d..445a099 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TCouponMapper.xml +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TCouponMapper.xml @@ -16,12 +16,13 @@ <result column="coupon_preferential_amount" property="couponPreferentialAmount" /> <result column="coupon_validity" property="couponValidity" /> <result column="coupon_send_quantity" property="couponSendQuantity" /> + <result column="coupon_state" property="couponState" /> </resultMap> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> id,user_id, createtime, coupon_name,coupon_type,coupon_code,coupon_status,coupon_service_type,coupon_conditional_amount, - coupon_preferential_amount,coupon_validity,coupon_send_quantity + coupon_preferential_amount,coupon_validity,coupon_send_quantity,coupon_state </sql> </mapper> diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml index 307cc05..1bdd71a 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml @@ -30,11 +30,30 @@ <result column="state" property="state" /> <result column="status" property="status" /> <result column="createTime" property="createTime" /> + <result column="startDistance" property="startLng" /> + <result column="startPrice" property="endAddress" /> + <result column="overDriveDistance" property="endLat" /> + <result column="overDrivePrice" property="endLng" /> + <result column="longDistance" property="boardingTime" /> + <result column="longDistancePrice" property="getoffTime" /> + <result column="overLongDistance" property="estimatedPrice" /> + <result column="overLongDistancePrice" property="orderMoney" /> + <result column="waitTime" property="payMoney" /> + <result column="waitTimePrice" property="discountedPrice" /> + <result column="outWaitTime" property="couponId" /> + <result column="outWaitTimePrice" property="payType" /> + <result column="badWeatherDistance" property="payTime" /> + <result column="badWeatherPrice" property="state" /> + <result column="overBadWeatherDistance" property="status" /> + <result column="overBadWeatherPrice" property="createTime" /> </resultMap> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> - id, code, userId, driverId, source, agentId, branchOfficeId, startTime, startAddress, startLat, startLng, endAddress, endLat, endLng, boardingTime, getoffTime, estimatedPrice, orderMoney, payMoney, discountedPrice, couponId, payType, payTime, state, status, createTime + id, code, userId, driverId, source, agentId, branchOfficeId, startTime, startAddress, startLat, startLng, endAddress, endLat, endLng, + boardingTime, getoffTime, estimatedPrice, orderMoney, payMoney, discountedPrice, couponId, payType, payTime, state, status, createTime, + startDistance,startPrice,overDriveDistance,overDrivePrice,longDistance,longDistancePrice,overLongDistance,overLongDistancePrice, +waitTime,waitTimePrice,outWaitTime,outWaitTimePrice,badWeatherDistance,badWeatherPrice,overBadWeatherDistance,overBadWeatherPrice </sql> </mapper> diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/enums/OrderStateEnum.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/enums/OrderStateEnum.java new file mode 100644 index 0000000..dacda5f --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/enums/OrderStateEnum.java @@ -0,0 +1,60 @@ +package com.stylefeng.guns.modular.system.enums; + + + +/** + * @Description 订单状态枚举 + * @Author xiaochen + * @Date 2023/02/15 9:42 + */ +public enum OrderStateEnum { + + /*订单状态(101=待接单,102=已接单,103=前往预约点,104=到达预约点,105=开始服务,106=到达目的地,107=待评价,108=已完成,201=转单中,301=已取消)*/ + + PENDING_ORDER(101, "待接单"), + ORDER_RECEIVED(102, "已接单"), + GO_APPOINTMENT_POINT(103, "前往预约点"), + ARRIVE_APPOINTMENT_POINT(104, "到达预约点"), + START_SERVICE(105, "开始服务"), + ARRIVE_IN(106, "到达目的地"), + WAIT_EVALUATED(107, "待评价"), + FINISH(108, "已完成"), + TRANSFERRING(201, "转单中"), + CANCELED(301,"已取消"); + + private String desc; + + + private int code; + + + OrderStateEnum(int code, String desc) { + this.code = code; + this.desc = desc; + } + + public String getDesc() { + return desc; + } + + public int getCode() { + return code; + } + + /** + * 通过code获取枚举 + * + * @param code + * @return + */ + public static OrderStateEnum fromCode(Integer code) { + OrderStateEnum[] resultTypes = OrderStateEnum.values(); + for (OrderStateEnum resultType : resultTypes) { + if (code.equals(resultType.getCode())) { + return resultType; + } + } + return null; + } + +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCoupon.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCoupon.java index e4cee29..760504b 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCoupon.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCoupon.java @@ -75,6 +75,18 @@ @TableField("coupon_send_quantity") private Integer couponSendQuantity; + @ApiModelProperty(value = "是否冻结 1正常 2冻结") + @TableField("coupon_state") + private Integer couponState; + + public Integer getCouponState() { + return couponState; + } + + public void setCouponState(Integer couponState) { + this.couponState = couponState; + } + public Integer getCouponValidity() { return couponValidity; } diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrder.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrder.java index cc84797..4825eed 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrder.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrder.java @@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.activerecord.Model; import com.baomidou.mybatisplus.annotations.TableName; +import io.swagger.annotations.ApiModelProperty; + import java.io.Serializable; /** @@ -115,7 +117,7 @@ */ private Date payTime; /** - * 订单状态(1=待接单,2=已接单,3=) + * 订单状态(订单状态(101=待接单,102=已接单,103=前往预约点,104=到达预约点,105=开始服务,106=到达目的地,107=待评价,108=已完成,201=转单中,301=已取消)) */ private Integer state; /** @@ -127,6 +129,181 @@ */ private Date createTime; + @ApiModelProperty(value = "起步里程(公里)") + private Double startDistance; + + @ApiModelProperty(value = "起步价") + private BigDecimal startPrice; + + @ApiModelProperty(value = "超出起步里程") + private Double overDriveDistance; + + @ApiModelProperty(value = "超出起步里程费") + private BigDecimal overDrivePrice; + + @ApiModelProperty(value = "长途里程") + private String longDistance; + + @ApiModelProperty(value = "长途里程费") + private BigDecimal longDistancePrice; + + @ApiModelProperty(value = "超出长途里程") + private Double overLongDistance; + + @ApiModelProperty(value = "超出长途里程费") + private BigDecimal overLongDistancePrice; + + @ApiModelProperty(value = "等待时长(分钟)") + private Integer waitTime; + + @ApiModelProperty(value = "等待费") + private BigDecimal waitTimePrice; + + @ApiModelProperty(value = "超出等待时长(分钟)") + private Integer outWaitTime; + + @ApiModelProperty(value = "超出等待费") + private BigDecimal outWaitTimePrice; + + @ApiModelProperty(value = "恶劣天气里程") + private BigDecimal badWeatherDistance; + + @ApiModelProperty(value = "恶劣天气费") + private BigDecimal badWeatherPrice; + + @ApiModelProperty(value = "恶劣天气超出里程") + private Double overBadWeatherDistance; + + @ApiModelProperty(value = "恶劣天气超出费") + private BigDecimal overBadWeatherPrice; + + public Double getStartDistance() { + return startDistance; + } + + public void setStartDistance(Double startDistance) { + this.startDistance = startDistance; + } + + public BigDecimal getStartPrice() { + return startPrice; + } + + public void setStartPrice(BigDecimal startPrice) { + this.startPrice = startPrice; + } + + public Double getOverDriveDistance() { + return overDriveDistance; + } + + public void setOverDriveDistance(Double overDriveDistance) { + this.overDriveDistance = overDriveDistance; + } + + public BigDecimal getOverDrivePrice() { + return overDrivePrice; + } + + public void setOverDrivePrice(BigDecimal overDrivePrice) { + this.overDrivePrice = overDrivePrice; + } + + public String getLongDistance() { + return longDistance; + } + + public void setLongDistance(String longDistance) { + this.longDistance = longDistance; + } + + public BigDecimal getLongDistancePrice() { + return longDistancePrice; + } + + public void setLongDistancePrice(BigDecimal longDistancePrice) { + this.longDistancePrice = longDistancePrice; + } + + public Double getOverLongDistance() { + return overLongDistance; + } + + public void setOverLongDistance(Double overLongDistance) { + this.overLongDistance = overLongDistance; + } + + public BigDecimal getOverLongDistancePrice() { + return overLongDistancePrice; + } + + public void setOverLongDistancePrice(BigDecimal overLongDistancePrice) { + this.overLongDistancePrice = overLongDistancePrice; + } + + public Integer getWaitTime() { + return waitTime; + } + + public void setWaitTime(Integer waitTime) { + this.waitTime = waitTime; + } + + public BigDecimal getWaitTimePrice() { + return waitTimePrice; + } + + public void setWaitTimePrice(BigDecimal waitTimePrice) { + this.waitTimePrice = waitTimePrice; + } + + public Integer getOutWaitTime() { + return outWaitTime; + } + + public void setOutWaitTime(Integer outWaitTime) { + this.outWaitTime = outWaitTime; + } + + public BigDecimal getOutWaitTimePrice() { + return outWaitTimePrice; + } + + public void setOutWaitTimePrice(BigDecimal outWaitTimePrice) { + this.outWaitTimePrice = outWaitTimePrice; + } + + public BigDecimal getBadWeatherDistance() { + return badWeatherDistance; + } + + public void setBadWeatherDistance(BigDecimal badWeatherDistance) { + this.badWeatherDistance = badWeatherDistance; + } + + public BigDecimal getBadWeatherPrice() { + return badWeatherPrice; + } + + public void setBadWeatherPrice(BigDecimal badWeatherPrice) { + this.badWeatherPrice = badWeatherPrice; + } + + public Double getOverBadWeatherDistance() { + return overBadWeatherDistance; + } + + public void setOverBadWeatherDistance(Double overBadWeatherDistance) { + this.overBadWeatherDistance = overBadWeatherDistance; + } + + public BigDecimal getOverBadWeatherPrice() { + return overBadWeatherPrice; + } + + public void setOverBadWeatherPrice(BigDecimal overBadWeatherPrice) { + this.overBadWeatherPrice = overBadWeatherPrice; + } public Integer getId() { return id; diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITCouponService.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITCouponService.java index f5af6c0..f2f5658 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITCouponService.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITCouponService.java @@ -13,4 +13,10 @@ */ public interface ITCouponService extends IService<TCoupon> { + /** + * 校验是否添加的是同类型同名称的优惠券 + * @param tCoupon + * @return + */ + Boolean isExit(TCoupon tCoupon); } diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAppUserServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAppUserServiceImpl.java index 63c5f13..ceb0da7 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAppUserServiceImpl.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAppUserServiceImpl.java @@ -3,20 +3,26 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.stylefeng.guns.core.util.DateUtil; import com.stylefeng.guns.modular.system.dao.TCouponMapper; +import com.stylefeng.guns.modular.system.dao.TOrderMapper; import com.stylefeng.guns.modular.system.enums.CouponStatusEnum; +import com.stylefeng.guns.modular.system.enums.OrderStateEnum; import com.stylefeng.guns.modular.system.model.TAppUser; import com.stylefeng.guns.modular.system.dao.TAppUserMapper; import com.stylefeng.guns.modular.system.model.TCoupon; +import com.stylefeng.guns.modular.system.model.TOrder; import com.stylefeng.guns.modular.system.service.ITAppUserService; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.ui.Model; +import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; +import java.math.BigDecimal; import java.util.Date; import java.util.List; import java.util.Objects; +import java.util.Optional; import java.util.stream.Collectors; /** @@ -34,6 +40,8 @@ private TAppUserMapper tAppUserMapper; @Autowired private TCouponMapper tCouponMapper; + @Autowired + private TOrderMapper tOrderMapper; @Override public void detail(Integer tAppUserId, Model model) { @@ -44,7 +52,10 @@ model.addAttribute("id",tAppUser.getId()); model.addAttribute("nickname",tAppUser.getNickname()); model.addAttribute("remark",tAppUser.getRemark()); - model.addAttribute("createTime",tAppUser.getCreateTime()); + model.addAttribute("createTime",DateUtil.formatDate(tAppUser.getCreateTime())); + // 客户渠道 + model.addAttribute("customerChannel",""); + // 消费信息:优惠券数据 List<TCoupon> tCoupons = tCouponMapper.selectList(new EntityWrapper<TCoupon>().eq("user_id", tAppUserId)); List<TCoupon> notUsedList = tCoupons.stream().filter(coupon -> coupon.getCouponStatus().equals(CouponStatusEnum.NOT_USED.getCode())).collect(Collectors.toList()); @@ -53,6 +64,51 @@ model.addAttribute("notUsedCount",notUsedList.size()); model.addAttribute("usedCount",usedList.size()); model.addAttribute("expiredCount",expiredList.size()); + // 查询订单数据 + List<TOrder> orders = tOrderMapper.selectList(new EntityWrapper<TOrder>().eq("userId", tAppUserId).orderBy(true,"createTime",false)); + if(!CollectionUtils.isEmpty(orders)){ + // 下单次数 + model.addAttribute("numberOfOrder",orders.size()); + // 取消次数 + List<TOrder> collect = orders.stream().filter(order->Objects.nonNull(order.getState())) + .filter(order -> OrderStateEnum.CANCELED.getCode() == order.getState()).collect(Collectors.toList()); + model.addAttribute("canceledNumber",collect.size()); + + TOrder tOrder = orders.get(0); + // 最近消费时间 + model.addAttribute("latelyTime",DateUtil.formatDate(tOrder.getCreateTime())); + // 最近消费金额 + model.addAttribute("latelyPrice",tOrder.getPayMoney()); + + // 总消费次数 + List<TOrder> collect1 = orders.stream().filter(order->Objects.nonNull(order.getState())) + .filter(order -> OrderStateEnum.WAIT_EVALUATED.getCode() == order.getState() || + OrderStateEnum.FINISH.getCode() == order.getState()).collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(collect1)){ + model.addAttribute("consumeSum",collect1.size()); + // 总消费金额 + collect1.stream().map(TOrder::getPayMoney).reduce(BigDecimal::add) + .ifPresent(consumePrice -> model.addAttribute("consumePrice", consumePrice)); + }else { + // 总消费次数 + model.addAttribute("consumeSum",0); + // 总消费金额 + model.addAttribute("consumePrice", 0); + } + }else { + // 下单次数 + model.addAttribute("numberOfOrder",0); + // 取消次数 + model.addAttribute("canceledNumber",0); + // 最近消费时间 + model.addAttribute("latelyTime",""); + // 最近消费金额 + model.addAttribute("latelyPrice",0); + // 总消费次数 + model.addAttribute("consumeSum",0); + // 总消费金额 + model.addAttribute("consumePrice", 0); + } } @Override diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TCouponServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TCouponServiceImpl.java index 45d2582..cf0ed4c 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TCouponServiceImpl.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TCouponServiceImpl.java @@ -1,10 +1,15 @@ package com.stylefeng.guns.modular.system.service.impl; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.stylefeng.guns.modular.system.model.TCoupon; import com.stylefeng.guns.modular.system.dao.TCouponMapper; import com.stylefeng.guns.modular.system.service.ITCouponService; import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import org.apache.poi.hdf.extractor.TC; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + +import java.util.Objects; /** * <p> @@ -17,4 +22,21 @@ @Service public class TCouponServiceImpl extends ServiceImpl<TCouponMapper, TCoupon> implements ITCouponService { + @Autowired + private TCouponMapper tCouponMapper; + + @Override + public Boolean isExit(TCoupon tCoupon) { + + Integer count = tCouponMapper.selectCount(new EntityWrapper<TCoupon>().eq("coupon_name", tCoupon.getCouponName()) + .eq("coupon_type",tCoupon.getCouponType())); + + if(Objects.nonNull(tCoupon.getId())){ + // 修改 + }else { + // 新增 + return count>0; + } + return null; + } } diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/login.html b/management/guns-admin/src/main/webapp/WEB-INF/view/login.html index 84b2527..c7c9ea8 100644 --- a/management/guns-admin/src/main/webapp/WEB-INF/view/login.html +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/login.html @@ -103,7 +103,6 @@ <script src="${ctxPath}/static/crypto-js/crypto-js.js"></script> <script> $(function () { - console.log($("#number").val()) if($("#number").val()==5){ document.getElementById("verifyNumber").setAttribute("required","") $("#verify").show() diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAppUser/tAppUserDetail.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAppUser/tAppUserDetail.html index 787c3ff..c587b89 100644 --- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAppUser/tAppUserDetail.html +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAppUser/tAppUserDetail.html @@ -37,15 +37,15 @@ <div class="initialLevel col-sm-12 control-label form-group" > <div class="initialLevel col-sm-3 control-label form-group" style="margin-left: 150px"> <label class="control-label">客户渠道:</label> - <label>${expiredCount}</label> + <label>${customerChannel}</label> </div> <div class="initialLevel col-sm-2 control-label form-group" style="margin-left: 150px"> <label class="control-label" >下单次数:</label> - <label>${expiredCount}</label> + <label>${numberOfOrder}</label> </div> <div class="initialLevel col-sm-3 control-label form-group" style="margin-left: 150px" > <label class="control-label" >取消次数:</label> - <label>${expiredCount}</label> + <label>${canceledNumber}</label> </div> </div> @@ -69,7 +69,7 @@ <div class="initialLevel col-sm-12 control-label form-group" > <div class="initialLevel col-sm-4 control-label form-group" style="margin-left: 70px"> <label class="control-label">最近消费时间:</label> - <label>${expiredCount}</label> + <label>${latelyTime}</label> </div> <div class="initialLevel col-sm-2 control-label form-group" > <label class="control-label">未使用:</label> @@ -84,7 +84,7 @@ <div class="initialLevel col-sm-12 control-label form-group" > <div class="initialLevel col-sm-4 control-label form-group" style="margin-left: 70px" > <label class="control-label" >最近消费金额:</label> - <label>${expiredCount}</label> + <label>${latelyPrice}</label> </div> <div class="initialLevel col-sm-4 control-label form-group" > <label class="control-label">已过期:</label> @@ -104,7 +104,7 @@ <div class="initialLevel col-sm-12 control-label form-group" > <div class="initialLevel col-sm-4 control-label form-group" style="margin-left: 70px" > <label class="control-label">总消费金额:</label> - <label>${expiredCount}</label> + <label>${consumePrice}</label> </div> <div class="initialLevel col-sm-2 control-label form-group" > <label class="control-label">剩余:</label> @@ -115,7 +115,7 @@ <div class="initialLevel col-sm-12 control-label form-group" > <div class="initialLevel col-sm-4 control-label form-group" style="margin-left: 70px" > <label class="control-label">总消费次数:</label> - <label>${expiredCount}</label> + <label>${consumeSum}</label> </div> </div> diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAppUser/tAppUserDetailException.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAppUser/tAppUserDetailException.html index c53c9d7..49027f2 100644 --- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAppUser/tAppUserDetailException.html +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAppUser/tAppUserDetailException.html @@ -41,11 +41,11 @@ </div> <div class="initialLevel col-sm-2 control-label form-group" > <label class="control-label" >下单次数:</label> - <label>${expiredCount}</label> + <label>${numberOfOrder}</label> </div> <div class="initialLevel col-sm-3 control-label form-group" > <label class="control-label" >取消次数:</label> - <label>${expiredCount}</label> + <label>${canceledNumber}</label> </div> </div> @@ -69,7 +69,7 @@ <div class="initialLevel col-sm-12 control-label form-group" > <div class="initialLevel col-sm-4 control-label form-group" style="margin-left: 70px"> <label class="control-label">最近消费时间:</label> - <label>${expiredCount}</label> + <label>${latelyTime}</label> </div> <div class="initialLevel col-sm-2 control-label form-group" > <label class="control-label">未使用:</label> @@ -84,7 +84,7 @@ <div class="initialLevel col-sm-12 control-label form-group" > <div class="initialLevel col-sm-4 control-label form-group" style="margin-left: 70px" > <label class="control-label" >最近消费金额:</label> - <label>${expiredCount}</label> + <label>${latelyPrice}</label> </div> <div class="initialLevel col-sm-4 control-label form-group" > <label class="control-label">已过期:</label> @@ -104,7 +104,7 @@ <div class="initialLevel col-sm-12 control-label form-group" > <div class="initialLevel col-sm-4 control-label form-group" style="margin-left: 70px" > <label class="control-label">总消费金额:</label> - <label>${expiredCount}</label> + <label>${consumePrice}</label> </div> <div class="initialLevel col-sm-2 control-label form-group" > <label class="control-label">剩余:</label> @@ -115,7 +115,7 @@ <div class="initialLevel col-sm-12 control-label form-group" > <div class="initialLevel col-sm-4 control-label form-group" style="margin-left: 70px" > <label class="control-label">总消费次数:</label> - <label>${expiredCount}</label> + <label>${consumeSum}</label> </div> </div> diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCoupon/tCoupon.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCoupon/tCoupon.html index f8fd961..1882e6f 100644 --- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCoupon/tCoupon.html +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCoupon/tCoupon.html @@ -10,9 +10,22 @@ <div class="col-sm-12"> <div class="row"> <div class="col-sm-3"> - <#NameCon id="condition" name="名称" /> + <#TimeCon id="createtime" name="发布时间"/> </div> - <div class="col-sm-3"> + <div class="col-sm-2"> + <select class="input-group" id="couponType" style="width: 180px;height: 33px" name="couponType"> + <option value="">优惠券类型</option> + <option value="1">活动券</option> + <option value="2">优惠券</option> + </select> + </div> + <div class="col-sm-2"> + <select class="input-group" id="couponServiceType" style="width: 180px;height: 33px" name="couponServiceType"> + <option value="">服务类类型</option> + <option value="1">通用券</option> + </select> + </div> + <div class="col-sm-1"> <#button name="搜索" icon="fa-search" clickFun="TCoupon.search()"/> </div> </div> @@ -35,4 +48,11 @@ </div> </div> <script src="${ctxPath}/static/modular/system/tCoupon/tCoupon.js"></script> +<script type="text/javascript"> + laydate.render({ + elem: '#createtime', + type: 'date', + range: true + }); +</script> @} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCoupon/tCoupon_add.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCoupon/tCoupon_add.html index 5bf8512..4f19113 100644 --- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCoupon/tCoupon_add.html +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCoupon/tCoupon_add.html @@ -1,21 +1,96 @@ @layout("/common/_container.html"){ <div class="ibox float-e-margins"> <div class="ibox-content"> - <div class="form-horizontal"> + <div class="form-horizontal" style="width: "> <div class="row"> - <div class="col-sm-6 b-r"> - <#input id="id" name="主键" underline="true"/> - <#input id="createtime" name="创建时间"/> + <div class="col-sm-12"> + <div class="form-group"> + <label class="col-sm-3 control-label">优惠券名称:</label> + <div class="col-sm-6"> + <input class="form-control" id="couponName" name="couponName" type="text"> + </div> + </div> + <div class="hr-line-dashed"></div> </div> - <div class="col-sm-6"> - <#input id="couponName" name="优惠券名称" underline="true"/> + <div class="col-sm-12"> + <div class="form-group"> + <label class="col-sm-3 control-label">优惠券类型:</label> + <select class="input-group col-sm-6" id="couponType" style="width: 180px;height: 33px" name="couponType"> + <option value="1">活动券</option> + <option value="2">优惠券</option> + </select> + </div> + <div class="hr-line-dashed"></div> + </div> + + <div class="col-sm-12"> + <div class="form-group"> + <label class="col-sm-3 control-label">服务类类型:</label> + <select class="input-group col-sm-6" id="couponServiceType" style="width: 180px;height: 33px" name="couponType"> + <option value="1">通用型</option> + </select> + </div> + <div class="hr-line-dashed"></div> + </div> + + <div class="col-sm-12"> + <div class="form-group"> + <label class="col-sm-3 control-label">优惠券数量:</label> + <div class="col-sm-6"> + <input class="form-control" id="couponCount" name="couponCount" type="text"> + </div> + </div> + <div class="hr-line-dashed"></div> + </div> + + <div class="col-sm-12"> + <div class="form-group"> + <label class="col-sm-3 control-label">条件金额:订单满</label> + <div class="col-sm-6"> + <input class="form-control" id="couponConditionalAmount" name="couponConditionalAmount" type="text"> + </div> + <label class="col-sm-2 control-label">可使用</label> + </div> + <div class="hr-line-dashed"></div> + </div> + + <div class="col-sm-12"> + <div class="form-group"> + <label class="col-sm-3 control-label">优惠金额:</label> + <div class="col-sm-6"> + <input class="form-control" id="couponPreferentialAmount" name="couponPreferentialAmount" type="text"> + </div> + </div> + <div class="hr-line-dashed"></div> + </div> + + <div class="col-sm-12"> + <div class="form-group"> + <label class="col-sm-3 control-label">有效期:</label> + <div class="col-sm-6"> + <input class="form-control" id="couponValidity" name="couponValidity" type="text"> + </div> + <label class="col-sm-1 control-label">天</label> + </div> + <div class="hr-line-dashed"></div> + </div> + + <div class="col-sm-12"> + <div class="form-group"> + <label class="col-sm-3 control-label">赠送数量:</label> + <div class="col-sm-6"> + <input class="form-control" id="couponSendQuantity" name="couponSendQuantity" type="text"> + </div> + <label class="col-sm-1 control-label">张</label> + </div> + <div class="hr-line-dashed"></div> </div> </div> <div class="row btn-group-m-t"> - <div class="col-sm-10"> + <div class="col-sm-10" style="text-align: center"> <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TCouponInfoDlg.addSubmit()"/> <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TCouponInfoDlg.close()"/> </div> diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tAppUser/tAppUser.js b/management/guns-admin/src/main/webapp/static/modular/system/tAppUser/tAppUser.js index 77e7147..f3a2634 100644 --- a/management/guns-admin/src/main/webapp/static/modular/system/tAppUser/tAppUser.js +++ b/management/guns-admin/src/main/webapp/static/modular/system/tAppUser/tAppUser.js @@ -17,7 +17,17 @@ {title: '用户ID', field: 'id', visible: true, align: 'center', valign: 'middle'}, {title: '用户昵称', field: 'nickname', visible: true, align: 'center', valign: 'middle'}, {title: '手机号', field: 'phone', visible: true, align: 'center', valign: 'middle'}, - {title: '性别', field: 'sex', visible: true, align: 'center', valign: 'middle'}, + {title: '性别', field: 'sex', visible: true, align: 'center', valign: 'middle', + formatter: function (value, row) { + if (row.sex === 1){ + return '<span>男</span>' + }else if (row.sex === 2){ + return '<span>女</span>' + }else { + return '<span>未知</span>' + } + } + }, {title: '头像', field: 'avatar', visible: true, align: 'center', valign: 'middle'}, {title: '微信openid', field: 'openid', visible: true, align: 'center', valign: 'middle'}, {title: '微信unionid', field: 'unionid', visible: true, align: 'center', valign: 'middle'}, @@ -25,7 +35,15 @@ {title: '紧急联系电话', field: 'emergencyPhone', visible: true, align: 'center', valign: 'middle'}, {title: '账户余额', field: 'accountBalance', visible: true, align: 'center', valign: 'middle'}, {title: '用户标签id', field: 'userTagId', visible: true, align: 'center', valign: 'middle'}, - {title: '状态', field: 'status', visible: true, align: 'center', valign: 'middle'}, + {title: '状态', field: 'status', visible: true, align: 'center', valign: 'middle', + formatter: function (value, row) { + if (row.status === 1){ + return '<span>正常</span>' + }else if (row.status === 2){ + return '<span>冻结</span>' + } + } + }, {title: '添加时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'}, // {title: '是否异常', field: 'isException', hidden:true, visible: true, align: 'center', valign: 'middle'}, // {title: '启用冻结理由', field: 'remark', hidden:true,visible: true, align: 'center', valign: 'middle'}, @@ -247,6 +265,7 @@ $("#createTime").val(''); $("#id").val(''); $("#status").val(''); + TAppUser.search(); } $(function () { diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tAppUser/tAppUserDetailOrder.js b/management/guns-admin/src/main/webapp/static/modular/system/tAppUser/tAppUserDetailOrder.js index cccb965..45518a3 100644 --- a/management/guns-admin/src/main/webapp/static/modular/system/tAppUser/tAppUserDetailOrder.js +++ b/management/guns-admin/src/main/webapp/static/modular/system/tAppUser/tAppUserDetailOrder.js @@ -21,10 +21,10 @@ {title: '目的地', field: 'endAddress', visible: true, align: 'center', valign: 'middle'}, {title: '总行驶里程(公里)', field: 'mileageSum', visible: true, align: 'center', valign: 'middle'}, {title: '总行驶时间(分)', field: 'travelTimeSum', visible: true, align: 'center', valign: 'middle'}, - {title: '基础费用(元)', field: 'basicExpenses', visible: true, align: 'center', valign: 'middle'}, + {title: '基础费用(元)', field: 'startPrice', visible: true, align: 'center', valign: 'middle'}, {title: '等待时间(5)分钟', field: 'waitTimePrice', visible: true, align: 'center', valign: 'middle'}, - {title: '里程费(8.0)公里', field: 'mileagePrice', visible: true, align: 'center', valign: 'middle'}, - {title: '恶劣天气', field: 'badWeather', visible: true, align: 'center', valign: 'middle'}, + {title: '里程费(8.0)公里', field: 'longDistancePrice', visible: true, align: 'center', valign: 'middle'}, + {title: '恶劣天气', field: 'badWeatherDistance', visible: true, align: 'center', valign: 'middle'}, {title: '支付金额', field: 'payMoney', visible: true, align: 'center', valign: 'middle'}, ]; }; diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tAppUser/tAppUserException.js b/management/guns-admin/src/main/webapp/static/modular/system/tAppUser/tAppUserException.js index 2627ee3..6676c27 100644 --- a/management/guns-admin/src/main/webapp/static/modular/system/tAppUser/tAppUserException.js +++ b/management/guns-admin/src/main/webapp/static/modular/system/tAppUser/tAppUserException.js @@ -264,6 +264,7 @@ $("#createTime").val(''); $("#id").val(''); $("#status").val(''); + this.search(); } $(function () { diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tCoupon/tCoupon.js b/management/guns-admin/src/main/webapp/static/modular/system/tCoupon/tCoupon.js index bf6cfce..ba2c3b4 100644 --- a/management/guns-admin/src/main/webapp/static/modular/system/tCoupon/tCoupon.js +++ b/management/guns-admin/src/main/webapp/static/modular/system/tCoupon/tCoupon.js @@ -17,14 +17,51 @@ {title: '主键', field: 'id', visible: true, align: 'center', valign: 'middle'}, {title: '创建时间', field: 'createtime', visible: true, align: 'center', valign: 'middle'}, {title: '优惠券名称', field: 'couponName', visible: true, align: 'center', valign: 'middle'}, - {title: '优惠券类型', field: 'couponType', visible: true, align: 'center', valign: 'middle'}, + {title: '优惠券类型', field: 'couponType', visible: true, align: 'center', valign: 'middle', + formatter: function (value, row) { + if (row.couponType === 1){ + return '<span>活动券</span>' + }else if (row.couponType === 2){ + return '<span>新人券</span>' + } + } + }, {title: '优惠券码', field: 'couponCode', visible: true, align: 'center', valign: 'middle'}, - {title: '优惠券状态', field: 'couponStatus', visible: true, align: 'center', valign: 'middle'}, - {title: '服务类型', field: 'couponServiceType', visible: true, align: 'center', valign: 'middle'}, + {title: '优惠券状态', field: 'couponStatus', visible: true, align: 'center', valign: 'middle', + formatter: function (value, row) { + if (row.couponType === 1){ + return '<span>未发放</span>' + }else if (row.couponType === 2){ + return '<span>未使用</span>' + }else if (row.couponType === 3){ + return '<span>已使用</span>' + }else if (row.couponType === 4){ + return '<span>已过期</span>' + } + } + }, + {title: '服务类型', field: 'couponServiceType', visible: true, align: 'center', valign: 'middle', + formatter: function (value, row) { + if (row.couponType === 1){ + return '<span>通用型</span>' + } + } + }, {title: '条件金额', field: 'couponConditionalAmount', visible: true, align: 'center', valign: 'middle'}, {title: '优惠金额', field: 'couponPreferentialAmount', visible: true, align: 'center', valign: 'middle'}, {title: '有效期', field: 'couponValidity', visible: true, align: 'center', valign: 'middle'}, - {title: '赠送数量', field: 'couponSendQuantity', visible: true, align: 'center', valign: 'middle'} + {title: '赠送数量', field: 'couponSendQuantity', visible: true, align: 'center', valign: 'middle'}, + {title: '操作', visible: true, align: 'center', valign: 'middle',width:150, + formatter: function (value, row) { + if (row.state === 1){ + return '<a href="#" onclick="TCoupon.stop('+row.id+','+row.status+')" style="color:red">停用</a>' +' ' + + '<a href="#" onclick="TCoupon.delete('+row.id+')" style="color:red">删除</a>' + }else if (row.state === 2){ + return '<a href="#" onclick="TCoupon.start('+row.id+','+row.status+')" style="color:green">启用</a>' +' ' + + '<a href="#" onclick="TCoupon.delete('+row.id+')" style="color:red">删除</a>' + } + } + } ]; }; @@ -95,7 +132,9 @@ */ TCoupon.search = function () { var queryData = {}; - queryData['condition'] = $("#condition").val(); + queryData['couponType'] = $("#couponType").val(); + queryData['couponServiceType'] = $("#couponServiceType").val(); + queryData['createtime'] = $("#createtime").val(); TCoupon.table.refresh({query: queryData}); }; diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tCoupon/tCoupon_info.js b/management/guns-admin/src/main/webapp/static/modular/system/tCoupon/tCoupon_info.js index 40ac2a9..5fc5939 100644 --- a/management/guns-admin/src/main/webapp/static/modular/system/tCoupon/tCoupon_info.js +++ b/management/guns-admin/src/main/webapp/static/modular/system/tCoupon/tCoupon_info.js @@ -47,6 +47,13 @@ this .set('id') .set('createtime') + .set('couponType') + .set('couponServiceType') + .set('couponCount') + .set('couponConditionalAmount') + .set('couponPreferentialAmount') + .set('couponValidity') + .set('couponSendQuantity') .set('couponName'); } diff --git a/management/guns-core/src/main/java/com/stylefeng/guns/core/util/DateUtil.java b/management/guns-core/src/main/java/com/stylefeng/guns/core/util/DateUtil.java index 9dbcdab..21b4be2 100644 --- a/management/guns-core/src/main/java/com/stylefeng/guns/core/util/DateUtil.java +++ b/management/guns-core/src/main/java/com/stylefeng/guns/core/util/DateUtil.java @@ -295,6 +295,36 @@ } /** + * 字符串日期转Date yyyy-MM-dd + * @param dateStr + * @return + */ + public static Date getDate_str4(String dateStr) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + sdf.setTimeZone(tz); + if ("".equals(dateStr)) { + dateStr = sdf.format(DateUtil.getDate()); + } + Date date = null; + try { + date = sdf.parse(dateStr); + } catch (ParseException e) { + e.printStackTrace(); + } + return date; + } + + /** + * 格式化Date yyyy-MM-dd HH:mm:ss + * @param date + * @return + */ + public static String formatDate(Date date) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + return sdf.format(date); + } + + /** * 获取当前毫秒数 * @return long */ -- Gitblit v1.7.1