winter 2 лет назад
Родитель
Сommit
0a91c95d14
7 измененных файлов: 222 добавлений и 8 удалений
  1. +172
    -0
      mallinkBApi/src/main/java/com/iformall/controller/WxCashBackActivityController.java
  2. +8
    -4
      mallinkService/src/main/java/com/iformall/domain/po/WxCashBackActivity.java
  3. +2
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxCashBackActivityMerchantMapper.java
  4. +2
    -0
      mallinkService/src/main/java/com/iformall/service/WxCashBackActivityService.java
  5. +23
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxCashBackActivityServiceImpl.java
  6. +11
    -4
      mallinkService/src/main/resources/mapper/WxCashBackActivityMapper.xml
  7. +4
    -0
      mallinkService/src/main/resources/mapper/WxCashBackActivityMerchantMapper.xml

+ 172
- 0
mallinkBApi/src/main/java/com/iformall/controller/WxCashBackActivityController.java Просмотреть файл

@@ -0,0 +1,172 @@
package com.iformall.controller;

import com.github.pagehelper.PageInfo;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxCashBackActivity;
import com.iformall.domain.po.WxCashBackActivityRecord;
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;
import com.iformall.enums.EnumCashBackActivityStatus;
import com.iformall.enums.EnumYesOrNo;
import com.iformall.service.WxCUserService;
import com.iformall.service.WxCashBackActivityService;
import com.iformall.service.WxMallService;
import com.iformall.service.WxMerchantService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;

/**
* @author alascor
*
*/
@RestController
@RequestMapping("/cashback")
@Api(description = "现金返现活动相关接口")
public class WxCashBackActivityController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private WxCashBackActivityService wxCashBackActivityService;
@Autowired
WxCUserService wxCUserService;
@Autowired
WxMerchantService wxMerchantService;
@Autowired
WxMallService wxMallService;
@ApiOperation("分页列表接口")
@GetMapping("list")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
public ResultData list(@ModelAttribute WxCashBackActivity wxCashBackActivity, Integer pageNum, Integer pageSize) {
if (null == wxCashBackActivity) wxCashBackActivity = new WxCashBackActivity();
TenantEntity tenantInfo = getTenantInfo();
wxCashBackActivity.updateTenantInfo(tenantInfo);
wxCashBackActivity.setMerchantId(getLoginBUser().getMerchantId());
if (null != wxCashBackActivity.getStatus() && wxCashBackActivity.getStatus().intValue()>0) {
//已上架
if (wxCashBackActivity.getStatus().intValue() == EnumCashBackActivityStatus.ON_LINE.getCode().intValue()) {
wxCashBackActivity.setValidTime(EnumYesOrNo.YES.getCode());
}
//已过期
if (wxCashBackActivity.getStatus().intValue() == 3) {
wxCashBackActivity.setStatus(null);
wxCashBackActivity.setValidTime(EnumYesOrNo.NO.getCode());
}
//未开始
if (wxCashBackActivity.getStatus().intValue() == 4) {
wxCashBackActivity.setStatus(null);
wxCashBackActivity.setValidTime(4);
}
}
wxCashBackActivity.setSortColumns(SortField.CreateDate_DESC);
final PageInfo<WxCashBackActivity> page = wxCashBackActivityService.listActivityAsPage(wxCashBackActivity, pageNum, pageSize);
return new ResultData(page);
}
@ApiOperation("查询当前提现信息")
@GetMapping("info")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键id", dataType = "Long", paramType = "query", required = true)})
public ResultData info(Long id) {
TenantEntity tenantInfo = getTenantInfo();
WxCashBackActivity activity = wxCashBackActivityService.getActivityById(id, tenantInfo.getTenantId());
activity.setItemList(wxCashBackActivityService.getActivityItems(id, tenantInfo.getTenantId()));
activity.setMerchantList(wxCashBackActivityService.getActivityMerchants(id, tenantInfo.getTenantId()));
return new ResultData(activity);
}
@ApiOperation("分页列表接口")
@GetMapping("recordList")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
public ResultData recordList(@ModelAttribute WxCashBackActivityRecord wxCashBackActivityRecord, Integer pageNum, Integer pageSize) {
if (null == wxCashBackActivityRecord) wxCashBackActivityRecord = new WxCashBackActivityRecord();
TenantEntity tenantInfo = getTenantInfo();
wxCashBackActivityRecord.updateTenantInfo(tenantInfo);
wxCashBackActivityRecord.setSortColumns(SortField.CreateDate_DESC);
final PageInfo<WxCashBackActivityRecord> page = wxCashBackActivityService.listActivityRecordAsPage(wxCashBackActivityRecord, pageNum, pageSize);
return new ResultData(page);
}
@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("查询当前提现信息")
@GetMapping("recordCount")
public ResultData recordCount(@ModelAttribute WxCashBackActivityRecord wxCashBackActivityRecord) {
TenantEntity tenantInfo = getTenantInfo();
WxCashBackActivity a = wxCashBackActivityService.getActivityById(wxCashBackActivityRecord.getActivityId(), tenantInfo.getTenantId());
if (null == a) {
return new ResultData();
}
int allRecordCount = wxCashBackActivityService.getRecordCount(a, null);
int auditedRecordCount = wxCashBackActivityService.getRecordCount(a, EnumCashBackActivityRecordStatus.AUDI_SUCCESS);
int failRecordCount = wxCashBackActivityService.getRecordCount(a, EnumCashBackActivityRecordStatus.AUDT_FAIL);
int auditingRecordCount = wxCashBackActivityService.getRecordCount(a, EnumCashBackActivityRecordStatus.AUDTING);
Map retMap = new HashMap();
retMap.put("allRecordCount", allRecordCount);
retMap.put("auditedRecordCount", auditedRecordCount);
retMap.put("failRecordCount", failRecordCount);
retMap.put("auditingRecordCount", auditingRecordCount);
return new ResultData(retMap);
}
@ApiOperation("新增修改接口")
@PostMapping("saveOrUpdate")
public ResultData saveOrUpdate(@RequestBody WxCashBackActivityRecord wxCashBackActivityRecord) {
if (null == wxCashBackActivityRecord.getOrderMoney() ) {
return new ResultData(Result.ERROR,"订单金额不能为空");
}
TenantEntity tenantEntity = getTenantInfo();
wxCashBackActivityRecord.updateTenantInfo(tenantEntity);
wxCashBackActivityService.saveOrUpdateRecord(wxCashBackActivityRecord);
return new ResultData();
}
}

+ 8
- 4
mallinkService/src/main/java/com/iformall/domain/po/WxCashBackActivity.java Просмотреть файл

@@ -24,10 +24,6 @@ public class WxCashBackActivity extends TenantEntity {
private List<Integer> statusList;
@io.swagger.annotations.ApiModelProperty(value = "创建时间", name = "createDate")
private Date createDate;
@TableField(exist = false)
private Date createDateBegin;
@TableField(exist = false)
private Date createDateEnd;
@io.swagger.annotations.ApiModelProperty(value = "更新时间", name = "updateDate")
private Date updateDate;
@io.swagger.annotations.ApiModelProperty(value = "名称", name = "name")
@@ -56,5 +52,13 @@ public class WxCashBackActivity extends TenantEntity {
@TableField(exist = false)
private List<WxCashBackActivityMerchant> merchantList;
@TableField(exist = false)
private Date begin;
@TableField(exist = false)
private Date end;
@TableField(exist = false)
private Long merchantId;
}

+ 2
- 0
mallinkService/src/main/java/com/iformall/mapper/WxCashBackActivityMerchantMapper.java Просмотреть файл

@@ -16,5 +16,7 @@ public interface WxCashBackActivityMerchantMapper extends CommonMapper<WxCashBac
void delete(WxCashBackActivityMerchant wxCashBackActivityMerchant);
int merchantCount(WxCashBackActivityMerchant wxCashBackActivityMerchant);
List<Long> findActivityIdList(@Param("merchantId")Long merchantId,@Param("tenantId")String tenantId);

}

+ 2
- 0
mallinkService/src/main/java/com/iformall/service/WxCashBackActivityService.java Просмотреть файл

@@ -64,5 +64,7 @@ public interface WxCashBackActivityService {
void calcuteMoney(WxCashBackActivityRecord record);
void saveOrUpdateRecord(WxCashBackActivityRecord record);
}

+ 23
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxCashBackActivityServiceImpl.java Просмотреть файл

@@ -51,6 +51,14 @@ public class WxCashBackActivityServiceImpl implements WxCashBackActivityService
@Override
public PageInfo<WxCashBackActivity> listActivityAsPage(WxCashBackActivity record, Integer pageIndex, Integer pageSize) {
if (null != record.getMerchantId()) {
List<Long> aids = wxCashBackActivityMerchantMapper.findActivityIdList(record.getMerchantId(), record.getTenantId());
if (null == aids || aids.size() <= 0 ) {
record.setId(-1L);
}else {
record.setIds(aids);
}
}
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCashBackActivityMapper.findList(record));
}
@@ -284,4 +292,19 @@ public class WxCashBackActivityServiceImpl implements WxCashBackActivityService
}
}

@Override
public void saveOrUpdateRecord(WxCashBackActivityRecord record) {
final IdWorker idWorker = IdWorker.get();
if (null == record.getId()) {
record.setId(idWorker.nextId());
record.setCreateDate(new Date());
record.setUpdateDate(new Date());
wxCashBackActivityRecordMapper.insert(record);
}else {
record.setUpdateDate(new Date());
wxCashBackActivityRecordMapper.updateById(record);
}
}

}

+ 11
- 4
mallinkService/src/main/resources/mapper/WxCashBackActivityMapper.xml Просмотреть файл

@@ -32,21 +32,28 @@
and `parent_tenant_id` = #{parentTenantId}
</if>
<if test=" null != createDateBegin">
and `create_date` &gt;= #{createDateBegin}
<if test=" null != begin">
and `start_time` &gt;= #{begin}
</if>
<if test=" null != createDateEnd">
and `create_date` &lt;= #{createDateEnd}
<if test=" null != end">
and `end_time` &lt;= #{end}
</if>
<!-- 未过期 -->
<if test=" 1 == validTime">
and end_time &gt;= now()
</if>
<!-- 已过期 -->
<if test=" 0 == validTime">
and end_time &lt;= now()
</if>
<!-- 未开始 -->
<if test=" 4 == validTime">
and start_time &gt;= now()
</if>

<if test=" null != name ">
and `name` like concat('%', #{name},'%')


+ 4
- 0
mallinkService/src/main/resources/mapper/WxCashBackActivityMerchantMapper.xml Просмотреть файл

@@ -67,5 +67,9 @@
select count(1) from wx_cash_back_activity_merchant
<include refid="dynamicWhereConditions" />
</select>
<select id="merchantCount" parameterType="java.util.HashMap" resultType="Long">
select activity_id from wx_cash_back_activity_merchant where merchant_id = #{merchantId} and tenant_id=#{tenantId}
</select>

</mapper>

Загрузка…
Отмена
Сохранить