Просмотр исходного кода

[B端][添加]:增加单日交易,核销,总额,流水查询

release_toaliyun_real
hupeng 7 лет назад
Родитель
Сommit
1ac998b832
7 измененных файлов: 174 добавлений и 41 удалений
  1. +59
    -17
      mallinkBApi/src/main/java/com/simple/controller/WxCouponOrderController.java
  2. +1
    -1
      mallinkService/src/main/java/com/simple/common/ErrorCode.java
  3. +1
    -1
      mallinkService/src/main/java/com/simple/mapper/WxCouponOrderMapper.java
  4. +1
    -1
      mallinkService/src/main/java/com/simple/schedule/DaliyAmountSchedule.java
  5. +13
    -5
      mallinkService/src/main/java/com/simple/service/WxCouponOrderService.java
  6. +82
    -5
      mallinkService/src/main/java/com/simple/service/impl/WxCouponOrderServiceImpl.java
  7. +17
    -11
      mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml

+ 59
- 17
mallinkBApi/src/main/java/com/simple/controller/WxCouponOrderController.java Просмотреть файл

@@ -28,6 +28,65 @@ public class WxCouponOrderController extends BaseController {
@Autowired
private WxCouponOrderService wxCouponOrderService;



@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 WxCouponOrder wxCouponOrder, Integer pageNum, Integer pageSize) {
if (null == wxCouponOrder) wxCouponOrder = new WxCouponOrder();
final PageInfo<WxCouponOrder> page = wxCouponOrderService.listAsPage(wxCouponOrder, pageNum, pageSize);
return new ResultData(page);
}

@ApiOperation("根据id更新接口")
@PostMapping("update")
public ResultData update(@RequestBody WxCouponOrder wxCouponOrder) {
wxCouponOrderService.saveOrUpdate(wxCouponOrder);
return new ResultData();
}



@ApiOperation("交易流水分页列表接口")
@GetMapping("listUnverified")
@ApiImplicitParams({
@ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query"),
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query",required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query",required = true)})
public ResultData listUnverified(String date, Integer pageNum, Integer pageSize) {
return wxCouponOrderService.listOnDateAsPage(getUser().getId(), date, pageNum, pageSize, false);
}

@ApiOperation("核销流水分页列表接口")
@GetMapping("listVerified")
@ApiImplicitParams({
@ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query"),
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query",required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query",required = true)})
public ResultData listVerified(String date, Integer pageNum, Integer pageSize) {
return wxCouponOrderService.listOnDateAsPage(getUser().getId(), date, pageNum, pageSize, true);
}


@ApiOperation("某日期交易总流水")
@GetMapping("getUnverifiedAmountOnDate")
@ApiImplicitParams({
@ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query")})
public ResultData getUnverifiedAmountOnDate(String date) {
return wxCouponOrderService.listOnDateAsPage(getUser().getId(), date, null, null, false);
}

@ApiOperation("某日期核销总流水")
@GetMapping("getVerifiedAmountOnDate")
@ApiImplicitParams({
@ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query")})
public ResultData getVerifiedAmountOnDate(String date) {
return wxCouponOrderService.listOnDateAsPage(getUser().getId(), date, null, null, true);
}

@ApiOperation(value = "核销接口", notes = "{\"couponOrderId\":\"string\"}")
@PostMapping("verify")
public ResultData verify(@RequestBody Map<String, String> paramMap) {
@@ -85,23 +144,6 @@ public class WxCouponOrderController extends BaseController {
}
}

@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 WxCouponOrder wxCouponOrder, Integer pageNum, Integer pageSize) {
if (null == wxCouponOrder) wxCouponOrder = new WxCouponOrder();
final PageInfo<WxCouponOrder> page = wxCouponOrderService.listAsPage(wxCouponOrder, pageNum, pageSize);
return new ResultData(page);
}

@ApiOperation("根据id更新接口")
@PostMapping("update")
public ResultData update(@RequestBody WxCouponOrder wxCouponOrder) {
wxCouponOrderService.saveOrUpdate(wxCouponOrder);
return new ResultData();
}

@ApiOperation(value = "根据couponOrderId查询接口", notes = "{\"couponOrderId\":\"string\"}")
@PostMapping("/findById")


+ 1
- 1
mallinkService/src/main/java/com/simple/common/ErrorCode.java Просмотреть файл

@@ -157,7 +157,7 @@ public enum ErrorCode{
* 解单
*/
DALIY_REPORT_VOLUME_TODAY_NULL(12070, "今日解单不存在"),
DALIY_REPORT_VOLUME_WEEK_NULL(12070, "无解单数据")
DALIY_REPORT_VOLUME_WEEK_NULL(12071, "无解单数据")
;




+ 1
- 1
mallinkService/src/main/java/com/simple/mapper/WxCouponOrderMapper.java Просмотреть файл

@@ -9,7 +9,7 @@ public interface WxCouponOrderMapper extends CommonMapper<WxCouponOrder, Long> {

List<WxCouponOrder> findList(WxCouponOrder wxCouponOrder);

List<WxCouponOrder> findListOfOrderedByDate(Map dateMap);
List<WxCouponOrder> findListOfUnverifiedByDate(Map dateMap);
List<WxCouponOrder> findListOfVerifiedByDate(Map dateMap);

}

+ 1
- 1
mallinkService/src/main/java/com/simple/schedule/DaliyAmountSchedule.java Просмотреть файл

@@ -80,7 +80,7 @@ public class DaliyAmountSchedule {
dateMap.put("endDate", new Date());
dateMap.put("merchantID",merchant.getId());

List<WxCouponOrder> list = wxCouponOrderMapper.findListOfOrderedByDate(dateMap);
List<WxCouponOrder> list = wxCouponOrderMapper.findListOfUnverifiedByDate(dateMap);
logger.info("find " + list.size() + " coupon order from " + startDate + " to " + new Date());
int total_price = 0;
for(WxCouponOrder couponOrder : list) {


+ 13
- 5
mallinkService/src/main/java/com/simple/service/WxCouponOrderService.java Просмотреть файл

@@ -1,6 +1,8 @@
package com.simple.service;

import java.util.*;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.simple.common.ResultData;
import com.simple.domain.po.MallUserInfo;
@@ -62,10 +64,16 @@ public interface WxCouponOrderService {
* @param bUserId 退券(款)人(登录用户)
*/
ResultData refund(Long couponOrderId, Long bUserId);


/**
* 根据日期 b用户查券list
*
* @param bUserId 退券(款)人(登录用户)
*/

ResultData listOnDateAsPage(Long bUserId, String date, Integer pageIndex, Integer pageSize, boolean isVerified);



}

+ 82
- 5
mallinkService/src/main/java/com/simple/service/impl/WxCouponOrderServiceImpl.java Просмотреть файл

@@ -6,13 +6,11 @@ import com.simple.common.ErrorCode;
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.domain.po.WxMerchantBUser;
import com.simple.domain.po.WxOrder;
import com.simple.domain.po.*;
import com.simple.enums.EnumCouponOrderStatus;
import com.simple.enums.EnumCouponStatus;
import com.simple.exception.MallinkException;
import com.simple.mapper.WxMerchantMapper;
import com.simple.mapper.WxOrderMapper;
import com.simple.mapper.WxCouponOrderMapper;
import com.simple.mapper.WxMerchantBUserMapper;
@@ -23,7 +21,9 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import java.util.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;

@Service
public class WxCouponOrderServiceImpl implements WxCouponOrderService {
@@ -35,6 +35,9 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
@Autowired
WxOrderMapper wxOrderMapper;

@Autowired
WxMerchantMapper wxMerchantMapper;

@Autowired
WxMerchantBUserMapper wxMerchantBUserMapper;

@@ -74,6 +77,80 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
}



@Override
public ResultData listOnDateAsPage(Long bUserId, String date, Integer pageIndex, Integer pageSize, boolean isVerified) {

WxMerchantBUser wxMerchantBUser = wxMerchantBUserMapper.selectByPrimaryKey(bUserId.longValue());
if (wxMerchantBUser == null) {
logger.error("核销员不存在:" + bUserId);
throw new MallinkException(ErrorCode.MERCHANT_INFO_NOT_FOUND);
}

WxMerchant wxMerchant = wxMerchantMapper.selectByPrimaryKey(wxMerchantBUser.getMerchantId());
if (wxMerchant == null) {
logger.error("商户不存在:" + bUserId);
throw new MallinkException(ErrorCode.MERCHANT_INFO_NOT_FOUND);
}


SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
String dateString;
Date startDate;
Date endDate;

if (date == null) {
endDate = new Date();
dateString = fmt.format(new Date());
try {
startDate = fmt.parse(dateString);
} catch (ParseException e) {
return new ResultData(ErrorCode.SYS_PARAMETER_CAST_ERROR);
}
}
else {
try {
startDate = fmt.parse(date);
} catch (ParseException e) {
return new ResultData(ErrorCode.SYS_PARAMETER_CAST_ERROR);
}
Calendar cal = Calendar.getInstance();
cal.setTime(startDate);
cal.add(Calendar.DATE,1);
endDate = cal.getTime();
}

Map dateMap = new HashMap();
dateMap.put("startDate", startDate);
dateMap.put("endDate", endDate);
dateMap.put("merchantID", wxMerchant.getId());

Map resultMap = new HashMap();

if (pageIndex == null || pageSize == null) {
List<WxCouponOrder> list;
if(isVerified)
list = wxCouponOrderMapper.findListOfVerifiedByDate(dateMap);
else
list = wxCouponOrderMapper.findListOfUnverifiedByDate(dateMap);
logger.info("find " + list.size() + " coupon order from " + startDate + " to " + new Date());
int total_price = 0;
for (WxCouponOrder couponOrder : list) {
total_price = total_price + couponOrder.getCouponPrice();
}
resultMap.put("amount", total_price);
}
else {
if (isVerified)
resultMap.put("list", PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findListOfVerifiedByDate(dateMap)));
else
resultMap.put("list", PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findListOfUnverifiedByDate(dateMap)));
}
return new ResultData(resultMap);
}



@Override
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})
public ResultData verify(Long couponOrderId, Long bUserId) {


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

@@ -90,21 +90,26 @@
<include refid="dynamicWhereConditions" />
</select>

<select id="findListOfOrderedByDate" parameterType="map" resultMap="BaseResultMap">
select c.coupon_price from wx_coupon_order c,wx_order o
where o.id = c.order_id and o.merchant_id = #{merchantID}
<if test="startDate != null">
AND c.create_date &gt; #{startDate,jdbcType=TIMESTAMP}
</if>
<if test="startDate != null">
AND c.create_date &lt; #{endDate,jdbcType=TIMESTAMP}
</if>
AND c.coupon_order_status = '0'

<sql id="allCouponOrderColumns">
c.id,c.tenant_id,c.coupon_id,c.c_user_id,c.b_user_id,c.order_id,c.expired_time,c.coupon_order_status,c.create_date,c.update_date,c.coupon_price
</sql>

<select id="findListOfUnverifiedByDate" parameterType="map" resultMap="BaseResultMap">
select <include refid="allCouponOrderColumns" /> from wx_coupon_order c,wx_order o
where o.id = c.order_id and o.merchant_id = #{merchantID}
<if test="startDate != null">
AND c.create_date &gt; #{startDate,jdbcType=TIMESTAMP}
</if>
<if test="startDate != null">
AND c.create_date &lt; #{endDate,jdbcType=TIMESTAMP}
</if>
AND c.coupon_order_status = '0'

</select>

<select id="findListOfVerifiedByDate" parameterType="map" resultMap="BaseResultMap">
select c.coupon_price from wx_coupon_order c,wx_order o
select <include refid="allCouponOrderColumns" /> from wx_coupon_order c,wx_order o
where o.id = c.order_id and o.merchant_id = #{merchantID}
<if test="startDate != null">
AND c.update_date &gt; #{startDate,jdbcType=TIMESTAMP}
@@ -115,4 +120,5 @@
AND c.coupon_order_status = '1'
</select>


</mapper>

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