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

fix neupos

release_toaliyun_real
lin 3 лет назад
Родитель
Сommit
478aa89a5e
6 измененных файлов: 172 добавлений и 1 удалений
  1. +38
    -0
      mallinkNeuPosAdmin/src/main/java/com/iformall/controller/NeuPosAdminController.java
  2. +29
    -0
      mallinkService/src/main/java/com/iformall/domain/dto/NeuPosUpdatePayDto.java
  3. +12
    -0
      mallinkService/src/main/java/com/iformall/mapper/NeuPosOrderMasterExtMapper.java
  4. +7
    -0
      mallinkService/src/main/java/com/iformall/service/NeuPosOrderService.java
  5. +63
    -0
      mallinkService/src/main/java/com/iformall/service/impl/NeuPosOrderServiceImpl.java
  6. +23
    -1
      mallinkService/src/main/resources/mapper/NeuPosOrderMasterExtMapper.xml

+ 38
- 0
mallinkNeuPosAdmin/src/main/java/com/iformall/controller/NeuPosAdminController.java Просмотреть файл

@@ -1,10 +1,13 @@
package com.iformall.controller;

import com.alibaba.fastjson.JSON;
import com.github.pagehelper.PageInfo;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.domain.dto.NeuPosUpdatePayDto;
import com.iformall.domain.po.NeuPosOrderMasterExt;
import com.iformall.domain.po.WxActivity;
import com.iformall.domain.po.WxMallApply;
import com.iformall.domain.vo.NeuPosOrderDataBVo;
import com.iformall.domain.vo.NeuPosSumDataBVo;
import com.iformall.domain.vo.WxCouponOrderBVo;
@@ -21,6 +24,8 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@@ -201,4 +206,37 @@ public class NeuPosAdminController extends BaseController {
new String[] {"orderNumber","serialNo","orderAmount","discountAmount","payTypeName","paidTime","orderStatus"},"pos交易明细",new NeuPosOrderDataBVo(), request, response);
}
}
@GetMapping("deviceList")
@ApiImplicitParams({
@ApiImplicitParam(name = "shopId", value = "租户号", dataType = "Long", paramType = "query", required = true)})
public ResultData deviceList(Long shopId) {
if (null == shopId) {
return new ResultData(Result.ERROR,"shopId is null.");
}
List<Map> maplist = neuPosOrderService.selectDeviceList(24L, shopId);
return new ResultData(maplist);
}
@GetMapping("orderDetail")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "订单编号", dataType = "Long", paramType = "query", required = true)})
public ResultData orderDetail(Long id) {
return new ResultData(neuPosOrderService.queyMasterOrderDetail(id));
}
@PostMapping("updatePayStatus")
public ResultData updatePayStatus(@RequestBody NeuPosUpdatePayDto neuPosUpdatePay) {
logger.info(" updatePayStatus :"+JSON.toJSONString(neuPosUpdatePay));
try {
neuPosOrderService.updatePayStatus(neuPosUpdatePay);
return new ResultData();
}catch(Exception e) {
logger.error("updatePayStatus error.",e);
return new ResultData(Result.ERROR,e.getMessage());
}

}
}

+ 29
- 0
mallinkService/src/main/java/com/iformall/domain/dto/NeuPosUpdatePayDto.java Просмотреть файл

@@ -0,0 +1,29 @@
package com.iformall.domain.dto;

import lombok.Data;

@Data
public class NeuPosUpdatePayDto {

@io.swagger.annotations.ApiModelProperty(value = "订单编号", name = "订单编号")
private String orderNumber ;
@io.swagger.annotations.ApiModelProperty(value = "支付状态", name = "支付状态")
private Integer payStatus ;
@io.swagger.annotations.ApiModelProperty(value = "实际支付金额", name = "实际支付金额")
private Integer realPayAmount ;
@io.swagger.annotations.ApiModelProperty(value = "设备", name = "设备")
private String deviceId ;
private String deviceName ;
@io.swagger.annotations.ApiModelProperty(value = "支付类型", name = "设备")
private Integer payType;
private String payTypeName;
@io.swagger.annotations.ApiModelProperty(value = "订单金额", name = "订单金额")
private Integer payAmount;
@io.swagger.annotations.ApiModelProperty(value = "退款金额", name = "退款金额")
private Integer refundAmount = 0 ;
private String tradeId;
private String description;
}

+ 12
- 0
mallinkService/src/main/java/com/iformall/mapper/NeuPosOrderMasterExtMapper.java Просмотреть файл

@@ -2,6 +2,7 @@ package com.iformall.mapper;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.iformall.domain.dto.NeuPosUpdatePayDto;
import com.iformall.domain.po.NeuPosOrderMasterExt;
import java.util.List;
import java.util.Map;
@@ -24,5 +25,16 @@ public interface NeuPosOrderMasterExtMapper extends BaseMapper<NeuPosOrderMaster
List<String> selectOrgPayType(@Param("orgId") Integer orgId);
List<Map> queryOrderListByConditions(NeuPosOrderMasterExt example);
Map queryMasterById(@Param("id") Long id);
void updateOrderMasterPayStatus(@Param("orderNumber") String orderNumber,@Param("payStatus") Integer payStatus);
List<Map> queryPayOrderByStatus(@Param("orderNumber") String orderNumber,@Param("payStatus") Integer payStatus);
void insertPayOder(NeuPosUpdatePayDto neuPosUpdatePayDto);
List<Map> queryDeviceList(@Param("organizationId") Long organizationId,@Param("shopId") Long shopId );

}

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

@@ -6,6 +6,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.github.pagehelper.PageInfo;
import com.iformall.domain.dto.NeuPosUpdatePayDto;
import com.iformall.domain.po.NeuPosOrderMasterExt;

public interface NeuPosOrderService {
@@ -34,4 +35,10 @@ public interface NeuPosOrderService {
PageInfo<Map> queryOrderList(NeuPosOrderMasterExt example,Integer pageIndex, Integer pageSize);
void exportData(List datas, String[] titleNames,String[] columnKeys,String fileName,Object voObject, HttpServletRequest request, HttpServletResponse response);

Map queyMasterOrderDetail(Long id);
void updatePayStatus(NeuPosUpdatePayDto updatePay);
List<Map> selectDeviceList(Long orgId,Long shopId);
}

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

@@ -2,6 +2,7 @@ package com.iformall.service.impl;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.iformall.domain.dto.NeuPosUpdatePayDto;
import com.iformall.domain.po.NeuPosOrderMasterExt;
import com.iformall.domain.vo.WxCouponOrderBVo;
import com.iformall.mapper.NeuPosOrderMasterExtMapper;
@@ -12,15 +13,19 @@ import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

@Service
public class NeuPosOrderServiceImpl implements NeuPosOrderService {
@@ -104,6 +109,64 @@ public class NeuPosOrderServiceImpl implements NeuPosOrderService {
}

@Override
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})
public void updatePayStatus(NeuPosUpdatePayDto updatePay) {
Integer payStatus = null;
if ("1".equals(updatePay.getPayStatus())) {
payStatus = 1;
}else if ("2".equals(updatePay.getPayStatus())) {
payStatus = 3;
}else if ("3".equals(updatePay.getPayStatus())) {
payStatus = 1;
}else if ("4".equals(updatePay.getPayStatus())) {
payStatus = 1;
}else if ("5".equals(updatePay.getPayStatus())) {
payStatus = 2;
}else if ("6".equals(updatePay.getPayStatus())) {
payStatus = 4;
}else if ("7".equals(updatePay.getPayStatus())) {
payStatus = 4;
}else if ("8".equals(updatePay.getPayStatus())) {
payStatus = 4;
}else if ("9".equals(updatePay.getPayStatus())) {
payStatus = 5;
}
neuPosOrderMasterExtMapper.updateOrderMasterPayStatus(updatePay.getOrderNumber(), updatePay.getPayStatus());
List<Map> payOrderList = neuPosOrderMasterExtMapper.queryPayOrderByStatus(updatePay.getOrderNumber(), payStatus);
if (null == payOrderList || payOrderList.size() <= 0 ) {
updatePay.setTradeId(generateTradeId());
updatePay.setDescription("手动更改支付状态");
updatePay.setPayStatus(payStatus);
neuPosOrderMasterExtMapper.insertPayOder(updatePay);
}
}
private static String generateTradeId() {
String tradeId = (new Date()).getTime()+random(5,"0123456789");
return tradeId;
}
private static String random(int count,String value) {
StringBuffer sb = new StringBuffer();
Random r = new Random();
for (int i = 0 ; i < count; i++) {
int num = r.nextInt(value.length());
sb.append(value.charAt(num));
}
return sb.toString();
}

@Override
public Map queyMasterOrderDetail(Long id) {
return neuPosOrderMasterExtMapper.queryMasterById(id);
}

@Override
public List<Map> selectDeviceList(Long orgId, Long shopId) {
return neuPosOrderMasterExtMapper.queryDeviceList(orgId, shopId);
}


}

+ 23
- 1
mallinkService/src/main/resources/mapper/NeuPosOrderMasterExtMapper.xml Просмотреть файл

@@ -214,7 +214,7 @@ SELECT
</select>
<select id="queryOrderListByConditions" parameterType="com.iformall.domain.po.NeuPosOrderMasterExt" resultType="java.util.Map">
SELECT o.paid_time AS paidTime,o.order_number AS orderNumber,o.serial_no AS serialNo,
SELECT o.id,o.shop_id as shopId,o.paid_time AS paidTime,o.order_number AS orderNumber,o.serial_no AS serialNo,
o.order_amount/100 AS orderAmount,
sum( IF ( p.pay_type = 29, pay_amount, 0 ) )/100 AS discountAmount,
o.real_pay_amount / 100 AS realPayAmount,
@@ -241,4 +241,26 @@ SELECT
ORDER BY o.created_at desc
</select>
<select id="queryMasterById" parameterType="Integer" resultType="java.util.Map">
select * from order_master_v2 where id=#{id}
</select>
<update id="updateOrderMasterPayStatus" parameterType="java.util.Map">
update order_master_v2 set order_status=#{payStatus} where order_number=#{orderNumber}
</update>
<select id="queryPayOrderByStatus" parameterType="java.util.Map" resultType="java.util.Map">
select * from pay_order_v2 where m_order_number=#{orderNumber} and pay_status = #{payStatus}
</select>
<insert id="insertPayOder" parameterType="com.iformall.domain.dto.NeuPosUpdatePayDto">
insert into pay_order_v2(m_order_number,trade_id,device_id,device_name,description,pay_type,pay_type_name,pay_amount,refunded_amount,
time_expire,pay_status,pay_time,version,trade_type,created_at,created_by,updated_by,updated_at)
values (#{orderNumber},#{tradeId},#{deviceId},#{deviceName},#{description},#{payType},#{payTypeName},#{realPayAmount},#{refundAmount},
now(),#{payStatus},now(),1,"NATIVE",now(),"system","system",now())
</insert>
<select id="queryDeviceList" parameterType="java.util.Map" resultType="java.util.Map">
select serial_no as serialNo,alias from device where status = 0 and organization_id = #{organizationId} and store_id = #{shopId}
</select>
</mapper>

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