| @@ -5,6 +5,7 @@ import com.simple.common.Result; | |||||
| import com.simple.common.ResultData; | import com.simple.common.ResultData; | ||||
| import com.simple.domain.po.WxCouponOrder; | import com.simple.domain.po.WxCouponOrder; | ||||
| import com.simple.service.WxCouponOrderService; | import com.simple.service.WxCouponOrderService; | ||||
| import io.swagger.annotations.Api; | |||||
| import io.swagger.annotations.ApiImplicitParam; | import io.swagger.annotations.ApiImplicitParam; | ||||
| import io.swagger.annotations.ApiImplicitParams; | import io.swagger.annotations.ApiImplicitParams; | ||||
| import io.swagger.annotations.ApiOperation; | import io.swagger.annotations.ApiOperation; | ||||
| @@ -14,6 +15,7 @@ import org.springframework.web.bind.annotation.*; | |||||
| @RestController | @RestController | ||||
| @RequestMapping("wxCouponOrder") | @RequestMapping("wxCouponOrder") | ||||
| @Api(description="核销和用户卡券查询接口") | |||||
| public class WxCouponOrderController extends BaseController | public class WxCouponOrderController extends BaseController | ||||
| { | { | ||||
| @Autowired | @Autowired | ||||
| @@ -62,6 +64,13 @@ public class WxCouponOrderController extends BaseController | |||||
| public ResultData findById(Long id) { | public ResultData findById(Long id) { | ||||
| return new ResultData(Result.SUCCESS,"查询成功",wxCouponOrderService.getById(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(); | |||||
| } | |||||
| @@ -1,6 +1,7 @@ | |||||
| package com.simple.domain.po; | package com.simple.domain.po; | ||||
| import javax.persistence.*; | import javax.persistence.*; | ||||
| import java.text.DecimalFormat; | |||||
| import java.util.*; | import java.util.*; | ||||
| import java.math.*; | import java.math.*; | ||||
| import javax.persistence.Transient; | 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**/ | /*租户ID**/ | ||||
| @io.swagger.annotations.ApiModelProperty(value="租户ID",name="tenantId") | @io.swagger.annotations.ApiModelProperty(value="租户ID",name="tenantId") | ||||
| @@ -276,6 +285,41 @@ public class WxCoupon implements Serializable { | |||||
| public void setBusiness(String _business) { | public void setBusiness(String _business) { | ||||
| business = _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; | |||||
| } | |||||
| @@ -2,6 +2,8 @@ package com.simple.service; | |||||
| import java.util.*; | import java.util.*; | ||||
| import com.github.pagehelper.PageInfo; | import com.github.pagehelper.PageInfo; | ||||
| import com.simple.common.ResultData; | |||||
| import com.simple.domain.po.MallUserInfo; | |||||
| import com.simple.domain.po.WxCouponOrder; | import com.simple.domain.po.WxCouponOrder; | ||||
| public interface WxCouponOrderService { | public interface WxCouponOrderService { | ||||
| @@ -37,6 +39,13 @@ public interface WxCouponOrderService { | |||||
| * @param id | * @param id | ||||
| */ | */ | ||||
| void deleteById(Long id); | void deleteById(Long id); | ||||
| /** | |||||
| * 根据主键Id(券码)核销 | |||||
| * | |||||
| * @param id | |||||
| * @param mallUserInfo 核销人(登录用户) | |||||
| */ | |||||
| ResultData verify(Long id, MallUserInfo mallUserInfo); | |||||
| @@ -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<WxCouponOrder> 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(); | |||||
| } | |||||
| } | |||||