From 39ef91d9ea521d56f8f743c21dc0389409339de1 Mon Sep 17 00:00:00 2001 From: masterspirit Date: Tue, 14 Aug 2018 10:35:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dcoupon=E4=BB=A3=E7=A0=81(deci?= =?UTF-8?q?mal=E8=BD=ACint)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WxCouponOrderController.java | 9 +++ .../java/com/simple/domain/po/WxCoupon.java | 44 +++++++++++ .../simple/service/WxCouponOrderService.java | 9 +++ .../impl/WxCouponOrderServiceImpl.java | 73 +++++++++++++++++++ 4 files changed, 135 insertions(+) create mode 100644 mallinkService/src/main/java/com/simple/service/impl/WxCouponOrderServiceImpl.java diff --git a/mallinkAdmin/src/main/java/com/simple/controller/WxCouponOrderController.java b/mallinkAdmin/src/main/java/com/simple/controller/WxCouponOrderController.java index da8ef08f1..b834d8612 100644 --- a/mallinkAdmin/src/main/java/com/simple/controller/WxCouponOrderController.java +++ b/mallinkAdmin/src/main/java/com/simple/controller/WxCouponOrderController.java @@ -5,6 +5,7 @@ import com.simple.common.Result; import com.simple.common.ResultData; import com.simple.domain.po.WxCouponOrder; import com.simple.service.WxCouponOrderService; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; @@ -14,6 +15,7 @@ import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("wxCouponOrder") +@Api(description="核销和用户卡券查询接口") public class WxCouponOrderController extends BaseController { @Autowired @@ -62,6 +64,13 @@ public class WxCouponOrderController extends BaseController public ResultData findById(Long id) { return new ResultData(Result.SUCCESS,"查询成功",wxCouponOrderService.getById(id)); } + + @ApiOperation("核销接口") + @PostMapping("verify") + public ResultData verify(@RequestBody WxCouponOrder wxCouponOrder) { + wxCouponOrderService.verify(wxCouponOrder.getId(),getUser()); + return new ResultData(); + } diff --git a/mallinkService/src/main/java/com/simple/domain/po/WxCoupon.java b/mallinkService/src/main/java/com/simple/domain/po/WxCoupon.java index c8ce07284..29ab921a3 100644 --- a/mallinkService/src/main/java/com/simple/domain/po/WxCoupon.java +++ b/mallinkService/src/main/java/com/simple/domain/po/WxCoupon.java @@ -1,6 +1,7 @@ package com.simple.domain.po; import javax.persistence.*; +import java.text.DecimalFormat; import java.util.*; import java.math.*; import javax.persistence.Transient; @@ -41,6 +42,14 @@ public class WxCoupon implements Serializable { } + @Transient + private String salePriceStr; + + @Transient + private String usePriceStr; + + @Transient + private String priceStr; /*租户ID**/ @io.swagger.annotations.ApiModelProperty(value="租户ID",name="tenantId") @@ -276,6 +285,41 @@ public class WxCoupon implements Serializable { public void setBusiness(String _business) { business = _business; } + public String getSalePriceStr() { + if(salePrice!=null) { + DecimalFormat df=new DecimalFormat("0.00"); + salePriceStr = df.format((float)salePrice/100); + } + return salePriceStr; + } + + public void setSalePriceStr(String salePriceStr) { + this.salePriceStr = salePriceStr; + } + + public String getUsePriceStr() { + if(usePrice!=null) { + DecimalFormat df=new DecimalFormat("0.00"); + usePriceStr = df.format((float)usePrice/100); + } + return usePriceStr; + } + + public void setUsePriceStr(String usePriceStr) { + this.usePriceStr = usePriceStr; + } + + public String getPriceStr() { + if(price!=null) { + DecimalFormat df=new DecimalFormat("0.00"); + priceStr = df.format((float)price/100); + } + return priceStr; + } + + public void setPriceStr(String priceStr) { + this.priceStr = priceStr; + } diff --git a/mallinkService/src/main/java/com/simple/service/WxCouponOrderService.java b/mallinkService/src/main/java/com/simple/service/WxCouponOrderService.java index 39fce4b26..61508b363 100644 --- a/mallinkService/src/main/java/com/simple/service/WxCouponOrderService.java +++ b/mallinkService/src/main/java/com/simple/service/WxCouponOrderService.java @@ -2,6 +2,8 @@ package com.simple.service; import java.util.*; import com.github.pagehelper.PageInfo; +import com.simple.common.ResultData; +import com.simple.domain.po.MallUserInfo; import com.simple.domain.po.WxCouponOrder; public interface WxCouponOrderService { @@ -37,6 +39,13 @@ public interface WxCouponOrderService { * @param id */ void deleteById(Long id); + /** + * 根据主键Id(券码)核销 + * + * @param id + * @param mallUserInfo 核销人(登录用户) + */ + ResultData verify(Long id, MallUserInfo mallUserInfo); diff --git a/mallinkService/src/main/java/com/simple/service/impl/WxCouponOrderServiceImpl.java b/mallinkService/src/main/java/com/simple/service/impl/WxCouponOrderServiceImpl.java new file mode 100644 index 000000000..d7a7e29fb --- /dev/null +++ b/mallinkService/src/main/java/com/simple/service/impl/WxCouponOrderServiceImpl.java @@ -0,0 +1,73 @@ +package com.simple.service.impl; + +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.simple.common.IdWorker; +import com.simple.common.Result; +import com.simple.common.ResultData; +import com.simple.domain.po.MallUserInfo; +import com.simple.domain.po.WxCouponOrder; +import com.simple.mapper.WxCouponOrderMapper; +import com.simple.service.WxCouponOrderService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; + +@Service +public class WxCouponOrderServiceImpl implements WxCouponOrderService { + + @Autowired + WxCouponOrderMapper wxCouponOrderMapper; + + + @Override + public PageInfo listAsPage(WxCouponOrder record, Integer pageIndex, Integer pageSize) { + return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findList(record)); + } + + @Override + public WxCouponOrder getById(Long id) { + return wxCouponOrderMapper.selectByPrimaryKey(id); + } + + @Override + public void saveOrUpdate(WxCouponOrder record) { + if (record.getId() == null) { + //record.setId(UUID.randomUUID().toString().replaceAll("-", "")); + IdWorker idWorker = new IdWorker(0, 0); + record.setId(idWorker.nextId()); + wxCouponOrderMapper.insertSelective(record); + } else { + wxCouponOrderMapper.updateByPrimaryKeySelective(record); + } + } + + @Override + public void deleteById(Long id) { + wxCouponOrderMapper.deleteByPrimaryKey(id); + } + + @Override + public ResultData verify(Long id, MallUserInfo mallUserInfo) { + WxCouponOrder wxCouponOrder = wxCouponOrderMapper.selectByPrimaryKey(id); + if (wxCouponOrder.getCouponOrderStatus() == 2) { + return new ResultData(Result.ERROR, "已过期"); + } + if (wxCouponOrder.getCouponOrderStatus() == 3) { + return new ResultData(Result.ERROR, "已退款"); + } + if (wxCouponOrder.getCouponOrderStatus() == 1) { + return new ResultData(Result.ERROR, "已经核销过的券"); + } + wxCouponOrder.setCouponOrderStatus(1); //1核销 + wxCouponOrder.setBUserId(mallUserInfo.getId()); + wxCouponOrder.setUpdateDate(new Date()); + wxCouponOrderMapper.updateByPrimaryKeySelective(wxCouponOrder); + return new ResultData(); + + + } + + +}