diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCashBackActivityController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCashBackActivityController.java index 054b745b1..0123a1245 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCashBackActivityController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCashBackActivityController.java @@ -10,6 +10,7 @@ import com.iformall.domain.po.WxCashBackActivity; import com.iformall.domain.po.WxCashBackActivityRecord; import com.iformall.domain.po.WxCashOut; import com.iformall.domain.po.WxCoupon; +import com.iformall.domain.po.WxMerchant; import com.iformall.domain.po.base.BaseEntity.SortField; import com.iformall.domain.po.base.TenantEntity; import com.iformall.enums.EnumCashBackActivityRecordStatus; @@ -180,12 +181,49 @@ public class WxCashBackActivityController extends BaseController { wxCashBackActivityService.exportData(result,"现金返现记录",WxCashBackActivityRecord.class, request, response); } + @ApiOperation("查询当前提现信息") + @GetMapping("recordInfo") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "主键id", dataType = "Long", paramType = "query", required = true)}) + public ResultData recordInfo(Long id) { + TenantEntity tenantInfo = getTenantInfo(); + WxCashBackActivityRecord activity = wxCashBackActivityService.getActivityRecordById(id, tenantInfo.getTenantId()); + if (null != activity) { + if (null != activity.getActivityId()) { + WxCashBackActivity a = wxCashBackActivityService.getActivityById(activity.getActivityId(), tenantInfo.getTenantId()); + if (null != a) { + activity.setActivityName(a.getName()); + } + } + + if (null != activity.getMerchantId()) { + WxMerchant m = new WxMerchant(); + m.updateTenantInfo(activity); + m.setId(activity.getMerchantId()); + WxMerchant _m = wxMerchantService.findListOne(m); + if (null != _m) { + activity.setMerchantName(_m.getName()); + } + } + } + return new ResultData(activity); + } + @ApiOperation("新增修改接口") @PostMapping("recordAudit") public ResultData recordAudit(@RequestBody WxCashBackActivityRecord wxCashBackActivityRecord) { TenantEntity tenantEntity = getTenantInfo(); wxCashBackActivityRecord.updateTenantInfo(tenantEntity); - wxCashBackActivityService.updateActivityStatus(wxCashBackActivity); + wxCashBackActivityService.auditRecord(wxCashBackActivityRecord); return new ResultData(); } + + @ApiOperation("新增修改接口") + @PostMapping("calRecordMoney") + public ResultData calRecordMoney(@RequestBody WxCashBackActivityRecord wxCashBackActivityRecord) { + TenantEntity tenantEntity = getTenantInfo(); + wxCashBackActivityRecord.updateTenantInfo(tenantEntity); + wxCashBackActivityService.auditRecord(wxCashBackActivityRecord); + return new ResultData(wxCashBackActivityRecord); + } } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCashBackActivityService.java b/mallinkService/src/main/java/com/iformall/service/WxCashBackActivityService.java index a54b63524..45a5311b4 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCashBackActivityService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCashBackActivityService.java @@ -43,6 +43,9 @@ public interface WxCashBackActivityService { WxCashBackActivity getActivityById(Long id,String tenantId); WxCashBackActivityItem getActivityItemById(Long id,String tenantId); + + WxCashBackActivityRecord getActivityRecordById(Long id,String tenantId); + /** *更新状态 @@ -57,5 +60,9 @@ public interface WxCashBackActivityService { void exportData(List objectList,String sheetName,Class objectCalss,HttpServletRequest request, HttpServletResponse response); + void auditRecord(WxCashBackActivityRecord record); + + void calcuteMoney(WxCashBackActivityRecord record); + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCashBackActivityServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCashBackActivityServiceImpl.java index 2595e1646..5edc37569 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCashBackActivityServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCashBackActivityServiceImpl.java @@ -11,6 +11,7 @@ import com.iformall.domain.po.WxCashBackActivityRecord; import com.iformall.domain.po.WxMerchant; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.vo.WxCUserBasicInfoVo; +import com.iformall.enums.EnumCashBackActivityItemRule; import com.iformall.enums.EnumCashBackActivityRecordStatus; import com.iformall.mapper.WxCashBackActivityItemMapper; import com.iformall.mapper.WxCashBackActivityMapper; @@ -24,6 +25,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.util.*; import javax.servlet.http.HttpServletRequest; @@ -158,6 +160,11 @@ public class WxCashBackActivityServiceImpl implements WxCashBackActivityService public WxCashBackActivityItem getActivityItemById(Long id,String tenantId) { return wxCashBackActivityItemMapper.selectById(id,tenantId); } + + @Override + public WxCashBackActivityRecord getActivityRecordById(Long id,String tenantId) { + return wxCashBackActivityRecordMapper.selectById(id,tenantId); + } @Override public void updateActivityStatus(WxCashBackActivity record) { @@ -254,4 +261,27 @@ public class WxCashBackActivityServiceImpl implements WxCashBackActivityService excelService.exportExcel(objectList, null, sheetName, objectCalss, sheetName+".xlsx", response, false); } + @Override + public void auditRecord(WxCashBackActivityRecord record) { + wxCashBackActivityRecordMapper.updateStatus(record); + } + + @Override + public void calcuteMoney(WxCashBackActivityRecord record) { + WxCashBackActivityItem item = wxCashBackActivityItemMapper.selectById(record.getItemId(), record.getTenantId()); + EnumCashBackActivityItemRule moneyRule = EnumCashBackActivityItemRule.getEnum(item.getMoneyRule()); + record.setCashRate(item.getTotalBackRate()); + record.setCashMoney(record.getOrderMoney().multiply(item.getTotalBackRate()).setScale(2,BigDecimal.ROUND_HALF_UP)); + if (moneyRule == EnumCashBackActivityItemRule.MALL_ONLY) { + record.setMallCashMoney(record.getCashMoney()); + record.setMerchantCashMoney(new BigDecimal(0)); + }else if(moneyRule == EnumCashBackActivityItemRule.MERCHANT_ONLY) { + record.setMallCashMoney(new BigDecimal(0)); + record.setMerchantCashMoney(record.getCashMoney()); + }else if (moneyRule == EnumCashBackActivityItemRule.SHARE) { + record.setMallCashMoney(record.getCashMoney().multiply(item.getMallBackRate()).setScale(2,BigDecimal.ROUND_HALF_UP)); + record.setMerchantCashMoney(record.getCashMoney().multiply(item.getMerchantBackRate()).setScale(2,BigDecimal.ROUND_HALF_UP)); + } + } + }