diff --git a/mallinkBApi/src/main/java/com/simple/controller/WxMerchantTradeDailyController.java b/mallinkBApi/src/main/java/com/simple/controller/WxMerchantTradeDailyController.java index eccfc627a..0303f9590 100644 --- a/mallinkBApi/src/main/java/com/simple/controller/WxMerchantTradeDailyController.java +++ b/mallinkBApi/src/main/java/com/simple/controller/WxMerchantTradeDailyController.java @@ -16,7 +16,7 @@ import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; @RestController -@RequestMapping("wxMerchantTradeDaily") +@RequestMapping("/api/wxMerchantTradeDaily") public class WxMerchantTradeDailyController extends BaseController { @Autowired @@ -65,6 +65,13 @@ public class WxMerchantTradeDailyController extends BaseController public ResultData findById(Long id) { return new ResultData(Result.SUCCESS,"查询成功",wxMerchantTradeDailyService.getById(id)); } + + @ApiOperation("上报每日解单") + @GetMapping("/reportDailyVolume") + @ApiImplicitParam(name="volume",value="总金额(分)",dataType="Integer", paramType = "query",required=true) + public ResultData saveDailyTradingVolume(Integer volume) { + return wxMerchantTradeDailyService.saveDailyTradingVolume(getUser().getId(),volume); + } diff --git a/mallinkService/src/main/java/com/simple/domain/po/WxMerchantTradeDaily.java b/mallinkService/src/main/java/com/simple/domain/po/WxMerchantTradeDaily.java index 2fde8545d..d02d24fff 100644 --- a/mallinkService/src/main/java/com/simple/domain/po/WxMerchantTradeDaily.java +++ b/mallinkService/src/main/java/com/simple/domain/po/WxMerchantTradeDaily.java @@ -49,10 +49,17 @@ public class WxMerchantTradeDaily implements Serializable { private Long merchantId; /*交易额**/ @io.swagger.annotations.ApiModelProperty(value="交易额",name="tradeAmt") - private BigDecimal tradeAmt; - /*解单日期**/ - @io.swagger.annotations.ApiModelProperty(value="解单日期",name="createDate") + private Integer tradeAmt; + /*提交日期**/ + @io.swagger.annotations.ApiModelProperty(value="解单提交日期",name="createDate") private Date createDate; + /*更新日期**/ + @io.swagger.annotations.ApiModelProperty(value="解单更新日期",name="updateDate") + private Date updateDate; + /*解单日期**/ + @io.swagger.annotations.ApiModelProperty(value="解单日期",name="reportDate") + private String reportDate; + public String getTenantId() { return tenantId; } @@ -65,10 +72,10 @@ public class WxMerchantTradeDaily implements Serializable { public void setMerchantId(Long _merchantId) { merchantId = _merchantId; } - public BigDecimal getTradeAmt() { + public Integer getTradeAmt() { return tradeAmt; } - public void setTradeAmt(BigDecimal _tradeAmt) { + public void setTradeAmt(Integer _tradeAmt) { tradeAmt = _tradeAmt; } public Date getCreateDate() { @@ -77,6 +84,19 @@ public class WxMerchantTradeDaily implements Serializable { public void setCreateDate(Date _createDate) { createDate = _createDate; } + public Date getUpdateDate() { + return updateDate; + } + public void setUpdateDate(Date _updateDate) { + updateDate = _updateDate; + } + + public String getReportDate() { + return reportDate; + } + public void setReportDate(String _reportDate) { + reportDate = _reportDate; + } diff --git a/mallinkService/src/main/java/com/simple/service/WxMerchantTradeDailyService.java b/mallinkService/src/main/java/com/simple/service/WxMerchantTradeDailyService.java index 42e327f17..7aab8e1be 100644 --- a/mallinkService/src/main/java/com/simple/service/WxMerchantTradeDailyService.java +++ b/mallinkService/src/main/java/com/simple/service/WxMerchantTradeDailyService.java @@ -2,6 +2,7 @@ package com.simple.service; import java.util.*; import com.github.pagehelper.PageInfo; +import com.simple.common.ResultData; import com.simple.domain.po.WxMerchantTradeDaily; public interface WxMerchantTradeDailyService { @@ -37,9 +38,16 @@ public interface WxMerchantTradeDailyService { * @param id */ void deleteById(Long id); - - - + + + /** + * 根据Id删除实体 + * + * @param id + * @param volume + */ + + public ResultData saveDailyTradingVolume(Long userId, Integer volume); diff --git a/mallinkService/src/main/java/com/simple/service/impl/WxMallServiceImpl.java b/mallinkService/src/main/java/com/simple/service/impl/WxMallServiceImpl.java index 5244c7f61..86fb98f3d 100644 --- a/mallinkService/src/main/java/com/simple/service/impl/WxMallServiceImpl.java +++ b/mallinkService/src/main/java/com/simple/service/impl/WxMallServiceImpl.java @@ -50,11 +50,7 @@ public class WxMallServiceImpl implements WxMallService { public WxMall getByTenantId(String id) { WxMall wxMall = new WxMall(); wxMall.setTenantId(id); - try { - return wxMallMapper.findList(wxMall).get(0); - } catch (Exception e){ - return null; - } + return wxMallMapper.findList(wxMall).get(0); } diff --git a/mallinkService/src/main/java/com/simple/service/impl/WxMerchantTradeDailyServiceImpl.java b/mallinkService/src/main/java/com/simple/service/impl/WxMerchantTradeDailyServiceImpl.java index 4c3bb1387..49eae696e 100644 --- a/mallinkService/src/main/java/com/simple/service/impl/WxMerchantTradeDailyServiceImpl.java +++ b/mallinkService/src/main/java/com/simple/service/impl/WxMerchantTradeDailyServiceImpl.java @@ -1,14 +1,26 @@ package com.simple.service.impl; +import java.text.SimpleDateFormat; import java.util.*; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.simple.common.ErrorCode; +import com.simple.common.Result; +import com.simple.common.ResultData; +import com.simple.domain.po.WxMall; +import com.simple.domain.po.WxMerchant; +import com.simple.domain.po.WxMerchantBUser; import com.simple.domain.po.WxMerchantTradeDaily; import com.simple.mapper.WxMerchantTradeDailyMapper; import com.simple.service.WxMerchantTradeDailyService; +import com.simple.service.WxMallService; +import com.simple.service.WxMerchantBUserService; +import com.simple.service.WxMerchantService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.simple.common.IdWorker; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; @Service public class WxMerchantTradeDailyServiceImpl implements WxMerchantTradeDailyService { @@ -16,6 +28,14 @@ public class WxMerchantTradeDailyServiceImpl implements WxMerchantTradeDailyServ @Autowired WxMerchantTradeDailyMapper wxMerchantTradeDailyMapper; + @Autowired + WxMerchantBUserService wxMerchantBUserService; + + @Autowired + WxMerchantService wxMerchantService; + + @Autowired + WxMallService wxMallService; @Override public PageInfo listAsPage(WxMerchantTradeDaily record, Integer pageIndex, Integer pageSize) { @@ -43,8 +63,58 @@ public class WxMerchantTradeDailyServiceImpl implements WxMerchantTradeDailyServ public void deleteById(Long id) { wxMerchantTradeDailyMapper.deleteByPrimaryKey(id); } - - + + @Override + public ResultData saveDailyTradingVolume(Long userId, Integer volume) { + + Map resultMap = new HashMap(); + WxMerchantBUser user = wxMerchantBUserService.getById(userId); + + if (user==null) + return new ResultData(ErrorCode.USER_IS_EMPTY, ErrorCode.USER_IS_EMPTY.getMessage()); + + WxMerchant merchant = wxMerchantService.getById(user.getMerchantId()); + + if (merchant==null) + return new ResultData(ErrorCode.MCH_INFO_NOT_FOUND, ErrorCode.MCH_INFO_NOT_FOUND.getMessage()); + + WxMall mall = wxMallService.getByTenantId(merchant.getTenantId()); + if (mall==null) + return new ResultData(ErrorCode.MCH_INFO_NOT_FOUND, ErrorCode.MCH_INFO_NOT_FOUND.getMessage()); + + + WxMerchantTradeDaily wxMerchantTradeDaily = new WxMerchantTradeDaily(); + + wxMerchantTradeDaily.setMerchantId(merchant.getId()); + + SimpleDateFormat fmt=new SimpleDateFormat("yyyy-MM-dd"); + wxMerchantTradeDaily.setReportDate(fmt.format(new Date())); + + + List tradeList = wxMerchantTradeDailyMapper.findList(wxMerchantTradeDaily); + + if (tradeList.size() > 0 ) { + wxMerchantTradeDaily = tradeList.get(0); + wxMerchantTradeDaily.setTradeAmt(volume); + wxMerchantTradeDaily.setUpdateDate(new Date()); + wxMerchantTradeDailyMapper.updateByPrimaryKeySelective(wxMerchantTradeDaily); + return new ResultData(wxMerchantTradeDaily); + } + + final IdWorker idWorker = IdWorker.get(); + wxMerchantTradeDaily.setId(idWorker.nextId()); + wxMerchantTradeDaily.setTenantId(merchant.getTenantId()); + wxMerchantTradeDaily.setMerchantId(merchant.getId()); + wxMerchantTradeDaily.setTradeAmt(volume); + wxMerchantTradeDaily.setCreateDate(new Date()); + wxMerchantTradeDaily.setUpdateDate(new Date()); + wxMerchantTradeDailyMapper.insert(wxMerchantTradeDaily); + + return new ResultData(wxMerchantTradeDaily); + + } + + diff --git a/mallinkService/src/main/resources/mapper/WxMerchantTradeDailyMapper.xml b/mallinkService/src/main/resources/mapper/WxMerchantTradeDailyMapper.xml index af0fb383f..2ca6a11f3 100644 --- a/mallinkService/src/main/resources/mapper/WxMerchantTradeDailyMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxMerchantTradeDailyMapper.xml @@ -7,10 +7,12 @@ + + - `id`,`tenant_id`,`merchant_id`,`trade_amt`,`create_date` + `id`,`tenant_id`,`merchant_id`,`trade_amt`,`create_date`,`update_date`,`report_date` @@ -36,10 +38,18 @@ - - and `create_date` = #{createDate} - - + + and `create_date` = #{createDate} + + + + and `update_date` = #{updateDate} + + + + and `report_date` = #{reportDate} + + and id in