Commit 8aaa3d9f authored by shiyu's avatar shiyu

完成结款

parent cb772aa2
......@@ -8,6 +8,7 @@ import com.wwdz.ch.db.domain.distribution.DistributionOrder;
import com.wwdz.ch.db.domain.distribution.UserAccountDetail;
import com.wwdz.ch.db.dto.request.distribution.*;
import com.xxdxxs.service.FormHandler;
import com.xxdxxs.utils.StringUtils;
import com.xxdxxs.validation.Validator;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
......@@ -54,10 +55,28 @@ public class SysFinanceController {
return sysFinanceService.findUserBillDetail(dto);
}
@ApiOperation(value = "查询平台账户明细")
@PostMapping("/findSystemBillDetail")
public Result findSystemBillDetail(@RequestBody UserAccountDetailRequestDto dto) {
logger.info("查询平台账户明细,请求参数:{}", JSON.toJSONString(dto));
return sysFinanceService.findSystemBillDetail(dto);
@ApiOperation(value = "查询平台账户收入明细")
@PostMapping("/findSystemBillIncomeDetail")
public Result findSystemBillIncomeDetail(@RequestBody UserAccountDetailRequestDto dto) {
logger.info("查询平台账户收入明细,请求参数:{}", JSON.toJSONString(dto));
return sysFinanceService.findSystemBillIncomeDetail(dto);
}
@ApiOperation(value = "查询平台账户支出明细")
@PostMapping("/findSystemBillExpenditureDetail")
public Result findSystemBillExpenditureDetail(@RequestBody SettlementRecordRequestDto dto) {
logger.info("查询平台账户支出明细,请求参数:{}", JSON.toJSONString(dto));
return sysFinanceService.findSystemBillExpenditureDetail(dto);
}
@ApiOperation(value = "完成结款")
@PostMapping("/finishSettlement")
public Result finishSettlement(@RequestBody SettlementRecordRequestDto dto) {
if (StringUtils.isEmpty(dto.getBillId())) {
return Result.failed(ResultCode.PARAM_ERROR);
}
logger.info("完成结款,请求参数:{}", JSON.toJSONString(dto));
return sysFinanceService.finishSettlement(dto);
}
}
package com.wwdz.ch.admin.entity.vo;
import com.xxdxxs.entity.Entity;
import lombok.Data;
import java.util.Date;
@Data
public class SettlementRecordVo implements Entity {
private Long id;
/**
* 结算id
*/
private String settlementId;
/**
* 用户id
*/
private Long userId;
/**
* 用户名称
*/
private String userName;
/**
* 银行卡号
*/
private String bankCardId;
/**
* 真实姓名
*/
private String realUserName;
/**
* 结算金额
*/
private String settleAmount;
/**
* 结算时间
*/
private Date settleTime;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 关联账单id
*/
private String billId;
/**
* 类型
*/
private Integer type;
/**
* 状态
*/
private Integer state;
/**
* 结算凭证
*/
private String voucher;
}
......@@ -2,10 +2,7 @@ package com.wwdz.ch.admin.service;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.domain.distribution.DistributionOrder;
import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto;
import com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto;
import com.wwdz.ch.db.dto.request.distribution.UserAccountDetailRequestDto;
import com.wwdz.ch.db.dto.request.distribution.UserBillRequestDto;
import com.wwdz.ch.db.dto.request.distribution.*;
public interface SysFinanceService {
......@@ -31,9 +28,23 @@ public interface SysFinanceService {
Result findUserBillDetail(UserAccountDetailRequestDto dto);
/**
* 查询平台账户明细
* 查询平台账户收入明细
* @param dto
* @return
*/
Result findSystemBillDetail(UserAccountDetailRequestDto dto);
Result findSystemBillIncomeDetail(UserAccountDetailRequestDto dto);
/**
* 查询平台账户支出明细
* @param dto
* @return
*/
Result findSystemBillExpenditureDetail(SettlementRecordRequestDto dto);
/**
* 完成结款
* @param dto
* @return
*/
Result finishSettlement(SettlementRecordRequestDto dto);
}
......@@ -150,4 +150,39 @@ public class BillEnum {
}
/**
* 结算类型
*/
public enum SettlmentTypeEnum {
COLLECT(1, "藏家收入"),
COMMON_USER(2, "普通用户收入"),
;
private int code;
private String des;
SettlmentTypeEnum(int code, String des) {
this.code = code;
this.des = des;
}
public static String getNameByCode(int code) {
for (BillEnum.SettlmentTypeEnum settlmentTypeEnum : BillEnum.SettlmentTypeEnum.values()) {
if (code == settlmentTypeEnum.getCode()) {
return settlmentTypeEnum.getDes();
}
}
return null;
}
public int getCode() {
return code;
}
public String getDes() {
return des;
}
}
}
......@@ -78,6 +78,11 @@ public interface CommConsts {
*/
public final static String USER_BILL_PREFIX = "BL";
/**
* 结款记录id前缀
*/
public final static String SETTLEMENT_PREFIX = "ST";
/**
* 平台收货地址
*/
......
......@@ -150,7 +150,11 @@ public class CacheUtil {
*/
public String getAppletUserList(long key) {
User user = userDao.queryById(key);
if (user != null) {
return user.getNickname();
}
return "微信用户";
/* List<User> userList = dtsUserDao.findAll();
Map<Long, String> map = userList.stream().collect(Collectors.toMap(User::getId, User::getNickname, (k1, k2) -> k2));
return map.get(key);*/
......
package com.wwdz.ch.db.dao.distribution;
import com.wwdz.ch.db.domain.distribution.SettlementRecord;
import com.wwdz.ch.db.dto.request.distribution.SettlementRecordRequestDto;
import java.util.List;
public interface SettlementRecordDao {
boolean insert(SettlementRecord settlementRecord);
boolean update(SettlementRecord settlementRecord);
boolean updateByPrimaryKey(SettlementRecord settlementRecord);
SettlementRecord findByBillId(String billId);
List<SettlementRecord> findList(SettlementRecordRequestDto dto);
}
......@@ -14,4 +14,11 @@ public interface UserAccountDetailDao {
boolean updateState(String transactionId, int state);
List<UserAccountDetail> findList(UserAccountDetailRequestDto dto);
/**
* 按照筛选条件汇总账户金额
* @param dto
* @return
*/
long summaryAmount(UserAccountDetailRequestDto dto);
}
......@@ -17,5 +17,7 @@ public interface UserBillDao {
UserBill findOne(String accountPeriod, long userId, Integer state);
UserBill findByBillId(String billId);
List<UserBill> findList(UserBillRequestDto dto);
}
package com.wwdz.ch.db.dto.request.distribution;
import com.wwdz.ch.db.dto.request.BaseRequestDto;
import com.xxdxxs.entity.Entity;
import lombok.Data;
import java.util.Date;
@Data
public class SettlementRecordRequestDto implements Entity {
public class SettlementRecordRequestDto extends BaseRequestDto implements Entity {
/**
* id
......@@ -43,6 +44,10 @@ public class SettlementRecordRequestDto implements Entity {
*/
private Date settleTime;
private Date startSettleTime;
private Date endSettleTime;
/**
* 创建时间
*/
......
......@@ -57,6 +57,11 @@ public class UserAccountDetailRequestDto extends BaseRequestDto implements Entit
*/
private Integer state;
/**
* 订单状态
*/
private Integer orderState;
/**
* 创建时间
*/
......
package com.wwdz.ch.db.impl.distribution;
import com.github.pagehelper.PageHelper;
import com.wwdz.ch.db.dao.distribution.SettlementRecordDao;
import com.wwdz.ch.db.domain.distribution.SettlementRecord;
import com.wwdz.ch.db.domain.distribution.SettlementRecordExample;
import com.wwdz.ch.db.dto.request.distribution.SettlementRecordRequestDto;
import com.wwdz.ch.db.mapper.distribution.SettlementRecordMapper;
import com.xxdxxs.db.component.JdbcHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public class SettlementRecordDaoImpl implements SettlementRecordDao {
......@@ -19,8 +24,8 @@ public class SettlementRecordDaoImpl implements SettlementRecordDao {
}
@Override
public boolean update(SettlementRecord settlementRecord) {
return false;
public boolean updateByPrimaryKey(SettlementRecord settlementRecord) {
return settlementRecordMapper.updateByPrimaryKeySelective(settlementRecord) > 0;
}
@Override
......@@ -30,4 +35,16 @@ public class SettlementRecordDaoImpl implements SettlementRecordDao {
criteria.andBillIdEqualTo(billId);
return settlementRecordMapper.selectOneByExampleWithBLOBs(example);
}
@Override
public List<SettlementRecord> findList(SettlementRecordRequestDto dto) {
SettlementRecordExample example = new SettlementRecordExample();
SettlementRecordExample.Criteria criteria = example.createCriteria();
JdbcHelper.ifPresent(dto.getUserId(), criteria::andUserIdEqualTo);
JdbcHelper.ifPresent(dto.getStartSettleTime(), criteria::andSettleTimeGreaterThanOrEqualTo);
JdbcHelper.ifPresent(dto.getEndSettleTime(), criteria::andSettleTimeLessThanOrEqualTo);
example.setOrderByClause(" settle_time desc");
PageHelper.startPage(dto.getPage(), dto.getLimit());
return settlementRecordMapper.selectByExampleWithBLOBs(example);
}
}
......@@ -64,4 +64,21 @@ public class UserAccountDetailDaoImpl implements UserAccountDetailDao {
PageHelper.startPage(dto.getPage(), dto.getLimit());
return userAccountDetailMapper.selectByExample(example);
}
@Override
public long summaryAmount(UserAccountDetailRequestDto dto) {
UserAccountDetailExample example = new UserAccountDetailExample();
UserAccountDetailExample.Criteria criteria = example.createCriteria();
JdbcHelper.ifPresent(dto.getUserId(), criteria::andUserIdEqualTo);
JdbcHelper.ifPresent(dto.getTransactionId(), criteria::andTransactionIdEqualTo);
JdbcHelper.ifPresent(dto.getTransactionIdList(), criteria::andTransactionIdIn);
JdbcHelper.ifPresent(dto.getFilterTransactionIdList(), criteria::andTransactionIdNotIn);
JdbcHelper.ifPresent(dto.getStartCreateTime(), criteria::andCreateTimeGreaterThanOrEqualTo);
JdbcHelper.ifPresent(dto.getEndCreateTime(), criteria::andCreateTimeLessThanOrEqualTo);
JdbcHelper.ifPresent(dto.getState(), criteria::andStateEqualTo);
JdbcHelper.ifPresent(dto.getType(), criteria::andTypeEqualTo);
JdbcHelper.ifPresent(dto.getFundType(), criteria::andFundTypeEqualTo);
return userAccountDetailMapper.summaryAmount(example);
}
}
......@@ -30,6 +30,14 @@ public class UserBillDaoImpl implements UserBillDao {
return userBillMapper.selectOneByExample(example);
}
@Override
public UserBill findByBillId(String billId) {
UserBillExample example = new UserBillExample();
UserBillExample.Criteria criteria = example.createCriteria();
criteria.andBillIdEqualTo(billId);
return userBillMapper.selectOneByExample(example);
}
@Override
public List<UserBill> findList(UserBillRequestDto dto) {
UserBillExample example = new UserBillExample();
......
......@@ -66,4 +66,8 @@ public interface UserAccountDetailMapper {
int updateByPrimaryKeySelective(UserAccountDetail record);
int updateByPrimaryKey(UserAccountDetail record);
long summaryAmount(UserAccountDetailExample example);
}
\ No newline at end of file
......@@ -368,4 +368,11 @@
</if>
limit 1
</select>
<select id="summaryAmount" parameterType="com.wwdz.ch.db.domain.distribution.UserAccountDetailExample" resultType="java.lang.Long">
select IFNULL(sum(amount), 0) as totalAmount from user_account_detail
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</select>
</mapper>
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment