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

[系统][修改]:商户日统计改为次日凌晨1点

release_toaliyun_real
hupeng 7 лет назад
Родитель
Сommit
6d27b2fd4e
5 измененных файлов: 30 добавлений и 73 удалений
  1. +17
    -29
      mallinkAdmin/src/main/java/com/iformall/schedule/DaliyAmountSchedule.java
  2. +7
    -5
      mallinkBApi/src/main/java/com/iformall/controller/WxDateAmountRecordController.java
  3. +1
    -12
      mallinkService/src/main/java/com/iformall/service/WxDateAmountRecordService.java
  4. +0
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java
  5. +5
    -26
      mallinkService/src/main/java/com/iformall/service/impl/WxDateAmountRecordServiceImpl.java

+ 17
- 29
mallinkAdmin/src/main/java/com/iformall/schedule/DaliyAmountSchedule.java Просмотреть файл

@@ -43,8 +43,8 @@ public class DaliyAmountSchedule {



@Scheduled(cron = "0 0 23 * * ?") // 每天晚上11点盘点
//@Scheduled(cron = "*/10 * * * * ?") // 测试10秒中一次
//@Scheduled(cron = "0 0 1 * * ?") // 每天凌晨1点盘点前一天的数据
@Scheduled(cron = "*/30 * * * * ?") // 测试10秒中一次
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})
public void daliyAmountSchedule() {

@@ -69,20 +69,22 @@ public class DaliyAmountSchedule {
}

for (int j=0; j < merchantList.size(); j++) {
Calendar cal = Calendar.getInstance();
merchant = merchantList.get(j);

cal.setTime(new Date());
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);

Date endDate = cal.getTime();
cal.add(Calendar.DAY_OF_YEAR, -1);
Date startDate = cal.getTime();

Map dateMap = new HashMap();
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
String dateString = fmt.format(new Date());
Date startDate = null;
try {
startDate = fmt.parse(dateString);
} catch (ParseException e) {
logger.error("Parse date string failed");
continue;
}
dateMap.put("startDate", startDate);
dateMap.put("endDate", new Date());
dateMap.put("endDate", endDate);
dateMap.put("merchantID",merchant.getId());

List<WxCouponOrder> list = wxCouponOrderMapper.findListOfOrderedByDate(dateMap);
@@ -96,30 +98,17 @@ public class DaliyAmountSchedule {
"from " + startDate + " to " + new Date() +"\n" +
"TOTAL ORDER=" + total_price);


Date now = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(now); // 将时分秒,毫秒域清零
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
now = cal.getTime();

WxDateAmountRecord dateAmountRecord = new WxDateAmountRecord();
dateAmountRecord.setId(IdWorker.get().nextId());
dateAmountRecord.setCreateDate(new Date());
dateAmountRecord.setUpdateDate(new Date());
dateAmountRecord.setPayPrice(total_price);
dateAmountRecord.setMerchantId(merchant.getId());
dateAmountRecord.setTenantId(merchant.getTenantId());
dateAmountRecord.setType(EnumDateAmtType.PAY_RECORD.getCode());
dateAmountRecord.setDate(now);
dateAmountRecord.setDate(startDate);
dateAmountRecord.setDayOfWeek(cal.get(Calendar.DAY_OF_WEEK));
dateAmountRecord.setMonth(cal.get(Calendar.MONTH));
dateAmountRecord.setWeekOfYear(cal.get(Calendar.WEEK_OF_YEAR));

wxDateAmountRecordService.saveDaliyAmount(dateAmountRecord);
wxDateAmountRecordService.saveAmount(dateAmountRecord);

list= wxCouponOrderMapper.findListOfVerifiedByDate(dateMap);
logger.info("find " + list.size() + " coupon order from " + startDate + " to " + new Date());
@@ -132,10 +121,9 @@ public class DaliyAmountSchedule {
"from " + startDate + " to " + new Date() +"\n" +
"TOTAL VERIFIED=" + total_price);

dateAmountRecord.setId(IdWorker.get().nextId());
dateAmountRecord.setPayPrice(total_price);
dateAmountRecord.setType(EnumDateAmtType.VERIFY_RECORD.getCode());
wxDateAmountRecordService.saveDaliyAmount(dateAmountRecord);
wxDateAmountRecordService.saveAmount(dateAmountRecord);

}
}


+ 7
- 5
mallinkBApi/src/main/java/com/iformall/controller/WxDateAmountRecordController.java Просмотреть файл

@@ -5,6 +5,8 @@ import com.iformall.common.ResultData;
import com.iformall.domain.po.WxDateAmountRecord;
import com.iformall.domain.po.WxMerchantBUser;
import com.iformall.domain.vo.AmountRecordVo;
import com.iformall.enums.EnumCouponOrderStatus;
import com.iformall.enums.EnumDateAmtType;
import com.iformall.service.WxDateAmountRecordService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -34,16 +36,16 @@ public class WxDateAmountRecordController extends BaseController {
@ApiOperation("首页查询交易金额记录接口")
@GetMapping("listOrder")
public ResultData listOrder() {
return list(0);
return list(EnumDateAmtType.PAY_RECORD.getCode());
}

@ApiOperation("首页查询核销金额记录接口")
@GetMapping("listVerified")
public ResultData listVerified() {
return list(1);
return list(EnumDateAmtType.VERIFY_RECORD.getCode());
}

private ResultData list(int verified) {
private ResultData list(int status) {

List<AmountRecordVo> list = new ArrayList<>();

@@ -51,7 +53,7 @@ public class WxDateAmountRecordController extends BaseController {
WxMerchantBUser u = getUser();
temp.setTenantId(u.getTenantId());
temp.setMerchantId(u.getMerchantId());
temp.setType(verified);
temp.setType(status);
temp.setSortColumns(WxDateAmountRecord.Field.UpdateDate_DESC);

SimpleDateFormat fmt = new SimpleDateFormat("MM/dd");
@@ -64,7 +66,7 @@ public class WxDateAmountRecordController extends BaseController {
AmountRecordVo vo = new AmountRecordVo();
vo.setAmount(wxDateAmountRecord.getPayPrice());
vo.setAmountDetail(wxDateAmountRecord);
vo.setMouthAndDate(fmt.format(wxDateAmountRecord.getUpdateDate()));
vo.setMouthAndDate(fmt.format(wxDateAmountRecord.getDate()));
list.add(vo);
}
Collections.reverse(list);


+ 1
- 12
mallinkService/src/main/java/com/iformall/service/WxDateAmountRecordService.java Просмотреть файл

@@ -36,22 +36,11 @@ public interface WxDateAmountRecordService {
* @param id
*/
void deleteById(Long id);
/**
* 修改交易核销
* @param tenantId 租户id
* @param merchantId 商户id
* @param type 类型 0 交易记录 1.核销记录
* @param payPrice 金额
* @return
*/
int updateAmount(String tenantId,Long merchantId
,Integer type,Integer payPrice);

/**
* 记录每日交易核销总额
*/

void saveDaliyAmount(WxDateAmountRecord amount);
void saveAmount(WxDateAmountRecord amount);
}

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

@@ -138,7 +138,6 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService {

//**************************************************自动打标逻辑代码 *************************************************************

static List<WxTagsGroup> tagGroups = null;
//打标
private List<WxTags> assign(WxCUserBasicInfo user, EnumTag tag){



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

@@ -47,34 +47,9 @@ public class WxDateAmountRecordServiceImpl implements WxDateAmountRecordService
wxDateAmountRecordMapper.deleteByPrimaryKey(id);
}

@Override
public int updateAmount(String tenantId, Long merchantId, Integer type, Integer payPrice) {
Date now = new Date();
Calendar cal1 = Calendar.getInstance();
cal1.setTime(now); // 将时分秒,毫秒域清零
cal1.set(Calendar.HOUR_OF_DAY, 0);
cal1.set(Calendar.MINUTE, 0);
cal1.set(Calendar.SECOND, 0);
cal1.set(Calendar.MILLISECOND, 0);
now = cal1.getTime();
WxDateAmountRecord r = new WxDateAmountRecord();
r.setDate(now);
r.setTenantId(tenantId);
r.setMerchantId(merchantId);
r.setType(type);
List<WxDateAmountRecord> list = wxDateAmountRecordMapper.findList(r);
r.setPayPrice(payPrice);
if(!list.isEmpty()) {//今天没数据就新增一条
r.setDayOfWeek(cal1.get(Calendar.DAY_OF_WEEK));
r.setMonth(cal1.get(Calendar.MONTH));
r.setWeekOfYear(cal1.get(Calendar.WEEK_OF_YEAR));
return wxDateAmountRecordMapper.insertSelective(r);
}
return wxDateAmountRecordMapper.updateAmount(r);
}

@Override
public void saveDaliyAmount(WxDateAmountRecord amount) {
public void saveAmount(WxDateAmountRecord amount) {

WxDateAmountRecord record = new WxDateAmountRecord();
record.setDate(amount.getDate());
@@ -89,6 +64,10 @@ public class WxDateAmountRecordServiceImpl implements WxDateAmountRecordService
list.get(0).setUpdateDate(new Date());
wxDateAmountRecordMapper.updateByPrimaryKeySelective(list.get(0));
}else{
final IdWorker idWorker = IdWorker.get();
amount.setId(idWorker.nextId());
amount.setUpdateDate(new Date());
amount.setCreateDate(new Date());
wxDateAmountRecordMapper.insertSelective(amount);
}
}


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