Commit 0c5c33f5 authored by shiyu's avatar shiyu

缴纳保证金

parent d2481e63
...@@ -145,6 +145,12 @@ public interface CommConsts { ...@@ -145,6 +145,12 @@ public interface CommConsts {
public final static String GUARANTEE_MONEY_ORDER_PREFIX = "GM"; public final static String GUARANTEE_MONEY_ORDER_PREFIX = "GM";
/**
* 拍卖保证金缴纳订单号
*/
public final static String AUCTION_EARNEST_ORDER_PREFIX = "AE";
/** /**
* 平台收货地址 * 平台收货地址
*/ */
......
package com.wwdz.ch.core.consts;
/**
* 保证金
*/
public class EarnestEnum {
/**
* 积分入账类型
*/
public enum EntryEnum {
DEDUCT(-1, "扣除"),
INCREASE(1, "增加"),
;
private int code;
private String des;
EntryEnum(int code, String des) {
this.code = code;
this.des = des;
}
public static String getNameByCode(int code) {
for (EarnestEnum.EntryEnum entryEnum : EarnestEnum.EntryEnum.values()) {
if (code == entryEnum.getCode()) {
return entryEnum.getDes();
}
}
return null;
}
public int getCode() {
return code;
}
public String getDes() {
return des;
}
}
public enum TypeEnum {
GIFT(1, "赠送保证金"),
PAY(2, "缴纳保证金"),
WITHDRAW(3, "提取保证金"),
OCCUPY(4, "占用保证金"),
RELEASE(5, "释放保证金"),
DEDUCT(-1, "扣除保证金"),
;
private int code;
private String des;
TypeEnum(int code, String des) {
this.code = code;
this.des = des;
}
public static String getNameByCode(int code) {
for (EarnestEnum.TypeEnum typeEnum : EarnestEnum.TypeEnum.values()) {
if (code == typeEnum.getCode()) {
return typeEnum.getDes();
}
}
return null;
}
public int getCode() {
return code;
}
public String getDes() {
return des;
}
}
/**
* 该状态只针对于拍卖占用保证金记录,提现是否被释放或扣除
* 其它类型的保证金明细记录都是初始有效状态为1
*/
public enum StateEnum {
VALID(1, "初始有效状态"),
RELEASE(5, "已释放"),
DEDUCT(-1, "已扣除"),
;
private int code;
private String des;
StateEnum(int code, String des) {
this.code = code;
this.des = des;
}
public static String getNameByCode(int code) {
for (EarnestEnum.TypeEnum typeEnum : EarnestEnum.TypeEnum.values()) {
if (code == typeEnum.getCode()) {
return typeEnum.getDes();
}
}
return null;
}
public int getCode() {
return code;
}
public String getDes() {
return des;
}
}
/**
* 保证金缴纳订单状态
*/
public enum EarnestOrderStateEnum {
PRE_PAY(1, "待付款"),
PAYED(10, "已付款"),
CANCEL(101, "已取消"),
;
private int code;
private String des;
EarnestOrderStateEnum(int code, String des) {
this.code = code;
this.des = des;
}
public static String getNameByCode(int code) {
for (EarnestEnum.EarnestOrderStateEnum earnestOrderStateEnum : EarnestEnum.EarnestOrderStateEnum.values()) {
if (code == earnestOrderStateEnum.getCode()) {
return earnestOrderStateEnum.getDes();
}
}
return null;
}
public int getCode() {
return code;
}
public String getDes() {
return des;
}
}
}
package com.wwdz.ch.db.dao.openShop;
import com.wwdz.ch.db.domain.openShop.EarnestOrder;
public interface EarnestOrderDao {
/**
* 新增保证金订单
*
* @param earnestOrder
* @return
*/
boolean insert(EarnestOrder earnestOrder);
EarnestOrder findByOrderId(String orderId);
}
package com.wwdz.ch.db.dao.openShop;
import com.wwdz.ch.db.domain.openShop.EarnestRecord;
import com.wwdz.ch.db.dto.request.openShop.EarnestRecordRequestDto;
import java.util.List;
public interface EarnestRecordDao {
/**
* 插入保证金记录
*
* @param earnestRecord
* @return
*/
boolean insert(EarnestRecord earnestRecord);
/**
* 更新保证金记录
*
* @param earnestRecord
* @return
*/
boolean update(EarnestRecord earnestRecord);
/**
* 查询保证金明细
* @param dto
* @return
*/
List<EarnestRecord> findList(EarnestRecordRequestDto dto);
}
package com.wwdz.ch.db.dao.openShop;
import com.wwdz.ch.db.domain.openShop.UserAccount;
public interface UserAccountDao {
/**
* 插入账户信息
*
* @param userAccount
* @return
*/
boolean insert(UserAccount userAccount);
/**
* 更新用户账户
*
* @param userAccount
* @return
*/
boolean update(UserAccount userAccount);
/**
* 查询用户账户
* @param userId
* @return
*/
UserAccount findByUserId(long userId);
}
package com.wwdz.ch.db.dto.request.openShop;
import com.wwdz.ch.db.dto.request.BaseRequestDto;
import com.xxdxxs.entity.Entity;
import lombok.Data;
import java.util.Date;
@Data
public class EarnestOrderRequestDto extends BaseRequestDto implements Entity {
/**
* 保证金缴纳订单号
*/
private String earnestOrderId;
/**
* 用户id
*/
private Long userId;
/**
* 微信用户openid
*/
private String userOpenId;
/**
* 预支付id
*/
private String prepayId;
/**
* 微信支付订单号
*/
private String transactionId;
/**
* 订单金额,单位元 需要转成分保存
*/
private String amount;
/**
* 创建时间
*/
private Date createTime;
/**
* 支付时间
*/
private Date payTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 订单状态
*/
private Integer state;
/**
* 类型
*/
private Integer type;
}
package com.wwdz.ch.db.dto.request.openShop;
import com.wwdz.ch.db.dto.request.BaseRequestDto;
import com.xxdxxs.entity.Entity;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
public class EarnestRecordRequestDto extends BaseRequestDto implements Entity {
/**
* 用户ID
*/
private Long userId;
/**
* 商品id
*/
private Long itemId;
/**
* 拍卖专场id
*/
private Integer specialPerformanceId;
/**
* 保证金金额,单位元,需要换成分保存
*/
private String amount;
/**
* -1扣除1新增
*/
private Integer entryType;
/**
* 记录类型
*/
private Integer type;
private List<Integer> typeList;
/**
* 查询需要排除的类型
*/
private List<Integer> filterTypeList;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 状态
*/
private Integer state;
}
package com.wwdz.ch.db.impl.openShop;
import com.wwdz.ch.db.dao.openShop.EarnestOrderDao;
import com.wwdz.ch.db.domain.openShop.EarnestOrder;
import com.wwdz.ch.db.domain.openShop.EarnestOrderExample;
import com.wwdz.ch.db.mapper.openShop.EarnestOrderMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
@Repository
public class EarnestOrderDaoImpl implements EarnestOrderDao {
@Autowired
EarnestOrderMapper earnestOrderMapper;
@Override
public boolean insert(EarnestOrder earnestOrder) {
return earnestOrderMapper.insert(earnestOrder) > 0;
}
@Override
public EarnestOrder findByOrderId(String orderId) {
EarnestOrderExample example = new EarnestOrderExample();
EarnestOrderExample.Criteria criteria = example.createCriteria();
criteria.andEarnestOrderIdEqualTo(orderId);
return earnestOrderMapper.selectOneByExample(example);
}
}
package com.wwdz.ch.db.impl.openShop;
import com.github.pagehelper.PageHelper;
import com.wwdz.ch.db.dao.openShop.EarnestRecordDao;
import com.wwdz.ch.db.domain.openShop.EarnestRecord;
import com.wwdz.ch.db.domain.openShop.EarnestRecordExample;
import com.wwdz.ch.db.dto.request.openShop.EarnestRecordRequestDto;
import com.wwdz.ch.db.mapper.openShop.EarnestRecordMapper;
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 EarnestRecordDaoImpl implements EarnestRecordDao {
@Autowired
EarnestRecordMapper earnestRecordMapper;
@Override
public boolean insert(EarnestRecord earnestRecord) {
return earnestRecordMapper.insert(earnestRecord) > 0;
}
@Override
public boolean update(EarnestRecord earnestRecord) {
EarnestRecordExample example = new EarnestRecordExample();
EarnestRecordExample.Criteria criteria = example.createCriteria();
criteria.andUserIdEqualTo(earnestRecord.getUserId());
criteria.andItemIdEqualTo(earnestRecord.getItemId());
return earnestRecordMapper.updateByExampleSelective(earnestRecord, example) > 0;
}
@Override
public List<EarnestRecord> findList(EarnestRecordRequestDto dto) {
EarnestRecordExample example = new EarnestRecordExample();
EarnestRecordExample.Criteria criteria = example.createCriteria();
JdbcHelper.ifPresent(dto.getUserId(), criteria :: andUserIdEqualTo);
JdbcHelper.ifPresent(dto.getTypeList(), criteria :: andTypeIn);
JdbcHelper.ifPresent(dto.getFilterTypeList(), criteria :: andTypeNotIn);
PageHelper.startPage(dto.getPage(), dto.getLimit());
example.setOrderByClause("create_time desc");
return earnestRecordMapper.selectByExample(example);
}
}
...@@ -63,16 +63,16 @@ ...@@ -63,16 +63,16 @@
<!--生成Model类存放位置--> <!--生成Model类存放位置-->
<javaModelGenerator targetPackage="com.wwdz.ch.db.domain.distribution" targetProject="ch-dao/src/main/java"> <javaModelGenerator targetPackage="com.wwdz.ch.db.domain.openShop" targetProject="ch-dao/src/main/java">
<property name="enableSubPackages" value="true"/> <property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/> <property name="trimStrings" value="true"/>
</javaModelGenerator> </javaModelGenerator>
<sqlMapGenerator targetPackage="com.wwdz.ch.db.mapper.distribution" targetProject="ch-dao/src/main/resources"/> <sqlMapGenerator targetPackage="com.wwdz.ch.db.mapper.openShop" targetProject="ch-dao/src/main/resources"/>
<javaClientGenerator type="XMLMAPPER" targetPackage="com.wwdz.ch.db.mapper.distribution" <javaClientGenerator type="XMLMAPPER" targetPackage="com.wwdz.ch.db.mapper.openShop"
targetProject="ch-dao/src/main/java"/> targetProject="ch-dao/src/main/java"/>
<table tableName="special_performance" enableCountByExample="true" enableUpdateByExample="true" enableDeleteByExample="true" enableSelectByExample="true" selectByExampleQueryId="true"> <table tableName="earnest_order" enableCountByExample="true" enableUpdateByExample="true" enableDeleteByExample="true" enableSelectByExample="true" selectByExampleQueryId="true">
<generatedKey column="id" sqlStatement="Mysql" identity="true" /> <generatedKey column="id" sqlStatement="Mysql" identity="true" />
</table> </table>
......
package com.wwdz.ch.wx.service.openShop;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.openShop.EarnestOrderRequestDto;
import com.wwdz.ch.db.dto.request.openShop.EarnestRecordRequestDto;
import com.wwdz.ch.db.dto.request.openShop.OpenShopApplyOrderRequestDto;
public interface AuctionEarnestService {
/**
* 支付保证金
* @param dto
* @return
*/
Result payEarnest(EarnestOrderRequestDto dto);
/**
* 获取支付参数
* 预支付并返回支付所需要的前端参数
* @return
*/
Result getPayParam(EarnestOrderRequestDto dto);
}
...@@ -87,6 +87,13 @@ public class OfficialAccountApiTest { ...@@ -87,6 +87,13 @@ public class OfficialAccountApiTest {
officialAccountApi.getMenu(); officialAccountApi.getMenu();
} }
@Test
public void getUrlLink() {
System.out.println(wxAppletApi.getUrlLink("/pages/applyShop/index", null));
}
@Test @Test
public void sendSmsFromExcel() { public void sendSmsFromExcel() {
......
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