Browse Source

Merge remote-tracking branch 'origin/milestone-20251016-现金管理' into milestone-20251016-现金管理

milestone-20251016-现金管理
sunjiabei 1 month ago
parent
commit
e7b5eab082
  1. 20
      src/main/java/com/example/demo/Mysql/MysqlServiceImpl.java
  2. 2
      src/main/java/com/example/demo/Util/BaseDES.java
  3. 46
      src/main/java/com/example/demo/controller/cash/CashRefundController.java
  4. 1
      src/main/java/com/example/demo/domain/entity/CashRecord.java
  5. 1
      src/main/java/com/example/demo/domain/vo/cash/CashCollection.java
  6. 3
      src/main/java/com/example/demo/domain/vo/cash/CashRecordDone.java
  7. 5
      src/main/java/com/example/demo/mapper/cash/CashCollectionMapper.java
  8. 2
      src/main/java/com/example/demo/mapper/coin/MarketMapper.java
  9. 6
      src/main/java/com/example/demo/service/cash/RefundService.java
  10. 2
      src/main/java/com/example/demo/service/coin/MarketService.java
  11. 61
      src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java
  12. 16
      src/main/java/com/example/demo/serviceImpl/cash/CashRefundServiceImpl.java
  13. 6
      src/main/java/com/example/demo/serviceImpl/coin/MarketServiceImpl.java
  14. 2
      src/main/java/com/example/demo/serviceImpl/coin/WorkbenchServiceImpl.java
  15. 1
      src/main/resources/application-prod.yml
  16. 52
      src/main/resources/cashMapper/CashCollectionMapper.xml
  17. 27
      src/main/resources/cashMapper/CashRefundMapper.xml
  18. 4
      src/main/resources/mapper/MarketMapper.xml
  19. 4
      src/main/resources/mapper/WorkBenchMapper.xml

20
src/main/java/com/example/demo/Mysql/MysqlServiceImpl.java

@ -347,10 +347,8 @@ public class MysqlServiceImpl implements MysqlService {
Map<String, Object> dataMap = (Map<String, Object>) responseBody.get("data");
if (dataMap != null) {
name = (String) dataMap.get("name");
Object countryObj = dataMap.get("country");
if (countryObj instanceof List) {
country = (String) countryObj;
}
country = getCountryWithDefault(dataMap, "未知");
logger.info("获取用户信息成功: name={}, country={}", name, country);
}
}
@ -424,5 +422,19 @@ public class MysqlServiceImpl implements MysqlService {
}
}
}
private String getCountryWithDefault(Map<String, Object> dataMap, String defaultValue) {
Object countryObj = dataMap.get("treelist");
if (countryObj instanceof String) {
String countryStr = ((String) countryObj).trim();
if (countryStr.isEmpty()) {
return defaultValue;
}
String[] parts = countryStr.split("-");
return parts.length >= 3 ? parts[2] : defaultValue;
}
return defaultValue;
}
}

2
src/main/java/com/example/demo/Util/BaseDES.java

@ -91,7 +91,7 @@ public class BaseDES {
public static void main(String args[]) {
try {
BaseDES d = new BaseDES();
String encryptedText = d.encrypt("90048144");
String encryptedText = d.encrypt("90048169");
System.out.println("加密结果:" + encryptedText);
System.out.println("加密字符串:90005179》"+d.encrypt("90005179"));
System.out.println("解密字符串:6aaef5277c050f7ae383f816651098ff》"+d.decrypt("6aaef5277c050f7ae383f816651098ff"));

46
src/main/java/com/example/demo/controller/cash/CashRefundController.java

@ -88,36 +88,68 @@ public class CashRefundController {
}
@PostMapping("/add")
public Result add(@RequestBody CashRecordDone cashRecordDone) {
public Result add(@RequestBody CashRecordDone cashRecordDone) throws Exception {
try {
return Result.success(refundService.add(cashRecordDone));
} catch (Exception e) {
return Result.error(e.getMessage());
}
}
@PostMapping("/selecta")
public Result selecta(@RequestBody Page page) {
// 校验分页参数
if (ObjectUtils.isEmpty(page.getPageNum())) {
return Result.error("页码数为空!");
}
if (ObjectUtils.isEmpty(page.getPageSize())) {
return Result.error("页大小为空!");
}
// 获取传入的市场列表
List<String> requestedMarkets = page.getCashRecordDone() != null ? page.getCashRecordDone().getMarkets() : null;
return Result.success(refundService.select(page.getPageNum(), page.getPageSize(), page.getCashRecordDone()));
}
@PostMapping("/update")
public Result update(@RequestBody CashRecordDone cashRecordDone) {
public Result update(@RequestBody CashRecordDone cashRecordDone)throws Exception {
if (cashRecordDone.getStatus() == null) {
return Result.error("状态为空");
}
if (cashRecordDone.getStatus() == 10) {
return Result.success(refundService.withdraw(cashRecordDone));
}
else if (cashRecordDone.getStatus() == 11) {
return Result.success(refundService.update(cashRecordDone));
try {
return Result.success(refundService.update(cashRecordDone));
} catch (Exception e) {
return Result.error(e.getMessage());
}
}
else return Result.error("该订单状态无法支持此操作");
}
@PostMapping("/review")
public Result review(@RequestBody CashRecordDone cashRecordDone) {
return Result.success(refundService.review(cashRecordDone));
public Result review(@RequestBody CashRecordDone cashRecordDone){
try {
return Result.success(refundService.review(cashRecordDone));
} catch (Exception e) {
return Result.error(e.getMessage());
}
}
@PostMapping("/finalReview")
public Result finalReview(@RequestBody CashRecordDone cashRecordDone) {
return Result.success(refundService.finalreview(cashRecordDone));
}
@PostMapping("/executor")
public Result executor(@RequestBody CashRecordDone cashRecordDone) {
return Result.success(refundService.executor(cashRecordDone));
public Result executor(@RequestBody CashRecordDone cashRecordDone) throws Exception {
try {
return Result.success(refundService.executor(cashRecordDone));
}
catch (Exception e) {
return Result.error(e.getMessage());
}
}
}

1
src/main/java/com/example/demo/domain/entity/CashRecord.java

@ -56,6 +56,7 @@ public class CashRecord implements Serializable {
// 状态 & 操作人
private Integer status; // 订单状态
private Integer submitterId; // 提交人 id
private String submitterMarket; //提交人地区
private String voucher; // 转账凭证
private String remark; // 备注
private String rejectReason; // 驳回理由

1
src/main/java/com/example/demo/domain/vo/cash/CashCollection.java

@ -54,6 +54,7 @@ public class CashCollection implements Serializable {
//状态 操作人
private Integer status; // 订单状态
private Integer submitterId; // 提交人 id
private String submitterMarket; //提交人地区
private String submitterName; // 提交人 姓名
private String voucher; // 转账凭证
private String remark; // 备注

3
src/main/java/com/example/demo/domain/vo/cash/CashRecordDone.java

@ -35,6 +35,7 @@ public class CashRecordDone {
private String bankCode;
/** 商品名称 */
private String goodsName;
private List<String> goodsNames;
/** 币种 */
private String paymentCurrency;
/** 金额 */
@ -110,6 +111,8 @@ public class CashRecordDone {
private String areaFinance;
private String areaCharge;
private String headFinance;
private String sortField;
private String sortOrder;
}

5
src/main/java/com/example/demo/mapper/cash/CashCollectionMapper.java

@ -48,6 +48,7 @@ public interface CashCollectionMapper {
List<String> getActivityList();
//查找未同步的订单
List<GOrder>getUnSync(@Param("size")int size);
//同步g_order订单到cash_record表
// int syncToCashRecord(CashRecord record);
//给同步过去的gOrder设置同步状态
int markSynced(@Param("orderId") Integer orderId);
}

2
src/main/java/com/example/demo/mapper/coin/MarketMapper.java

@ -12,6 +12,6 @@ public interface MarketMapper {
//获取单个市场id
String getMarketId(String market);
Market getMarketIdDao(String market);
Market getMarketIdDao(String country);
Market getMarketIdBytype(String market);
}

6
src/main/java/com/example/demo/service/cash/RefundService.java

@ -17,13 +17,13 @@ public interface RefundService {
//添加
int add(CashRecordDone cashRecordDone) throws Exception;
//修改
int update(CashRecordDone cashRecordDone);
int update(CashRecordDone cashRecordDone) throws Exception;
//
int withdraw(CashRecordDone cashRecordDone);
//审核
int review(CashRecordDone cashRecordDone);
int review(CashRecordDone cashRecordDone) throws Exception;
// 执行
int executor(CashRecordDone cashRecordDone);
int executor(CashRecordDone cashRecordDone) throws Exception;
//修改原数据状态
int updateStatus(CashRecordDone cashRecordDone);

2
src/main/java/com/example/demo/service/coin/MarketService.java

@ -18,5 +18,5 @@ public interface MarketService {
//获取市场id
List<String> getMarketIds(List<String> list);
//dao获取市场id
String getMarketIdsDao(String market);
String getMarketIdsDao(String country);
}

61
src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java

@ -10,11 +10,15 @@ import com.example.demo.mapper.coin.MarketMapper;
import com.example.demo.service.cash.CashCollectionService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.List;
import java.util.UUID;
@ -27,6 +31,7 @@ import java.util.UUID;
* @Version 1.0
**/
@Service
@Slf4j
public class CashCollectionServiceImpl implements CashCollectionService {
@Autowired
@ -97,6 +102,7 @@ public class CashCollectionServiceImpl implements CashCollectionService {
cashRecord.setRemark(cashCollection.getRemark()); //备注
cashRecord.setStatus(0); //订单状态付款线下财务待审核
cashRecord.setSubmitterId(cashCollection.getSubmitterId()); //提交人ID
cashRecord.setSubmitterMarket(cashCollection.getSubmitterMarket());
cashRecord.setOrderType(1); //订单类型1-收款
cashRecord.setMarket(cashCollection.getMarket());
//地区根据jwcode插入
@ -180,25 +186,34 @@ public class CashCollectionServiceImpl implements CashCollectionService {
if (markets.contains("9") || markets.contains("9999")){
markets=null;
}
cashCollection.setReceivedMarket(marketMapper.getMarketId(cashCollection.getReceivedMarket()));
// cashCollection.setReceivedMarket(marketMapper.getMarketId(cashCollection.getReceivedMarket()));
if (cashCollection.getCashRoleId()==2) {
//角色是总部时传1346sql处理为1346筛选
cashCollection.setStatus(1346);
cashCollection.setSubmitterId(null);
cashCollection.setReceivedMarket(null);
}if (cashCollection.getCashRoleId()==1){
//角色是地方财务提交人置空不设筛选条件,仅按地区筛选查看
if(cashCollection.getStatus()==null){
cashCollection.setStatus(123460);
cashCollection.setSubmitterMarket(null);
}
if (cashCollection.getCashRoleId()==1){
//角色是地方财务提交人置空不设筛选条件,仅按收款地区提交人地区筛选
if(cashCollection.getStatus()==null){
cashCollection.setStatus(123460);}
//状态为待审核和已驳回时按照提交人地区筛选
if (cashCollection.getStatus()==0||cashCollection.getStatus()==2){
cashCollection.setReceivedMarket(null);}
//状态为已通过和Link通过时按收款地区筛选
if (cashCollection.getStatus()==13){
cashCollection.setSubmitterMarket(null);}
cashCollection.setSubmitterId(null);
}if (cashCollection.getCashRoleId()==0){
//状态为46已通过和已退款满足收款地区或提交人地区即可
}
if (cashCollection.getCashRoleId()==0){
//角色是地方财务提交人置空不设筛选条件---仅当角色是0 地方客服时按提交人筛选
if(cashCollection.getStatus()==null){
cashCollection.setStatus(1234560);
}
cashCollection.setStatus(1234560);}
cashCollection.setSubmitterId(cashCollection.getSubmitterId());
cashCollection.setReceivedMarket(null);
}
@ -245,35 +260,51 @@ public class CashCollectionServiceImpl implements CashCollectionService {
cashRecord.setJwcode(gOrder.getJwcode());
cashRecord.setName(cashCollectionMapper.getNameByJwcode(gOrder.getJwcode()));
cashRecord.setMarket(cashCollectionMapper.getMarketByJwcode(gOrder.getJwcode()));
cashRecord.setActivity("Link充值金币");
cashRecord.setActivity("Link日常充值");
cashRecord.setOrderCode(gOrder.getOrderNo());
if (gOrder != null) {
switch (gOrder.getPayStyle()) {
case 3:
cashRecord.setPayType("IOS内购");
cashRecord.setBankCode(gOrder.getIosTransactionId());
break;
case 4:
cashRecord.setPayType("Paypal");
cashRecord.setBankCode(gOrder.getPaypalOrderId());
cashRecord.setReceivedMarket("3");
break;
case 5:
cashRecord.setPayType("Stripe-链接收款");
cashRecord.setReceivedMarket("13");
break;
case 6:
cashRecord.setPayType("PaymentAsia-链接收款");
cashRecord.setReceivedMarket("13");
break;
case 7:
cashRecord.setPayType("Ipay88-链接收款");
cashRecord.setReceivedMarket("5");
break;
case 9:
cashRecord.setPayType("FistData");
cashRecord.setReceivedMarket("4");
break;
default:
break;
}
}
cashRecord.setGoodsName("Link充值金币");
cashRecord.setGoodNum(0);
cashRecord.setPermanentGold(gOrder.getCount());
cashRecord.setFreeGold(0);
cashRecord.setPaymentCurrency("");
cashRecord.setPaymentAmount(BigDecimal.valueOf(0));
cashRecord.setPayTime(LocalDateTime.ofEpochSecond(gOrder.getSuccessTime(), 0, ZoneOffset.UTC));
cashRecord.setStatus(3);
cashRecord.setSubmitterId(99999);
cashRecord.setRemark("Link充值金币");
//存入现金库
cashCollectionMapper.add(cashRecord);
cashCollectionMapper.markSynced(gOrder.getId());
}log.info("同步完成一批,数量 {}", gOrders.size());
if (gOrders.size() < 100) {
break; // 最后一批
}
}return "同步成功";
}return "同步完毕";
}}

16
src/main/java/com/example/demo/serviceImpl/cash/CashRefundServiceImpl.java

@ -6,6 +6,7 @@ import com.example.demo.domain.vo.cash.CashRecordDone;
import com.example.demo.domain.vo.coin.Result;
import com.example.demo.mapper.cash.CashRefundMapper;
import com.example.demo.mapper.coin.AuditMapper;
import com.example.demo.mapper.coin.MarketMapper;
import com.example.demo.mapper.coin.RefundMapper;
import com.example.demo.service.cash.RefundService;
import com.github.pagehelper.PageHelper;
@ -37,6 +38,8 @@ public class CashRefundServiceImpl implements RefundService {
private RefundMapper refundMapper;
@Autowired
private AuditMapper auditMapper;
@Autowired
private MarketMapper marketMapper;
@Override
public PageInfo<CashRecordDone> select(Integer pageNum, Integer pageSize, CashRecordDone cashRecordDone) {
PageHelper.startPage(pageNum, pageSize);
@ -75,7 +78,9 @@ public class CashRefundServiceImpl implements RefundService {
//生成订单号后半部分
String orderNumber = cashRecordDone.getOrderCode();
//构建订单信息
cashRecordDone.setOrderCode("TK_" + orderNumber); //订单号
cashRecordDone.setOrderCode("TK" + orderNumber); //订单号
cashRecordDone.setMarket(marketMapper.getMarketId(cashRecordDone.getMarket()));
cashRecordDone.setReceivedMarket(marketMapper.getMarketId(cashRecordDone.getReceivedMarket()));
cashRefundMapper.insert(cashRecordDone);
CashRecordDone cashRecordDone1 = new CashRecordDone();
cashRecordDone1.setId(cashRecordDone.getId());
@ -86,7 +91,7 @@ public class CashRefundServiceImpl implements RefundService {
}
@Override
public int update(CashRecordDone cashRecordDone) {
public int update(CashRecordDone cashRecordDone) throws Exception {
if (cashRecordDone.getJwcode()== null) {
throw new RuntimeException("未输入精网号");
}
@ -112,8 +117,11 @@ public class CashRefundServiceImpl implements RefundService {
}
@Override
public int review(CashRecordDone cashRecordDone) {
public int review(CashRecordDone cashRecordDone) throws Exception {
if(cashRecordDone.getStatus()== 12|| cashRecordDone.getStatus()== 22){
if(cashRecordDone.getOrderCode()== null){
throw new RuntimeException("未输入订单号");
}
CashRecordDone cashRecordDone1 = new CashRecordDone();
cashRecordDone1.setOrderCode(cashRecordDone.getOrderCode().substring(2));
cashRecordDone1.setStatus(4);
@ -126,7 +134,7 @@ CashRecordDone cashRecordDone1 = new CashRecordDone();
}
@Override
public int executor(CashRecordDone cashRecordDone) {
public int executor(CashRecordDone cashRecordDone) throws Exception {
if(cashRecordDone.getRefundVoucher()== null){
throw new RuntimeException("未输入退款凭证");
}

6
src/main/java/com/example/demo/serviceImpl/coin/MarketServiceImpl.java

@ -47,16 +47,16 @@ public class MarketServiceImpl implements MarketService {
}
@Override
public String getMarketIdsDao(String market) {
public String getMarketIdsDao(String country) {
// 1. 参数验证
if (market == null || market.trim().isEmpty()) {
if (country == null || country.trim().isEmpty()) {
return "24030";
}
try {
// 2. 查询市场信息
Market marketObj = marketMapper.getMarketIdDao(market.trim());
Market marketObj = marketMapper.getMarketIdDao(country);
// 3. 空值检查
if (marketObj == null) {

2
src/main/java/com/example/demo/serviceImpl/coin/WorkbenchServiceImpl.java

@ -63,7 +63,7 @@ public class WorkbenchServiceImpl implements WorkbenchService {
allMarkets.remove("总部");
// 固定顺序
List<String> fixed = Arrays.asList(
"新加坡", "马来西亚", "香港", "加拿大", "泰国", "越南HCM", "韩国", "未知"
"新加坡", "马来西亚", "香港", "加拿大", "泰国", "越南HCM", "韩国", "非网"
);
// 先放固定顺序存在的才放

1
src/main/resources/application-prod.yml

@ -46,6 +46,7 @@ spring:
maximum-pool-size: 10
sqlserver1:
jdbc-url: jdbc:sqlserver://10.19.183.6:1433;encrypt=true;sslProtocol=TLSv1;trustServerCertificate=true;
# jdbc-url: jdbc:sqlserver://52.76.43.43:1433;encrypt=true;sslProtocol=TLSv1;trustServerCertificate=true;
username: gjb_test
password: qweuio!@#$2
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver

52
src/main/resources/cashMapper/CashCollectionMapper.xml

@ -9,12 +9,12 @@
cash_record(order_type,jwcode,name,market,activity,
order_code,goods_name,good_num,permanent_gold,free_gold,
payment_currency,payment_amount,received_market,
pay_type,pay_time,status,submitter_id,
pay_type,pay_time,status,submitter_id,submitter_market,
voucher,remark)
values(#{orderType},#{jwcode},#{name},#{market},#{activity},
#{orderCode},#{goodsName},#{goodNum},#{permanentGold},#{freeGold},#{paymentCurrency},
#{paymentAmount},#{receivedMarket},#{payType},#{payTime},
#{status},#{submitterId},#{voucher},#{remark})
#{status},#{submitterId},#{submitterMarket},#{voucher},#{remark})
</insert>
<!-- <insert id="syncToCashRecord">
insert into cash_record(order_type,jwcode,name,market,activity,
@ -94,6 +94,12 @@
WHERE order_code = #{cashRecord.orderCode}
AND status IN (1, 3)
</update>
<!--设置gOrder订单为已同步-->
<update id="markSynced">
update g_order
set is_synced = 1
where id = #{orderId}
</update>
<!--根据jwcode获取所属地区-->
<select id="getMarketByJwcode" resultType="java.lang.String">
select market from user where jwcode=#{jwcode}
@ -109,18 +115,17 @@
select cr.id,cr.jwcode,cr.name,cr.market,
m1.name as marketName,
cr.activity,cr.order_code,cr.bank_code,
cr.goods_name,cr.good_num,cr.permanent_gold,cr.free_gold,cr.payment_amount/100 as paymentAmount,
cr.goods_name,cr.good_num,
cr.permanent_gold/100 as permanentGold,cr.free_gold/100 as freeGold,cr.payment_amount/100 as paymentAmount,
r1.rate_name as paymentCurrency,
r2.rate_name as receivedCurrency,
m2.name as receivedMarket,
cr.received_amount/100 as receivedAmount,cr.handling_charge/100 as handlingCharge,
cr.pay_type,cr.pay_time,cr.received_time,
cr.status,cr.submitter_id,cr.voucher,cr.remark,cr.reject_reason,
cr.status,cr.submitter_id,cr.submitter_market,cr.voucher,cr.remark,cr.reject_reason,
cr.audit_id,cr.create_time,cr.update_time,cr.audit_time,
a1.admin_name as submitterName,
a2.admin_name as auditName
from cash_record cr
left join admin a1 on cr.submitter_id = a1.id
left join admin a2 on cr.audit_id = a2.id
@ -142,9 +147,32 @@
<if test="cashCollection.submitterId!=null and cashCollection.submitterId !=''">
AND cr.submitter_id = #{cashCollection.submitterId}
</if>
<if test="cashCollection.receivedMarket!=null and cashCollection.receivedMarket!=''">
AND cr.received_market = #{cashCollection.receivedMarket}
</if>
<!-- 其他原有条件不变 -->
<choose>
<when test="cashCollection.status != null and cashCollection.status == 46">
<if test="cashCollection.receivedMarket != null and cashCollection.receivedMarket != ''">
AND (cr.received_market = #{cashCollection.receivedMarket}
<if test="cashCollection.submitterMarket != null and cashCollection.submitterMarket != ''">
OR cr.submitter_market = #{cashCollection.submitterMarket}
</if>
)
</if>
<if test="(cashCollection.receivedMarket == null or cashCollection.receivedMarket == '')
and cashCollection.submitterMarket != null and cashCollection.submitterMarket != ''">
AND cr.submitter_market = #{cashCollection.submitterMarket}
</if>
</when>
<!-- 非 status=46 保持原逻辑:同时满足 -->
<otherwise>
<if test="cashCollection.receivedMarket != null and cashCollection.receivedMarket != ''">
AND cr.received_market = #{cashCollection.receivedMarket}
</if>
<if test="cashCollection.submitterMarket != null and cashCollection.submitterMarket != ''">
AND cr.submitter_market = #{cashCollection.submitterMarket}
</if>
</otherwise>
</choose>
<if test="cashCollection.activity!=null and cashCollection.activity!=''">
AND cr.activity like concat('%',#{cashCollection.activity},'%')
</if>
@ -196,11 +224,11 @@
</select>
<!--查找未同步的订单-->
<select id="getUnSync" resultType="com.example.demo.domain.entity.GOrder">
select jwcode,order_no,type,price,count,pay_style,state,
select id,jwcode,order_no,type,price,count,pay_style,state,
success_time,ios_environment,ios_transaction_id,ios_receipt_data,
paypal_order_id,add_time,is_synced
add_time,is_synced
from g_order
where is_synced=0 and state=1 and type='gold_coin'
where is_synced=0 and state=1 and type='gold_coin' and pay_style in(3,5,6,7,9)
limit #{size}
</select>
</mapper>

27
src/main/resources/cashMapper/CashRefundMapper.xml

@ -156,10 +156,10 @@
cr.goods_name,
cr.good_num,
cr.payment_currency,
Round((payment_amount) / 100.0, 2) AS freeGold,
Round((payment_amount) / 100.0, 2) AS PaymentAmount,
cr.received_currency,
Round((received_amount) / 100.0, 2) AS freeGold,
cr.handling_charge,
Round((received_amount) / 100.0, 2) AS receivedAmount,
Round((handling_charge) / 100.0, 2) AS handlingCharge,
cr.pay_type,
cr.received_market,
cr.pay_time,
@ -186,6 +186,8 @@
a2.area_finance,
a2.area_charge,
a2.head_finance,
cr.refund_currency,
cr.refund_amount,
m.name as marketName
from cash_record cr
left join admin a1 on submitter_id = a1.id
@ -219,12 +221,15 @@
</foreach>
</if>
<if test="paymentCurrency!= null and paymentCurrency.length() > 0">
AND cr.payment_currency = #{paymentCurrency}
AND cr.payment_currency LIKE CONCAT('%', #{paymentCurrency}, '%')
</if>
<if test="goodsName != null and goodsName.length()>0">
and cr.goods_name = #{goodsName}
</if>
<if test="goodsNames!= null and goodsNames.size > 0">
AND cr.goods_name IN
<foreach collection="goodsNames" item="goodsNames" open="(" separator="," close=")">
#{goodsNames}
</foreach>
</if>
<if test="payType != null and payType.length()>0">
and cr.pay_type = #{payType}
</if>
@ -238,5 +243,13 @@
and cr.submitter_id = #{submitterId}
</if>
</where>
<choose>
<when test="sortField != null and sortField.length > 0 or sortOrder != null and sortOrder.length > 0">
ORDER BY ${sortField} ${sortOrder}
</when>
<otherwise>
ORDER BY create_time DESC
</otherwise>
</choose>
</select>
</mapper>

4
src/main/resources/mapper/MarketMapper.xml

@ -29,8 +29,8 @@
<select id="getMarketId" resultType="java.lang.String">
select id from market where name=#{market}
</select>
<select id="getMarketIdDao" resultType="java.lang.String">
select * from markets where name=#{market}
<select id="getMarketIdDao" resultType="com.example.demo.domain.entity.Market">
select * from markets where name=#{country}
</select>
<select id="getMarketIdBytype" resultType="com.example.demo.domain.entity.Market">
select * from market where parent_id=#{parentId}

4
src/main/resources/mapper/WorkBenchMapper.xml

@ -146,7 +146,7 @@
current_datetime as currentDate
from statistics where market=#{market}
and DATE(current_datetime) >= #{startDate}
AND DATE(current_datetime) &lt; #{endDate}
AND DATE(current_datetime) &lt;= #{endDate}
order by current_datetime desc
</select>
@ -164,7 +164,7 @@
from statistics
where market = #{market}
and current_datetime >= #{startDate}
and current_datetime &lt; #{endDate}
and current_datetime &lt;= #{endDate}
group by month
order by month
</select>

Loading…
Cancel
Save