| @@ -10,6 +10,7 @@ import com.iformall.domain.po.WxCashBackActivity; | |||||
| import com.iformall.domain.po.WxCashBackActivityRecord; | import com.iformall.domain.po.WxCashBackActivityRecord; | ||||
| import com.iformall.domain.po.WxCashOut; | import com.iformall.domain.po.WxCashOut; | ||||
| import com.iformall.domain.po.WxCoupon; | 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.BaseEntity.SortField; | ||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import com.iformall.enums.EnumCashBackActivityRecordStatus; | import com.iformall.enums.EnumCashBackActivityRecordStatus; | ||||
| @@ -180,12 +181,49 @@ public class WxCashBackActivityController extends BaseController { | |||||
| wxCashBackActivityService.exportData(result,"现金返现记录",WxCashBackActivityRecord.class, request, response); | 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("新增修改接口") | @ApiOperation("新增修改接口") | ||||
| @PostMapping("recordAudit") | @PostMapping("recordAudit") | ||||
| public ResultData recordAudit(@RequestBody WxCashBackActivityRecord wxCashBackActivityRecord) { | public ResultData recordAudit(@RequestBody WxCashBackActivityRecord wxCashBackActivityRecord) { | ||||
| TenantEntity tenantEntity = getTenantInfo(); | TenantEntity tenantEntity = getTenantInfo(); | ||||
| wxCashBackActivityRecord.updateTenantInfo(tenantEntity); | wxCashBackActivityRecord.updateTenantInfo(tenantEntity); | ||||
| wxCashBackActivityService.updateActivityStatus(wxCashBackActivity); | |||||
| wxCashBackActivityService.auditRecord(wxCashBackActivityRecord); | |||||
| return new ResultData(); | 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); | |||||
| } | |||||
| } | } | ||||
| @@ -43,6 +43,9 @@ public interface WxCashBackActivityService { | |||||
| WxCashBackActivity getActivityById(Long id,String tenantId); | WxCashBackActivity getActivityById(Long id,String tenantId); | ||||
| WxCashBackActivityItem getActivityItemById(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 exportData(List objectList,String sheetName,Class objectCalss,HttpServletRequest request, HttpServletResponse response); | ||||
| void auditRecord(WxCashBackActivityRecord record); | |||||
| void calcuteMoney(WxCashBackActivityRecord record); | |||||
| } | } | ||||
| @@ -11,6 +11,7 @@ import com.iformall.domain.po.WxCashBackActivityRecord; | |||||
| import com.iformall.domain.po.WxMerchant; | import com.iformall.domain.po.WxMerchant; | ||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import com.iformall.domain.vo.WxCUserBasicInfoVo; | import com.iformall.domain.vo.WxCUserBasicInfoVo; | ||||
| import com.iformall.enums.EnumCashBackActivityItemRule; | |||||
| import com.iformall.enums.EnumCashBackActivityRecordStatus; | import com.iformall.enums.EnumCashBackActivityRecordStatus; | ||||
| import com.iformall.mapper.WxCashBackActivityItemMapper; | import com.iformall.mapper.WxCashBackActivityItemMapper; | ||||
| import com.iformall.mapper.WxCashBackActivityMapper; | import com.iformall.mapper.WxCashBackActivityMapper; | ||||
| @@ -24,6 +25,7 @@ import org.slf4j.LoggerFactory; | |||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||
| import java.math.BigDecimal; | |||||
| import java.util.*; | import java.util.*; | ||||
| import javax.servlet.http.HttpServletRequest; | import javax.servlet.http.HttpServletRequest; | ||||
| @@ -158,6 +160,11 @@ public class WxCashBackActivityServiceImpl implements WxCashBackActivityService | |||||
| public WxCashBackActivityItem getActivityItemById(Long id,String tenantId) { | public WxCashBackActivityItem getActivityItemById(Long id,String tenantId) { | ||||
| return wxCashBackActivityItemMapper.selectById(id,tenantId); | return wxCashBackActivityItemMapper.selectById(id,tenantId); | ||||
| } | } | ||||
| @Override | |||||
| public WxCashBackActivityRecord getActivityRecordById(Long id,String tenantId) { | |||||
| return wxCashBackActivityRecordMapper.selectById(id,tenantId); | |||||
| } | |||||
| @Override | @Override | ||||
| public void updateActivityStatus(WxCashBackActivity record) { | public void updateActivityStatus(WxCashBackActivity record) { | ||||
| @@ -254,4 +261,27 @@ public class WxCashBackActivityServiceImpl implements WxCashBackActivityService | |||||
| excelService.exportExcel(objectList, null, sheetName, objectCalss, sheetName+".xlsx", response, false); | 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)); | |||||
| } | |||||
| } | |||||
| } | } | ||||