44323
2023-11-17 7cb90b47c42b4ee5944964ad62ae89e7e6a2f9ca
后台bug修改
21个文件已修改
1个文件已删除
2个文件已添加
598 ■■■■ 已修改文件
cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/resources/mapper/CoursePackageStudentMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/course/mapper/TOperatorUserMapper.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/api/SaticScheduleTask.java 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorController.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorUserController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/OperatorAuth.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/OperatorUser.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/OperatorUserVO.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IOperatorUserService.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TOperatorUserServiceImpl.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/resources/TOperatorUserMapper.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/resources/mapper/TOperatorUserMapper.xml 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/dataStatistics/operatorIncome.html 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/dataStatistics/platformIncome.html 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/operator/OperatorUser_proportionAuth.html 131 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/operatorUser/OperatorUser_proportionAuth.html 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TStoreList.html 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/static/modular/system/operator/operator.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/static/modular/system/operatorUser/operatorUser.js 97 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/static/modular/system/tGoods/TStoreInfo.js 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods_info.js 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java
@@ -275,16 +275,16 @@
    @PostMapping("/student/giftSelect")
    public  List<SelectDto> giftSelect(@RequestBody GiftSearchDto giftSearchDto){
        System.out.println("======giftSelect=========giftSearchDto===="+giftSearchDto);
        TAppUser one = appUserService.getOne(new QueryWrapper<TAppUser>().eq("name", giftSearchDto.getName())
                .eq("phone", giftSearchDto.getPhone()));
//       Integer appId = studentService.getGiftSelect(giftSearchDto);
        TCoursePackagePayment1 coursePackagePaymentById = paymentClient.getCoursePackagePaymentById1(giftSearchDto.getId());
//        System.out.println("=======giftSelect======appId====>"+appId);
        List<TStudent> selectDtos =  studentService.list(new QueryWrapper<TStudent>()
                .select("name, id")
                .eq("state", 1)
                .eq("name", giftSearchDto.getName()).eq("phone",giftSearchDto.getPhone()).ne("appUserId",coursePackagePaymentById.getAppUserId()));
                .eq("appUserId",one.getId()));
        List<SelectDto> list = new ArrayList<>();
        for (TStudent student : selectDtos) {
            SelectDto selectDto = new SelectDto();
cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java
@@ -409,8 +409,8 @@
            CourseCounsum courseCounsum = new CourseCounsum();
            courseCounsum.setInsertTime(new Date());
            if (orinPay.getAppUserId()!=studentPay.getAppUserId()){
                courseCounsum.setReason("赠课");
            }else {            courseCounsum.setReason("转课");
                courseCounsum.setReason("课时转移");
            }else {            courseCounsum.setReason("课时转移");
            }
            courseCounsum.setNum(laveClassHours);
            courseCounsum.setChangeType(0);
@@ -429,7 +429,7 @@
            CourseCounsum courseCounsum1 = new CourseCounsum();
            courseCounsum1.setInsertTime(new Date());
            courseCounsum1.setReason("转课");
            courseCounsum1.setReason("课时转移");
            courseCounsum1.setNum(laveClassHours);
            courseCounsum1.setChangeType(1);
            courseCounsum1.setPaymentId(studentPay.getId());
@@ -465,7 +465,7 @@
            CourseCounsum courseCounsum = new CourseCounsum();
            courseCounsum.setInsertTime(new Date());
            courseCounsum.setReason("赠课");
            courseCounsum.setReason("课时转移");
            courseCounsum.setNum(orinPay.getLaveClassHours());
            courseCounsum.setChangeType(0);
            courseCounsum.setPaymentId(orinPay.getId());
@@ -477,7 +477,7 @@
            CourseCounsum courseCounsum1 = new CourseCounsum();
            courseCounsum1.setInsertTime(new Date());
            courseCounsum1.setReason("赠课");
            courseCounsum1.setReason("课时转移");
            courseCounsum1.setNum(orinPay.getLaveClassHours());
            courseCounsum1.setChangeType(1);
            courseCounsum1.setPaymentId(to.getId());
@@ -851,7 +851,7 @@
        String join = StringUtils.join(stringArray, ",");
        System.out.println("==========join========"+join);
        return "转课成功";
        return "课时转移成功";
    }
cloud-server-course/src/main/resources/mapper/CoursePackageStudentMapper.xml
@@ -52,11 +52,11 @@
            t_course_package_payment py
                LEFT JOIN t_course_package pg ON py.coursePackageId = pg.id
        <where>
            <if test="null != tStudentId">
                py.studentId = #{tStudentId}
            </if>
            and pg.type!=3
        </where>
    </select>
    <select id="getMaxDate" resultType="java.util.Date">
cloud-server-management/src/main/java/com/dsh/course/mapper/TOperatorUserMapper.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsh.guns.modular.system.model.OperatorUser;
import com.dsh.guns.modular.system.model.OperatorUserVO;
import com.dsh.guns.modular.system.model.TOperator;
import org.apache.ibatis.annotations.Param;
@@ -16,13 +17,13 @@
 */
public interface TOperatorUserMapper extends BaseMapper<OperatorUser> {
    List<Map<String, Object>> listAll(@Param("page")Page<Map<String, Object>> page,
                                      @Param("province") String province,
                                      @Param("city")String city,
                                      @Param("userName")String userName,
                                      @Param("phone") String phone,
                                      @Param("platform")Integer platform,
                                      @Param("type")Integer type,
                                      @Param("state")Integer state);
    List<OperatorUserVO> listAll(
            @Param("province") String province,
            @Param("city")String city,
            @Param("userName")String userName,
            @Param("phone") String phone,
            @Param("platform")Integer platform,
            @Param("type")Integer type,
            @Param("state")Integer state);
}
cloud-server-management/src/main/java/com/dsh/guns/modular/system/api/SaticScheduleTask.java
@@ -5,11 +5,18 @@
import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.domain.PrivilegeBenefit;
import com.alipay.api.request.AlipayMerchantIndirectAuthorderCloseRequest;
import com.alipay.api.request.AlipayMerchantIndirectAuthorderQuerystatusRequest;
import com.alipay.api.response.AlipayMerchantIndirectAuthorderCloseResponse;
import com.alipay.api.response.AlipayMerchantIndirectAuthorderQuerystatusResponse;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dsh.guns.modular.system.model.OperatorAuth;
import com.dsh.guns.modular.system.model.OperatorUser;
import com.dsh.guns.modular.system.model.User;
import com.dsh.guns.modular.system.service.IOperatorAuthService;
import com.dsh.guns.modular.system.service.IOperatorUserService;
import com.dsh.guns.modular.system.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
@@ -23,6 +30,10 @@
public class SaticScheduleTask {
    @Autowired
    private IOperatorAuthService operatorAuthService;
    @Autowired
    private IOperatorUserService operatorUserService;
    @Autowired
    private IUserService userService;
    // 一个小时执行一次
    @Scheduled(fixedRate=3600000)
    private void configureTasks() {
@@ -70,7 +81,86 @@
                String substring = res.substring(0, res.length() - 1);
                operatorAuth.setRefuseReason(substring);
                operatorAuthService.updateById(operatorAuth);
                // 获取运营商的管理员id
                Integer operatorId = operatorAuth.getOperatorId();
                User one = userService.getOne(new QueryWrapper<User>().eq("objectId", operatorId)
                        .eq("objectType", 2));
/**
 * 状态 1=审核中(AUDITING)、2=待联系人确认(CONTACT_CONFIRM),
 * 3=待法人确认(LEGAL_CONFIRM)、4=审核通过(AUDIT_PASS)、
 * 5=审核失败(AUDIT_REJECT)、6=已冻结(AUDIT_FREEZE)、
 * 7=已撤回(CANCELED)、8=联系人处理中(CONTACT_PROCESSING)
 */
                // 失败修改审核状态
                OperatorUser userId = operatorUserService.getOne(new QueryWrapper<OperatorUser>()
                        .eq("userId", one.getId()));
                if (userId!=null){
                    switch (order_status){
                        case "AUDITING":
                            userId.setAlipayAudit(1);
                            break;
                        case "CONTACT_CONFIRM":
                            userId.setAlipayAudit(2);
                            break;
                        case "LEGAL_CONFIRM":
                            userId.setAlipayAudit(3);
                            break;
                        case "AUDIT_PASS":
                            userId.setAlipayAudit(4);
                            break;
                        case "AUDIT_REJECT":
                            userId.setAlipayAudit(5);
                            break;
                        case "AUDIT_FREEZE":
                            userId.setAlipayAudit(6);
                            break;
                        case "CANCELED":
                            userId.setAlipayAudit(7);
                            break;
                        case "CONTACT_PROCESSING":
                            userId.setAlipayAudit(8);
                            break;
                    }
                    operatorUserService.updateById(userId);
                }
            }
            // 审核通过
            String qr_code = sign.getString("qr_code");
            if (qr_code!=null&& (!qr_code.equals(""))){
                // 将二维码链接保存起来
                operatorAuth.setQrCode(qr_code);
                operatorAuthService.updateById(operatorAuth);
            }
            if (operatorAuth.getOrderStatus().equals("AUDIT_REJECT")
            || operatorAuth.getOrderStatus().equals("AUDIT_FREEZE")
                    || operatorAuth.getOrderStatus().equals("CANCELED")){
                // 未通过审核 撤销申请单
                AlipayClient alipayClient1 = new DefaultAlipayClient
                        ("https://openapi.alipay.com/gateway.do",
                                "2021004123692417","MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCq1V7akWZ/V9mr8NGW2CihIbY93M7M33LpVM5y63qEuN7yqyJV197WT6c7uHBcttY6cJLawXLihgC8KF6ZzdXWbm4n4RiigxIaz9LbSVBjYplkNgG2rg7W7dB8wrrqcwBQU0n+pFX3KWJkHRXDugqE21VCGgzySKQBkhiztmTI/z039PdWp2RTGLiL/OuwVrPjQv3He2orYIZgADWid0mtZXCEFosDkaQDTEqCfuDEuMouEiaIk/lw0ZWxiR1Fvfr82nO0r94lM/CC1wNRif2+2ESR+YystsWQPm16eRgS3wAQz2cOTP4L5VNKNzcUAgxTQK3Bj8GvqrYUUlcC7VCTAgMBAAECggEAPKmYDTUkmIOxoATb6BzKEK3P8Re/t7CBNaoPxW8pCog7YyCyCJmnX6LZV7Oe8s1aNVZUT6nyCc5b5HTRYvxcutBr/W1JOiwg+bRiw8u86A3TOmqTITOdwWShbCwaA7binaN12x6wCByB+9r4J5Cgu5zHIbnubvqsgoJGk0ppb5XbyYkikOAXPHli4PUe4GOorSuhRdq3XlGWiMwh4yt48kF4vP+2ByuDOYQU6LjGs0wn/5LpN+ReLdXTab65Cz7WYTDrTndyIrhFg7cyT5m2gtiJuEgIJ45uaaeGNIecV6JSnRsEv4YD4m+I58yhyyvw9zd0Z5qP04QNjy7OK2UeQQKBgQD/EJpaVv0RR83Z6Hp2YVrPoiMz279U5bgkBbcxgr9GR2YYE3rrHqBdqch1Uitu+g6LIC+SDtib7yG9C7EqPHB3fsfEw8NtL54gy3OFbCcH3lqFxgtrCpQ2SIXQjd8932TpzcMdD6jzyUoSraT+lgkf2MgjqFiMbNVg50lGDyWujQKBgQCrdbXTttuazdwU0pdRFCuTz42iIJSZtHFUPvmbrBy7LFQ8NTN76dqLM1RUH7gJukPc4+Ax+DfpDgHZ4nQ2KSk9FweLqKSf10kojibKpc3nkgDRtUtSTar8fZn9VKTuXK1Ho0LUkjDlHjlEwUuf/Ef+IdjzXDJ2UPWHp2YzxvNDnwKBgBWGtjAnpUX/FF1upF83Si251lS7GAO3O3o2zUYtba0lu3UOt9H+DLS67oMQQ0AjdHTDa6BdBmTqoqNMyE/zN96t4Xg2uViOqz7DTOWWwhiE6IjftPj8tJN8PWbjglK7ds3QosXiG3UvqMO4yfL+gJiieAmiXI7FZKDABEwYXSrFAoGASXVe91vKbmJwPgOTjMsleGhd9+4ZfFjQjRWF/2oXzSFK3Zi1fAtO9ICDSp9kS9afqI2AyifcXF8B8AWTYHj2EBRDyVPxZAHqeBOfDwdGVkY5T59qq9JWxWJSjTSsjOrr2ltaEJSpmh/+zTQ7YEnH1ltOBcWkYQiCiSHxKZG9O2UCgYBfBTkjktzv81SnW47d0qRwmiXrcyObmXTe5fIW9e6KaB0SnzcVvoCmm7TTk+Bm4WqNmfb5k8U6J22vdxB1TPlRksnY+VZDM0Grv/xUII9G8oVQ4+NiE5XvQ7+nc5EBJ12of6GxE7/yXZiDld62q2sFZgrFzhvvHV+IADsu/VdIEw==",
                                "json","GBK",
                                "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApCzq4BIE4gMdEXxIAAUbiMpSytkzp+LVLVsBtji87rFGfWUcnrr3NKftaw0WtRu+36d1nDVOWW4CmgsOPyj1GOFoTcJOR/BqyIriwyLxpuMS8qgOqGJZXi+W4Nw2AJL6iMVwY2eI8F1G10gACK2I9TNJRzHh3tMTA6ItysbGoekRDtn6Xrkh5V6cyHQjLw0Q6MJK/68XT6/LWzarDEEYrSnIevOydMY32ptAgm5fp/h08M2khCmI6CuMWKmc87dPpd2krGVTALqprAQvB74AIqO+5DE0fN4LoitOYXAtWDCEF4kHN0hQUygIEGCwtMgEVzkf92VLlCX35YtDhWd1yQIDAQAB","RSA2");
                AlipayMerchantIndirectAuthorderCloseRequest request = new AlipayMerchantIndirectAuthorderCloseRequest();
                request.setBizContent("{" +
                        "  \"order_no\":\""+operatorAuth.getOrderNo()+"\"," +
                        "  \"out_biz_no\":\""+operatorAuth.getOutBizNo()+"\"" +
                        "}");
                AlipayMerchantIndirectAuthorderCloseResponse response = null;
                try {
                    response = alipayClient1.execute(request);
                } catch (AlipayApiException e) {
                    e.printStackTrace();
                }
                if(response.isSuccess()){
                    System.out.println("撤销申请单调用成功");
                } else {
                    System.out.println("撤销申请单调用失败");
                }
            }
        }
    }
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java
@@ -235,6 +235,7 @@
        List<PointMerchandiseIncomeVo> amount = pointMercharsClient.getAmount();
        for (PointMerchandiseIncomeVo pointMerchandiseIncomeVo : amount) {
            IncomeVO temp = new IncomeVO();
            if (pointMerchandiseIncomeVo==null) continue;
            temp.setInsertTime(pointMerchandiseIncomeVo.getInsertTime());
            if (pointMerchandiseIncomeVo.getCash()!=null){
                temp.setAmount(pointMerchandiseIncomeVo.getCash());
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorController.java
@@ -153,11 +153,32 @@
        List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
        model.addAttribute("provinceList",list);
        model.addAttribute("data",data);
        OperatorAuth info = operatorAuthService.getOne(new QueryWrapper<OperatorAuth>().eq("operatorId", id));
        model.addAttribute("item",info);
        if (info==null){
            OperatorAuth operatorAuth = new OperatorAuth();
            model.addAttribute("item",operatorAuth);
            model.addAttribute("bodyType",0);
            model.addAttribute("code",null);
            model.addAttribute("reasons",null);
        }else{
            model.addAttribute("code",info.getQrCode());
            model.addAttribute("item",info);
            model.addAttribute("bodyType",info.getBodyType());
            if (info.getRefuseReason()!=null && (!info.getRefuseReason().equals(""))){
                model.addAttribute("reasons",info.getRefuseReason());
            }else{
                model.addAttribute("reasons",null);
            }
        }
        return PREFIX + "OperatorUser_proportionAuth.html";
    }
    /**
     * 商户认证提交
     * 支付宝商户认证提交
     */
    @RequestMapping(value = "/auth")
    @ResponseBody
@@ -170,8 +191,32 @@
                       String beneficiaryNumber,String beneficiaryAddress,String beneficiaryTerm,String beneficiaryFront,String beneficiaryBack,
                       String remark) {
        UUID uuid = UUID.randomUUID();
        String numericUUID = uuid.toString().replaceAll("-", "");
        OperatorAuth data = operatorAuthService.getOne(new QueryWrapper<OperatorAuth>().eq("operatorId", operatorId));
        OperatorAuth operatorAuth = new OperatorAuth();
        if (data!=null){
            operatorAuth.setId(data.getId());
            if(businessPicture==null || businessPicture.equals("")){
                operatorAuth.setBusinessPicture(data.getBusinessPicture());
                businessPicture = data.getBusinessPicture();
            }
            if(legalFront==null || legalFront.equals("")){
                legalFront = data.getLegalFront();
                operatorAuth.setLegalFront(data.getLegalFront());
            }
            if(legalBack==null || legalBack.equals("")){
                legalBack = data.getLegalBack();
                operatorAuth.setLegalBack(data.getLegalBack());
            }
            if(beneficiaryFront==null || beneficiaryFront.equals("")){
                beneficiaryFront = data.getBeneficiaryFront();
                operatorAuth.setBeneficiaryFront(data.getBeneficiaryFront());
            }
            if(beneficiaryBack==null || beneficiaryBack.equals("")){
                beneficiaryBack = data.getBeneficiaryBack();
                operatorAuth.setBeneficiaryBack(data.getBeneficiaryBack());
            }
        }
        String numericUUID = uuid.toString().replaceAll("-", "");
        operatorAuth.setName(name);
        operatorAuth.setPhone(phone);
        operatorAuth.setNumber(number);
@@ -312,7 +357,18 @@
//            String orderStatus = r.getString("order_status");
            operatorAuth.setOrderNo(order_no);
            operatorAuth.setOrderStatus(order_status);
            operatorAuthService.save(operatorAuth);
            operatorAuthService.saveOrUpdate(operatorAuth);
            // 通过运营商id找到用户id
            TOperator byId = operatorService.getById(operatorId);
            if (byId!=null){
                Integer userId = byId.getUserId();
                OperatorUser userId1 = operatorUserService.getOne(new QueryWrapper<OperatorUser>().eq("userId", userId));
                if (userId1!=null){
                    // 设置为审核中状态
                    userId1.setAlipayAudit(1);
                    userId1.setWechatAudit(1);
                }
            }
        } else {
            System.out.println("调用失败");
        }
@@ -468,6 +524,9 @@
        operatorUser.setAlipayType(3);
        operatorUser.setWechatType(3);
        operatorUser.setOperatorId(data.getId());
        // 添加运营商商户认证
        operatorUser.setAlipayProportion("未设置");
        operatorUser.setWechatProportion("未设置");
        operatorUserService.save(operatorUser);
        user.setObjectId(data.getId());
        userService.updateById(user);
@@ -513,6 +572,7 @@
            }
        }
        return ResultUtil.success("添加成功");
    }
    /**
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorUserController.java
@@ -76,7 +76,8 @@
    @ResponseBody
    public Object listAll(String province,String city,String userName, String phone,Integer platform,Integer type,Integer state) {
        List<Map<String,Object>> list =  operatorUserService.listAll(new Page<>(),province,city,userName,phone,platform,type,state);
        List<OperatorUserVO> list =  operatorUserService.
                listAll(province,city,userName,phone,platform,type,state);
        return list;
    }
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/OperatorAuth.java
@@ -108,5 +108,7 @@
    private String orderNo;
    @TableField(value = "orderStatus")
    private String orderStatus;
    @TableField(value = "qrCode")
    private String qrCode;
}
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/OperatorUser.java
@@ -33,4 +33,8 @@
    private Integer wechatType;
    @TableField(value = "operatorId")
    private Integer operatorId;
    @TableField(value = "alipayAudit")
    private Integer alipayAudit;
    @TableField(value = "wechatAudit")
    private Integer wechatAudit;
}
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/OperatorUserVO.java
New file
@@ -0,0 +1,32 @@
package com.dsh.guns.modular.system.model;
import lombok.Data;
/**
 * 运营商商户列表查询VO
 */
@Data
public class OperatorUserVO {
    Integer id;
    // 管理员id
    Integer userId;
    // 管理员名称
    String userName;
    // 运营商id
    Integer operatorId;
    // 运营商名称
    String operatorName;
    // 管理员手机号
    String phone;
    // 审核状态
    Integer audit;
    // 商户号
    String number;
    // 分账比例
    String proportion;
    // 认证平台
    String platform;
    // 认证类型
    Integer type;
}
cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IOperatorUserService.java
@@ -5,6 +5,7 @@
import com.dsh.guns.core.dataScope.DataScope;
import com.dsh.guns.modular.system.model.MgtShopAuthDto;
import com.dsh.guns.modular.system.model.OperatorUser;
import com.dsh.guns.modular.system.model.OperatorUserVO;
import com.dsh.guns.modular.system.model.User;
import org.apache.ibatis.annotations.Param;
@@ -16,7 +17,6 @@
 */
public interface IOperatorUserService extends IService<OperatorUser> {
    List<Map<String, Object>> listAll( Page<Map<String, Object>> page,String province, String city, String userName, String phone, Integer platform, Integer type, Integer state);
    /**
     * @description  商户进件
@@ -26,4 +26,6 @@
     * @return  void
     */
    void mgtShopAuth(MgtShopAuthDto mgtShopAuthDto);
    List<OperatorUserVO> listAll(String province, String city, String userName, String phone, Integer platform, Integer type, Integer state);
}
cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/TOperatorUserServiceImpl.java
@@ -49,11 +49,6 @@
    @Autowired
    private WeChatUtil weChatUtil;
    @Override
    public List<Map<String, Object>> listAll(Page<Map<String, Object>> page, String province, String city, String userName, String phone, Integer platform, Integer type, Integer state) {
        return this.baseMapper.listAll(page,province,city,userName,phone,platform,type,state);
    }
    @Override
    public void mgtShopAuth(MgtShopAuthDto mgtShopAuthDto) {
@@ -79,4 +74,9 @@
        shopAuthentication.setOrderNo(applymentsResult.getApplymentId());
        operatorAuthService.saveOrUpdate(shopAuthentication);
    }
    @Override
    public List<OperatorUserVO> listAll(String province, String city, String userName, String phone, Integer platform, Integer type, Integer state) {
        return this.baseMapper.listAll(province,city,userName,phone,platform,type,state);
    }
}
cloud-server-management/src/main/resources/TOperatorUserMapper.xml
File was deleted
cloud-server-management/src/main/resources/mapper/TOperatorUserMapper.xml
New file
@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsh.course.mapper.TOperatorUserMapper">
    <select id="listAll" resultType="com.dsh.guns.modular.system.model.OperatorUserVO">
        SELECT t1.id AS id,
       t1.operatorId,
       t1.operatorName,
       t1.userName,
       t1.phone,
       t1.platform,
       t1.proportion,
       t1.number,
       t1.audit,
       t1.type
FROM (
    SELECT t3.id,
           t1.id AS operatorId,
           t1.name AS operatorName,
           t2.name AS userName,
           t2.phone,
           t3.alipay AS platform,
           t3.alipayProportion AS proportion,
           t3.alipayNum AS number,
           t3.alipayAudit AS audit,
           t3.alipayType AS type
    FROM t_operator_user t3
        LEFT JOIN t_operator t1 ON t3.operatorId = t1.id
        LEFT JOIN sys_user t2 ON t1.userId = t2.id AND t2.objectType = 2
    UNION ALL
    SELECT t3.id,
           t1.id AS operatorId,
           t1.name AS operatorName,
           t2.name AS userName,
           t2.phone,
           t3.wechat AS platform,
           t3.wechatProportion AS proportion,
           t3.wechatNum AS number,
           t3.wechatAudit AS audit,
           t3.wechatType AS type
    FROM t_operator_user t3
        LEFT JOIN t_operator t1 ON t3.operatorId = t1.id
        LEFT JOIN sys_user t2 ON t1.userId = t2.id AND t2.objectType = 2
) AS t1
ORDER BY t1.id;
    </select>
</mapper>
cloud-server-management/src/main/webapp/WEB-INF/view/system/dataStatistics/operatorIncome.html
@@ -296,6 +296,7 @@
    function search(){
        income();
        ptCourse()
        ptStu()
        if(cutType==1){
            srtj()
@@ -447,7 +448,7 @@
        , range: true
    });
    $(function(){
        ptCourse();
        var ajax2 = new $ax(Feng.ctxPath + "/data/getYears", function(data){
            yearX=data
        });
@@ -1083,6 +1084,7 @@
    }
    function ptCourse() {
        console.log("调用耗课")
        var myChart7 = echarts.init(document.getElementById('courseData'));
        myChart7.on('legendselectchanged', obj => {
            var options = myChart7.getOption()
@@ -1109,7 +1111,6 @@
                },
                legend: {
                    data: ['年度耗课数', '月度耗课数', '周度耗课数', '日度耗课数'],
                    icon: 'stack',
                    selectedMode: 'single', // 单选
                    selected: {
cloud-server-management/src/main/webapp/WEB-INF/view/system/dataStatistics/platformIncome.html
@@ -298,7 +298,7 @@
        getContent(1);
        getContent1(1);
        getContent2(1);
        ptCourse();
        var ajax = new $ax(Feng.ctxPath + "/data/getIncomeData", function(resp){
@@ -947,6 +947,8 @@
        myChart6.on('legendselectchanged', obj => {
            var options = myChart6.getOption()
            //这里是选择切换什么样的x轴,那么他会进行对Y值的切换
            console.log("看学员")
            console.log(obj.name)
            if (obj.name == '年度学员数') {
                options.xAxis[0].data = yearX
            } else if (obj.name == '月度学员数') {
@@ -1034,23 +1036,30 @@
    function ptCourse() {
        console.log("调用")
        var myChart7 = echarts.init(document.getElementById('courseData'));
        myChart7.on('legendselectchanged', obj => {
            var options = myChart7.getOption()
            //这里是选择切换什么样的x轴,那么他会进行对Y值的切换
            if (obj.name == '年度耗课数') {
            console.log("看看选择")
            console.log(obj.name)
            if (obj.name == '年度耗课数量') {
                console.log("看看年度轴")
                options.xAxis[0].data = yearX
            } else if (obj.name == '月度耗课数') {
                console.log(yearX)
            } else if (obj.name == '月度耗课数量') {
                console.log("看看月度轴")
                options.xAxis[0].data = monthX
            }else if (obj.name == '周度耗课数') {
                console.log(monthX)
            }else if (obj.name == '周度耗课数量') {
                options.xAxis[0].data = ["1周","2周","3周","4周"]
            }else if (obj.name == '日度耗课数') {
            }else if (obj.name == '日度耗课数量') {
                console.log("看看日度轴")
                options.xAxis[0].data = dataX
                console.log(dataX)
            }
            myChart7.setOption(options, true)
        });
        var ajax2 = new $ax(Feng.ctxPath + "/data/coursePt", function(data){
            console.log(data)
cloud-server-management/src/main/webapp/WEB-INF/view/system/operator/OperatorUser_proportionAuth.html
@@ -65,25 +65,25 @@
                    <div class="form-group" >
                        <label class="col-sm-3 control-label">*联系人姓名:</label>
                        <div class="col-sm-9">
                            <input style="width: 300px" class="form-control" id="name"  placeholder="请输入" type="text">
                            <input style="width: 300px" class="form-control" value="${item.name}" id="name"  placeholder="请输入" type="text">
                        </div>
                    </div>
                    <div class="form-group" >
                        <label class="col-sm-3 control-label">*联系人电话:</label>
                        <div class="col-sm-9">
                            <input style="width: 300px" class="form-control" id="phone"  placeholder="请输入" type="text">
                            <input style="width: 300px" class="form-control" value="${item.phone}" id="phone"  placeholder="请输入" type="text">
                        </div>
                    </div>
                    <div class="form-group" >
                        <label class="col-sm-3 control-label">*联系人身份证号:</label>
                        <div class="col-sm-9">
                            <input style="width: 300px" class="form-control" id="number"  placeholder="请输入" type="text">
                            <input style="width: 300px" class="form-control" value="${item.number}" id="number"  placeholder="请输入" type="text">
                        </div>
                    </div>
                    <div class="form-group" >
                        <label class="col-sm-3 control-label">*法定代表人姓名:</label>
                        <div class="col-sm-9">
                            <input style="width: 300px" class="form-control" id="lrName"  placeholder="请输入" type="text">
                            <input style="width: 300px" class="form-control" id="lrName" value="${item.legalPerson}"  placeholder="请输入" type="text">
                        </div>
                    </div>
                </div>
@@ -91,36 +91,36 @@
                    <div class="form-group" >
                        <label class="col-sm-3 control-label">*营业执照商户名称:</label>
                        <div class="col-sm-9">
                            <input style="width: 300px" class="form-control" id="merchantName"  placeholder="请输入" type="text">
                            <input style="width: 300px" class="form-control" value="${item.businessName}"  id="merchantName"  placeholder="请输入" type="text">
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-3 control-label">*营业证照生效时间:</label>
                        <div class="col-sm-9" style="display: flex">
                            <input style="width: 300px" class="form-control" id="tradeTime" name="tradeTime" type="date">
                            <input style="width: 300px" class="form-control" id="tradeTime" value="${item.businessTerm}" name="tradeTime" type="date">
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-3 control-label">*营业证照过期时间:</label>
                        <div class="col-sm-9" style="display: flex">
                            <input style="width: 300px" class="form-control" id="endTime" name="endTime" type="date">
                            <input style="width: 300px" class="form-control" id="endTime" value="${item.businessEnd}" name="endTime" type="date">
                            <input type="checkbox" style="margin-left: 10px" id="tradeE" value="0" onchange="TSite.tradeYse(this)">长期</input>
                        </div>
                    </div>
                    <div class="form-group" >
                        <label class="col-sm-3 control-label">*营业执照注册号:</label>
                        <div class="col-sm-9" >
                            <input style="width: 300px" class="form-control" id="licenseRegistration"  placeholder="请输入" type="text">
                            <input style="width: 300px" class="form-control" id="licenseRegistration" value="${item.businessNumber}"  placeholder="请输入" type="text">
                        </div>
                    </div>
                    <div class="form-group" >
                        <label class="col-sm-3 control-label">*注册地址:</label>
                        <div class="col-sm-9" >
                            <input style="width: 300px" class="form-control" id="registerAddress"  placeholder="请输入" type="text">
                            <input style="width: 300px" class="form-control" id="registerAddress" value="${item.registerAddress}"  placeholder="请输入" type="text">
                        </div>
                    </div>
                    <div class="form-group">
                        <#avatar id="license" name="营业执照" />
                        <#avatar id="license" name="营业执照" avatarImg="${item.businessPicture}" />
                    </div>
                </div>
            </div>
@@ -129,53 +129,53 @@
                    <div class="form-group" >
                        <label class="col-sm-3 control-label">*法人姓名:</label>
                        <div class="col-sm-9" >
                            <input style="width: 300px" class="form-control" id="legalPerson"  placeholder="请输入" type="text">
                            <input style="width: 300px" class="form-control" id="legalPerson" value="${item.legalPerson}"  placeholder="请输入" type="text">
                        </div>
                    </div>
                    <div class="form-group" >
                        <label class="col-sm-3 control-label">*法人手机号:</label>
                        <div class="col-sm-9">
                            <input style="width: 300px" class="form-control" id="legalPhone"  placeholder="请输入" type="text">
                            <input style="width: 300px" class="form-control" id="legalPhone" value="${item.legalPhone}"  placeholder="请输入" type="text">
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-3 control-label">*法人身份证开始时间:</label>
                        <div class="col-sm-9" style="display: flex">
                            <input style="width: 300px" class="form-control" id="IDCardTime" name="IDCardTime" type="date">
                            <input style="width: 300px" class="form-control" id="IDCardTime" value="${item.legalTerm}" name="IDCardTime" type="date">
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-3 control-label">*法人身份证结束时间:</label>
                        <div class="col-sm-9" style="display: flex">
                            <input style="width: 300px" class="form-control" id="IDCardEnd" name="IDCardTime" type="date">
                            <input style="width: 300px" class="form-control" value="${item.legalEnd}" id="IDCardEnd" name="IDCardTime" type="date">
                            <input type="checkbox" style="margin-left: 10px" id="IDCardE" value="0" onchange="TSite.tradeYse(this)">长期</input>
                        </div>
                    </div>
                    <div class="form-group">
                        <#avatar id="IDCardImg" name="法人身份证正面照" />
                        <#avatar id="IDCardImg" name="法人身份证正面照" avatarImg="${item.legalFront}" />
                    </div>
                </div>
                <div class="col-lg-6" style="">
                    <div class="form-group">
                        <label class="col-sm-3 control-label">*法人身份证号:</label>
                        <div class="col-sm-9">
                            <input style="width: 300px" class="form-control" id="lIDNumber"  placeholder="请输入" type="text">
                            <input style="width: 300px" class="form-control" value="${item.leagleNumber}" id="lIDNumber"  placeholder="请输入" type="text">
                        </div>
                    </div>
                    <div class="form-group" >
                        <label class="col-sm-3 control-label">*法人邮箱:</label>
                        <div class="col-sm-9">
                            <input style="width: 300px" class="form-control" id="lEmail"  placeholder="请输入" type="text">
                            <input style="width: 300px" class="form-control" value="${item.legalEmail}" id="lEmail"  placeholder="请输入" type="text">
                        </div>
                    </div>
                    <div class="form-group" >
                        <label class="col-sm-3 control-label">*法人身份证地址:</label>
                        <div class="col-sm-9">
                            <input style="width: 300px" class="form-control" id="lIDAddress"  placeholder="请输入" type="text">
                            <input style="width: 300px" class="form-control" value="${item.legalAddress}" id="lIDAddress"  placeholder="请输入" type="text">
                        </div>
                    </div>
                    <div class="form-group">
                        <#avatar id="IDCardImg1" name="法人身份证背面照" />
                        <#avatar id="IDCardImg1" name="法人身份证背面照" avatarImg="${item.legalBack}" />
                    </div>
                </div>
            </div>
@@ -184,67 +184,68 @@
                <div class="col-lg-6" style="">
                    <div class="form-group">
                        <label class="col-sm-4 control-label" >
                            法人是否为受益人:<input type="radio" checked name="type" value="true">是 <input checked type="radio" name="type" value="false">否
                            法人是否为受益人:<input type="radio" checked name="type" value="true">是
                            <input checked type="radio" name="type" value="false">否
                        </label>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-3 control-label">*受益人姓名:</label>
                        <div class="col-sm-9">
                            <input style="width: 300px" class="form-control" id="bName" name="bName" type="text">
                            <input style="width: 300px" class="form-control" value="${item.beneficiary}" id="bName" name="bName" type="text">
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-3 control-label">*受益人身份证地址:</label>
                        <div class="col-sm-9">
                            <input style="width: 300px" class="form-control" id="bAddress"  placeholder="请输入" type="text">
                            <input style="width: 300px" class="form-control" id="bAddress" value="${item.beneficiaryAddress}"  placeholder="请输入" type="text">
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-3 control-label">*受益人身份证有效期:</label>
                        <div class="col-sm-9">
                            <input style="width: 300px" class="form-control" id="bTime" name="bTime" type="date">
                            <input style="width: 300px" class="form-control" value="${item.beneficiaryTerm}" id="bTime" name="bTime" type="date">
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-3 control-label">*受益人身份证结束时间:</label>
                        <div class="col-sm-9" style="display: flex">
                            <input style="width: 300px" class="form-control" id="bEnd" name="IDCardTime" type="date">
                            <input style="width: 300px" class="form-control" id="bEnd" value="${item.beneficiaryEnd}" name="IDCardTime" type="date">
                            <input type="checkbox" style="margin-left: 10px" id="bIDCardT" value="0" onchange="TSite.tradeYse(this)">长期</input>
                        </div>
                    </div>
                    <div class="form-group">
                        <#avatar id="bImg1" name="受益人身份证正面照" />
                        <#avatar id="bImg1" avatarImg="${item.beneficiaryFront}" name="受益人身份证正面照" />
                    </div>
                </div>
                <div class="col-lg-6" style="">
                    <div class="form-group">
                        <label class="col-sm-3 control-label">*受益人身份证号:</label>
                        <div class="col-sm-9" >
                            <input style="width: 300px" class="form-control" id="bIDNumber"  placeholder="请输入" type="text">
                            <input style="width: 300px" class="form-control" id="bIDNumber" value="${item.beneficiaryNumber}"  placeholder="请输入" type="text">
                        </div>
                    </div>
                    <div class="form-group">
                        <#avatar id="bImg2" name="受益人身份证背面照" />
                        <#avatar id="bImg2" avatarImg="${item.beneficiaryFront}" name="受益人身份证背面照" />
                    </div>
                </div>
            </div>
            <div class="row">
                <div class="col-lg-6" style="">
            @if(reasons != null){
            <div class="row" id="reasons">
                <div class="col-lg-6" >
                    <div class="form-group">
                        <label class="col-sm-3 control-label">*拒绝理由:</label>
                    </div>
                    <div class="form-group">
                        <#avatar id="Img" name="上传图片" />
                    </div>
                    <div class="form-group">
                        <label class="col-sm-3 control-label">*备注:</label>
                        <div class="col-sm-9">
                            <input style="width: 300px" class="form-control" id="remark" name="remark" type="text">
                            <h3 style="color: red">${item.refuseReason}</h3>
                        </div>
                    </div>
                </div>
            </div>
            @}
            @if(code != null){
            <label class="col-sm-3 control-label">请使用手机支付宝扫描下方二维码完成进一步认证</label>
            <img src="${code}">
            @}
            <div class="form-group">
                <div class="row btn-group-m-t">
                    <div class="col-sm-10 col-sm-offset-5" >
@@ -268,6 +269,64 @@
        }else {
            $("#benefit").show()
        }
    }
    window.onload = function(){
        if ("${item.orderStatus}"=="AUDIT_PASS"){
            $("#reasons").hide()
        }else{
            $("#reasons").show()
        }
        if ("${item.orderStatus}"==null){
            $("#reasons").hide()
        }
        console.log("${bodyType}")
        var OBJradio=document.getElementsByName("bodyType")
        var type=document.getElementsByName("type")
        if("${bodyType}"=="ENTERPRISE"){
            OBJradio[1].checked=true
            $("#benefit").show()
            // 受益人身份证有效期
            var IDCardE = document.getElementById("IDCardE");
            var IDCardEnd = document.getElementById('IDCardEnd');
            if ("${item.legalEnd}" == "forever"){
                IDCardE.checked=true;
                IDCardEnd.disabled = true;
                IDCardEnd.value="";
            }
            if ("${item.isBeneficiary}" == "true"){
                type[0].checked=true
            }else{
                type[1].checked=true
            }
        }else {
            OBJradio[0].checked=true
            $("#benefit").hide()
        }
        // 营业执照有效结束期
        var bunessTime = document.getElementById("tradeE");
        var endTime = document.getElementById('endTime');
        if ("${item.businessEnd}" == "forever"){
            bunessTime.checked=true;
            endTime.disabled = true;
            endTime.value="";
        }
        // 法人身份证有效期
        var IDCardE = document.getElementById("IDCardE");
        var IDCardEnd = document.getElementById('IDCardEnd');
        if ("${item.legalEnd}" == "forever"){
            IDCardE.checked=true;
            IDCardEnd.disabled = true;
            IDCardEnd.value="";
        }
        // 受益人身份证有效期
        var bEnd = document.getElementById("bEnd");
        var bIDCardT = document.getElementById('bIDCardT');
        if ("${item.beneficiaryEnd}" == "forever"){
            bIDCardT.checked=true;
            bEnd.disabled = true;
            bEnd.value="";
        }
    }
</script>
cloud-server-management/src/main/webapp/WEB-INF/view/system/operatorUser/OperatorUser_proportionAuth.html
@@ -121,5 +121,6 @@
        }
    }
</script>
@}
cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TStoreList.html
@@ -10,14 +10,14 @@
                    <div class="col-sm-12">
                        <div class="row">
                            <div class="col-sm-3">
                                <select class="form-control" id="province" >
                                    <option value="">全部</option>
                                </select>
                                <#SelectCon id="province" name="所在省">
                                <option value="">全部</option>
                            </#SelectCon>
                            </div>
                            <div class="col-sm-3">
                                <select class="form-control" id="city">
                                    <option value="">全部</option>
                                </select>
                                <#SelectCon id="city" name="所在市">
                                <option value="">全部</option>
                            </#SelectCon>
                            </div>
                <div class="col-sm-3">
cloud-server-management/src/main/webapp/static/modular/system/operator/operator.js
@@ -121,7 +121,6 @@
            this.layerIndex = index;
        }
    }
};
TSite.addSubmit = function(){
    var alipayType = $("input[name='alipayType']:checked").val();
@@ -167,6 +166,7 @@
    }
    var ajax = new $ax(Feng.ctxPath + "/operator/proportion", function(data){
        Feng.success("分账比例设置成功")
        window.parent.TSite.table.refresh();
        TSite.close();
        TSite.search();
    });
cloud-server-management/src/main/webapp/static/modular/system/operatorUser/operatorUser.js
@@ -19,20 +19,79 @@
 */
TSite.initColumn = function () {
    return [
        {field: 'selectItem', checkbox: true},
        {field: 'selectItem', radio: true},
        {title: '主键ID', field: 'id', visible: false, align: 'center', valign: 'middle'},
        {title: '所在城市', field: 'provinceAndCity', visible: true, align: 'center', valign: 'middle',width:'20%',},
        {title: '管理员姓名', field: 'userName', visible: true, align: 'center', valign: 'middle',},
        {title: '运营商ID', field: 'operatorId', visible: false, align: 'center', valign: 'middle',},
        {title: '管理员手机号', field: 'phone', visible: true, align: 'center', valign: 'middle'},
        {title: '认证平台', field: 'platform', visible: true, align: 'center', valign: 'middle'},
        {title: '认证类型', field: 'type', visible: true, align: 'center', valign: 'middle'},
        {title: '认证类型', field: 'type', visible: true, align: 'center', valign: 'middle',
            formatter:function (data) {
            if (data==1){
                return "个人"
            }else if (data==2){
                return "企业"
            }else{
                return "未认证"
            }
            }
        },
        {title: '分账比例', field: 'proportion', visible: true, align: 'center', valign: 'middle'},
        {title: '审核状态', field: 'state', visible: true, align: 'center', valign: 'middle',
        {title: '审核状态', field: 'audit', visible: true, align: 'center', valign: 'middle',
            formatter:function (data) {
                return {1:"待审核",2:"审核中",3:"已通过",4:"已拒绝"}[data]
            }
        },
        {title: '操作', field: 'audit', visible: true, align: 'center', valign: 'middle',
            formatter: function (data,row) {
                var btn = "";
                if(data==1) {
                    var str = '<button class="btn btn-outline btn-primary" onclick="TSite.auth('+row.operatorId+')" >去认证</button>'
                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="" onfocus="TUser.tooltip()">' + str + '</p>']
                }else if (data==2){
                        var str = '<button class="btn btn-outline btn-primary" onclick="TSite.auth('+row.operatorId+')" >详情</button>'
                        btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="" onfocus="TUser.tooltip()">' + str + '</p>']
                }else if(data==4){
                    var str = '<h3>已绑定</h3>'
                    btn = [str]
                }
                return btn;
            }
        },
    ];
};
TSite.auth = function () {
    if (this.check()) {
        var index = layer.open({
            type: 2,
            title: "商户认证",
            area: ['100%', '100%'], //宽高
            fix: false, //不固定
            maxmin: true,
            content: Feng.ctxPath + '/operator/proportionAuth/' + TSite.seItem.operatorId
        });
        this.layerIndex = index;
    }
};
TSite.proportion = function () {
    var selected = $('#' + this.id).bootstrapTable('getSelections');
    if(selected.length >1 ){
        Feng.info("只能选择一个运营商商户设置分账比例!");
    }else {
        if (this.check()) {
            var index = layer.open({
                type: 2,
                title: "认证",
                area: ['100%', '100%'], //宽高
                fix: false, //不固定
                maxmin: true,
                content: Feng.ctxPath + '/operator/proportion/' + TSite.seItem.operatorId
            });
            this.layerIndex = index;
        }
    }
};
TSite.addSubmit = function(){
@@ -84,10 +143,7 @@
        Feng.error("请输入注册地址");
        return;
    }
    if ("" == $("#license").val() || null == $("#license").val()){
        Feng.error("请上传营业执照");
        return;
    }if ("" == $("#legalPerson").val() || null == $("#legalPerson").val()){
    if ("" == $("#legalPerson").val() || null == $("#legalPerson").val()){
        Feng.error("请输入法人姓名");
        return;
    }if ("" == $("#legalPhone").val() || null == $("#legalPhone").val()){
@@ -105,11 +161,7 @@
        Feng.error("请输入法人身份证开始时间");
        return;
    }
    if ("" == $("#IDCardImg").val() || null == $("#IDCardImg").val()){
        Feng.error("请上传法人身份证正面照");
        return;
    }if ("" == $("#lIDNumber").val() || null == $("#lIDNumber").val()){
    if ("" == $("#lIDNumber").val() || null == $("#lIDNumber").val()){
        Feng.error("请输入法人身份证号");
        return;
    }if ("" == $("#lEmail").val() || null == $("#lEmail").val()){
@@ -117,9 +169,6 @@
        return;
    }if ("" == $("#lIDAddress").val() || null == $("#lIDAddress").val()){
        Feng.error("请输入法人身份证地址");
        return;
    }if ("" == $("#IDCardImg1").val() || null == $("#IDCardImg1").val()){
        Feng.error("请上传法人身份证背面照");
        return;
    }
    if(type=="ENTERPRISE"){
@@ -144,25 +193,19 @@
            Feng.error("请输入受益人身份证开始时间");
            return;
        }
        if ("" == $("#bImg1").val() || null == $("#bImg1").val()){
            Feng.error("请上传受益人身份证正面照");
            return;
        }
        if ("" == $("#bIDNumber").val() || null == $("#bIDNumber").val()){
            Feng.error("请输入受益人身份证号");
            return;
        }
        if ("" == $("#bImg2").val() || null == $("#bImg2").val()){
            Feng.error("请输入受益人身份证背面照");
            return;
        }
    }
    //提交信息
    var ajax = new $ax(Feng.ctxPath + "/operator/auth", function(data){
        Feng.success("操作成功!");
        // window.parent.TSite.table.refresh();
        // TSite.close();
        window.parent.TSite.table.refresh();
        TSite.close();
    },function(data){
        Feng.error("操作失败!");
    });
@@ -354,7 +397,7 @@
    $("#benefit").hide()
    var defaultColunms = TSite.initColumn();
    var table = new BSTable(TSite.id, "/operatorUser/listAll", defaultColunms);
    table.setPaginationType("server");
    table.setPaginationType("client");
    TSite.table = table.init();
    var c1 = new $WebUpload("license");
    var c2 = new $WebUpload("IDCardImg");
cloud-server-management/src/main/webapp/static/modular/system/tGoods/TStoreInfo.js
@@ -123,11 +123,14 @@
    var citySelect = document.getElementById("city");
    citySelect.innerHTML = "";
    var ajax = new $ax(Feng.ctxPath + "/tCouponManage/getCity1", function(data){
        data.forEach(province => {
            var option = document.createElement("option");
            option.value = province.code;  // 根据你的数据结构确定省份的id字段
            option.text = province.name;  // 根据你的数据结构确定省份的name字段
            citySelect.appendChild(option);
            var content='<option value="">选择市</option>';
            $.each(data, function(k,v) {
                content += "<option value='"+v.code+"'>"+v.name+"</option>";
            });
            $("#city").empty().append(content);
        });
    },function(data){
        console.log('data:',data)
cloud-server-management/src/main/webapp/static/modular/system/tGoods/tGoods_info.js
@@ -16,9 +16,7 @@
 * 验证数据是否为空
 */
TGoodsInfoDlg.validate = function () {
    $('#carInfoForm').data("bootstrapValidator").resetForm();
    $('#carInfoForm').bootstrapValidator('validate');
    return $("#carInfoForm").data('bootstrapValidator').isValid();
};
/**